ETH Price: $3,915.55 (-0.47%)

Token

ERC-20: MemeAI Apps (MEMEAI)
 

Overview

Max Total Supply

6,900,000,000 MEMEAI

Holders

24

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.106061000718131066 MEMEAI

Value
$0.00
0x5c899bb231989b6bf21eea6c43d7e40e83710d61
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:
MEMEAI

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-11
*/

/*

$MEMEAI - MemeAI Apps

It is commonly known that meme coins are the hardest runners in crypto and heavily rely on community, raiding, and memes. Meme AI Apps offers a number of apps with cutting-edge technology for generating memes, aimed towards allowing any crypto community to generate funny memes and art.

https://twitter.com/memeaiapps
https://t.me/MemeAIAppsPortal
https://meme-ai.pro

Bot: https://t.me/MemeAI_Generation_Bot

*/

pragma solidity 0.8.23;
// SPDX-License-Identifier: MIT

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract MEMEAI is Context, IERC20, Ownable {
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _devWallet;
    address payable private _marketingWallet;

    string private constant _name =    unicode"MemeAI Apps";
    string private constant _symbol =  unicode"MEMEAI";
    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 69 * 1e8 * 10**_decimals;
    uint256 private _initialBuyTax=    15;
    uint256 private _reduceBuyTaxAt=   1;
    uint256 public _BuyTax=            5;
    uint256 public _SellTax=           40;
    uint256 public _maxTxAmount =      _tTotal * 2 / 100;
    uint256 public _maxWalletSize =    _tTotal * 2 / 100;
    uint256 public _taxSwapThreshold=  _tTotal * 5 / 10000;
    uint256 public _maxTaxSwap=        _tTotal * 1 / 100;
    uint256 public _buyCount=          0;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _devWallet = payable(_msgSender());
        _marketingWallet = payable(0xf02C86dDa047579dFDB636C0A5f38D0574eff921);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_devWallet] = true;
        _isExcludedFromFee[_marketingWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), 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(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        require(_allowances[sender][_msgSender()] >= amount, "Transfer amount exceeds allowance");
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: Can't approve from the zero address");
        require(spender != address(0), "ERC20: Can't 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), "ERC20: Can't transfer from the zero address");
        require(to != address(0), "ERC20: Can't transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {

            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                require(amount < _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount < _maxWalletSize, "Exceeds the _maxWalletSize.");
                _buyCount++;
            }
            
            taxAmount = amount * ((_buyCount>_reduceBuyTaxAt)?_BuyTax:_initialBuyTax) / 100;
            if(to == uniswapV2Pair && from != address(this)){
                taxAmount = amount * _SellTax / 100;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) {
                uint256 amountToSwap = (amount < contractTokenBalance && amount < _maxTaxSwap) ? amount : (contractTokenBalance < _maxTaxSwap) ? contractTokenBalance : _maxTaxSwap;
                swapTokensForEth(amountToSwap);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)] += taxAmount;
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from] = _balances[from] - amount;
        _balances[to] = _balances[to] + (amount - taxAmount);
        emit Transfer(from, to, amount - taxAmount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        if(!tradingOpen){return;}
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function updateTax(uint256 BuyTax, uint256 SellTax) external onlyOwner {
        _BuyTax = BuyTax;
        _SellTax= SellTax; 
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"Trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    function manualSwap() external onlyOwner {
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function sendETHToFee(uint256 amount) private {
        _marketingWallet.transfer(amount);
    }

    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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_BuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_SellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","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":"_taxSwapThreshold","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":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":"uint256","name":"BuyTax","type":"uint256"},{"internalType":"uint256","name":"SellTax","type":"uint256"}],"name":"updateTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600f6006556001600755600560085560286009556064620000286012600a620003ca565b620000399064019b45a500620003e1565b62000046906002620003e1565b620000529190620003fb565b600a5560646012600a620000679190620003ca565b620000789064019b45a500620003e1565b62000085906002620003e1565b620000919190620003fb565b600b55612710620000a56012600a620003ca565b620000b69064019b45a500620003e1565b620000c3906005620003e1565b620000cf9190620003fb565b600c556064620000e26012600a620003ca565b620000f39064019b45a500620003e1565b62000100906001620003e1565b6200010c9190620003fb565b600d555f600e556010805461ffff60a81b191690553480156200012d575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060048054336001600160a01b0319918216179091556005805490911673f02c86dda047579dfdb636c0a5f38d0574eff921179055620001b06012600a620003ca565b620001c19064019b45a500620003e1565b335f908152600160208190526040822092909255600390620001ea5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004548216845282842080548616821790556005549091168352912080549092161790556200025a3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002936012600a620003ca565b620002a49064019b45a500620003e1565b60405190815260200160405180910390a36200041b565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200030f57815f1904821115620002f357620002f3620002bb565b808516156200030157918102915b93841c9390800290620002d4565b509250929050565b5f826200032757506001620003c4565b816200033557505f620003c4565b81600181146200034e5760028114620003595762000379565b6001915050620003c4565b60ff8411156200036d576200036d620002bb565b50506001821b620003c4565b5060208310610133831016604e8410600b84101617156200039e575081810a620003c4565b620003aa8383620002cf565b805f1904821115620003c057620003c0620002bb565b0290505b92915050565b5f620003da60ff84168362000317565b9392505050565b8082028115828204841417620003c457620003c4620002bb565b5f826200041657634e487b7160e01b5f52601260045260245ffd5b500490565b61164b80620004295f395ff3fe608060405260043610610134575f3560e01c8063715018a6116100a8578063901849d61161006d578063901849d61461032f57806395d89b4114610344578063a9059cbb14610372578063bf474bed14610391578063c9567bf9146103a6578063dd62ed3e146103ba575f80fd5b8063715018a6146102b7578063751039fc146102cb5780637d1db4a5146102df5780638da5cb5b146102f45780638f9a55c01461031a575f80fd5b806327b1a8e9116100f957806327b1a8e9146102095780632f37aa6d1461021e578063313ce5671461023f57806343b8fe041461025a57806351bc3c851461026f57806370a0823114610283575f80fd5b806306fdde031461013f578063095ea7b3146101845780630faee56f146101b357806318160ddd146101d657806323b872dd146101ea575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600b81526a4d656d654149204170707360a81b60208201525b60405161017b919061123c565b60405180910390f35b34801561018f575f80fd5b506101a361019e36600461129f565b6103fe565b604051901515815260200161017b565b3480156101be575f80fd5b506101c8600d5481565b60405190815260200161017b565b3480156101e1575f80fd5b506101c8610414565b3480156101f5575f80fd5b506101a36102043660046112c9565b610435565b348015610214575f80fd5b506101c8600e5481565b348015610229575f80fd5b5061023d610238366004611307565b610505565b005b34801561024a575f80fd5b506040516012815260200161017b565b348015610265575f80fd5b506101c860095481565b34801561027a575f80fd5b5061023d610539565b34801561028e575f80fd5b506101c861029d366004611327565b6001600160a01b03165f9081526001602052604090205490565b3480156102c2575f80fd5b5061023d610594565b3480156102d6575f80fd5b5061023d610605565b3480156102ea575f80fd5b506101c8600a5481565b3480156102ff575f80fd5b505f546040516001600160a01b03909116815260200161017b565b348015610325575f80fd5b506101c8600b5481565b34801561033a575f80fd5b506101c860085481565b34801561034f575f80fd5b506040805180820190915260068152654d454d45414960d01b602082015261016e565b34801561037d575f80fd5b506101a361038c36600461129f565b6106bb565b34801561039c575f80fd5b506101c8600c5481565b3480156103b1575f80fd5b5061023d6106c7565b3480156103c5575f80fd5b506101c86103d4366004611349565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61040a338484610a71565b5060015b92915050565b5f6104216012600a611474565b6104309064019b45a500611482565b905090565b6001600160a01b0383165f9081526002602090815260408083203384529091528120548211156104b65760405162461bcd60e51b815260206004820152602160248201527f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636044820152606560f81b60648201526084015b60405180910390fd5b6104c1848484610ba1565b6001600160a01b0384165f908152600260209081526040808320338085529252909120546104fb9186916104f6908690611499565b610a71565b5060019392505050565b5f546001600160a01b0316331461052e5760405162461bcd60e51b81526004016104ad906114ac565b600891909155600955565b5f546001600160a01b031633146105625760405162461bcd60e51b81526004016104ad906114ac565b305f908152600160205260409020548015610580576105808161107c565b4780156105905761059081611205565b5050565b5f546001600160a01b031633146105bd5760405162461bcd60e51b81526004016104ad906114ac565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461062e5760405162461bcd60e51b81526004016104ad906114ac565b61063a6012600a611474565b6106499064019b45a500611482565b600a90815561065a90601290611474565b6106699064019b45a500611482565b600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106996012600a611474565b6106a89064019b45a500611482565b60405190815260200160405180910390a1565b5f61040a338484610ba1565b5f546001600160a01b031633146106f05760405162461bcd60e51b81526004016104ad906114ac565b601054600160a01b900460ff161561074a5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ad565b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107949030906107856012600a611474565b6104f69064019b45a500611482565b600f5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080891906114e1565b6001600160a01b031663c9c6539630600f5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610867573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088b91906114e1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f991906114e1565b601080546001600160a01b039283166001600160a01b0319909116179055600f541663f305d7194730610940816001600160a01b03165f9081526001602052604090205490565b5f806109535f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109b9573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109de91906114fc565b5050601054600f5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a579190611527565b506010805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610ada5760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2043616e277420617070726f76652066726f6d20746865207a65604482015269726f206164647265737360b01b60648201526084016104ad565b6001600160a01b038216610b415760405162461bcd60e51b815260206004820152602860248201527f45524332303a2043616e277420617070726f766520746f20746865207a65726f604482015267206164647265737360c01b60648201526084016104ad565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c0b5760405162461bcd60e51b815260206004820152602b60248201527f45524332303a2043616e2774207472616e736665722066726f6d20746865207a60448201526a65726f206164647265737360a81b60648201526084016104ad565b6001600160a01b038216610c735760405162461bcd60e51b815260206004820152602960248201527f45524332303a2043616e2774207472616e7366657220746f20746865207a65726044820152686f206164647265737360b81b60648201526084016104ad565b5f8111610cd45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ad565b6001600160a01b0383165f9081526003602052604081205460ff16158015610d1457506001600160a01b0383165f9081526003602052604090205460ff16155b15610f4b576010546001600160a01b038581169116148015610d445750600f546001600160a01b03848116911614155b15610e2857600a548210610d9a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ad565b600b5482610dbc856001600160a01b03165f9081526001602052604090205490565b610dc69190611546565b10610e135760405162461bcd60e51b815260206004820152601b60248201527f4578636565647320746865205f6d617857616c6c657453697a652e000000000060448201526064016104ad565b600e8054905f610e2283611559565b91905055505b6064600754600e5411610e3d57600654610e41565b6008545b610e4b9084611482565b610e559190611571565b6010549091506001600160a01b038481169116148015610e7e57506001600160a01b0384163014155b15610ea057606460095483610e939190611482565b610e9d9190611571565b90505b305f90815260016020526040902054601054600160a81b900460ff16158015610ed657506010546001600160a01b038581169116145b8015610eeb5750601054600160b01b900460ff165b8015610ef85750600c5481115b15610f49575f8184108015610f0e5750600d5484105b610f2957600d548210610f2357600d54610f2b565b81610f2b565b835b9050610f368161107c565b478015610f4657610f4647611205565b50505b505b8015610fb557305f9081526001602052604081208054839290610f6f908490611546565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6001600160a01b0384165f90815260016020526040902054610fd8908390611499565b6001600160a01b0385165f90815260016020526040902055610ffa8183611499565b6001600160a01b0384165f9081526001602052604090205461101c9190611546565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110658486611499565b60405190815260200160405180910390a350505050565b6010805460ff60a81b1916600160a81b17905580156111f557601054600160a01b900460ff16156111f5576040805160028082526060820183525f9260208301908036833701905050905030815f815181106110da576110da611590565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611131573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115591906114e1565b8160018151811061116857611168611590565b6001600160a01b039283166020918202929092010152600f5461118e9130911684610a71565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906111c69085905f908690309042906004016115a4565b5f604051808303815f87803b1580156111dd575f80fd5b505af11580156111ef573d5f803e3d5ffd5b50505050505b506010805460ff60a81b19169055565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610590573d5f803e3d5ffd5b5f602080835283518060208501525f5b818110156112685785810183015185820160400152820161124c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461129c575f80fd5b50565b5f80604083850312156112b0575f80fd5b82356112bb81611288565b946020939093013593505050565b5f805f606084860312156112db575f80fd5b83356112e681611288565b925060208401356112f681611288565b929592945050506040919091013590565b5f8060408385031215611318575f80fd5b50508035926020909101359150565b5f60208284031215611337575f80fd5b813561134281611288565b9392505050565b5f806040838503121561135a575f80fd5b823561136581611288565b9150602083013561137581611288565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156113ce57815f19048211156113b4576113b4611380565b808516156113c157918102915b93841c9390800290611399565b509250929050565b5f826113e45750600161040e565b816113f057505f61040e565b816001811461140657600281146114105761142c565b600191505061040e565b60ff84111561142157611421611380565b50506001821b61040e565b5060208310610133831016604e8410600b841016171561144f575081810a61040e565b6114598383611394565b805f190482111561146c5761146c611380565b029392505050565b5f61134260ff8416836113d6565b808202811582820484141761040e5761040e611380565b8181038181111561040e5761040e611380565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156114f1575f80fd5b815161134281611288565b5f805f6060848603121561150e575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611537575f80fd5b81518015158114611342575f80fd5b8082018082111561040e5761040e611380565b5f6001820161156a5761156a611380565b5060010190565b5f8261158b57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156115f45784516001600160a01b0316835293830193918301916001016115cf565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220a77436ca413c6c1f6f4d03312f681a8b15ea6d75031e2dde433a370e50f35b4064736f6c63430008170033

