ETH Price: $2,444.87 (-1.97%)

Token

BabyPepe (BABYPEPE)
 

Overview

Max Total Supply

420,690,900,000,000 BABYPEPE

Holders

22

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,009,658,160 BABYPEPE

Value
$0.00
0x4efEBA67adFD9F8d6FA72c0F5e27Bf2Ce23f4fB6
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:
Token

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-19
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

/*
 * Telegram : https://t.me/BabyPepeERC2Portal
 * Twitter : https://twitter.com/BABYPepeerc2
 * Website : https://www.babypepepro.xyz/
*/

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

interface IUniswapRouter {

    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

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

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

abstract contract Ownable {
    address internal _owner;

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

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

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

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

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

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

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

    address payable private fundAddress;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    mapping(address => bool) public _isExcludeFromFee;
    
    uint256 private _totalSupply;

    IUniswapRouter public _uniswapRouter;

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

    uint256 private constant MAX = ~uint256(0);

    address public _uniswapPair;

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

    constructor (){

        _name = unicode"BabyPepe";
        _symbol = unicode"BABYPEPE";
        _decimals = 9;
        uint256 Supply = 420_690_900_000_000;

        _totalSupply = Supply * 10 ** _decimals;

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

        fundAddress = payable(msg.sender);
        _walletMAX = _totalSupply * 3/ 100;

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[fundAddress] = true;

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

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

        isMarketPair[_uniswapPair] = true;
        IERC20(_uniswapRouter.WETH()).approve(
            address(address(_uniswapRouter)),
            ~uint256(0)
        );
        _isExcludeFromFee[address(swapRouter)] = true;

    }

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

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

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

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

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

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

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

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

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

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

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

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    uint256 public _buyCount=1;
    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=0;

    function recuseTax(
        uint256 newBuy,
        uint256 newSell,
        uint256 newReduceBuy,
        uint256 newReduceSell,
        uint256 newPreventSwapBefore
    ) public onlyOwner {
        _finalBuyTax = newBuy;
        _finalSellTax = newSell;
        _reduceBuyTaxAt = newReduceBuy;
        _reduceSellTaxAt = newReduceSell;
        _preventSwapBefore = newPreventSwapBefore;
    }

    bool public remainHolder = true;
    function changeRemain() public onlyOwner{
        remainHolder = !remainHolder;
    }

    uint256 public _walletMAX;

    function setWalletMax(uint8 percentage) public onlyOwner{
        _walletMAX = totalSupply() * percentage / 100;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        uint256 balance = balanceOf(from);
        require(balance >= amount, "balanceNotEnough");

        if (inSwap){
            _basicTransfer(from, to, amount);
            return;
        }

        bool takeFee;

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to] && _buyCount > _preventSwapBefore) {
            uint256 _numSellToken = amount;
            if (_numSellToken > balanceOf(address(this))){
                _numSellToken = _balances[address(this)];
            }
            if (_numSellToken > 0){
                swapTokenForETH(_numSellToken);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            takeFee = true;
            
            // buyCount
            if (isMarketPair[from] && to != address(_uniswapRouter) && !_isExcludeFromFee[to]) {
                _buyCount++;
                require(balanceOf(to) + amount <= _walletMAX,"walletlimit");
            }

            // remainHolder
            if (remainHolder && amount == balance) {
                amount = amount - (amount / 10000);
            }

        }

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

    function _transferToken(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            uint256 taxFee;
            if (isMarketPair[recipient]) {
                taxFee = _buyCount > _reduceSellTaxAt ? _finalSellTax : _initialSellTax;
            } else if (isMarketPair[sender]) {
                taxFee = _buyCount > _reduceBuyTaxAt ? _finalBuyTax : _initialBuyTax;
            }
            uint256 swapAmount = tAmount * taxFee / 100;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _balances[address(this)] = _balances[address(this)] + swapAmount;
                emit Transfer(sender, address(this), swapAmount);
            }
        }

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

    }

    uint256 public startTradeBlock;
    function startTrade() public onlyOwner {
        startTradeBlock = block.number;
    }

    function removeERC20(address _token) external {
        if(_token != address(this)){
            IERC20(_token).transfer(fundAddress, IERC20(_token).balanceOf(address(this)));
            fundAddress.transfer(address(this).balance);
        }
    }

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

        uint256 _bal = address(this).balance;
        if (_bal > 0){
            fundAddress.transfer(_bal);
        }
    }

    function setFeeExclude(address account, bool value) public onlyOwner{
        _isExcludeFromFee[account] = value;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMAX","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":"changeRemain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuy","type":"uint256"},{"internalType":"uint256","name":"newSell","type":"uint256"},{"internalType":"uint256","name":"newReduceBuy","type":"uint256"},{"internalType":"uint256","name":"newReduceSell","type":"uint256"},{"internalType":"uint256","name":"newPreventSwapBefore","type":"uint256"}],"name":"recuseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"remainHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setFeeExclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newAddr","type":"address"}],"name":"setFundAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"percentage","type":"uint8"}],"name":"setWalletMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTradeBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526001600c8190556014600d819055600e8190556000600f819055601081905560118290556012829055601355805460ff191690911790553480156200004857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600880825267426162795065706560c01b6020909201918252620000bb9160049162000516565b5060408051808201909152600880825267424142595045504560c01b6020909201918252620000ed9160059162000516565b506006805460ff1916600990811790915566017e9dbba79d00906200011490600a62000678565b62000120908262000739565b600881905533600081815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b0319163317815560085460649162000191919062000739565b6200019d91906200060e565b601555306000818152600760209081526040808320805460ff1990811660019081179092556001600160a01b038781168652838620805483168417905560035416855282852080549091169091179055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559383526002825280832084845282528083206000199055805163c45a015560e01b81529051849263c45a01559260048082019391829003018186803b1580156200025f57600080fd5b505afa15801562000274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029a9190620005bc565b9050806001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002e657600080fd5b505afa158015620002fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003219190620005bc565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200036a57600080fd5b505af11580156200037f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a59190620005bc565b600b8054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481166000908152600a6020908152604091829020805460ff1916600117905560095482516315ab88c960e31b8152925193169263ad5c4648926004808201939291829003018186803b1580156200042457600080fd5b505afa15801562000439573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200045f9190620005bc565b60095460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015620004ae57600080fd5b505af1158015620004c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e99190620005ec565b50506001600160a01b03166000908152600760205260409020805460ff1916600117905550620007ae9050565b82805462000524906200075b565b90600052602060002090601f01602090048101928262000548576000855562000593565b82601f106200056357805160ff191683800117855562000593565b8280016001018555821562000593579182015b828111156200059357825182559160200191906001019062000576565b50620005a1929150620005a5565b5090565b5b80821115620005a15760008155600101620005a6565b600060208284031215620005ce578081fd5b81516001600160a01b0381168114620005e5578182fd5b9392505050565b600060208284031215620005fe578081fd5b81518015158114620005e5578182fd5b6000826200062a57634e487b7160e01b81526012600452602481fd5b500490565b600181815b808511156200067057816000190482111562000654576200065462000798565b808516156200066257918102915b93841c939080029062000634565b509250929050565b6000620005e560ff841683600082620006945750600162000733565b81620006a35750600062000733565b8160018114620006bc5760028114620006c757620006e7565b600191505062000733565b60ff841115620006db57620006db62000798565b50506001821b62000733565b5060208310610133831016604e8410600b84101617156200070c575081810a62000733565b6200071883836200062f565b80600019048211156200072f576200072f62000798565b0290505b92915050565b600081600019048311821515161562000756576200075662000798565b500290565b600181811c908216806200077057607f821691505b602082108114156200079257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b61162080620007be6000396000f3fe6080604052600436106101a05760003560e01c806365b61b77116100ec57806395d89b411161008a578063bc76c05211610064578063bc76c052146104bc578063cefab2af146104d1578063dd62ed3e146104eb578063f2fde38b1461053157600080fd5b806395d89b4114610467578063a67755c21461047c578063a9059cbb1461049c57600080fd5b806370a08231116100c657806370a08231146103de578063715018a6146104145780638da5cb5b14610429578063936c044b1461044757600080fd5b806365b61b77146103895780636c580801146103a95780636f39cfcd146103be57600080fd5b8063313ce567116101595780633ecad271116101335780633ecad271146102e65780633f80b6d7146103165780634bf28fd014610336578063553193ca1461037357600080fd5b8063313ce56714610272578063319c2f641461029457806336b2e027146102b657600080fd5b806306fdde03146101ac578063095ea7b3146101d757806318160ddd146102075780631b5837491461022657806323b872dd1461023c57806327b1a8e91461025c57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610551565b6040516101ce91906113ff565b60405180910390f35b3480156101e357600080fd5b506101f76101f2366004611345565b6105e3565b60405190151581526020016101ce565b34801561021357600080fd5b506008545b6040519081526020016101ce565b34801561023257600080fd5b5061021860155481565b34801561024857600080fd5b506101f76102573660046112d8565b6105f9565b34801561026857600080fd5b50610218600c5481565b34801561027e57600080fd5b5060065460405160ff90911681526020016101ce565b3480156102a057600080fd5b506102b46102af3660046113de565b610690565b005b3480156102c257600080fd5b506101f76102d1366004611261565b60076020526000908152604090205460ff1681565b3480156102f257600080fd5b506101f7610301366004611261565b600a6020526000908152604090205460ff1681565b34801561032257600080fd5b506102b46103313660046113a4565b6106ec565b34801561034257600080fd5b50600b5461035b9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101ce565b34801561037f57600080fd5b5061021860165481565b34801561039557600080fd5b5060095461035b906001600160a01b031681565b3480156103b557600080fd5b506102b461072d565b3480156103ca57600080fd5b506102b46103d9366004611261565b61075d565b3480156103ea57600080fd5b506102186103f9366004611261565b6001600160a01b031660009081526001602052604090205490565b34801561042057600080fd5b506102b46107a9565b34801561043557600080fd5b506000546001600160a01b031661035b565b34801561045357600080fd5b506102b4610462366004611318565b61081d565b34801561047357600080fd5b506101c1610872565b34801561048857600080fd5b506102b4610497366004611261565b610881565b3480156104a857600080fd5b506101f76104b7366004611345565b6109d4565b3480156104c857600080fd5b506102b46109e1565b3480156104dd57600080fd5b506014546101f79060ff1681565b3480156104f757600080fd5b506102186105063660046112a0565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561053d57600080fd5b506102b461054c366004611261565b610a1f565b6060600480546105609061155b565b80601f016020809104026020016040519081016040528092919081815260200182805461058c9061155b565b80156105d95780601f106105ae576101008083540402835291602001916105d9565b820191906000526020600020905b8154815290600101906020018083116105bc57829003601f168201915b5050505050905090565b60006105f0338484610ae5565b50600192915050565b6000610606848484610b46565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610686576001600160a01b0384166000908152600260209081526040808320338452909152902054610661908390611544565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106c35760405162461bcd60e51b81526004016106ba90611452565b60405180910390fd5b60648160ff166106d260085490565b6106dc9190611525565b6106e69190611505565b60155550565b6000546001600160a01b031633146107165760405162461bcd60e51b81526004016106ba90611452565b600f94909455601092909255601155601255601355565b6000546001600160a01b031633146107575760405162461bcd60e51b81526004016106ba90611452565b43601655565b6000546001600160a01b031633146107875760405162461bcd60e51b81526004016106ba90611452565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107d35760405162461bcd60e51b81526004016106ba90611452565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108475760405162461bcd60e51b81526004016106ba90611452565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6060600580546105609061155b565b6001600160a01b03811630146109d1576003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b1580156108df57600080fd5b505afa1580156108f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610917919061138c565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561095d57600080fd5b505af1158015610971573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109959190611370565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156109cf573d6000803e3d6000fd5b505b50565b60006105f0338484610b46565b6000546001600160a01b03163314610a0b5760405162461bcd60e51b81526004016106ba90611452565b6014805460ff19811660ff90911615179055565b6000546001600160a01b03163314610a495760405162461bcd60e51b81526004016106ba90611452565b6001600160a01b038116610a8a5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106ba565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610ba25760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016106ba565b600b5460ff1615610bbf57610bb8848484610df7565b5050505050565b6001600160a01b0383166000908152600a602052604081205460ff168015610bea5750600b5460ff16155b8015610c0f57506001600160a01b03851660009081526007602052604090205460ff16155b8015610c3457506001600160a01b03841660009081526007602052604090205460ff16155b8015610c435750601354600c54115b15610c8457306000908152600160205260409020548390811115610c735750306000908152600160205260409020545b8015610c8257610c8281610eac565b505b6001600160a01b03851660009081526007602052604090205460ff16158015610cc657506001600160a01b03841660009081526007602052604090205460ff16155b8015610cd55750600b5460ff16155b15610deb57506001600160a01b0384166000908152600a602052604090205460019060ff168015610d1457506009546001600160a01b03858116911614155b8015610d3957506001600160a01b03841660009081526007602052604090205460ff16155b15610dbc57600c8054906000610d4e83611596565b919050555060155483610d76866001600160a01b031660009081526001602052604090205490565b610d8091906114ed565b1115610dbc5760405162461bcd60e51b815260206004820152600b60248201526a1dd85b1b195d1b1a5b5a5d60aa1b60448201526064016106ba565b60145460ff168015610dcd57508183145b15610deb57610dde61271084611505565b610de89084611544565b92505b610bb88585858461106d565b6001600160a01b038316600090815260016020526040812080548391908390610e21908490611544565b90915550506001600160a01b03831660009081526001602052604081208054849290610e4e9084906114ed565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e9a91815260200190565b60405180910390a35060019392505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610efc57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610f5057600080fd5b505afa158015610f64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f889190611284565b81600181518110610fa957634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac94790610fef90859060009086903090429060040161147d565b600060405180830381600087803b15801561100957600080fd5b505af192505050801561101a575060015b5047801561105e576003546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561105c573d6000803e3d6000fd5b505b5050600b805460ff1916905550565b6001600160a01b038416600090815260016020526040902054611091908390611544565b6001600160a01b03851660009081526001602052604081209190915581156111d2576001600160a01b0384166000908152600a602052604081205460ff16156110f257601254600c54116110e757600e546110eb565b6010545b905061112d565b6001600160a01b0386166000908152600a602052604090205460ff161561112d57601154600c541161112657600d5461112a565b600f545b90505b6000606461113b8387611525565b6111459190611505565b905080156111cf5761115781846114ed565b306000908152600160205260409020549093506111759082906114ed565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111c69085815260200190565b60405180910390a35b50505b6111dc8184611544565b6001600160a01b0385166000908152600160205260409020546111ff91906114ed565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112498487611544565b60405190815260200160405180910390a35050505050565b600060208284031215611272578081fd5b813561127d816115c7565b9392505050565b600060208284031215611295578081fd5b815161127d816115c7565b600080604083850312156112b2578081fd5b82356112bd816115c7565b915060208301356112cd816115c7565b809150509250929050565b6000806000606084860312156112ec578081fd5b83356112f7816115c7565b92506020840135611307816115c7565b929592945050506040919091013590565b6000806040838503121561132a578182fd5b8235611335816115c7565b915060208301356112cd816115dc565b60008060408385031215611357578182fd5b8235611362816115c7565b946020939093013593505050565b600060208284031215611381578081fd5b815161127d816115dc565b60006020828403121561139d578081fd5b5051919050565b600080600080600060a086880312156113bb578081fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000602082840312156113ef578081fd5b813560ff8116811461127d578182fd5b6000602080835283518082850152825b8181101561142b5785810183015185820160400152820161140f565b8181111561143c5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156114cc5784516001600160a01b0316835293830193918301916001016114a7565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611500576115006115b1565b500190565b60008261152057634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561153f5761153f6115b1565b500290565b600082821015611556576115566115b1565b500390565b600181811c9082168061156f57607f821691505b6020821081141561159057634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156115aa576115aa6115b1565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146109d157600080fd5b80151581146109d157600080fdfea26469706673582212206b1096879ca249a0ac714d29adc5216a4e60647fc2d83f20397dc4196db4200364736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c806365b61b77116100ec57806395d89b411161008a578063bc76c05211610064578063bc76c052146104bc578063cefab2af146104d1578063dd62ed3e146104eb578063f2fde38b1461053157600080fd5b806395d89b4114610467578063a67755c21461047c578063a9059cbb1461049c57600080fd5b806370a08231116100c657806370a08231146103de578063715018a6146104145780638da5cb5b14610429578063936c044b1461044757600080fd5b806365b61b77146103895780636c580801146103a95780636f39cfcd146103be57600080fd5b8063313ce567116101595780633ecad271116101335780633ecad271146102e65780633f80b6d7146103165780634bf28fd014610336578063553193ca1461037357600080fd5b8063313ce56714610272578063319c2f641461029457806336b2e027146102b657600080fd5b806306fdde03146101ac578063095ea7b3146101d757806318160ddd146102075780631b5837491461022657806323b872dd1461023c57806327b1a8e91461025c57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610551565b6040516101ce91906113ff565b60405180910390f35b3480156101e357600080fd5b506101f76101f2366004611345565b6105e3565b60405190151581526020016101ce565b34801561021357600080fd5b506008545b6040519081526020016101ce565b34801561023257600080fd5b5061021860155481565b34801561024857600080fd5b506101f76102573660046112d8565b6105f9565b34801561026857600080fd5b50610218600c5481565b34801561027e57600080fd5b5060065460405160ff90911681526020016101ce565b3480156102a057600080fd5b506102b46102af3660046113de565b610690565b005b3480156102c257600080fd5b506101f76102d1366004611261565b60076020526000908152604090205460ff1681565b3480156102f257600080fd5b506101f7610301366004611261565b600a6020526000908152604090205460ff1681565b34801561032257600080fd5b506102b46103313660046113a4565b6106ec565b34801561034257600080fd5b50600b5461035b9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101ce565b34801561037f57600080fd5b5061021860165481565b34801561039557600080fd5b5060095461035b906001600160a01b031681565b3480156103b557600080fd5b506102b461072d565b3480156103ca57600080fd5b506102b46103d9366004611261565b61075d565b3480156103ea57600080fd5b506102186103f9366004611261565b6001600160a01b031660009081526001602052604090205490565b34801561042057600080fd5b506102b46107a9565b34801561043557600080fd5b506000546001600160a01b031661035b565b34801561045357600080fd5b506102b4610462366004611318565b61081d565b34801561047357600080fd5b506101c1610872565b34801561048857600080fd5b506102b4610497366004611261565b610881565b3480156104a857600080fd5b506101f76104b7366004611345565b6109d4565b3480156104c857600080fd5b506102b46109e1565b3480156104dd57600080fd5b506014546101f79060ff1681565b3480156104f757600080fd5b506102186105063660046112a0565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561053d57600080fd5b506102b461054c366004611261565b610a1f565b6060600480546105609061155b565b80601f016020809104026020016040519081016040528092919081815260200182805461058c9061155b565b80156105d95780601f106105ae576101008083540402835291602001916105d9565b820191906000526020600020905b8154815290600101906020018083116105bc57829003601f168201915b5050505050905090565b60006105f0338484610ae5565b50600192915050565b6000610606848484610b46565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610686576001600160a01b0384166000908152600260209081526040808320338452909152902054610661908390611544565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106c35760405162461bcd60e51b81526004016106ba90611452565b60405180910390fd5b60648160ff166106d260085490565b6106dc9190611525565b6106e69190611505565b60155550565b6000546001600160a01b031633146107165760405162461bcd60e51b81526004016106ba90611452565b600f94909455601092909255601155601255601355565b6000546001600160a01b031633146107575760405162461bcd60e51b81526004016106ba90611452565b43601655565b6000546001600160a01b031633146107875760405162461bcd60e51b81526004016106ba90611452565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107d35760405162461bcd60e51b81526004016106ba90611452565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108475760405162461bcd60e51b81526004016106ba90611452565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6060600580546105609061155b565b6001600160a01b03811630146109d1576003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b1580156108df57600080fd5b505afa1580156108f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610917919061138c565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561095d57600080fd5b505af1158015610971573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109959190611370565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156109cf573d6000803e3d6000fd5b505b50565b60006105f0338484610b46565b6000546001600160a01b03163314610a0b5760405162461bcd60e51b81526004016106ba90611452565b6014805460ff19811660ff90911615179055565b6000546001600160a01b03163314610a495760405162461bcd60e51b81526004016106ba90611452565b6001600160a01b038116610a8a5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106ba565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610ba25760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016106ba565b600b5460ff1615610bbf57610bb8848484610df7565b5050505050565b6001600160a01b0383166000908152600a602052604081205460ff168015610bea5750600b5460ff16155b8015610c0f57506001600160a01b03851660009081526007602052604090205460ff16155b8015610c3457506001600160a01b03841660009081526007602052604090205460ff16155b8015610c435750601354600c54115b15610c8457306000908152600160205260409020548390811115610c735750306000908152600160205260409020545b8015610c8257610c8281610eac565b505b6001600160a01b03851660009081526007602052604090205460ff16158015610cc657506001600160a01b03841660009081526007602052604090205460ff16155b8015610cd55750600b5460ff16155b15610deb57506001600160a01b0384166000908152600a602052604090205460019060ff168015610d1457506009546001600160a01b03858116911614155b8015610d3957506001600160a01b03841660009081526007602052604090205460ff16155b15610dbc57600c8054906000610d4e83611596565b919050555060155483610d76866001600160a01b031660009081526001602052604090205490565b610d8091906114ed565b1115610dbc5760405162461bcd60e51b815260206004820152600b60248201526a1dd85b1b195d1b1a5b5a5d60aa1b60448201526064016106ba565b60145460ff168015610dcd57508183145b15610deb57610dde61271084611505565b610de89084611544565b92505b610bb88585858461106d565b6001600160a01b038316600090815260016020526040812080548391908390610e21908490611544565b90915550506001600160a01b03831660009081526001602052604081208054849290610e4e9084906114ed565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e9a91815260200190565b60405180910390a35060019392505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610efc57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610f5057600080fd5b505afa158015610f64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f889190611284565b81600181518110610fa957634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac94790610fef90859060009086903090429060040161147d565b600060405180830381600087803b15801561100957600080fd5b505af192505050801561101a575060015b5047801561105e576003546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561105c573d6000803e3d6000fd5b505b5050600b805460ff1916905550565b6001600160a01b038416600090815260016020526040902054611091908390611544565b6001600160a01b03851660009081526001602052604081209190915581156111d2576001600160a01b0384166000908152600a602052604081205460ff16156110f257601254600c54116110e757600e546110eb565b6010545b905061112d565b6001600160a01b0386166000908152600a602052604090205460ff161561112d57601154600c541161112657600d5461112a565b600f545b90505b6000606461113b8387611525565b6111459190611505565b905080156111cf5761115781846114ed565b306000908152600160205260409020549093506111759082906114ed565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111c69085815260200190565b60405180910390a35b50505b6111dc8184611544565b6001600160a01b0385166000908152600160205260409020546111ff91906114ed565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112498487611544565b60405190815260200160405180910390a35050505050565b600060208284031215611272578081fd5b813561127d816115c7565b9392505050565b600060208284031215611295578081fd5b815161127d816115c7565b600080604083850312156112b2578081fd5b82356112bd816115c7565b915060208301356112cd816115c7565b809150509250929050565b6000806000606084860312156112ec578081fd5b83356112f7816115c7565b92506020840135611307816115c7565b929592945050506040919091013590565b6000806040838503121561132a578182fd5b8235611335816115c7565b915060208301356112cd816115dc565b60008060408385031215611357578182fd5b8235611362816115c7565b946020939093013593505050565b600060208284031215611381578081fd5b815161127d816115dc565b60006020828403121561139d578081fd5b5051919050565b600080600080600060a086880312156113bb578081fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000602082840312156113ef578081fd5b813560ff8116811461127d578182fd5b6000602080835283518082850152825b8181101561142b5785810183015185820160400152820161140f565b8181111561143c5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156114cc5784516001600160a01b0316835293830193918301916001016114a7565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611500576115006115b1565b500190565b60008261152057634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561153f5761153f6115b1565b500290565b600082821015611556576115566115b1565b500390565b600181811c9082168061156f57607f821691505b6020821081141561159057634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156115aa576115aa6115b1565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146109d157600080fd5b80151581146109d157600080fdfea26469706673582212206b1096879ca249a0ac714d29adc5216a4e60647fc2d83f20397dc4196db4200364736f6c63430008040033

