ETH Price: $3,254.71 (+3.19%)
Gas: 3 Gwei

Token

Meme Maker DAO (MAKER)
 

Overview

Max Total Supply

1,000,000,000 MAKER

Holders

159

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
905.134793387 MAKER

Value
$0.00
0x24cd6f25a69601cc545470338c3e3bad3457cac4
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:
MemeMakerDAO

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-07
*/

// MEME MAKER DAO - A DECENTRALIZED FREELANCE PLATFORM
// https://t.me/mememakerdao
// https://twitter.com/mememaker_dao
// https://mememakerdao.com

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.5;
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract MemeMakerDAO is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Meme Maker DAO";
    string constant _symbol = "MAKER";
    uint8 constant _decimals = 9;

    uint256 public _totalSupply = 1_000_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_totalSupply * 2) / 100;
    uint256 public _maxTxAmount = _totalSupply.mul(2).div(100); //2%

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 liquidityFee = 0; 
    uint256 marketingFee = 5;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = 0x4A06EF82A576EEeA632132ae6b2af5db076BF459;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 1; // 0.1%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[0x4A06EF82A576EEeA632132ae6b2af5db076BF459] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0x4A06EF82A576EEeA632132ae6b2af5db076BF459] = true;
        isTxLimitExempt[DEAD] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack()){ swapBack(); } 

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = swapThreshold;
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                0x4A06EF82A576EEeA632132ae6b2af5db076BF459,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function clearStuckBalance() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent ) / 1000;
    }

    function setFee(uint256 _liquidityFee, uint256 _marketingFee) external onlyOwner {
         liquidityFee = _liquidityFee; 
         marketingFee = _marketingFee;
         totalFee = liquidityFee + marketingFee;
    }    
    
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

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":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"_maxTxAmount","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":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"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"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a6200060b565b6200005890633b9aca006200061c565b600355606460035460026200006e91906200061c565b6200007a91906200063e565b600455620000b46064620000a06002600354620003de60201b6200081a1790919060201c565b6200047260201b620008b51790919060201c565b6005556000600a556005600b55600b54600a54620000d3919062000661565b600c556064600d55600e80546001600160a01b031916734a06ef82a576eeea632132ae6b2af5db076bf4591790556010805460ff60a01b1916600160a01b17905560035462000126906103e8906200063e565b620001339060016200061c565b6011553480156200014357600080fd5b5060008054336001600160a01b031991821617909155600154600f80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620001b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d691906200067c565b6001600160a01b031663c9c65396600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000238573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025e91906200067c565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620002ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d191906200067c565b601080546001600160a01b0319166001600160a01b03928316179055306000908152600760209081526040808320600f54851684528252808320600019905582547fa3db8d3a4f7fd88bad3a47cbb9d5d4825738b2b5bda526773e15d7fcfa430f06805460ff1990811660019081179092559186168086526009855283862080548416831790557f3de612847b28f55ae467f33fae841bec187ecb16def3ccda21d2247bd0712b248054841683179055600254909616855282852080549092161790556003548484526006835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620006ff565b600082620003ef575060006200046c565b6000620003fd83856200061c565b9050826200040c85836200063e565b14620004695760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200046983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004bc60201b60201c565b60008183620004e05760405162461bcd60e51b8152600401620004609190620006a7565b506000620004ef84866200063e565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200054f578160001904821115620005335762000533620004f8565b808516156200054157918102915b93841c939080029062000513565b509250929050565b60008262000568575060016200046c565b8162000577575060006200046c565b81600181146200059057600281146200059b57620005bb565b60019150506200046c565b60ff841115620005af57620005af620004f8565b50506001821b6200046c565b5060208310610133831016604e8410600b8410161715620005e0575081810a6200046c565b620005ec83836200050e565b8060001904821115620006035762000603620004f8565b029392505050565b60006200046960ff84168362000557565b6000816000190483118215151615620006395762000639620004f8565b500290565b6000826200065c57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620006775762000677620004f8565b500190565b6000602082840312156200068f57600080fd5b81516001600160a01b03811681146200046957600080fd5b600060208083528351808285015260005b81811015620006d657858101830151858201604001528201620006b8565b81811115620006e9576000604083870101525b50601f01601f1916929092016040019392505050565b611525806200070f6000396000f3fe60806040526004361061018f5760003560e01c80636ddd1713116100d6578063a8aa1b311161007f578063e96fada211610059578063e96fada2146104c6578063f1d5f517146104e6578063f887ea401461050657600080fd5b8063a8aa1b3114610440578063a9059cbb14610460578063dd62ed3e1461048057600080fd5b80637d1db4a5116100b05780637d1db4a5146103b2578063893d20e8146103c857806395d89b41146103fa57600080fd5b80636ddd17131461034657806370a0823114610367578063715018a61461039d57600080fd5b8063313ce5671161013857806352f7c9881161011257806352f7c988146102f0578063571ac8b0146103105780636c0a24eb1461033057600080fd5b8063313ce567146102a7578063364333f4146102c35780633eaaf86b146102da57600080fd5b806318160ddd1161016957806318160ddd1461024357806323b872dd146102585780632f54bf6e1461027857600080fd5b80630445b6671461019b57806306fdde03146101c4578063095ea7b31461021357600080fd5b3661019657005b600080fd5b3480156101a757600080fd5b506101b160115481565b6040519081526020015b60405180910390f35b3480156101d057600080fd5b5060408051808201909152600e81527f4d656d65204d616b65722044414f00000000000000000000000000000000000060208201525b6040516101bb919061122f565b34801561021f57600080fd5b5061023361022e366004611299565b610526565b60405190151581526020016101bb565b34801561024f57600080fd5b506003546101b1565b34801561026457600080fd5b506102336102733660046112c5565b610593565b34801561028457600080fd5b50610233610293366004611306565b6000546001600160a01b0391821691161490565b3480156102b357600080fd5b50604051600981526020016101bb565b3480156102cf57600080fd5b506102d861065c565b005b3480156102e657600080fd5b506101b160035481565b3480156102fc57600080fd5b506102d861030b366004611323565b610698565b34801561031c57600080fd5b5061023361032b366004611306565b6106fb565b34801561033c57600080fd5b506101b160045481565b34801561035257600080fd5b5060105461023390600160a01b900460ff1681565b34801561037357600080fd5b506101b1610382366004611306565b6001600160a01b031660009081526006602052604090205490565b3480156103a957600080fd5b506102d8610709565b3480156103be57600080fd5b506101b160055481565b3480156103d457600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101bb565b34801561040657600080fd5b5060408051808201909152600581527f4d414b45520000000000000000000000000000000000000000000000000000006020820152610206565b34801561044c57600080fd5b506010546103e2906001600160a01b031681565b34801561046c57600080fd5b5061023361047b366004611299565b6107a9565b34801561048c57600080fd5b506101b161049b366004611345565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156104d257600080fd5b50600e546103e2906001600160a01b031681565b3480156104f257600080fd5b506102d861050136600461137e565b6107b6565b34801561051257600080fd5b50600f546103e2906001600160a01b031681565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105819086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526007602090815260408083203384529091528120546000191461064757604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e6365000000000000000000006020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546106229184906108f7565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610652848484610931565b90505b9392505050565b600e546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610695573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106e05760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600a829055600b8190556106f481836113ad565b600c555050565b600061058d82600019610526565b6000546001600160a01b0316331461074c5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016106d7565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000610655338484610931565b6000546001600160a01b031633146107f95760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016106d7565b6103e88160035461080a91906113c5565b61081491906113e4565b60045550565b6000826108295750600061058d565b600061083583856113c5565b90508261084285836113e4565b146106555760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016106d7565b600061065583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610b7c565b6000818484111561091b5760405162461bcd60e51b81526004016106d7919061122f565b5060006109288486611406565b95945050505050565b60125460009060ff16156109515761094a848484610baa565b9050610655565b6010546001600160a01b0384811691161480159061097d57506002546001600160a01b03848116911614155b15610a40576001600160a01b03831660009081526009602052604090205460ff16806109ce57506004546001600160a01b0384166000908152600660205260409020546109cb9084906113ad565b11155b610a405760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201527f73697a652e00000000000000000000000000000000000000000000000000000060648201526084016106d7565b610a48610c99565b15610a5557610a55610cf1565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b038716600090815260069091529190912054610ab09184906108f7565b6001600160a01b038516600090815260066020908152604080832093909355600890529081205460ff1615610ae55782610aef565b610aef85846110e8565b6001600160a01b038516600090815260066020526040902054909150610b15908261118e565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b699085815260200190565b60405180910390a3506001949350505050565b60008183610b9d5760405162461bcd60e51b81526004016106d7919061122f565b50600061092884866113e4565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b0386166000908152600690915291822054610c049184906108f7565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610c33908361118e565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c879086815260200190565b60405180910390a35060019392505050565b6010546000906001600160a01b03163314801590610cba575060125460ff16155b8015610ccf5750601054600160a01b900460ff165b8015610cec57506011543060009081526006602052604090205410155b905090565b6012805460ff19166001179055601154600c54600a54600091610d2491600291610d1e918290879061081a565b906108b5565b90506000610d3283836111ed565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610d6c57610d6c61141d565b6001600160a01b03928316602091820292909201810191909152600f54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e029190611433565b81600181518110610e1557610e1561141d565b6001600160a01b039283166020918202929092010152600f546040517f791ac9470000000000000000000000000000000000000000000000000000000081524792919091169063791ac94790610e78908690600090879030904290600401611450565b600060405180830381600087803b158015610e9257600080fd5b505af1158015610ea6573d6000803e3d6000fd5b505050506000610ebf82476111ed90919063ffffffff16565b90506000610ee5610edc6002600a546108b590919063ffffffff16565b600c54906111ed565b90506000610f076002610d1e84610d1e600a548861081a90919063ffffffff16565b90506000610f2483610d1e600b548761081a90919063ffffffff16565b600e546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610f7b576040519150601f19603f3d011682016040523d82523d6000602084013e610f80565b606091505b5050905080610fd15760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016106d7565b88156110d257600f546040517ff305d719000000000000000000000000000000000000000000000000000000008152306004820152602481018b90526000604482018190526064820152734a06ef82a576eeea632132ae6b2af5db076bf45960848201524260a48201526001600160a01b039091169063f305d71990859060c40160606040518083038185885af1158015611070573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061109591906114c1565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506012805460ff191690555050505050505050565b600080611106600d54610d1e600c548661081a90919063ffffffff16565b30600090815260066020526040902054909150611123908261118e565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111749085815260200190565b60405180910390a361118683826111ed565b949350505050565b60008061119b83856113ad565b9050838110156106555760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106d7565b600061065583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506108f7565b600060208083528351808285015260005b8181101561125c57858101830151858201604001528201611240565b8181111561126e576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461069557600080fd5b600080604083850312156112ac57600080fd5b82356112b781611284565b946020939093013593505050565b6000806000606084860312156112da57600080fd5b83356112e581611284565b925060208401356112f581611284565b929592945050506040919091013590565b60006020828403121561131857600080fd5b813561065581611284565b6000806040838503121561133657600080fd5b50508035926020909101359150565b6000806040838503121561135857600080fd5b823561136381611284565b9150602083013561137381611284565b809150509250929050565b60006020828403121561139057600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156113c0576113c0611397565b500190565b60008160001904831182151516156113df576113df611397565b500290565b60008261140157634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561141857611418611397565b500390565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561144557600080fd5b815161065581611284565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114a05784516001600160a01b03168352938301939183019160010161147b565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156114d657600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122032ba2fc97b39517009faf132320aff3fbbcecd7353516eaa4ebfc9cc0d732f2864736f6c634300080a0033