Deployed Bytecode

0x608060405260043610610134575f3560e01c8063715018a6116100a8578063901849d61161006d578063901849d61461032f57806395d89b4114610344578063a9059cbb14610372578063bf474bed14610391578063c9567bf9146103a6578063dd62ed3e146103ba575f80fd5b8063715018a6146102b7578063751039fc146102cb5780637d1db4a5146102df5780638da5cb5b146102f45780638f9a55c01461031a575f80fd5b806327b1a8e9116100f957806327b1a8e9146102095780632f37aa6d1461021e578063313ce5671461023f57806343b8fe041461025a57806351bc3c851461026f57806370a0823114610283575f80fd5b806306fdde031461013f578063095ea7b3146101845780630faee56f146101b357806318160ddd146101d657806323b872dd146101ea575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600b81526a4d656d654149204170707360a81b60208201525b60405161017b919061123c565b60405180910390f35b34801561018f575f80fd5b506101a361019e36600461129f565b6103fe565b604051901515815260200161017b565b3480156101be575f80fd5b506101c8600d5481565b60405190815260200161017b565b3480156101e1575f80fd5b506101c8610414565b3480156101f5575f80fd5b506101a36102043660046112c9565b610435565b348015610214575f80fd5b506101c8600e5481565b348015610229575f80fd5b5061023d610238366004611307565b610505565b005b34801561024a575f80fd5b506040516012815260200161017b565b348015610265575f80fd5b506101c860095481565b34801561027a575f80fd5b5061023d610539565b34801561028e575f80fd5b506101c861029d366004611327565b6001600160a01b03165f9081526001602052604090205490565b3480156102c2575f80fd5b5061023d610594565b3480156102d6575f80fd5b5061023d610605565b3480156102ea575f80fd5b506101c8600a5481565b3480156102ff575f80fd5b505f546040516001600160a01b03909116815260200161017b565b348015610325575f80fd5b506101c8600b5481565b34801561033a575f80fd5b506101c860085481565b34801561034f575f80fd5b506040805180820190915260068152654d454d45414960d01b602082015261016e565b34801561037d575f80fd5b506101a361038c36600461129f565b6106bb565b34801561039c575f80fd5b506101c8600c5481565b3480156103b1575f80fd5b5061023d6106c7565b3480156103c5575f80fd5b506101c86103d4366004611349565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61040a338484610a71565b5060015b92915050565b5f6104216012600a611474565b6104309064019b45a500611482565b905090565b6001600160a01b0383165f9081526002602090815260408083203384529091528120548211156104b65760405162461bcd60e51b815260206004820152602160248201527f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636044820152606560f81b60648201526084015b60405180910390fd5b6104c1848484610ba1565b6001600160a01b0384165f908152600260209081526040808320338085529252909120546104fb9186916104f6908690611499565b610a71565b5060019392505050565b5f546001600160a01b0316331461052e5760405162461bcd60e51b81526004016104ad906114ac565b600891909155600955565b5f546001600160a01b031633146105625760405162461bcd60e51b81526004016104ad906114ac565b305f908152600160205260409020548015610580576105808161107c565b4780156105905761059081611205565b5050565b5f546001600160a01b031633146105bd5760405162461bcd60e51b81526004016104ad906114ac565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461062e5760405162461bcd60e51b81526004016104ad906114ac565b61063a6012600a611474565b6106499064019b45a500611482565b600a90815561065a90601290611474565b6106699064019b45a500611482565b600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106996012600a611474565b6106a89064019b45a500611482565b60405190815260200160405180910390a1565b5f61040a338484610ba1565b5f546001600160a01b031633146106f05760405162461bcd60e51b81526004016104ad906114ac565b601054600160a01b900460ff161561074a5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ad565b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107949030906107856012600a611474565b6104f69064019b45a500611482565b600f5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080891906114e1565b6001600160a01b031663c9c6539630600f5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610867573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088b91906114e1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f991906114e1565b601080546001600160a01b039283166001600160a01b0319909116179055600f541663f305d7194730610940816001600160a01b03165f9081526001602052604090205490565b5f806109535f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109b9573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109de91906114fc565b5050601054600f5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a579190611527565b506010805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610ada5760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2043616e277420617070726f76652066726f6d20746865207a65604482015269726f206164647265737360b01b60648201526084016104ad565b6001600160a01b038216610b415760405162461bcd60e51b815260206004820152602860248201527f45524332303a2043616e277420617070726f766520746f20746865207a65726f604482015267206164647265737360c01b60648201526084016104ad565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c0b5760405162461bcd60e51b815260206004820152602b60248201527f45524332303a2043616e2774207472616e736665722066726f6d20746865207a60448201526a65726f206164647265737360a81b60648201526084016104ad565b6001600160a01b038216610c735760405162461bcd60e51b815260206004820152602960248201527f45524332303a2043616e2774207472616e7366657220746f20746865207a65726044820152686f206164647265737360b81b60648201526084016104ad565b5f8111610cd45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ad565b6001600160a01b0383165f9081526003602052604081205460ff16158015610d1457506001600160a01b0383165f9081526003602052604090205460ff16155b15610f4b576010546001600160a01b038581169116148015610d445750600f546001600160a01b03848116911614155b15610e2857600a548210610d9a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ad565b600b5482610dbc856001600160a01b03165f9081526001602052604090205490565b610dc69190611546565b10610e135760405162461bcd60e51b815260206004820152601b60248201527f4578636565647320746865205f6d617857616c6c657453697a652e000000000060448201526064016104ad565b600e8054905f610e2283611559565b91905055505b6064600754600e5411610e3d57600654610e41565b6008545b610e4b9084611482565b610e559190611571565b6010549091506001600160a01b038481169116148015610e7e57506001600160a01b0384163014155b15610ea057606460095483610e939190611482565b610e9d9190611571565b90505b305f90815260016020526040902054601054600160a81b900460ff16158015610ed657506010546001600160a01b038581169116145b8015610eeb5750601054600160b01b900460ff165b8015610ef85750600c5481115b15610f49575f8184108015610f0e5750600d5484105b610f2957600d548210610f2357600d54610f2b565b81610f2b565b835b9050610f368161107c565b478015610f4657610f4647611205565b50505b505b8015610fb557305f9081526001602052604081208054839290610f6f908490611546565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6001600160a01b0384165f90815260016020526040902054610fd8908390611499565b6001600160a01b0385165f90815260016020526040902055610ffa8183611499565b6001600160a01b0384165f9081526001602052604090205461101c9190611546565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110658486611499565b60405190815260200160405180910390a350505050565b6010805460ff60a81b1916600160a81b17905580156111f557601054600160a01b900460ff16156111f5576040805160028082526060820183525f9260208301908036833701905050905030815f815181106110da576110da611590565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611131573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115591906114e1565b8160018151811061116857611168611590565b6001600160a01b039283166020918202929092010152600f5461118e9130911684610a71565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906111c69085905f908690309042906004016115a4565b5f604051808303815f87803b1580156111dd575f80fd5b505af11580156111ef573d5f803e3d5ffd5b50505050505b506010805460ff60a81b19169055565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610590573d5f803e3d5ffd5b5f602080835283518060208501525f5b818110156112685785810183015185820160400152820161124c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461129c575f80fd5b50565b5f80604083850312156112b0575f80fd5b82356112bb81611288565b946020939093013593505050565b5f805f606084860312156112db575f80fd5b83356112e681611288565b925060208401356112f681611288565b929592945050506040919091013590565b5f8060408385031215611318575f80fd5b50508035926020909101359150565b5f60208284031215611337575f80fd5b813561134281611288565b9392505050565b5f806040838503121561135a575f80fd5b823561136581611288565b9150602083013561137581611288565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156113ce57815f19048211156113b4576113b4611380565b808516156113c157918102915b93841c9390800290611399565b509250929050565b5f826113e45750600161040e565b816113f057505f61040e565b816001811461140657600281146114105761142c565b600191505061040e565b60ff84111561142157611421611380565b50506001821b61040e565b5060208310610133831016604e8410600b841016171561144f575081810a61040e565b6114598383611394565b805f190482111561146c5761146c611380565b029392505050565b5f61134260ff8416836113d6565b808202811582820484141761040e5761040e611380565b8181038181111561040e5761040e611380565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156114f1575f80fd5b815161134281611288565b5f805f6060848603121561150e575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611537575f80fd5b81518015158114611342575f80fd5b8082018082111561040e5761040e611380565b5f6001820161156a5761156a611380565b5060010190565b5f8261158b57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156115f45784516001600160a01b0316835293830193918301916001016115cf565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220a77436ca413c6c1f6f4d03312f681a8b15ea6d75031e2dde433a370e50f35b4064736f6c63430008170033