Deployed Bytecode Sourcemap

3144:8427:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5308:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6071:159;;;;;;;;;;-1:-1:-1;6071:159:0;;;;;:::i;:::-;;:::i;:::-;;;4295:14:1;;4288:22;4270:41;;4258:2;4243:18;6071:159:0;4225:92:1;5512:100:0;;;;;;;;;;-1:-1:-1;5592:12:0;;5512:100;;;6673:25:1;;;6661:2;6646:18;5512:100:0;6628:76:1;7898:25:0;;;;;;;;;;;;;;;;6238:336;;;;;;;;;;-1:-1:-1;6238:336:0;;;;;:::i;:::-;;:::i;7034:26::-;;;;;;;;;;;;;;;;5410:94;;;;;;;;;;-1:-1:-1;5487:9:0;;5410:94;;5487:9;;;;7839:36:1;;7827:2;7812:18;5410:94:0;7794:87:1;7932:120:0;;;;;;;;;;-1:-1:-1;7932:120:0;;;;;:::i;:::-;;:::i;:::-;;3445:49;;;;;;;;;;-1:-1:-1;3445:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3589:44;;;;;;;;;;-1:-1:-1;3589:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7351:406;;;;;;;;;;-1:-1:-1;7351:406:0;;;;;:::i;:::-;;:::i;3719:27::-;;;;;;;;;;-1:-1:-1;3719:27:0;;;;;;;-1:-1:-1;;;;;3719:27:0;;;;;;-1:-1:-1;;;;;3799:32:1;;;3781:51;;3769:2;3754:18;3719:27:0;3736:102:1;10461:30:0;;;;;;;;;;;;;;;;3544:36;;;;;;;;;;-1:-1:-1;3544:36:0;;;;-1:-1:-1;;;;;3544:36:0;;;10498:88;;;;;;;;;;;;;:::i;5076:118::-;;;;;;;;;;-1:-1:-1;5076:118:0;;;;;:::i;:::-;;:::i;5620:119::-;;;;;;;;;;-1:-1:-1;5620:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5713:18:0;5686:7;5713:18;;;:9;:18;;;;;;;5620:119;2767:148;;;;;;;;;;;;;:::i;2570:79::-;;;;;;;;;;-1:-1:-1;2608:7:0;2635:6;-1:-1:-1;;;;;2635:6:0;2570:79;;11410:121;;;;;;;;;;-1:-1:-1;11410:121:0;;;;;:::i;:::-;;:::i;5202:98::-;;;;;;;;;;;;;:::i;10594:253::-;;;;;;;;;;-1:-1:-1;10594:253:0;;;;;:::i;:::-;;:::i;5747:165::-;;;;;;;;;;-1:-1:-1;5747:165:0;;;;;:::i;:::-;;:::i;7803:87::-;;;;;;;;;;;;;:::i;7765:31::-;;;;;;;;;;-1:-1:-1;7765:31:0;;;;;;;;5920:143;;;;;;;;;;-1:-1:-1;5920:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6028:18:0;;;6001:7;6028:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5920:143;2923:214;;;;;;;;;;-1:-1:-1;2923:214:0;;;;;:::i;:::-;;:::i;5308:94::-;5356:13;5389:5;5382:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5308:94;:::o;6071:159::-;6146:4;6163:37;6172:10;6184:7;6193:6;6163:8;:37::i;:::-;-1:-1:-1;6218:4:0;6071:159;;;;:::o;6238:336::-;6336:4;6353:36;6363:6;6371:9;6382:6;6353:9;:36::i;:::-;-1:-1:-1;;;;;6404:19:0;;3708:1;6404:19;;;:11;:19;;;;;;;;6424:10;6404:31;;;;;;;;-1:-1:-1;;6404:38:0;6400:145;;-1:-1:-1;;;;;6493:19:0;;;;;;:11;:19;;;;;;;;6513:10;6493:31;;;;;;;;:40;;6527:6;;6493:40;:::i;:::-;-1:-1:-1;;;;;6459:19:0;;;;;;:11;:19;;;;;;;;6479:10;6459:31;;;;;;;:74;6400:145;-1:-1:-1;6562:4:0;6238:336;;;;;:::o;7932:120::-;2697:6;;-1:-1:-1;;;;;2697:6:0;2707:10;2697:20;2689:50;;;;-1:-1:-1;;;2689:50:0;;;;;;;:::i;:::-;;;;;;;;;8041:3:::1;8028:10;8012:26;;:13;5592:12:::0;;;5512:100;8012:13:::1;:26;;;;:::i;:::-;:32;;;;:::i;:::-;7999:10;:45:::0;-1:-1:-1;7932:120:0:o;7351:406::-;2697:6;;-1:-1:-1;;;;;2697:6:0;2707:10;2697:20;2689:50;;;;-1:-1:-1;;;2689:50:0;;;;;;;:::i;:::-;7558:12:::1;:21:::0;;;;7590:13:::1;:23:::0;;;;7624:15:::1;:30:::0;7665:16:::1;:32:::0;7708:18:::1;:41:::0;7351:406::o;10498:88::-;2697:6;;-1:-1:-1;;;;;2697:6:0;2707:10;2697:20;2689:50;;;;-1:-1:-1;;;2689:50:0;;;;;;;:::i;:::-;10566:12:::1;10548:15;:30:::0;10498:88::o;5076:118::-;2697:6;;-1:-1:-1;;;;;2697:6:0;2707:10;2697:20;2689:50;;;;-1:-1:-1;;;2689:50:0;;;;;;;:::i;:::-;5165:11:::1;:21:::0;;-1:-1:-1;;;;;;5165:21:0::1;-1:-1:-1::0;;;;;5165:21:0;;;::::1;::::0;;;::::1;::::0;;5076:118::o;2767:148::-;2697:6;;-1:-1:-1;;;;;2697:6:0;2707:10;2697:20;2689:50;;;;-1:-1:-1;;;2689:50:0;;;;;;;:::i;:::-;2874:1:::1;2858:6:::0;;2837:40:::1;::::0;-1:-1:-1;;;;;2858:6:0;;::::1;::::0;2837:40:::1;::::0;2874:1;;2837:40:::1;2905:1;2888:19:::0;;-1:-1:-1;;;;;;2888:19:0::1;::::0;;2767:148::o;11410:121::-;2697:6;;-1:-1:-1;;;;;2697:6:0;2707:10;2697:20;2689:50;;;;-1:-1:-1;;;2689:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11489:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;11489:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11410:121::o;5202:98::-;5252:13;5285:7;5278:14;;;;;:::i;10594:253::-;-1:-1:-1;;;;;10654:23:0;;10672:4;10654:23;10651:189;;10717:11;;10730:39;;-1:-1:-1;;;10730:39:0;;10763:4;10730:39;;;3781:51:1;-1:-1:-1;;;;;10693:23:0;;;;;;10717:11;;;10693:23;;10730:24;;3754:18:1;;10730:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10693:77;;-1:-1:-1;;;;;;10693:77:0;;;;;;;-1:-1:-1;;;;;4043:32:1;;;10693:77:0;;;4025:51:1;4092:18;;;4085:34;3998:18;;10693:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10785:11:0;;:43;;-1:-1:-1;;;;;10785:11:0;;;;10806:21;10785:43;;;;;:11;:43;:11;:43;10806:21;10785:11;:43;;;;;;;;;;;;;;;;;;;;;10651:189;10594:253;:::o;5747:165::-;5825:4;5842:40;5852:10;5864:9;5875:6;5842:9;:40::i;7803:87::-;2697:6;;-1:-1:-1;;;;;2697:6:0;2707:10;2697:20;2689:50;;;;-1:-1:-1;;;2689:50:0;;;;;;;:::i;:::-;7870:12:::1;::::0;;-1:-1:-1;;7854:28:0;::::1;7870:12;::::0;;::::1;7869:13;7854:28;::::0;;7803:87::o;2923:214::-;2697:6;;-1:-1:-1;;;;;2697:6:0;2707:10;2697:20;2689:50;;;;-1:-1:-1;;;2689:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3012:22:0;::::1;3004:43;;;::::0;-1:-1:-1;;;3004:43:0;;5707:2:1;3004:43:0::1;::::0;::::1;5689:21:1::0;5746:1;5726:18;;;5719:29;-1:-1:-1;;;5764:18:1;;;5757:38;5812:18;;3004:43:0::1;5679:157:1::0;3004:43:0::1;3084:6;::::0;;3063:38:::1;::::0;-1:-1:-1;;;;;3063:38:0;;::::1;::::0;3084:6;::::1;::::0;3063:38:::1;::::0;::::1;3112:6;:17:::0;;-1:-1:-1;;;;;;3112:17:0::1;-1:-1:-1::0;;;;;3112:17:0;;;::::1;::::0;;;::::1;::::0;;2923:214::o;6582:177::-;-1:-1:-1;;;;;6667:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6719:32;;6673:25:1;;;6719:32:0;;6646:18:1;6719:32:0;;;;;;;6582:177;;;:::o;8060:1354::-;-1:-1:-1;;;;;5713:18:0;;8174:15;5713:18;;;:9;:18;;;;;;8226:17;;;;8218:46;;;;-1:-1:-1;;;8218:46:0;;5362:2:1;8218:46:0;;;5344:21:1;5401:2;5381:18;;;5374:30;-1:-1:-1;;;5420:18:1;;;5413:46;5476:18;;8218:46:0;5334:166:1;8218:46:0;8281:6;;;;8277:91;;;8303:32;8318:4;8324:2;8328:6;8303:14;:32::i;:::-;;8350:7;8060:1354;;;:::o;8277:91::-;-1:-1:-1;;;;;8409:16:0;;8380:12;8409:16;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;8430:6:0;;;;8429:7;8409:27;:55;;;;-1:-1:-1;;;;;;8441:23:0;;;;;;:17;:23;;;;;;;;8440:24;8409:55;:81;;;;-1:-1:-1;;;;;;8469:21:0;;;;;;:17;:21;;;;;;;;8468:22;8409:81;:115;;;;;8506:18;;8494:9;;:30;8409:115;8405:413;;;8624:4;5686:7;5713:18;;;:9;:18;;;;;;8565:6;;8590:13;:40;8586:120;;;-1:-1:-1;8684:4:0;8666:24;;;;:9;:24;;;;;;8586:120;8724:17;;8720:87;;8761:30;8777:13;8761:15;:30::i;:::-;8405:413;;-1:-1:-1;;;;;8835:23:0;;;;;;:17;:23;;;;;;;;8834:24;:50;;;;-1:-1:-1;;;;;;8863:21:0;;;;;;:17;:21;;;;;;;;8862:22;8834:50;:61;;;;-1:-1:-1;8889:6:0;;;;8888:7;8834:61;8830:523;;;-1:-1:-1;;;;;;8984:18:0;;;;;;:12;:18;;;;;;8922:4;;8984:18;;:51;;;;-1:-1:-1;9020:14:0;;-1:-1:-1;;;;;9006:29:0;;;9020:14;;9006:29;;8984:51;:77;;;;-1:-1:-1;;;;;;9040:21:0;;;;;;:17;:21;;;;;;;;9039:22;8984:77;8980:207;;;9082:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9146:10;;9136:6;9120:13;9130:2;-1:-1:-1;;;;;5713:18:0;5686:7;5713:18;;;:9;:18;;;;;;;5620:119;9120:13;:22;;;;:::i;:::-;:36;;9112:59;;;;-1:-1:-1;;;9112:59:0;;6043:2:1;9112:59:0;;;6025:21:1;6082:2;6062:18;;;6055:30;-1:-1:-1;;;6101:18:1;;;6094:41;6152:18;;9112:59:0;6015:161:1;9112:59:0;9236:12;;;;:33;;;;;9262:7;9252:6;:17;9236:33;9232:108;;;9309:14;9318:5;9309:6;:14;:::i;:::-;9299:25;;:6;:25;:::i;:::-;9290:34;;9232:108;9365:41;9380:4;9386:2;9390:6;9398:7;9365:14;:41::i;6767:259::-;-1:-1:-1;;;;;6877:17:0;;6860:4;6877:17;;;:9;:17;;;;;:27;;6898:6;;6877:17;6860:4;;6877:27;;6898:6;;6877:27;:::i;:::-;;;;-1:-1:-1;;;;;;;6915:20:0;;;;;;:9;:20;;;;;:30;;6939:6;;6915:20;:30;;6939:6;;6915:30;:::i;:::-;;;;;;;;6978:9;-1:-1:-1;;;;;6961:35:0;6970:6;-1:-1:-1;;;;;6961:35:0;;6989:6;6961:35;;;;6673:25:1;;6661:2;6646:18;;6628:76;6961:35:0;;;;;;;;-1:-1:-1;7014:4:0;6767:259;;;;;:::o;10855:547::-;3787:6;:13;;-1:-1:-1;;3787:13:0;3796:4;3787:13;;;10956:16:::1;::::0;;10970:1:::1;10956:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10956:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10956:16:0::1;10932:40;;11001:4;10983;10988:1;10983:7;;;;;;-1:-1:-1::0;;;10983:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10983:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11027:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;11027:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;10983:7;;11027:21;;;;;:14;:21;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11017:4;11022:1;11017:7;;;;;;-1:-1:-1::0;;;11017:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;11017:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;11063:14:::1;::::0;:195:::1;::::0;-1:-1:-1;;;11063:195:0;;:14;::::1;::::0;:65:::1;::::0;:195:::1;::::0;11143:11;;11063:14:::1;::::0;11185:4;;11212::::1;::::0;11232:15:::1;::::0;11063:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;11059:211:::0;11297:21:::1;11333:8:::0;;11329:66:::1;;11357:11;::::0;:26:::1;::::0;-1:-1:-1;;;;;11357:11:0;;::::1;::::0;:26;::::1;;;::::0;11378:4;;11357:11:::1;:26:::0;:11;:26;11378:4;11357:11;:26;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11329:66;-1:-1:-1::0;;3823:6:0;:14;;-1:-1:-1;;3823:14:0;;;-1:-1:-1;10855:547:0:o;9422:1031::-;-1:-1:-1;;;;;9594:17:0;;;;;;:9;:17;;;;;;:27;;9614:7;;9594:27;:::i;:::-;-1:-1:-1;;;;;9574:17:0;;;;;;:9;:17;;;;;:47;;;;9662:638;;;;-1:-1:-1;;;;;9723:23:0;;9690:14;9723:23;;;:12;:23;;;;;;;;9719:270;;;9788:16;;9776:9;;:28;:62;;9823:15;;9776:62;;;9807:13;;9776:62;9767:71;;9719:270;;;-1:-1:-1;;;;;9864:20:0;;;;;;:12;:20;;;;;;;;9860:129;;;9926:15;;9914:9;;:27;:59;;9959:14;;9914:59;;;9944:12;;9914:59;9905:68;;9860:129;10003:18;10043:3;10024:16;10034:6;10024:7;:16;:::i;:::-;:22;;;;:::i;:::-;10003:43;-1:-1:-1;10065:14:0;;10061:228;;10100:23;10113:10;10100:23;;:::i;:::-;10187:4;10169:24;;;;:9;:24;;;;;;10100:23;;-1:-1:-1;10169:37:0;;10196:10;;10169:37;:::i;:::-;10160:4;10142:24;;;;:9;:24;;;;;;;:64;;;;10230:43;;-1:-1:-1;;;;;10230:43:0;;;;;;;10262:10;6673:25:1;;6661:2;6646:18;;6628:76;10230:43:0;;;;;;;;10061:228;9662:638;;;10359:19;10369:9;10359:7;:19;:::i;:::-;-1:-1:-1;;;;;10335:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;10312:20:0;;;;;;;:9;:20;;;;;:67;;;;10395:48;;;10423:19;10433:9;10423:7;:19;:::i;:::-;10395:48;;6673:25:1;;;6661:2;6646:18;10395:48:0;;;;;;;9422:1031;;;;;:::o;14:257:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;:::-;260:5;84:187;-1:-1:-1;;;84:187:1:o;276:261::-;346:6;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;812:398::-;880:6;888;941:2;929:9;920:7;916:23;912:32;909:2;;;962:6;954;947:22;909:2;1006:9;993:23;1025:31;1050:5;1025:31;:::i;:::-;1075:5;-1:-1:-1;1132:2:1;1117:18;;1104:32;1145:33;1104:32;1145:33;:::i;:::-;1197:7;1187:17;;;899:311;;;;;:::o;1215:466::-;1292:6;1300;1308;1361:2;1349:9;1340:7;1336:23;1332:32;1329:2;;;1382:6;1374;1367:22;1329:2;1426:9;1413:23;1445:31;1470:5;1445:31;:::i;:::-;1495:5;-1:-1:-1;1552:2:1;1537:18;;1524:32;1565:33;1524:32;1565:33;:::i;:::-;1319:362;;1617:7;;-1:-1:-1;;;1671:2:1;1656:18;;;;1643:32;;1319:362::o;1686:392::-;1751:6;1759;1812:2;1800:9;1791:7;1787:23;1783:32;1780:2;;;1833:6;1825;1818:22;1780:2;1877:9;1864:23;1896:31;1921:5;1896:31;:::i;:::-;1946:5;-1:-1:-1;2003:2:1;1988:18;;1975:32;2016:30;1975:32;2016:30;:::i;2083:325::-;2151:6;2159;2212:2;2200:9;2191:7;2187:23;2183:32;2180:2;;;2233:6;2225;2218:22;2180:2;2277:9;2264:23;2296:31;2321:5;2296:31;:::i;:::-;2346:5;2398:2;2383:18;;;;2370:32;;-1:-1:-1;;;2170:238:1:o;2413:255::-;2480:6;2533:2;2521:9;2512:7;2508:23;2504:32;2501:2;;;2554:6;2546;2539:22;2501:2;2591:9;2585:16;2610:28;2632:5;2610:28;:::i;2673:194::-;2743:6;2796:2;2784:9;2775:7;2771:23;2767:32;2764:2;;;2817:6;2809;2802:22;2764:2;-1:-1:-1;2845:16:1;;2754:113;-1:-1:-1;2754:113:1:o;2872:464::-;2967:6;2975;2983;2991;2999;3052:3;3040:9;3031:7;3027:23;3023:33;3020:2;;;3074:6;3066;3059:22;3020:2;-1:-1:-1;;3102:23:1;;;3172:2;3157:18;;3144:32;;-1:-1:-1;3223:2:1;3208:18;;3195:32;;3274:2;3259:18;;3246:32;;-1:-1:-1;3325:3:1;3310:19;3297:33;;-1:-1:-1;3010:326:1;-1:-1:-1;3010:326:1:o;3341:289::-;3398:6;3451:2;3439:9;3430:7;3426:23;3422:32;3419:2;;;3472:6;3464;3457:22;3419:2;3516:9;3503:23;3566:4;3559:5;3555:16;3548:5;3545:27;3535:2;;3591:6;3583;3576:22;4552:603;4664:4;4693:2;4722;4711:9;4704:21;4754:6;4748:13;4797:6;4792:2;4781:9;4777:18;4770:34;4822:4;4835:140;4849:6;4846:1;4843:13;4835:140;;;4944:14;;;4940:23;;4934:30;4910:17;;;4929:2;4906:26;4899:66;4864:10;;4835:140;;;4993:6;4990:1;4987:13;4984:2;;;5063:4;5058:2;5049:6;5038:9;5034:22;5030:31;5023:45;4984:2;-1:-1:-1;5139:2:1;5118:15;-1:-1:-1;;5114:29:1;5099:45;;;;5146:2;5095:54;;4673:482;-1:-1:-1;;;4673:482:1:o;6181:341::-;6383:2;6365:21;;;6422:2;6402:18;;;6395:30;-1:-1:-1;;;6456:2:1;6441:18;;6434:47;6513:2;6498:18;;6355:167::o;6709:983::-;6971:4;7019:3;7008:9;7004:19;7050:6;7039:9;7032:25;7076:2;7114:6;7109:2;7098:9;7094:18;7087:34;7157:3;7152:2;7141:9;7137:18;7130:31;7181:6;7216;7210:13;7247:6;7239;7232:22;7285:3;7274:9;7270:19;7263:26;;7324:2;7316:6;7312:15;7298:29;;7345:4;7358:195;7372:6;7369:1;7366:13;7358:195;;;7437:13;;-1:-1:-1;;;;;7433:39:1;7421:52;;7528:15;;;;7493:12;;;;7469:1;7387:9;7358:195;;;-1:-1:-1;;;;;;;7609:32:1;;;;7604:2;7589:18;;7582:60;-1:-1:-1;;;7673:3:1;7658:19;7651:35;7570:3;6980:712;-1:-1:-1;;;6980:712:1:o;7886:128::-;7926:3;7957:1;7953:6;7950:1;7947:13;7944:2;;;7963:18;;:::i;:::-;-1:-1:-1;7999:9:1;;7934:80::o;8019:217::-;8059:1;8085;8075:2;;-1:-1:-1;;;8110:31:1;;8164:4;8161:1;8154:15;8192:4;8117:1;8182:15;8075:2;-1:-1:-1;8221:9:1;;8065:171::o;8241:168::-;8281:7;8347:1;8343;8339:6;8335:14;8332:1;8329:21;8324:1;8317:9;8310:17;8306:45;8303:2;;;8354:18;;:::i;:::-;-1:-1:-1;8394:9:1;;8293:116::o;8414:125::-;8454:4;8482:1;8479;8476:8;8473:2;;;8487:18;;:::i;:::-;-1:-1:-1;8524:9:1;;8463:76::o;8544:380::-;8623:1;8619:12;;;;8666;;;8687:2;;8741:4;8733:6;8729:17;8719:27;;8687:2;8794;8786:6;8783:14;8763:18;8760:38;8757:2;;;8840:10;8835:3;8831:20;8828:1;8821:31;8875:4;8872:1;8865:15;8903:4;8900:1;8893:15;8757:2;;8599:325;;;:::o;8929:135::-;8968:3;-1:-1:-1;;8989:17:1;;8986:2;;;9009:18;;:::i;:::-;-1:-1:-1;9056:1:1;9045:13;;8976:88::o;9069:127::-;9130:10;9125:3;9121:20;9118:1;9111:31;9161:4;9158:1;9151:15;9185:4;9182:1;9175:15;9201:131;-1:-1:-1;;;;;9276:31:1;;9266:42;;9256:2;;9322:1;9319;9312:12;9337:118;9423:5;9416:13;9409:21;9402:5;9399:32;9389:2;;9445:1;9442;9435:12

Swarm Source

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