Deployed Bytecode

0x60806040526004361061018f5760003560e01c80636ddd1713116100d6578063a8aa1b311161007f578063e96fada211610059578063e96fada2146104c6578063f1d5f517146104e6578063f887ea401461050657600080fd5b8063a8aa1b3114610440578063a9059cbb14610460578063dd62ed3e1461048057600080fd5b80637d1db4a5116100b05780637d1db4a5146103b2578063893d20e8146103c857806395d89b41146103fa57600080fd5b80636ddd17131461034657806370a0823114610367578063715018a61461039d57600080fd5b8063313ce5671161013857806352f7c9881161011257806352f7c988146102f0578063571ac8b0146103105780636c0a24eb1461033057600080fd5b8063313ce567146102a7578063364333f4146102c35780633eaaf86b146102da57600080fd5b806318160ddd1161016957806318160ddd1461024357806323b872dd146102585780632f54bf6e1461027857600080fd5b80630445b6671461019b57806306fdde03146101c4578063095ea7b31461021357600080fd5b3661019657005b600080fd5b3480156101a757600080fd5b506101b160115481565b6040519081526020015b60405180910390f35b3480156101d057600080fd5b5060408051808201909152600e81527f4d656d65204d616b65722044414f00000000000000000000000000000000000060208201525b6040516101bb919061122f565b34801561021f57600080fd5b5061023361022e366004611299565b610526565b60405190151581526020016101bb565b34801561024f57600080fd5b506003546101b1565b34801561026457600080fd5b506102336102733660046112c5565b610593565b34801561028457600080fd5b50610233610293366004611306565b6000546001600160a01b0391821691161490565b3480156102b357600080fd5b50604051600981526020016101bb565b3480156102cf57600080fd5b506102d861065c565b005b3480156102e657600080fd5b506101b160035481565b3480156102fc57600080fd5b506102d861030b366004611323565b610698565b34801561031c57600080fd5b5061023361032b366004611306565b6106fb565b34801561033c57600080fd5b506101b160045481565b34801561035257600080fd5b5060105461023390600160a01b900460ff1681565b34801561037357600080fd5b506101b1610382366004611306565b6001600160a01b031660009081526006602052604090205490565b3480156103a957600080fd5b506102d8610709565b3480156103be57600080fd5b506101b160055481565b3480156103d457600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101bb565b34801561040657600080fd5b5060408051808201909152600581527f4d414b45520000000000000000000000000000000000000000000000000000006020820152610206565b34801561044c57600080fd5b506010546103e2906001600160a01b031681565b34801561046c57600080fd5b5061023361047b366004611299565b6107a9565b34801561048c57600080fd5b506101b161049b366004611345565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156104d257600080fd5b50600e546103e2906001600160a01b031681565b3480156104f257600080fd5b506102d861050136600461137e565b6107b6565b34801561051257600080fd5b50600f546103e2906001600160a01b031681565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105819086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526007602090815260408083203384529091528120546000191461064757604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e6365000000000000000000006020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546106229184906108f7565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b610652848484610931565b90505b9392505050565b600e546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610695573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106e05760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600a829055600b8190556106f481836113ad565b600c555050565b600061058d82600019610526565b6000546001600160a01b0316331461074c5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016106d7565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000610655338484610931565b6000546001600160a01b031633146107f95760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016106d7565b6103e88160035461080a91906113c5565b61081491906113e4565b60045550565b6000826108295750600061058d565b600061083583856113c5565b90508261084285836113e4565b146106555760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016106d7565b600061065583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610b7c565b6000818484111561091b5760405162461bcd60e51b81526004016106d7919061122f565b5060006109288486611406565b95945050505050565b60125460009060ff16156109515761094a848484610baa565b9050610655565b6010546001600160a01b0384811691161480159061097d57506002546001600160a01b03848116911614155b15610a40576001600160a01b03831660009081526009602052604090205460ff16806109ce57506004546001600160a01b0384166000908152600660205260409020546109cb9084906113ad565b11155b610a405760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201527f73697a652e00000000000000000000000000000000000000000000000000000060648201526084016106d7565b610a48610c99565b15610a5557610a55610cf1565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b038716600090815260069091529190912054610ab09184906108f7565b6001600160a01b038516600090815260066020908152604080832093909355600890529081205460ff1615610ae55782610aef565b610aef85846110e8565b6001600160a01b038516600090815260066020526040902054909150610b15908261118e565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b699085815260200190565b60405180910390a3506001949350505050565b60008183610b9d5760405162461bcd60e51b81526004016106d7919061122f565b50600061092884866113e4565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b0386166000908152600690915291822054610c049184906108f7565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610c33908361118e565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c879086815260200190565b60405180910390a35060019392505050565b6010546000906001600160a01b03163314801590610cba575060125460ff16155b8015610ccf5750601054600160a01b900460ff165b8015610cec57506011543060009081526006602052604090205410155b905090565b6012805460ff19166001179055601154600c54600a54600091610d2491600291610d1e918290879061081a565b906108b5565b90506000610d3283836111ed565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610d6c57610d6c61141d565b6001600160a01b03928316602091820292909201810191909152600f54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e029190611433565b81600181518110610e1557610e1561141d565b6001600160a01b039283166020918202929092010152600f546040517f791ac9470000000000000000000000000000000000000000000000000000000081524792919091169063791ac94790610e78908690600090879030904290600401611450565b600060405180830381600087803b158015610e9257600080fd5b505af1158015610ea6573d6000803e3d6000fd5b505050506000610ebf82476111ed90919063ffffffff16565b90506000610ee5610edc6002600a546108b590919063ffffffff16565b600c54906111ed565b90506000610f076002610d1e84610d1e600a548861081a90919063ffffffff16565b90506000610f2483610d1e600b548761081a90919063ffffffff16565b600e546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610f7b576040519150601f19603f3d011682016040523d82523d6000602084013e610f80565b606091505b5050905080610fd15760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016106d7565b88156110d257600f546040517ff305d719000000000000000000000000000000000000000000000000000000008152306004820152602481018b90526000604482018190526064820152734a06ef82a576eeea632132ae6b2af5db076bf45960848201524260a48201526001600160a01b039091169063f305d71990859060c40160606040518083038185885af1158015611070573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061109591906114c1565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506012805460ff191690555050505050505050565b600080611106600d54610d1e600c548661081a90919063ffffffff16565b30600090815260066020526040902054909150611123908261118e565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111749085815260200190565b60405180910390a361118683826111ed565b949350505050565b60008061119b83856113ad565b9050838110156106555760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106d7565b600061065583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506108f7565b600060208083528351808285015260005b8181101561125c57858101830151858201604001528201611240565b8181111561126e576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461069557600080fd5b600080604083850312156112ac57600080fd5b82356112b781611284565b946020939093013593505050565b6000806000606084860312156112da57600080fd5b83356112e581611284565b925060208401356112f581611284565b929592945050506040919091013590565b60006020828403121561131857600080fd5b813561065581611284565b6000806040838503121561133657600080fd5b50508035926020909101359150565b6000806040838503121561135857600080fd5b823561136381611284565b9150602083013561137381611284565b809150509250929050565b60006020828403121561139057600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156113c0576113c0611397565b500190565b60008160001904831182151516156113df576113df611397565b500290565b60008261140157634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561141857611418611397565b500390565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561144557600080fd5b815161065581611284565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114a05784516001600160a01b03168352938301939183019160010161147b565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156114d657600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122032ba2fc97b39517009faf132320aff3fbbcecd7353516eaa4ebfc9cc0d732f2864736f6c634300080a0033