Deployed Bytecode Sourcemap

2782:7470:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4596:83;;;;;;;;;;-1:-1:-1;4666:5:0;;;;;;;;;;;;-1:-1:-1;;;4666:5:0;;;;4596:83;;;;;;;:::i;:::-;;;;;;;;5429:161;;;;;;;;;;-1:-1:-1;5429:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5429:161:0;1023:187:1;3693:52:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;3693:52:0;1215:177:1;4873:95:0;;;;;;;;;;;;;:::i;5598:366::-;;;;;;;;;;-1:-1:-1;5598:366:0;;;;;:::i;:::-;;:::i;3752:36::-;;;;;;;;;;;;;;;;8799:135;;;;;;;;;;-1:-1:-1;8799:135:0;;;;;:::i;:::-;;:::i;:::-;;4782:83;;;;;;;;;;-1:-1:-1;4782:83:0;;3265:2;2253:36:1;;2241:2;2226:18;4782:83:0;2111:184:1;3470:37:0;;;;;;;;;;;;;;;;9788:314;;;;;;;;;;;;;:::i;4976:119::-;;;;;;;;;;-1:-1:-1;4976:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5069:18:0;5042:7;5069:18;;;:9;:18;;;;;;;4976:119;1863:148;;;;;;;;;;;;;:::i;8942:159::-;;;;;;;;;;;;;:::i;3514:52::-;;;;;;;;;;;;;;;;1649:79;;;;;;;;;;-1:-1:-1;1687:7:0;1714:6;1649:79;;-1:-1:-1;;;;;1714:6:0;;;2698:51:1;;2686:2;2671:18;1649:79:0;2552:203:1;3573:52:0;;;;;;;;;;;;;;;;3427:36;;;;;;;;;;;;;;;;4687:87;;;;;;;;;;-1:-1:-1;4759:7:0;;;;;;;;;;;;-1:-1:-1;;;4759:7:0;;;;4687:87;;5103:167;;;;;;;;;;-1:-1:-1;5103:167:0;;;;;:::i;:::-;;:::i;3632:54::-;;;;;;;;;;;;;;;;9109:671;;;;;;;;;;;;;:::i;5278:143::-;;;;;;;;;;-1:-1:-1;5278:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5386:18:0;;;5359:7;5386:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5278:143;5429:161;5504:4;5521:39;629:10;5544:7;5553:6;5521:8;:39::i;:::-;-1:-1:-1;5578:4:0;5429:161;;;;;:::o;4873:95::-;4926:7;3320:13;3265:2;3320;:13;:::i;:::-;3309:24;;:8;:24;:::i;:::-;4946:14;;4873:95;:::o;5598:366::-;-1:-1:-1;;;;;5721:19:0;;5696:4;5721:19;;;:11;:19;;;;;;;;629:10;5721:33;;;;;;;;:43;-1:-1:-1;5721:43:0;5713:89;;;;-1:-1:-1;;;5713:89:0;;5037:2:1;5713:89:0;;;5019:21:1;5076:2;5056:18;;;5049:30;5115:34;5095:18;;;5088:62;-1:-1:-1;;;5166:18:1;;;5159:31;5207:19;;5713:89:0;;;;;;;;;5813:36;5823:6;5831:9;5842:6;5813:9;:36::i;:::-;-1:-1:-1;;;;;5891:19:0;;;;;;:11;:19;;;;;;;;629:10;5891:33;;;;;;;;;5860:74;;5869:6;;5891:42;;5927:6;;5891:42;:::i;:::-;5860:8;:74::i;:::-;-1:-1:-1;5952:4:0;5598:366;;;;;:::o;8799:135::-;1776:6;;-1:-1:-1;;;;;1776:6:0;629:10;1776:22;1768:67;;;;-1:-1:-1;;;1768:67:0;;;;;;;:::i;:::-;8881:7:::1;:16:::0;;;;8908:8:::1;:17:::0;8799:135::o;9788:314::-;1776:6;;-1:-1:-1;;;;;1776:6:0;629:10;1776:22;1768:67;;;;-1:-1:-1;;;1768:67:0;;;;;;;:::i;:::-;9879:4:::1;9840:20;5069:18:::0;;;:9;:18;;;;;;9899:14;;9896:73:::1;;9927:30;9944:12;9927:16;:30::i;:::-;9998:21;10033:12:::0;;10030:65:::1;;10059:24;10072:10;10059:12;:24::i;:::-;9829:273;;9788:314::o:0;1863:148::-;1776:6;;-1:-1:-1;;;;;1776:6:0;629:10;1776:22;1768:67;;;;-1:-1:-1;;;1768:67:0;;;;;;;:::i;:::-;1970:1:::1;1954:6:::0;;1933:40:::1;::::0;-1:-1:-1;;;;;1954:6:0;;::::1;::::0;1933:40:::1;::::0;1970:1;;1933:40:::1;2001:1;1984:19:::0;;-1:-1:-1;;;;;;1984:19:0::1;::::0;;1863:148::o;8942:159::-;1776:6;;-1:-1:-1;;;;;1776:6:0;629:10;1776:22;1768:67;;;;-1:-1:-1;;;1768:67:0;;;;;;;:::i;:::-;3320:13:::1;3265:2;3320;:13;:::i;:::-;3309:24;::::0;:8:::1;:24;:::i;:::-;8995:12;:22:::0;;;3320:13:::1;::::0;3265:2:::1;::::0;3320:13:::1;:::i;:::-;3309:24;::::0;:8:::1;:24;:::i;:::-;9028:14;:22:::0;9066:27:::1;3320:13;3265:2;3320;:13;:::i;:::-;3309:24;::::0;:8:::1;:24;:::i;:::-;9066:27;::::0;1361:25:1;;;1349:2;1334:18;9066:27:0::1;;;;;;;8942:159::o:0;5103:167::-;5181:4;5198:42;629:10;5222:9;5233:6;5198:9;:42::i;9109:671::-;1776:6;;-1:-1:-1;;;;;1776:6:0;629:10;1776:22;1768:67;;;;-1:-1:-1;;;1768:67:0;;;;;;;:::i;:::-;9173:11:::1;::::0;-1:-1:-1;;;9173:11:0;::::1;;;9172:12;9164:47;;;::::0;-1:-1:-1;;;9164:47:0;;5933:2:1;9164:47:0::1;::::0;::::1;5915:21:1::0;5972:2;5952:18;;;5945:30;6011:25;5991:18;;;5984:53;6054:18;;9164:47:0::1;5731:347:1::0;9164:47:0::1;9222:15;:80:::0;;-1:-1:-1;;;;;;9222:80:0::1;9259:42;9222:80:::0;;::::1;::::0;;;9313:58:::1;::::0;9330:4:::1;::::0;3320:13:::1;3265:2;3320;:13;:::i;:::-;3309:24;::::0;:8:::1;:24;:::i;9313:58::-;9416:15;;;;;;;;;-1:-1:-1::0;;;;;9416:15:0::1;-1:-1:-1::0;;;;;9416:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9398:55:0::1;;9462:4;9469:15;;;;;;;;;-1:-1:-1::0;;;;;9469:15:0::1;-1:-1:-1::0;;;;;9469:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9398:94;::::0;-1:-1:-1;;;;;;9398:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6569:15:1;;;9398:94:0::1;::::0;::::1;6551:34:1::0;6621:15;;6601:18;;;6594:43;6486:18;;9398:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9382:13;:110:::0;;-1:-1:-1;;;;;9382:110:0;;::::1;-1:-1:-1::0;;;;;;9382:110:0;;::::1;;::::0;;9503:15:::1;::::0;::::1;:31;9542:21;9573:4;9579:24;9573:4:::0;-1:-1:-1;;;;;5069:18:0;5042:7;5069:18;;;:9;:18;;;;;;;4976:119;9579:24:::1;9604:1;9606::::0;9608:7:::1;1687::::0;1714:6;-1:-1:-1;;;;;1714:6:0;;1649:79;9608:7:::1;9503:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9503:129:0;;;-1:-1:-1;;;;;7007:15:1;;;9503:129:0::1;::::0;::::1;6989:34:1::0;7039:18;;;7032:34;;;;7082:18;;;7075:34;;;;7125:18;;;7118:34;7189:15;;;7168:19;;;7161:44;9616:15:0::1;7221:19:1::0;;;7214:35;6923:19;;9503:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9650:13:0::1;::::0;9681:15:::1;::::0;9643:71:::1;::::0;-1:-1:-1;;;9643:71:0;;-1:-1:-1;;;;;9681:15:0;;::::1;9643:71;::::0;::::1;7745:51:1::0;-1:-1:-1;;7812:18:1;;;7805:34;9650:13:0;::::1;::::0;-1:-1:-1;9643:29:0::1;::::0;7718:18:1;;9643:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;9725:11:0::1;:18:::0;;-1:-1:-1;;;;9754:18:0;-1:-1:-1;;;9754:18:0;;;9109:671::o;5972:347::-;-1:-1:-1;;;;;6065:19:0;;6057:74;;;;-1:-1:-1;;;6057:74:0;;8334:2:1;6057:74:0;;;8316:21:1;8373:2;8353:18;;;8346:30;8412:34;8392:18;;;8385:62;-1:-1:-1;;;8463:18:1;;;8456:40;8513:19;;6057:74:0;8132:406:1;6057:74:0;-1:-1:-1;;;;;6150:21:0;;6142:74;;;;-1:-1:-1;;;6142:74:0;;8745:2:1;6142:74:0;;;8727:21:1;8784:2;8764:18;;;8757:30;8823:34;8803:18;;;8796:62;-1:-1:-1;;;8874:18:1;;;8867:38;8922:19;;6142:74:0;8543:404:1;6142:74:0;-1:-1:-1;;;;;6227:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6279:32;;1361:25:1;;;6279:32:0;;1334:18:1;6279:32:0;;;;;;;5972:347;;;:::o;6327:1901::-;-1:-1:-1;;;;;6415:18:0;;6407:74;;;;-1:-1:-1;;;6407:74:0;;9154:2:1;6407:74:0;;;9136:21:1;9193:2;9173:18;;;9166:30;9232:34;9212:18;;;9205:62;-1:-1:-1;;;9283:18:1;;;9276:41;9334:19;;6407:74:0;8952:407:1;6407:74:0;-1:-1:-1;;;;;6500:16:0;;6492:70;;;;-1:-1:-1;;;6492:70:0;;9566:2:1;6492:70:0;;;9548:21:1;9605:2;9585:18;;;9578:30;9644:34;9624:18;;;9617:62;-1:-1:-1;;;9695:18:1;;;9688:39;9744:19;;6492:70:0;9364:405:1;6492:70:0;6590:1;6581:6;:10;6573:64;;;;-1:-1:-1;;;6573:64:0;;9976:2:1;6573:64:0;;;9958:21:1;10015:2;9995:18;;;9988:30;10054:34;10034:18;;;10027:62;-1:-1:-1;;;10105:18:1;;;10098:39;10154:19;;6573:64:0;9774:405:1;6573:64:0;-1:-1:-1;;;;;6683:24:0;;6648:17;6683:24;;;:18;:24;;;;;;;;6682:25;:52;;;;-1:-1:-1;;;;;;6712:22:0;;;;;;:18;:22;;;;;;;;6711:23;6682:52;6678:1227;;;6765:13;;-1:-1:-1;;;;;6757:21:0;;;6765:13;;6757:21;:55;;;;-1:-1:-1;6796:15:0;;-1:-1:-1;;;;;6782:30:0;;;6796:15;;6782:30;;6757:55;6753:283;;;6850:12;;6841:6;:21;6833:59;;;;-1:-1:-1;;;6833:59:0;;10386:2:1;6833:59:0;;;10368:21:1;10425:2;10405:18;;;10398:30;10464:27;10444:18;;;10437:55;10509:18;;6833:59:0;10184:349:1;6833:59:0;6944:14;;6935:6;6919:13;6929:2;-1:-1:-1;;;;;5069:18:0;5042:7;5069:18;;;:9;:18;;;;;;;4976:119;6919:13;:22;;;;:::i;:::-;:39;6911:79;;;;-1:-1:-1;;;6911:79:0;;10870:2:1;6911:79:0;;;10852:21:1;10909:2;10889:18;;;10882:30;10948:29;10928:18;;;10921:57;10995:18;;6911:79:0;10668:351:1;6911:79:0;7009:9;:11;;;:9;:11;;;:::i;:::-;;;;;;6753:283;7140:3;7097:15;;7087:9;;:25;7086:50;;7122:14;;7086:50;;;7114:7;;7086:50;7076:61;;:6;:61;:::i;:::-;:67;;;;:::i;:::-;7167:13;;7064:79;;-1:-1:-1;;;;;;7161:19:0;;;7167:13;;7161:19;:44;;;;-1:-1:-1;;;;;;7184:21:0;;7200:4;7184:21;;7161:44;7158:118;;;7257:3;7246:8;;7237:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;7225:35;;7158:118;7341:4;7292:28;5069:18;;;:9;:18;;;;;;7367:6;;-1:-1:-1;;;7367:6:0;;;;7366:7;:30;;;;-1:-1:-1;7383:13:0;;-1:-1:-1;;;;;7377:19:0;;;7383:13;;7377:19;7366:30;:45;;;;-1:-1:-1;7400:11:0;;-1:-1:-1;;;7400:11:0;;;;7366:45;:87;;;;;7436:17;;7415:20;:38;7366:87;7362:532;;;7474:20;7507;7498:6;:29;:53;;;;;7540:11;;7531:6;:20;7498:53;7497:140;;7588:11;;7565:20;:34;7564:73;;7626:11;;7497:140;;7564:73;7603:20;7497:140;;;7555:6;7497:140;7474:163;;7656:30;7673:12;7656:16;:30::i;:::-;7734:21;7777:22;;7774:105;;7824:35;7837:21;7824:12;:35::i;:::-;7455:439;;7362:532;6736:1169;6678:1227;7920:11;;7917:134;;7963:4;7945:24;;;;:9;:24;;;;;:37;;7973:9;;7945:24;:37;;7973:9;;7945:37;:::i;:::-;;;;-1:-1:-1;;8000:39:0;;1361:25:1;;;8023:4:0;;-1:-1:-1;;;;;8000:39:0;;;;;1349:2:1;1334:18;8000:39:0;;;;;;;7917:134;-1:-1:-1;;;;;8079:15:0;;;;;;:9;:15;;;;;;:24;;8097:6;;8079:24;:::i;:::-;-1:-1:-1;;;;;8061:15:0;;;;;;:9;:15;;;;;:42;8147:18;8156:9;8147:6;:18;:::i;:::-;-1:-1:-1;;;;;8130:13:0;;;;;;:9;:13;;;;;;:36;;;;:::i;:::-;-1:-1:-1;;;;;8114:13:0;;;;;;;:9;:13;;;;;:52;;;;8182:38;;;8201:18;8210:9;8201:6;:18;:::i;:::-;8182:38;;1361:25:1;;;1349:2;1334:18;8182:38:0;;;;;;;6396:1832;6327:1901;;;:::o;8236:555::-;4070:6;:13;;-1:-1:-1;;;;4070:13:0;-1:-1:-1;;;4070:13:0;;;8314:27;;8333:7:::1;8314:27;8355:11;::::0;-1:-1:-1;;;8355:11:0;::::1;;;8351:25:::0;8368:7:::1;8351:25;8410:16;::::0;;8424:1:::1;8410:16:::0;;;;;::::1;::::0;;8386:21:::1;::::0;8410:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8410:16:0::1;8386:40;;8455:4;8437;8442:1;8437:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8437:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8481:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8481:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8437:7;;8481:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8471:4;8476:1;8471:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8471:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8546:15:::1;::::0;8514:62:::1;::::0;8531:4:::1;::::0;8546:15:::1;8564:11:::0;8514:8:::1;:62::i;:::-;8587:15;::::0;:196:::1;::::0;-1:-1:-1;;;8587:196:0;;-1:-1:-1;;;;;8587:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;8668:11;;8587:15:::1;::::0;8710:4;;8737::::1;::::0;8757:15:::1;::::0;8587:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8303:488;4094:1;-1:-1:-1::0;4106:6:0;:14;;-1:-1:-1;;;;4106:14:0;;;8236:555::o;10110:98::-;10167:16;;:33;;-1:-1:-1;;;;;10167:16:0;;;;:33;;;;;10193:6;;10167:16;:33;:16;:33;10193:6;10167:16;:33;;;;;;;;;;;;;;;;;;;14:548:1;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703: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;1858:248::-;1926:6;1934;1987:2;1975:9;1966:7;1962:23;1958:32;1955:52;;;2003:1;2000;1993:12;1955:52;-1:-1:-1;;2026:23:1;;;2096:2;2081:18;;;2068:32;;-1:-1:-1;1858:248:1:o;2300:247::-;2359:6;2412:2;2400:9;2391:7;2387:23;2383:32;2380:52;;;2428:1;2425;2418:12;2380:52;2467:9;2454:23;2486:31;2511:5;2486:31;:::i;:::-;2536:5;2300:247;-1:-1:-1;;;2300:247:1:o;2760:388::-;2828:6;2836;2889:2;2877:9;2868:7;2864:23;2860:32;2857:52;;;2905:1;2902;2895:12;2857:52;2944:9;2931:23;2963:31;2988:5;2963:31;:::i;:::-;3013:5;-1:-1:-1;3070:2:1;3055:18;;3042:32;3083:33;3042:32;3083:33;:::i;:::-;3135:7;3125:17;;;2760:388;;;;;:::o;3153:127::-;3214:10;3209:3;3205:20;3202:1;3195:31;3245:4;3242:1;3235:15;3269:4;3266:1;3259:15;3285:416;3374:1;3411:5;3374:1;3425:270;3446:7;3436:8;3433:21;3425:270;;;3505:4;3501:1;3497:6;3493:17;3487:4;3484:27;3481:53;;;3514:18;;:::i;:::-;3564:7;3554:8;3550:22;3547:55;;;3584:16;;;;3547:55;3663:22;;;;3623:15;;;;3425:270;;;3429:3;3285:416;;;;;:::o;3706:806::-;3755:5;3785:8;3775:80;;-1:-1:-1;3826:1:1;3840:5;;3775:80;3874:4;3864:76;;-1:-1:-1;3911:1:1;3925:5;;3864:76;3956:4;3974:1;3969:59;;;;4042:1;4037:130;;;;3949:218;;3969:59;3999:1;3990:10;;4013:5;;;4037:130;4074:3;4064:8;4061:17;4058:43;;;4081:18;;:::i;:::-;-1:-1:-1;;4137:1:1;4123:16;;4152:5;;3949:218;;4251:2;4241:8;4238:16;4232:3;4226:4;4223:13;4219:36;4213:2;4203:8;4200:16;4195:2;4189:4;4186:12;4182:35;4179:77;4176:159;;;-1:-1:-1;4288:19:1;;;4320:5;;4176:159;4367:34;4392:8;4386:4;4367:34;:::i;:::-;4437:6;4433:1;4429:6;4425:19;4416:7;4413:32;4410:58;;;4448:18;;:::i;:::-;4486:20;;3706:806;-1:-1:-1;;;3706:806:1:o;4517:140::-;4575:5;4604:47;4645:4;4635:8;4631:19;4625:4;4604:47;:::i;4662:168::-;4735:9;;;4766;;4783:15;;;4777:22;;4763:37;4753:71;;4804:18;;:::i;5237:128::-;5304:9;;;5325:11;;;5322:37;;;5339:18;;:::i;5370:356::-;5572:2;5554:21;;;5591:18;;;5584:30;5650:34;5645:2;5630:18;;5623:62;5717:2;5702:18;;5370:356::o;6083:251::-;6153:6;6206:2;6194:9;6185:7;6181:23;6177:32;6174:52;;;6222:1;6219;6212:12;6174:52;6254:9;6248:16;6273:31;6298:5;6273:31;:::i;7260:306::-;7348:6;7356;7364;7417:2;7405:9;7396:7;7392:23;7388:32;7385:52;;;7433:1;7430;7423:12;7385:52;7462:9;7456:16;7446:26;;7512:2;7501:9;7497:18;7491:25;7481:35;;7556:2;7545:9;7541:18;7535:25;7525:35;;7260:306;;;;;:::o;7850:277::-;7917:6;7970:2;7958:9;7949:7;7945:23;7941:32;7938:52;;;7986:1;7983;7976:12;7938:52;8018:9;8012:16;8071:5;8064:13;8057:21;8050:5;8047:32;8037:60;;8093:1;8090;8083:12;10538:125;10603:9;;;10624:10;;;10621:36;;;10637:18;;:::i;11024:135::-;11063:3;11084:17;;;11081:43;;11104:18;;:::i;:::-;-1:-1:-1;11151:1:1;11140:13;;11024:135::o;11164:217::-;11204:1;11230;11220:132;;11274:10;11269:3;11265:20;11262:1;11255:31;11309:4;11306:1;11299:15;11337:4;11334:1;11327:15;11220:132;-1:-1:-1;11366:9:1;;11164:217::o;11518:127::-;11579:10;11574:3;11570:20;11567:1;11560:31;11610:4;11607:1;11600:15;11634:4;11631:1;11624:15;11650:980;11912:4;11960:3;11949:9;11945:19;11991:6;11980:9;11973:25;12017:2;12055:6;12050:2;12039:9;12035:18;12028:34;12098:3;12093:2;12082:9;12078:18;12071:31;12122:6;12157;12151:13;12188:6;12180;12173:22;12226:3;12215:9;12211:19;12204:26;;12265:2;12257:6;12253:15;12239:29;;12286:1;12296:195;12310:6;12307:1;12304:13;12296:195;;;12375:13;;-1:-1:-1;;;;;12371:39:1;12359:52;;12466:15;;;;12431:12;;;;12407:1;12325:9;12296:195;;;-1:-1:-1;;;;;;;12547:32:1;;;;12542:2;12527:18;;12520:60;-1:-1:-1;;;12611:3:1;12596:19;12589:35;12508:3;11650:980;-1:-1:-1;;;11650:980:1:o

Swarm Source

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