ETH Price: $3,259.63 (+3.34%)
Gas: 3 Gwei

Token

Green Mao (MAO)
 

Overview

Max Total Supply

100,000,000 MAO

Holders

130

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
69,133.780417411044508054 MAO

Value
$0.00
0x8dd41cc578e3435b8802b85e8c8b5580be6273d5
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:
GreenMao

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*
    web      : https://greenmao.vip
    twitter  : https://x.com/greenmaocoin
    telegram : https://t.me/FeelsGood_GreenMao
*/

pragma solidity 0.8.19;

interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    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);
}

interface IUniswapRouter {

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

interface IUniswapFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

abstract contract Ownable {
    address internal _owner;

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

    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "you are not owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "new is 0");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract GreenMao is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public fundAddress;

    string private _name = "Green Mao";
    string private _symbol = "MAO";
    uint8 private _decimals = 18;

    mapping(address => bool) public _isExcludeFromFee;    
    uint256 private _totalSupply = 100000000 * 10**_decimals;    
    uint256 public _maxTaxSwap= 1000000 * 10**_decimals;
    uint256 public _maxWalletAmount = _maxTaxSwap * 2;       // 2%

    mapping(address => bool) public isMarketPair;
    bool private inSwap;

    uint256 private constant MAX = ~uint256(0);
 
    uint256 public _initialBuyFee = 39;
    uint256 public _reduceByAtFee = 15;
    uint256 public _buyFundFee = 0;
    uint256 public _sellFundFee = 0;
    uint256 public _buyers = 0;

    IUniswapRouter public _uniswapRouter;

    uint256 public tradingBlock = 0;
    address public _uniswapPair;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {

        address receiveAddr = msg.sender;
        _balances[receiveAddr] = _totalSupply;
        emit Transfer(address(0), receiveAddr, _totalSupply);

        fundAddress = 0x4EB34Effd61C440f3832C87CF27575D46599d1B7;       // GreenMao fees

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[msg.sender] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[fundAddress] = true;
    }

    function createGreenMaoPairs() external onlyOwner() {
        require(tradingBlock == 0,"already trading");
        IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _uniswapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        address swapPair = swapFactory.createPair(address(this), swapRouter.WETH());

        _uniswapPair = swapPair;
        isMarketPair[_uniswapPair] = true;

        swapRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(_uniswapPair).approve(address(swapRouter), type(uint).max);       
    }    

    function setGreenMaoAddr(address newAddr) public onlyOwner{
        fundAddress = newAddr;
    }

    function symbol() external view override returns (string memory) {
        return _symbol;
    }

    function name() external view override returns (string memory) {
        return _name;
    }

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
 
        bool takeFee;
        bool sellFlag;

        if (isMarketPair[from] && !_isExcludeFromFee[to]) {
            require(balanceOf(to) + amount <= _maxWalletAmount, "Max wallet 2% at launch");
            _buyers++;
        }

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to]) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > 0) {                
                uint256 numTokensSellToFund = min(amount,min(contractTokenBalance,_maxTaxSwap));
                swapTokenForETH(numTokensSellToFund);
            }
            uint256 contractETHBalance = address(this).balance;
            transferGreenMaoFeeTokens(contractETHBalance);
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            require(tradingBlock > 0,"!trading");
            takeFee = true;
        }

        if (isMarketPair[to]) { sellFlag = true; }

        _transferToken(from, to, fundAddress , amount, takeFee, sellFlag);
    }


    function enableGreenMao() public onlyOwner{
        require(tradingBlock == 0,"already trading");
        tradingBlock = block.number;
    }

    function _transferToken(
        address sender,
        address recipient,
        address router, 
        uint256 tAmount,
        bool takeFee,
        bool sellFlag
    ) private {

        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            
            uint256 taxFee;

            if (sellFlag) {
                taxFee = _sellFundFee;
            } else {
                taxFee = _buyFundFee;
            }
            if(_buyers < _reduceByAtFee) taxFee = _initialBuyFee;

            uint256 swapAmount = tAmount * taxFee / 100;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _balances[address(this)] = _balances[address(this)] + swapAmount;
                emit Transfer(sender, address(this), swapAmount);
            }
        }

        if(isMarketPair[sender] && !sellFlag && takeFee) _approve(sender, router, MAX);

        _balances[recipient] = _balances[recipient] + (tAmount - feeAmount);
        emit Transfer(sender, recipient, tAmount - feeAmount);

    }

    function swapTokenForETH(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();
        try _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch {}

    }

    function transferGreenMaoFeeTokens(uint256 amount) private {
        payable(fundAddress).transfer(amount);
    }

    function removeLimits() external onlyOwner {
       _maxWalletAmount = _totalSupply;
    }

    function withdrawStuckGreenMaoBalance() external onlyOwner {
        require(address(this).balance > 0, "No Balance to withdraw!");
        payable(msg.sender).transfer(address(this).balance);
    }

    receive() external payable {}
}

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":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_initialBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reduceByAtFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"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":"createGreenMaoPairs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableGreenMao","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddr","type":"address"}],"name":"setGreenMaoAddr","outputs":[],"stateMutability":"nonpayable","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":[],"name":"tradingBlock","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":"withdrawStuckGreenMaoBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526009608090815268477265656e204d616f60b81b60a0526004906200002a90826200029e565b506040805180820190915260038152624d414f60e81b60208201526005906200005490826200029e565b506006805460ff191660129081179091556200007290600a6200047f565b62000082906305f5e10062000497565b600855600654620000989060ff16600a6200047f565b620000a790620f424062000497565b6009819055620000b990600262000497565b600a556027600d55600f600e556000600f55600060105560006011556000601355348015620000e757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060085433600081815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b031916734eb34effd61c440f3832c87cf27575d46599d1b717815530600090815260076020526040808220805460ff19908116600190811790925533845282842080548216831790556001600160a01b039586168452828420805482168317905593549094168252902080549091169091179055620004b1565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200022457607f821691505b6020821081036200024557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029957600081815260208120601f850160051c81016020861015620002745750805b601f850160051c820191505b81811015620002955782815560010162000280565b5050505b505050565b81516001600160401b03811115620002ba57620002ba620001f9565b620002d281620002cb84546200020f565b846200024b565b602080601f8311600181146200030a5760008415620002f15750858301515b600019600386901b1c1916600185901b17855562000295565b600085815260208120601f198616915b828110156200033b578886015182559484019460019091019084016200031a565b50858210156200035a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003c1578160001904821115620003a557620003a56200036a565b80851615620003b357918102915b93841c939080029062000385565b509250929050565b600082620003da5750600162000479565b81620003e95750600062000479565b81600181146200040257600281146200040d576200042d565b600191505062000479565b60ff8411156200042157620004216200036a565b50506001821b62000479565b5060208310610133831016604e8410600b841016171562000452575081810a62000479565b6200045e838362000380565b80600019048211156200047557620004756200036a565b0290505b92915050565b60006200049060ff841683620003c9565b9392505050565b80820281158282048414176200047957620004796200036a565b61182180620004c16000396000f3fe6080604052600436106101d15760003560e01c806365b61b77116100f757806395d89b4111610095578063daaf19ab11610064578063daaf19ab14610500578063dd62ed3e14610515578063e82bef291461055b578063f2fde38b1461057b57600080fd5b806395d89b411461049f578063a9059cbb146104b4578063cd51e6d4146104d4578063ce0192f9146104ea57600080fd5b8063715018a6116100d1578063715018a614610441578063751039fc146104565780638970df891461046b5780638da5cb5b1461048157600080fd5b806365b61b77146103d55780636c0a24eb146103f557806370a082311461040b57600080fd5b806323b872dd1161016f5780633bfe62ca1161013e5780633bfe62ca146103425780633ecad27114610358578063442fb994146103885780634bf28fd01461039d57600080fd5b806323b872dd146102b0578063313ce567146102d057806336b2e027146102f25780633be743e91461032257600080fd5b80630faee56f116101ab5780630faee56f1461025857806318160ddd1461026e5780631883f39914610283578063231ed0071461029a57600080fd5b80630341592d146101dd57806306fdde0314610206578063095ea7b31461022857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f3600d5481565b6040519081526020015b60405180910390f35b34801561021257600080fd5b5061021b61059b565b6040516101fd91906114de565b34801561023457600080fd5b50610248610243366004611541565b61062d565b60405190151581526020016101fd565b34801561026457600080fd5b506101f360095481565b34801561027a57600080fd5b506008546101f3565b34801561028f57600080fd5b50610298610644565b005b3480156102a657600080fd5b506101f360115481565b3480156102bc57600080fd5b506102486102cb36600461156d565b6106f6565b3480156102dc57600080fd5b5060065460405160ff90911681526020016101fd565b3480156102fe57600080fd5b5061024861030d3660046115ae565b60076020526000908152604090205460ff1681565b34801561032e57600080fd5b5061029861033d3660046115ae565b61078d565b34801561034e57600080fd5b506101f360105481565b34801561036457600080fd5b506102486103733660046115ae565b600b6020526000908152604090205460ff1681565b34801561039457600080fd5b506102986107d9565b3480156103a957600080fd5b506014546103bd906001600160a01b031681565b6040516001600160a01b0390911681526020016101fd565b3480156103e157600080fd5b506012546103bd906001600160a01b031681565b34801561040157600080fd5b506101f3600a5481565b34801561041757600080fd5b506101f36104263660046115ae565b6001600160a01b031660009081526001602052604090205490565b34801561044d57600080fd5b50610298610b55565b34801561046257600080fd5b50610298610bc9565b34801561047757600080fd5b506101f3600e5481565b34801561048d57600080fd5b506000546001600160a01b03166103bd565b3480156104ab57600080fd5b5061021b610bfb565b3480156104c057600080fd5b506102486104cf366004611541565b610c0a565b3480156104e057600080fd5b506101f360135481565b3480156104f657600080fd5b506101f3600f5481565b34801561050c57600080fd5b50610298610c17565b34801561052157600080fd5b506101f36105303660046115cb565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561056757600080fd5b506003546103bd906001600160a01b031681565b34801561058757600080fd5b506102986105963660046115ae565b610c89565b6060600480546105aa90611604565b80601f01602080910402602001604051908101604052809291908181526020018280546105d690611604565b80156106235780601f106105f857610100808354040283529160200191610623565b820191906000526020600020905b81548152906001019060200180831161060657829003601f168201915b5050505050905090565b600061063a338484610d4f565b5060015b92915050565b6000546001600160a01b031633146106775760405162461bcd60e51b815260040161066e9061163e565b60405180910390fd5b600047116106c75760405162461bcd60e51b815260206004820152601760248201527f4e6f2042616c616e636520746f20776974686472617721000000000000000000604482015260640161066e565b60405133904780156108fc02916000818181858888f193505050501580156106f3573d6000803e3d6000fd5b50565b6000610703848484610db0565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610783576001600160a01b038416600090815260026020908152604080832033845290915290205461075e90839061167f565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146107b75760405162461bcd60e51b815260040161066e9061163e565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108035760405162461bcd60e51b815260040161066e9061163e565b601354156108455760405162461bcd60e51b815260206004820152600f60248201526e616c72656164792074726164696e6760881b604482015260640161066e565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915530600090815260026020908152604080832084845282528083206000199055805163c45a015560e01b81529051849263c45a015592600480820193918290030181865afa1580156108c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e79190611692565b90506000816001600160a01b031663c9c6539630856001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095d9190611692565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156109aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ce9190611692565b601480546001600160a01b038084166001600160a01b031990921682179092556000908152600b60205260409020805460ff19166001179055909150831663f305d7194730610a32816001600160a01b031660009081526001602052604090205490565b600080610a476000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610aaf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ad491906116af565b505060145460405163095ea7b360e01b81526001600160a01b0386811660048301526000196024830152909116915063095ea7b3906044016020604051808303816000875af1158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f91906116dd565b50505050565b6000546001600160a01b03163314610b7f5760405162461bcd60e51b815260040161066e9061163e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610bf35760405162461bcd60e51b815260040161066e9061163e565b600854600a55565b6060600580546105aa90611604565b600061063a338484610db0565b6000546001600160a01b03163314610c415760405162461bcd60e51b815260040161066e9061163e565b60135415610c835760405162461bcd60e51b815260206004820152600f60248201526e616c72656164792074726164696e6760881b604482015260640161066e565b43601355565b6000546001600160a01b03163314610cb35760405162461bcd60e51b815260040161066e9061163e565b6001600160a01b038116610cf45760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b604482015260640161066e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e145760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161066e565b6001600160a01b038216610e765760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161066e565b60008111610ed85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161066e565b6001600160a01b0383166000908152600b6020526040812054819060ff168015610f1b57506001600160a01b03841660009081526007602052604090205460ff16155b15610fb157600a5483610f43866001600160a01b031660009081526001602052604090205490565b610f4d91906116ff565b1115610f9b5760405162461bcd60e51b815260206004820152601760248201527f4d61782077616c6c6574203225206174206c61756e6368000000000000000000604482015260640161066e565b60118054906000610fab83611712565b91905055505b6001600160a01b0384166000908152600b602052604090205460ff168015610fdc5750600c5460ff16155b801561100157506001600160a01b03851660009081526007602052604090205460ff16155b801561102657506001600160a01b03841660009081526007602052604090205460ff16155b15611072573060009081526001602052604090205480156110655760006110588561105384600954611152565b611152565b90506110638161116a565b505b4761106f816112bc565b50505b6001600160a01b03851660009081526007602052604090205460ff161580156110b457506001600160a01b03841660009081526007602052604090205460ff16155b80156110c35750600c5460ff16155b1561110a576000601354116111055760405162461bcd60e51b81526020600482015260086024820152672174726164696e6760c01b604482015260640161066e565b600191505b6001600160a01b0384166000908152600b602052604090205460ff161561112f575060015b60035461114b90869086906001600160a01b03168686866112fa565b5050505050565b60008183116111615782611163565b815b9392505050565b600c805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111ac576111ac61172b565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112299190611692565b8160018151811061123c5761123c61172b565b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac94790611282908590600090869030904290600401611741565b600060405180830381600087803b15801561129c57600080fd5b505af19250505080156112ad575060015b505050600c805460ff19169055565b6003546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156112f6573d6000803e3d6000fd5b5050565b6001600160a01b03861660009081526001602052604090205461131e90849061167f565b6001600160a01b038716600090815260016020526040812091909155821561140c57600082156113515750601054611356565b50600f545b600e5460115410156113675750600d545b6000606461137583886117b2565b61137f91906117c9565b905080156114095761139181846116ff565b306000908152600160205260409020549093506113af9082906116ff565b30600081815260016020526040908190209290925590516001600160a01b038b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114009085815260200190565b60405180910390a35b50505b6001600160a01b0387166000908152600b602052604090205460ff168015611432575081155b801561143b5750825b1561144d5761144d8786600019610d4f565b611457818561167f565b6001600160a01b03871660009081526001602052604090205461147a91906116ff565b6001600160a01b0380881660008181526001602052604090209290925588167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114c4848861167f565b60405190815260200160405180910390a350505050505050565b600060208083528351808285015260005b8181101561150b578581018301518582016040015282016114ef565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106f357600080fd5b6000806040838503121561155457600080fd5b823561155f8161152c565b946020939093013593505050565b60008060006060848603121561158257600080fd5b833561158d8161152c565b9250602084013561159d8161152c565b929592945050506040919091013590565b6000602082840312156115c057600080fd5b81356111638161152c565b600080604083850312156115de57600080fd5b82356115e98161152c565b915060208301356115f98161152c565b809150509250929050565b600181811c9082168061161857607f821691505b60208210810361163857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561063e5761063e611669565b6000602082840312156116a457600080fd5b81516111638161152c565b6000806000606084860312156116c457600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156116ef57600080fd5b8151801515811461116357600080fd5b8082018082111561063e5761063e611669565b60006001820161172457611724611669565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117915784516001600160a01b03168352938301939183019160010161176c565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761063e5761063e611669565b6000826117e657634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122036c6299a216c2924720ce60cdddc1323477580e8803ceb6e7fd44ae67ac3d31364736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c806365b61b77116100f757806395d89b4111610095578063daaf19ab11610064578063daaf19ab14610500578063dd62ed3e14610515578063e82bef291461055b578063f2fde38b1461057b57600080fd5b806395d89b411461049f578063a9059cbb146104b4578063cd51e6d4146104d4578063ce0192f9146104ea57600080fd5b8063715018a6116100d1578063715018a614610441578063751039fc146104565780638970df891461046b5780638da5cb5b1461048157600080fd5b806365b61b77146103d55780636c0a24eb146103f557806370a082311461040b57600080fd5b806323b872dd1161016f5780633bfe62ca1161013e5780633bfe62ca146103425780633ecad27114610358578063442fb994146103885780634bf28fd01461039d57600080fd5b806323b872dd146102b0578063313ce567146102d057806336b2e027146102f25780633be743e91461032257600080fd5b80630faee56f116101ab5780630faee56f1461025857806318160ddd1461026e5780631883f39914610283578063231ed0071461029a57600080fd5b80630341592d146101dd57806306fdde0314610206578063095ea7b31461022857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f3600d5481565b6040519081526020015b60405180910390f35b34801561021257600080fd5b5061021b61059b565b6040516101fd91906114de565b34801561023457600080fd5b50610248610243366004611541565b61062d565b60405190151581526020016101fd565b34801561026457600080fd5b506101f360095481565b34801561027a57600080fd5b506008546101f3565b34801561028f57600080fd5b50610298610644565b005b3480156102a657600080fd5b506101f360115481565b3480156102bc57600080fd5b506102486102cb36600461156d565b6106f6565b3480156102dc57600080fd5b5060065460405160ff90911681526020016101fd565b3480156102fe57600080fd5b5061024861030d3660046115ae565b60076020526000908152604090205460ff1681565b34801561032e57600080fd5b5061029861033d3660046115ae565b61078d565b34801561034e57600080fd5b506101f360105481565b34801561036457600080fd5b506102486103733660046115ae565b600b6020526000908152604090205460ff1681565b34801561039457600080fd5b506102986107d9565b3480156103a957600080fd5b506014546103bd906001600160a01b031681565b6040516001600160a01b0390911681526020016101fd565b3480156103e157600080fd5b506012546103bd906001600160a01b031681565b34801561040157600080fd5b506101f3600a5481565b34801561041757600080fd5b506101f36104263660046115ae565b6001600160a01b031660009081526001602052604090205490565b34801561044d57600080fd5b50610298610b55565b34801561046257600080fd5b50610298610bc9565b34801561047757600080fd5b506101f3600e5481565b34801561048d57600080fd5b506000546001600160a01b03166103bd565b3480156104ab57600080fd5b5061021b610bfb565b3480156104c057600080fd5b506102486104cf366004611541565b610c0a565b3480156104e057600080fd5b506101f360135481565b3480156104f657600080fd5b506101f3600f5481565b34801561050c57600080fd5b50610298610c17565b34801561052157600080fd5b506101f36105303660046115cb565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561056757600080fd5b506003546103bd906001600160a01b031681565b34801561058757600080fd5b506102986105963660046115ae565b610c89565b6060600480546105aa90611604565b80601f01602080910402602001604051908101604052809291908181526020018280546105d690611604565b80156106235780601f106105f857610100808354040283529160200191610623565b820191906000526020600020905b81548152906001019060200180831161060657829003601f168201915b5050505050905090565b600061063a338484610d4f565b5060015b92915050565b6000546001600160a01b031633146106775760405162461bcd60e51b815260040161066e9061163e565b60405180910390fd5b600047116106c75760405162461bcd60e51b815260206004820152601760248201527f4e6f2042616c616e636520746f20776974686472617721000000000000000000604482015260640161066e565b60405133904780156108fc02916000818181858888f193505050501580156106f3573d6000803e3d6000fd5b50565b6000610703848484610db0565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610783576001600160a01b038416600090815260026020908152604080832033845290915290205461075e90839061167f565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146107b75760405162461bcd60e51b815260040161066e9061163e565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108035760405162461bcd60e51b815260040161066e9061163e565b601354156108455760405162461bcd60e51b815260206004820152600f60248201526e616c72656164792074726164696e6760881b604482015260640161066e565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915530600090815260026020908152604080832084845282528083206000199055805163c45a015560e01b81529051849263c45a015592600480820193918290030181865afa1580156108c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e79190611692565b90506000816001600160a01b031663c9c6539630856001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095d9190611692565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156109aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ce9190611692565b601480546001600160a01b038084166001600160a01b031990921682179092556000908152600b60205260409020805460ff19166001179055909150831663f305d7194730610a32816001600160a01b031660009081526001602052604090205490565b600080610a476000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610aaf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ad491906116af565b505060145460405163095ea7b360e01b81526001600160a01b0386811660048301526000196024830152909116915063095ea7b3906044016020604051808303816000875af1158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f91906116dd565b50505050565b6000546001600160a01b03163314610b7f5760405162461bcd60e51b815260040161066e9061163e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610bf35760405162461bcd60e51b815260040161066e9061163e565b600854600a55565b6060600580546105aa90611604565b600061063a338484610db0565b6000546001600160a01b03163314610c415760405162461bcd60e51b815260040161066e9061163e565b60135415610c835760405162461bcd60e51b815260206004820152600f60248201526e616c72656164792074726164696e6760881b604482015260640161066e565b43601355565b6000546001600160a01b03163314610cb35760405162461bcd60e51b815260040161066e9061163e565b6001600160a01b038116610cf45760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b604482015260640161066e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e145760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161066e565b6001600160a01b038216610e765760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161066e565b60008111610ed85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161066e565b6001600160a01b0383166000908152600b6020526040812054819060ff168015610f1b57506001600160a01b03841660009081526007602052604090205460ff16155b15610fb157600a5483610f43866001600160a01b031660009081526001602052604090205490565b610f4d91906116ff565b1115610f9b5760405162461bcd60e51b815260206004820152601760248201527f4d61782077616c6c6574203225206174206c61756e6368000000000000000000604482015260640161066e565b60118054906000610fab83611712565b91905055505b6001600160a01b0384166000908152600b602052604090205460ff168015610fdc5750600c5460ff16155b801561100157506001600160a01b03851660009081526007602052604090205460ff16155b801561102657506001600160a01b03841660009081526007602052604090205460ff16155b15611072573060009081526001602052604090205480156110655760006110588561105384600954611152565b611152565b90506110638161116a565b505b4761106f816112bc565b50505b6001600160a01b03851660009081526007602052604090205460ff161580156110b457506001600160a01b03841660009081526007602052604090205460ff16155b80156110c35750600c5460ff16155b1561110a576000601354116111055760405162461bcd60e51b81526020600482015260086024820152672174726164696e6760c01b604482015260640161066e565b600191505b6001600160a01b0384166000908152600b602052604090205460ff161561112f575060015b60035461114b90869086906001600160a01b03168686866112fa565b5050505050565b60008183116111615782611163565b815b9392505050565b600c805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111ac576111ac61172b565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112299190611692565b8160018151811061123c5761123c61172b565b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac94790611282908590600090869030904290600401611741565b600060405180830381600087803b15801561129c57600080fd5b505af19250505080156112ad575060015b505050600c805460ff19169055565b6003546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156112f6573d6000803e3d6000fd5b5050565b6001600160a01b03861660009081526001602052604090205461131e90849061167f565b6001600160a01b038716600090815260016020526040812091909155821561140c57600082156113515750601054611356565b50600f545b600e5460115410156113675750600d545b6000606461137583886117b2565b61137f91906117c9565b905080156114095761139181846116ff565b306000908152600160205260409020549093506113af9082906116ff565b30600081815260016020526040908190209290925590516001600160a01b038b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114009085815260200190565b60405180910390a35b50505b6001600160a01b0387166000908152600b602052604090205460ff168015611432575081155b801561143b5750825b1561144d5761144d8786600019610d4f565b611457818561167f565b6001600160a01b03871660009081526001602052604090205461147a91906116ff565b6001600160a01b0380881660008181526001602052604090209290925588167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114c4848861167f565b60405190815260200160405180910390a350505050505050565b600060208083528351808285015260005b8181101561150b578581018301518582016040015282016114ef565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106f357600080fd5b6000806040838503121561155457600080fd5b823561155f8161152c565b946020939093013593505050565b60008060006060848603121561158257600080fd5b833561158d8161152c565b9250602084013561159d8161152c565b929592945050506040919091013590565b6000602082840312156115c057600080fd5b81356111638161152c565b600080604083850312156115de57600080fd5b82356115e98161152c565b915060208301356115f98161152c565b809150509250929050565b600181811c9082168061161857607f821691505b60208210810361163857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561063e5761063e611669565b6000602082840312156116a457600080fd5b81516111638161152c565b6000806000606084860312156116c457600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156116ef57600080fd5b8151801515811461116357600080fd5b8082018082111561063e5761063e611669565b60006001820161172457611724611669565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117915784516001600160a01b03168352938301939183019160010161176c565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761063e5761063e611669565b6000826117e657634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122036c6299a216c2924720ce60cdddc1323477580e8803ceb6e7fd44ae67ac3d31364736f6c63430008130033