Deployed Bytecode Sourcemap

4237:7834:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5333:54;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5333:54:0;;;;;;;;6418:80;;;;;;;;;;-1:-1:-1;6490:5:0;;;;;;;;;;;;;;;;;6418:80;;;;;;;:::i;6840:216::-;;;;;;;;;;-1:-1:-1;6840:216:0;;;;;:::i;:::-;;:::i;:::-;;;1442:14:1;;1435:22;1417:41;;1405:2;1390:18;6840:216:0;1277:187:1;6148:88:0;;;;;;;;;;-1:-1:-1;6221:12:0;;6148:88;;7358:370;;;;;;;;;;-1:-1:-1;7358:370:0;;;;;:::i;:::-;;:::i;2475:103::-;;;;;;;;;;-1:-1:-1;2475:103:0;;;;;:::i;:::-;2530:4;2565:5;-1:-1:-1;;;;;2554:16:0;;;2565:5;;2554:16;;2475:103;6242:80;;;;;;;;;;-1:-1:-1;6242:80:0;;4569:1;2324:36:1;;2312:2;2297:18;6242:80:0;2182:184:1;11500:118:0;;;;;;;;;;;;;:::i;:::-;;4579:63;;;;;;;;;;;;;;;;11776:220;;;;;;;;;;-1:-1:-1;11776:220:0;;;;;:::i;:::-;;:::i;7064:122::-;;;;;;;;;;-1:-1:-1;7064:122:0;;;;;:::i;:::-;;:::i;4649:58::-;;;;;;;;;;;;;;;;5296:30;;;;;;;;;;-1:-1:-1;5296:30:0;;;;-1:-1:-1;;;5296:30:0;;;;;;6588:105;;;;;;;;;;-1:-1:-1;6588:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6672:18:0;6654:7;6672:18;;;:9;:18;;;;;;;6588:105;2584:131;;;;;;;;;;;;;:::i;4714:58::-;;;;;;;;;;;;;;;;6504:78;;;;;;;;;;-1:-1:-1;6556:7:0;6574:5;-1:-1:-1;;;;;6574:5:0;6504:78;;;-1:-1:-1;;;;;2788:55:1;;;2770:74;;2758:2;2743:18;6504:78:0;2624:226:1;6328:84:0;;;;;;;;;;-1:-1:-1;6402:7:0;;;;;;;;;;;;;;;;;6328:84;;5268:19;;;;;;;;;;-1:-1:-1;5268:19:0;;;;-1:-1:-1;;;;;5268:19:0;;;7194:156;;;;;;;;;;-1:-1:-1;7194:156:0;;;;;:::i;:::-;;:::i;6699:133::-;;;;;;;;;;-1:-1:-1;6699:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6801:19:0;;;6783:7;6801:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6699:133;5148:80;;;;;;;;;;-1:-1:-1;5148:80:0;;;;-1:-1:-1;;;;;5148:80:0;;;11626:142;;;;;;;;;;-1:-1:-1;11626:142:0;;;;;:::i;:::-;;:::i;5237:24::-;;;;;;;;;;-1:-1:-1;5237:24:0;;;;-1:-1:-1;;;;;5237:24:0;;;6840:216;6944:10;6915:4;6932:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6932:32:0;;;;;;;;;;:41;;;6989:37;6915:4;;6932:32;;6989:37;;;;6967:6;160:25:1;;148:2;133:18;;14:177;6989:37:0;;;;;;;;-1:-1:-1;7044:4:0;6840:216;;;;;:::o;7358:370::-;-1:-1:-1;;;;;7478:19:0;;7458:4;7478:19;;;:11;:19;;;;;;;;7498:10;7478:31;;;;;;;;-1:-1:-1;;7478:52:0;7475:186;;7580:69;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7580:19:0;;-1:-1:-1;7580:19:0;;;:11;:19;;;;;7600:10;7580:31;;;;;;;;;;:69;;7616:6;;7580:35;:69::i;:::-;-1:-1:-1;;;;;7546:19:0;;;;;;:11;:19;;;;;;;;7566:10;7546:31;;;;;;;:103;7475:186;7680:40;7694:6;7702:9;7713:6;7680:13;:40::i;:::-;7673:47;;7358:370;;;;;;:::o;11500:118::-;11557:20;;11549:61;;-1:-1:-1;;;;;11557:20:0;;;;11588:21;11549:61;;;;;11557:20;11549:61;11557:20;11549:61;11588:21;11557:20;11549:61;;;;;;;;;;;;;;;;;;;;;11500:118::o;11776:220::-;2530:4;2565:5;-1:-1:-1;;;;;2565:5:0;2436:10;2554:16;2420:38;;;;-1:-1:-1;;;2420:38:0;;3884:2:1;2420:38:0;;;3866:21:1;3923:1;3903:18;;;3896:29;-1:-1:-1;;;3941:18:1;;;3934:36;3987:18;;2420:38:0;;;;;;;;;11869:12:::1;:28:::0;;;11910:12:::1;:28:::0;;;11961:27:::1;11925:13:::0;11884;11961:27:::1;:::i;:::-;11950:8;:38:::0;-1:-1:-1;;11776:220:0:o;7064:122::-;7119:4;7143:35;7151:7;-1:-1:-1;;7143:7:0;:35::i;2584:131::-;2530:4;2565:5;-1:-1:-1;;;;;2565:5:0;2436:10;2554:16;2420:38;;;;-1:-1:-1;;;2420:38:0;;3884:2:1;2420:38:0;;;3866:21:1;3923:1;3903:18;;;3896:29;-1:-1:-1;;;3941:18:1;;;3934:36;3987:18;;2420:38:0;3682:329:1;2420:38:0;2657:1:::1;2641:18:::0;;;::::1;::::0;;2675:32:::1;::::0;2770:74:1;;;2675:32:0::1;::::0;2758:2:1;2743:18;2675:32:0::1;;;;;;;2584:131::o:0;7194:156::-;7274:4;7298:44;7312:10;7324:9;7335:6;7298:13;:44::i;11626:142::-;2530:4;2565:5;-1:-1:-1;;;;;2565:5:0;2436:10;2554:16;2420:38;;;;-1:-1:-1;;;2420:38:0;;3884:2:1;2420:38:0;;;3866:21:1;3923:1;3903:18;;;3896:29;-1:-1:-1;;;3941:18:1;;;3934:36;3987:18;;2420:38:0;3682:329:1;2420:38:0;11756:4:::1;11738:13;11723:12;;:28;;;;:::i;:::-;11722:38;;;;:::i;:::-;11703:16;:57:::0;-1:-1:-1;11626:142:0:o;760:246::-;818:7;842:6;838:47;;-1:-1:-1;872:1:0;865:8;;838:47;895:9;907:5;911:1;907;:5;:::i;:::-;895:17;-1:-1:-1;940:1:0;931:5;935:1;895:17;931:5;:::i;:::-;:10;923:56;;;;-1:-1:-1;;;923:56:0;;4992:2:1;923:56:0;;;4974:21:1;5031:2;5011:18;;;5004:30;5070:34;5050:18;;;5043:62;5141:3;5121:18;;;5114:31;5162:19;;923:56:0;4790:397:1;1012:132:0;1070:7;1097:39;1101:1;1104;1097:39;;;;;;;;;;;;;;;;;:3;:39::i;564:190::-;650:7;686:12;678:6;;;;670:29;;;;-1:-1:-1;;;670:29:0;;;;;;;;:::i;:::-;-1:-1:-1;710:9:0;722:5;726:1;722;:5;:::i;:::-;710:17;564:190;-1:-1:-1;;;;;564:190:0:o;7736:792::-;7848:6;;7828:4;;7848:6;;7845:63;;;7864:41;7879:6;7887:9;7898:6;7864:14;:41::i;:::-;7857:48;;;;7845:63;7945:4;;-1:-1:-1;;;;;7932:17:0;;;7945:4;;7932:17;;;;:38;;-1:-1:-1;7966:4:0;;-1:-1:-1;;;;;7953:17:0;;;7966:4;;7953:17;;7932:38;7928:200;;;-1:-1:-1;;;;;7995:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;8058:16:0;;-1:-1:-1;;;;;8025:20:0;;;;;;:9;:20;;;;;;:29;;8048:6;;8025:29;:::i;:::-;:49;;7995:79;7987:129;;;;-1:-1:-1;;;7987:129:0;;5524:2:1;7987:129:0;;;5506:21:1;5563:2;5543:18;;;5536:30;5602:34;5582:18;;;5575:62;5673:7;5653:18;;;5646:35;5698:19;;7987:129:0;5322:401:1;7987:129:0;8151:16;:14;:16::i;:::-;8148:35;;;8170:10;:8;:10::i;:::-;8216:53;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8216:17:0;;-1:-1:-1;8216:17:0;;;:9;:17;;;;;;;;:53;;8238:6;;8216:21;:53::i;:::-;-1:-1:-1;;;;;8196:17:0;;;;;;:9;:17;;;;;;;;:73;;;;8965:11;:19;;;;;;;;8964:20;8307:56;;8357:6;8307:56;;;8331:23;8339:6;8347;8331:7;:23::i;:::-;-1:-1:-1;;;;;8397:20:0;;;;;;:9;:20;;;;;;8282:81;;-1:-1:-1;8397:40:0;;8282:81;8397:24;:40::i;:::-;-1:-1:-1;;;;;8374:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8455:43;;;;;;;;;;8483:14;160:25:1;;148:2;133:18;;14:177;8455:43:0;;;;;;;;-1:-1:-1;8516:4:0;;7736:792;-1:-1:-1;;;;7736:792:0:o;1150:189::-;1236:7;1271:12;1264:5;1256:28;;;;-1:-1:-1;;;1256:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1295:9:0;1307:5;1311:1;1307;:5;:::i;8540:330::-;8670:53;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8670:17:0;;8633:4;8670:17;;;:9;:17;;;;;;;:53;;8692:6;;8670:21;:53::i;:::-;-1:-1:-1;;;;;8650:17:0;;;;;;;:9;:17;;;;;;:73;;;;8757:20;;;;;;;:32;;8782:6;8757:24;:32::i;:::-;-1:-1:-1;;;;;8734:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8805:35;;;;;;;;;;8833:6;160:25:1;;148:2;133:18;;14:177;8805:35:0;;;;;;;;-1:-1:-1;8858:4:0;8540:330;;;;;:::o;9337:197::-;9424:4;;9386;;-1:-1:-1;;;;;9424:4:0;9410:10;:18;;;;:38;;-1:-1:-1;9442:6:0;;;;9441:7;9410:38;:62;;;;-1:-1:-1;9461:11:0;;-1:-1:-1;;;9461:11:0;;;;9410:62;:116;;;;-1:-1:-1;9513:13:0;;9503:4;9485:24;;;;:9;:24;;;;;;:41;;9410:116;9403:123;;9337:197;:::o;9542:1572::-;5442:6;:13;;-1:-1:-1;;5442:13:0;5451:4;5442:13;;;9622::::1;::::0;9715:8:::1;::::0;9697:12:::1;::::0;5442:6;;9672:59:::1;::::0;9729:1:::1;::::0;9672:52:::1;::::0;;;9622:13;;9672:24:::1;:38::i;:::-;:42:::0;::::1;:52::i;:59::-;9646:85:::0;-1:-1:-1;9742:20:0::1;9765:41;:20:::0;9646:85;9765:24:::1;:41::i;:::-;9843:16;::::0;;9857:1:::1;9843:16:::0;;;;;::::1;::::0;;9742:64;;-1:-1:-1;9819:21:0::1;::::0;9843:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9843:16:0::1;9819:40;;9888:4;9870;9875:1;9870:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9870:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9914:6:::1;::::0;:13:::1;::::0;;;;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;9870:7;;9914:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9904:4;9909:1;9904:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9904:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;9998:6:::1;::::0;:188:::1;::::0;;;;9964:21:::1;::::0;9998:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;10070:12;;9940:21:::1;::::0;10113:4;;10140::::1;::::0;10160:15:::1;::::0;9998:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10197:17;10217:40;10243:13;10217:21;:25;;:40;;;;:::i;:::-;10197:60;;10268:19;10290:33;10303:19;10320:1;10303:12;;:16;;:19;;;;:::i;:::-;10290:8;::::0;;:12:::1;:33::i;:::-;10268:55;;10334:26;10363:51;10412:1;10363:44;10395:11;10363:27;10377:12;;10363:9;:13;;:27;;;;:::i;:51::-;10334:80;;10425:26;10454:44;10486:11;10454:27;10468:12;;10454:9;:13;;:27;;;;:::i;:44::-;10572:20;::::0;10564:77:::1;::::0;10425:73;;-1:-1:-1;10514:21:0::1;::::0;-1:-1:-1;;;;;10572:20:0;;::::1;::::0;10631:5:::1;::::0;10425:73;;10514:21;10564:77;10514:21;10564:77;10425:73;10572:20;10631:5;10564:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10513:128;;;10660:16;10652:59;;;::::0;-1:-1:-1;;;10652:59:0;;7805:2:1;10652:59:0::1;::::0;::::1;7787:21:1::0;7844:2;7824:18;;;7817:30;7883:32;7863:18;;;7856:60;7933:18;;10652:59:0::1;7603:354:1::0;10652:59:0::1;10727:19:::0;;10724:383:::1;;10762:6;::::0;:265:::1;::::0;;;;10838:4:::1;10762:265;::::0;::::1;8326:34:1::0;8376:18;;;8369:34;;;10762:6:0::1;8419:18:1::0;;;8412:34;;;8462:18;;;8455:34;10936:42:0::1;8505:19:1::0;;;8498:44;10997:15:0::1;8558:19:1::0;;;8551:35;-1:-1:-1;;;;;10762:6:0;;::::1;::::0;:22:::1;::::0;10792:18;;8237:19:1;;10762:265:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11047:48:0::1;::::0;;9082:25:1;;;9138:2;9123:18;;9116:34;;;11047:48:0::1;::::0;-1:-1:-1;9055:18:1;11047:48:0::1;;;;;;;10724:383;-1:-1:-1::0;;5460:6:0;:14;;-1:-1:-1;;5460:14:0;;;-1:-1:-1;;;;;;;;9542:1572:0:o;9000:329::-;9067:7;9087:17;9107:40;9132:14;;9107:20;9118:8;;9107:6;:10;;:20;;;;:::i;:40::-;9203:4;9185:24;;;;:9;:24;;;;;;9087:60;;-1:-1:-1;9185:39:0;;9087:60;9185:28;:39::i;:::-;9176:4;9158:24;;;;:9;:24;;;;;;;:66;;;;9240:42;;-1:-1:-1;;;;;9240:42:0;;;;;;;9272:9;160:25:1;;148:2;133:18;;14:177;9240:42:0;;;;;;;;9300:21;:6;9311:9;9300:10;:21::i;:::-;9293:28;9000:329;-1:-1:-1;;;;9000:329:0:o;237:179::-;295:7;;327:5;331:1;327;:5;:::i;:::-;315:17;;356:1;351;:6;;343:46;;;;-1:-1:-1;;;343:46:0;;9363:2:1;343:46:0;;;9345:21:1;9402:2;9382:18;;;9375:30;9441:29;9421:18;;;9414:57;9488:18;;343:46:0;9161:351:1;422:136:0;480:7;507:43;511:1;514;507:43;;;;;;;;;;;;;;;;;:3;:43::i;196:597: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;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:154::-;-1:-1:-1;;;;;877:5:1;873:54;866:5;863:65;853:93;;942:1;939;932:12;957:315;1025:6;1033;1086:2;1074:9;1065:7;1061:23;1057:32;1054:52;;;1102:1;1099;1092:12;1054:52;1141:9;1128:23;1160:31;1185:5;1160:31;:::i;:::-;1210:5;1262:2;1247:18;;;;1234:32;;-1:-1:-1;;;957:315:1:o;1469:456::-;1546:6;1554;1562;1615:2;1603:9;1594:7;1590:23;1586:32;1583:52;;;1631:1;1628;1621:12;1583:52;1670:9;1657:23;1689:31;1714:5;1689:31;:::i;:::-;1739:5;-1:-1:-1;1796:2:1;1781:18;;1768:32;1809:33;1768:32;1809:33;:::i;:::-;1469:456;;1861:7;;-1:-1:-1;;;1915:2:1;1900:18;;;;1887:32;;1469:456::o;1930:247::-;1989:6;2042:2;2030:9;2021:7;2017:23;2013:32;2010:52;;;2058:1;2055;2048:12;2010:52;2097:9;2084:23;2116:31;2141:5;2116:31;:::i;2371:248::-;2439:6;2447;2500:2;2488:9;2479:7;2475:23;2471:32;2468:52;;;2516:1;2513;2506:12;2468:52;-1:-1:-1;;2539:23:1;;;2609:2;2594:18;;;2581:32;;-1:-1:-1;2371:248:1:o;2855:388::-;2923:6;2931;2984:2;2972:9;2963:7;2959:23;2955:32;2952:52;;;3000:1;2997;2990:12;2952:52;3039:9;3026:23;3058:31;3083:5;3058:31;:::i;:::-;3108:5;-1:-1:-1;3165:2:1;3150:18;;3137:32;3178:33;3137:32;3178:33;:::i;:::-;3230:7;3220:17;;;2855:388;;;;;:::o;3248:180::-;3307:6;3360:2;3348:9;3339:7;3335:23;3331:32;3328:52;;;3376:1;3373;3366:12;3328:52;-1:-1:-1;3399:23:1;;3248:180;-1:-1:-1;3248:180:1:o;4016:184::-;-1:-1:-1;;;4065:1:1;4058:88;4165:4;4162:1;4155:15;4189:4;4186:1;4179:15;4205:128;4245:3;4276:1;4272:6;4269:1;4266:13;4263:39;;;4282:18;;:::i;:::-;-1:-1:-1;4318:9:1;;4205:128::o;4338:168::-;4378:7;4444:1;4440;4436:6;4432:14;4429:1;4426:21;4421:1;4414:9;4407:17;4403:45;4400:71;;;4451:18;;:::i;:::-;-1:-1:-1;4491:9:1;;4338:168::o;4511:274::-;4551:1;4577;4567:189;;-1:-1:-1;;;4609:1:1;4602:88;4713:4;4710:1;4703:15;4741:4;4738:1;4731:15;4567:189;-1:-1:-1;4770:9:1;;4511:274::o;5192:125::-;5232:4;5260:1;5257;5254:8;5251:34;;;5265:18;;:::i;:::-;-1:-1:-1;5302:9:1;;5192:125::o;5917:184::-;-1:-1:-1;;;5966:1:1;5959:88;6066:4;6063:1;6056:15;6090:4;6087:1;6080:15;6106:251;6176:6;6229:2;6217:9;6208:7;6204:23;6200:32;6197:52;;;6245:1;6242;6235:12;6197:52;6277:9;6271:16;6296:31;6321:5;6296:31;:::i;6362:1026::-;6624:4;6672:3;6661:9;6657:19;6703:6;6692:9;6685:25;6729:2;6767:6;6762:2;6751:9;6747:18;6740:34;6810:3;6805:2;6794:9;6790:18;6783:31;6834:6;6869;6863:13;6900:6;6892;6885:22;6938:3;6927:9;6923:19;6916:26;;6977:2;6969:6;6965:15;6951:29;;6998:1;7008:218;7022:6;7019:1;7016:13;7008:218;;;7087:13;;-1:-1:-1;;;;;7083:62:1;7071:75;;7201:15;;;;7166:12;;;;7044:1;7037:9;7008:218;;;-1:-1:-1;;;;;;;7282:55:1;;;;7277:2;7262:18;;7255:83;-1:-1:-1;;;7369:3:1;7354:19;7347:35;7243:3;6362:1026;-1:-1:-1;;;6362:1026:1:o;8597:306::-;8685:6;8693;8701;8754:2;8742:9;8733:7;8729:23;8725:32;8722:52;;;8770:1;8767;8760:12;8722:52;8799:9;8793:16;8783:26;;8849:2;8838:9;8834:18;8828:25;8818:35;;8893:2;8882:9;8878:18;8872:25;8862:35;;8597:306;;;;;:::o

Swarm Source

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