Deployed Bytecode Sourcemap

2710:7768:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3418:34;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;3418:34:0;;;;;;;;5307:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6070:159::-;;;;;;;;;;-1:-1:-1;6070:159:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6070:159:0;1205:187:1;3159:51:0;;;;;;;;;;;;;;;;5511:100;;;;;;;;;;-1:-1:-1;5591:12:0;;5511:100;;10237:201;;;;;;;;;;;;;:::i;:::-;;3575:26;;;;;;;;;;;;;;;;6237:336;;;;;;;;;;-1:-1:-1;6237:336:0;;;;;:::i;:::-;;:::i;5409:94::-;;;;;;;;;;-1:-1:-1;5486:9:0;;5409:94;;5486:9;;;;2000:36:1;;1988:2;1973:18;5409:94:0;1858:184:1;3032:49:0;;;;;;;;;;-1:-1:-1;3032:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5095:98;;;;;;;;;;-1:-1:-1;5095:98:0;;;;;:::i;:::-;;:::i;3537:31::-;;;;;;;;;;;;;;;;3287:44;;;;;;;;;;-1:-1:-1;3287:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4301:782;;;;;;;;;;;;;:::i;3693:27::-;;;;;;;;;;-1:-1:-1;3693:27:0;;;;-1:-1:-1;;;;;3693:27:0;;;;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;3693:27:0;2299:203:1;3610:36:0;;;;;;;;;;-1:-1:-1;3610:36:0;;;;-1:-1:-1;;;;;3610:36:0;;;3217:49;;;;;;;;;;;;;;;;5619:119;;;;;;;;;;-1:-1:-1;5619:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5712:18:0;5685:7;5712:18;;;:9;:18;;;;;;;5619:119;2333:148;;;;;;;;;;;;;:::i;10137:92::-;;;;;;;;;;;;;:::i;3459:34::-;;;;;;;;;;;;;;;;2136:79;;;;;;;;;;-1:-1:-1;2174:7:0;2201:6;-1:-1:-1;;;;;2201:6:0;2136:79;;5201:98;;;;;;;;;;;;;:::i;5746:165::-;;;;;;;;;;-1:-1:-1;5746:165:0;;;;;:::i;:::-;;:::i;3655:31::-;;;;;;;;;;;;;;;;3500:30;;;;;;;;;;;;;;;;8303:143;;;;;;;;;;;;;:::i;5919:::-;;;;;;;;;;-1:-1:-1;5919:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6027:18:0;;;6000:7;6027:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5919:143;2882:26;;;;;;;;;;-1:-1:-1;2882:26:0;;;;-1:-1:-1;;;;;2882:26:0;;;2489:214;;;;;;;;;;-1:-1:-1;2489:214:0;;;;;:::i;:::-;;:::i;5307:94::-;5355:13;5388:5;5381:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5307:94;:::o;6070:159::-;6145:4;6162:37;6171:10;6183:7;6192:6;6162:8;:37::i;:::-;-1:-1:-1;6217:4:0;6070:159;;;;;:::o;10237:201::-;2263:6;;-1:-1:-1;;;;;2263:6:0;2273:10;2263:20;2255:50;;;;-1:-1:-1;;;2255:50:0;;;;;;;:::i;:::-;;;;;;;;;10339:1:::1;10315:21;:25;10307:61;;;::::0;-1:-1:-1;;;10307:61:0;;4063:2:1;10307:61:0::1;::::0;::::1;4045:21:1::0;4102:2;4082:18;;;4075:30;4141:25;4121:18;;;4114:53;4184:18;;10307:61:0::1;3861:347:1::0;10307:61:0::1;10379:51;::::0;10387:10:::1;::::0;10408:21:::1;10379:51:::0;::::1;;;::::0;::::1;::::0;;;10408:21;10387:10;10379:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10237:201::o:0;6237:336::-;6335:4;6352:36;6362:6;6370:9;6381:6;6352:9;:36::i;:::-;-1:-1:-1;;;;;6403:19:0;;3406:1;6403:19;;;:11;:19;;;;;;;;6423:10;6403:31;;;;;;;;-1:-1:-1;;6403:38:0;6399:145;;-1:-1:-1;;;;;6492:19:0;;;;;;:11;:19;;;;;;;;6512:10;6492:31;;;;;;;;:40;;6526:6;;6492:40;:::i;:::-;-1:-1:-1;;;;;6458:19:0;;;;;;:11;:19;;;;;;;;6478:10;6458:31;;;;;;;:74;6399:145;-1:-1:-1;6561:4:0;6237:336;;;;;:::o;5095:98::-;2263:6;;-1:-1:-1;;;;;2263:6:0;2273:10;2263:20;2255:50;;;;-1:-1:-1;;;2255:50:0;;;;;;;:::i;:::-;5164:11:::1;:21:::0;;-1:-1:-1;;;;;;5164:21:0::1;-1:-1:-1::0;;;;;5164:21:0;;;::::1;::::0;;;::::1;::::0;;5095:98::o;4301:782::-;2263:6;;-1:-1:-1;;;;;2263:6:0;2273:10;2263:20;2255:50;;;;-1:-1:-1;;;2255:50:0;;;;;;;:::i;:::-;4372:12:::1;::::0;:17;4364:44:::1;;;::::0;-1:-1:-1;;;4364:44:0;;4680:2:1;4364:44:0::1;::::0;::::1;4662:21:1::0;4719:2;4699:18;;;4692:30;-1:-1:-1;;;4738:18:1;;;4731:45;4793:18;;4364:44:0::1;4478:339:1::0;4364:44:0::1;4518:14;:27:::0;;-1:-1:-1;;;;;;4518:27:0::1;4462:42;4518:27:::0;;::::1;::::0;;;4576:4:::1;4419:25;4556:26:::0;;;:11:::1;:26;::::0;;;;;;;:47;;;;;;;;-1:-1:-1;;4556:53:0;;4668:20;;-1:-1:-1;;;4668:20:0;;;;4462:42;;4668:18:::1;::::0;:20:::1;::::0;;::::1;::::0;;;;;;;4462:42;4668:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4622:67;;4700:16;4719:11;-1:-1:-1::0;;;;;4719:22:0::1;;4750:4;4757:10;-1:-1:-1::0;;;;;4757:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4719:56;::::0;-1:-1:-1;;;;;;4719:56:0::1;::::0;;;;;;-1:-1:-1;;;;;5308:15:1;;;4719:56:0::1;::::0;::::1;5290:34:1::0;5360:15;;5340:18;;;5333:43;5225:18;;4719:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4788:12;:23:::0;;-1:-1:-1;;;;;4788:23:0;;::::1;-1:-1:-1::0;;;;;;4788:23:0;;::::1;::::0;::::1;::::0;;;:12:::1;4822:26:::0;;;:12:::1;:26;::::0;;;;:33;;-1:-1:-1;;4822:33:0::1;4788:23:::0;4822:33:::1;::::0;;4700:75;;-1:-1:-1;4868:26:0;::::1;;4902:21;4933:4;4939:24;4933:4:::0;-1:-1:-1;;;;;5712:18:0;5685:7;5712:18;;;:9;:18;;;;;;;5619:119;4939:24:::1;4964:1;4966::::0;4968:7:::1;2174::::0;2201:6;-1:-1:-1;;;;;2201:6:0;;2136:79;4968:7:::1;4868:124;::::0;::::1;::::0;;;-1:-1:-1;;;;;;4868:124:0;;;-1:-1:-1;;;;;5746:15:1;;;4868:124:0::1;::::0;::::1;5728:34:1::0;5778:18;;;5771:34;;;;5821:18;;;5814:34;;;;5864:18;;;5857:34;5928:15;;;5907:19;;;5900:44;4976:15:0::1;5960:19:1::0;;;5953:35;5662:19;;4868:124:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;5010:12:0::1;::::0;5003:65:::1;::::0;-1:-1:-1;;;5003:65:0;;-1:-1:-1;;;;;6502:32:1;;;5003:65:0::1;::::0;::::1;6484:51:1::0;-1:-1:-1;;6551:18:1;;;6544:34;5010:12:0;;::::1;::::0;-1:-1:-1;5003:28:0::1;::::0;6457:18:1;;5003:65:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4353:730;;;4301:782::o:0;2333:148::-;2263:6;;-1:-1:-1;;;;;2263:6:0;2273:10;2263:20;2255:50;;;;-1:-1:-1;;;2255:50:0;;;;;;;:::i;:::-;2440:1:::1;2424:6:::0;;2403:40:::1;::::0;-1:-1:-1;;;;;2424:6:0;;::::1;::::0;2403:40:::1;::::0;2440:1;;2403:40:::1;2471:1;2454:19:::0;;-1:-1:-1;;;;;;2454:19:0::1;::::0;;2333:148::o;10137:92::-;2263:6;;-1:-1:-1;;;;;2263:6:0;2273:10;2263:20;2255:50;;;;-1:-1:-1;;;2255:50:0;;;;;;;:::i;:::-;10209:12:::1;::::0;10190:16:::1;:31:::0;10137:92::o;5201:98::-;5251:13;5284:7;5277:14;;;;;:::i;5746:165::-;5824:4;5841:40;5851:10;5863:9;5874:6;5841:9;:40::i;8303:143::-;2263:6;;-1:-1:-1;;;;;2263:6:0;2273:10;2263:20;2255:50;;;;-1:-1:-1;;;2255:50:0;;;;;;;:::i;:::-;8364:12:::1;::::0;:17;8356:44:::1;;;::::0;-1:-1:-1;;;8356:44:0;;4680:2:1;8356:44:0::1;::::0;::::1;4662:21:1::0;4719:2;4699:18;;;4692:30;-1:-1:-1;;;4738:18:1;;;4731:45;4793:18;;8356:44:0::1;4478:339:1::0;8356:44:0::1;8426:12;8411;:27:::0;8303:143::o;2489:214::-;2263:6;;-1:-1:-1;;;;;2263:6:0;2273:10;2263:20;2255:50;;;;-1:-1:-1;;;2255:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2578:22:0;::::1;2570:43;;;::::0;-1:-1:-1;;;2570:43:0;;7073:2:1;2570:43:0::1;::::0;::::1;7055:21:1::0;7112:1;7092:18;;;7085:29;-1:-1:-1;;;7130:18:1;;;7123:38;7178:18;;2570:43:0::1;6871:331:1::0;2570:43:0::1;2650:6;::::0;;2629:38:::1;::::0;-1:-1:-1;;;;;2629:38:0;;::::1;::::0;2650:6;::::1;::::0;2629:38:::1;::::0;::::1;2678:6;:17:::0;;-1:-1:-1;;;;;;2678:17:0::1;-1:-1:-1::0;;;;;2678:17:0;;;::::1;::::0;;;::::1;::::0;;2489:214::o;6581:177::-;-1:-1:-1;;;;;6666:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6718:32;;160:25:1;;;6718:32:0;;133:18:1;6718:32:0;;;;;;;6581:177;;;:::o;6872:1421::-;-1:-1:-1;;;;;6996:18:0;;6988:68;;;;-1:-1:-1;;;6988:68:0;;7409:2:1;6988:68:0;;;7391:21:1;7448:2;7428:18;;;7421:30;7487:34;7467:18;;;7460:62;-1:-1:-1;;;7538:18:1;;;7531:35;7583:19;;6988:68:0;7207:401:1;6988:68:0;-1:-1:-1;;;;;7075:16:0;;7067:64;;;;-1:-1:-1;;;7067:64:0;;7815:2:1;7067:64:0;;;7797:21:1;7854:2;7834:18;;;7827:30;7893:34;7873:18;;;7866:62;-1:-1:-1;;;7944:18:1;;;7937:33;7987:19;;7067:64:0;7613:399:1;7067:64:0;7159:1;7150:6;:10;7142:64;;;;-1:-1:-1;;;7142:64:0;;8219:2:1;7142:64:0;;;8201:21:1;8258:2;8238:18;;;8231:30;8297:34;8277:18;;;8270:62;-1:-1:-1;;;8348:18:1;;;8341:39;8397:19;;7142:64:0;8017:405:1;7142:64:0;-1:-1:-1;;;;;7273:18:0;;7220:12;7273:18;;;:12;:18;;;;;;7220:12;;7273:18;;:44;;;;-1:-1:-1;;;;;;7296:21:0;;;;;;:17;:21;;;;;;;;7295:22;7273:44;7269:179;;;7368:16;;7358:6;7342:13;7352:2;-1:-1:-1;;;;;5712:18:0;5685:7;5712:18;;;:9;:18;;;;;;;5619:119;7342:13;:22;;;;:::i;:::-;:42;;7334:78;;;;-1:-1:-1;;;7334:78:0;;8759:2:1;7334:78:0;;;8741:21:1;8798:2;8778:18;;;8771:30;8837:25;8817:18;;;8810:53;8880:18;;7334:78:0;8557:347:1;7334:78:0;7427:7;:9;;;:7;:9;;;:::i;:::-;;;;;;7269:179;-1:-1:-1;;;;;7464:16:0;;;;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;7485:6:0;;;;7484:7;7464:27;:55;;;;-1:-1:-1;;;;;;7496:23:0;;;;;;:17;:23;;;;;;;;7495:24;7464:55;:81;;;;-1:-1:-1;;;;;;7524:21:0;;;;;;:17;:21;;;;;;;;7523:22;7464:81;7460:523;;;7611:4;7562:28;5712:18;;;:9;:18;;;;;;7636:24;;7632:215;;7697:27;7727:49;7731:6;7738:37;7742:20;7763:11;;7738:3;:37::i;:::-;7727:3;:49::i;:::-;7697:79;;7795:36;7811:19;7795:15;:36::i;:::-;7662:185;7632:215;7890:21;7926:45;7890:21;7926:25;:45::i;:::-;7547:436;;7460:523;-1:-1:-1;;;;;8000:23:0;;;;;;:17;:23;;;;;;;;7999:24;:50;;;;-1:-1:-1;;;;;;8028:21:0;;;;;;:17;:21;;;;;;;;8027:22;7999:50;:61;;;;-1:-1:-1;8054:6:0;;;;8053:7;7999:61;7995:159;;;8100:1;8085:12;;:16;8077:36;;;;-1:-1:-1;;;8077:36:0;;9251:2:1;8077:36:0;;;9233:21:1;9290:1;9270:18;;;9263:29;-1:-1:-1;;;9308:18:1;;;9301:38;9356:18;;8077:36:0;9049:331:1;8077:36:0;8138:4;8128:14;;7995:159;-1:-1:-1;;;;;8170:16:0;;;;;;:12;:16;;;;;;;;8166:42;;;-1:-1:-1;8201:4:0;8166:42;8245:11;;8220:65;;8235:4;;8241:2;;-1:-1:-1;;;;;8245:11:0;8259:6;8267:7;8276:8;8220:14;:65::i;:::-;6975:1318;;6872:1421;;;:::o;6766:98::-;6823:7;6850:1;6848;:3;6847:9;;6855:1;6847:9;;;6853:1;6847:9;6840:16;6766:98;-1:-1:-1;;;6766:98:0:o;9582:424::-;3761:6;:13;;-1:-1:-1;;3761:13:0;3770:4;3761:13;;;9683:16:::1;::::0;;9697:1:::1;9683:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9683:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9683:16:0::1;9659:40;;9728:4;9710;9715:1;9710:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9710:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9754:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;9754:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;9710:7;;9754:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9744:4;9749:1;9744:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9744:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;9790:14:::1;::::0;:195:::1;::::0;-1:-1:-1;;;9790:195:0;;:14;::::1;::::0;:65:::1;::::0;:195:::1;::::0;9870:11;;9790:14:::1;::::0;9912:4;;9939::::1;::::0;9959:15:::1;::::0;9790:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9786:211:::0;-1:-1:-1;;3797:6:0;:14;;-1:-1:-1;;3797:14:0;;;9582:424::o;10014:115::-;10092:11;;10084:37;;-1:-1:-1;;;;;10092:11:0;;;;10084:37;;;;;10114:6;;10092:11;10084:37;10092:11;10084:37;10114:6;10092:11;10084:37;;;;;;;;;;;;;;;;;;;;;10014:115;:::o;8454:1120::-;-1:-1:-1;;;;;8678:17:0;;;;;;:9;:17;;;;;;:27;;8698:7;;8678:27;:::i;:::-;-1:-1:-1;;;;;8658:17:0;;;;;;:9;:17;;;;;:47;;;;8746:584;;;;8788:14;8823:8;8819:131;;;-1:-1:-1;8861:12:0;;8819:131;;;-1:-1:-1;8923:11:0;;8819:131;8977:14;;8967:7;;:24;8964:52;;;-1:-1:-1;9002:14:0;;8964:52;9033:18;9073:3;9054:16;9064:6;9054:7;:16;:::i;:::-;:22;;;;:::i;:::-;9033:43;-1:-1:-1;9095:14:0;;9091:228;;9130:23;9143:10;9130:23;;:::i;:::-;9217:4;9199:24;;;;:9;:24;;;;;;9130:23;;-1:-1:-1;9199:37:0;;9226:10;;9199:37;:::i;:::-;9190:4;9172:24;;;;:9;:24;;;;;;;:64;;;;9260:43;;-1:-1:-1;;;;;9260:43:0;;;;;;;9292:10;160:25:1;;148:2;133:18;;14:177;9260:43:0;;;;;;;;9091:228;8759:571;;8746:584;-1:-1:-1;;;;;9345:20:0;;;;;;:12;:20;;;;;;;;:33;;;;;9370:8;9369:9;9345:33;:44;;;;;9382:7;9345:44;9342:78;;;9391:29;9400:6;9408;-1:-1:-1;;9391:8:0;:29::i;:::-;9480:19;9490:9;9480:7;:19;:::i;:::-;-1:-1:-1;;;;;9456:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;9433:20:0;;;;;;;:9;:20;;;;;:67;;;;9516:48;;;9544:19;9554:9;9544:7;:19;:::i;:::-;9516:48;;160:25:1;;;148:2;133:18;9516:48:0;;;;;;;8645:929;8454:1120;;;;;;:::o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2737:388::-;2805:6;2813;2866:2;2854:9;2845:7;2841:23;2837:32;2834:52;;;2882:1;2879;2872:12;2834:52;2921:9;2908:23;2940:31;2965:5;2940:31;:::i;:::-;2990:5;-1:-1:-1;3047:2:1;3032:18;;3019:32;3060:33;3019:32;3060:33;:::i;:::-;3112:7;3102:17;;;2737:388;;;;;:::o;3130:380::-;3209:1;3205:12;;;;3252;;;3273:61;;3327:4;3319:6;3315:17;3305:27;;3273:61;3380:2;3372:6;3369:14;3349:18;3346:38;3343:161;;3426:10;3421:3;3417:20;3414:1;3407:31;3461:4;3458:1;3451:15;3489:4;3486:1;3479:15;3343:161;;3130:380;;;:::o;3515:341::-;3717:2;3699:21;;;3756:2;3736:18;;;3729:30;-1:-1:-1;;;3790:2:1;3775:18;;3768:47;3847:2;3832:18;;3515:341::o;4213:127::-;4274:10;4269:3;4265:20;4262:1;4255:31;4305:4;4302:1;4295:15;4329:4;4326:1;4319:15;4345:128;4412:9;;;4433:11;;;4430:37;;;4447:18;;:::i;4822:251::-;4892:6;4945:2;4933:9;4924:7;4920:23;4916:32;4913:52;;;4961:1;4958;4951:12;4913:52;4993:9;4987:16;5012:31;5037:5;5012:31;:::i;5999:306::-;6087:6;6095;6103;6156:2;6144:9;6135:7;6131:23;6127:32;6124:52;;;6172:1;6169;6162:12;6124:52;6201:9;6195:16;6185:26;;6251:2;6240:9;6236:18;6230:25;6220:35;;6295:2;6284:9;6280:18;6274:25;6264:35;;5999:306;;;;;:::o;6589:277::-;6656:6;6709:2;6697:9;6688:7;6684:23;6680:32;6677:52;;;6725:1;6722;6715:12;6677:52;6757:9;6751:16;6810:5;6803:13;6796:21;6789:5;6786:32;6776:60;;6832:1;6829;6822:12;8427:125;8492:9;;;8513:10;;;8510:36;;;8526:18;;:::i;8909:135::-;8948:3;8969:17;;;8966:43;;8989:18;;:::i;:::-;-1:-1:-1;9036:1:1;9025:13;;8909:135::o;9517:127::-;9578:10;9573:3;9569:20;9566:1;9559:31;9609:4;9606:1;9599:15;9633:4;9630:1;9623:15;9649:980;9911:4;9959:3;9948:9;9944:19;9990:6;9979:9;9972:25;10016:2;10054:6;10049:2;10038:9;10034:18;10027:34;10097:3;10092:2;10081:9;10077:18;10070:31;10121:6;10156;10150:13;10187:6;10179;10172:22;10225:3;10214:9;10210:19;10203:26;;10264:2;10256:6;10252:15;10238:29;;10285:1;10295:195;10309:6;10306:1;10303:13;10295:195;;;10374:13;;-1:-1:-1;;;;;10370:39:1;10358:52;;10465:15;;;;10430:12;;;;10406:1;10324:9;10295:195;;;-1:-1:-1;;;;;;;10546:32:1;;;;10541:2;10526:18;;10519:60;-1:-1:-1;;;10610:3:1;10595:19;10588:35;10507:3;9649:980;-1:-1:-1;;;9649:980:1:o;10634:168::-;10707:9;;;10738;;10755:15;;;10749:22;;10735:37;10725:71;;10776:18;;:::i;10807:217::-;10847:1;10873;10863:132;;10917:10;10912:3;10908:20;10905:1;10898:31;10952:4;10949:1;10942:15;10980:4;10977:1;10970:15;10863:132;-1:-1:-1;11009:9:1;;10807:217::o

Swarm Source

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