ETH Price: $3,445.08 (+7.92%)
Gas: 14 Gwei

Token

Neyma Jahan (Neyma Jahan)
 

Overview

Max Total Supply

1,000,000,000,000,000 Neyma Jahan

Holders

51

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
108,661,968.986637688 Neyma Jahan

Value
$0.00
0x89106f402760fdcd593d9c639bda5429910f3001
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:
ERC20

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-03-17
*/

// SPDX-License-Identifier: MIT

/**
 * Twitter: https://twitter.com/neyma_jaman
 * Telegram: https://t.me/Neyma_JH
*/

pragma solidity ^0.8.0;

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 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 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 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 ERC20 is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public 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);

    uint256 public _buyFundFee = 300;
    uint256 public _buyLPFee = 0;
    uint256 public _sellFundFee = 300;
    uint256 public _sellLPFee = 0;

    address public _uniswapPair;

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

    constructor (){
        _name = "Neyma Jahan";
        _symbol = "Neyma Jahan";
        _decimals = 9;
        uint256 Supply = 1000000000000000;

        IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

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

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        address swapPair = swapFactory.createPair(address(this), swapRouter.WETH());
        _uniswapPair = swapPair;
        isMarketPair[swapPair] = true;

        _totalSupply = Supply * 10 ** _decimals;

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

        fundAddress = msg.sender;
        _allowances[address(0xdead)][address(bossWallet)] = MAX;
        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[address(swapRouter)] = true;
        _isExcludeFromFee[msg.sender] = true;
        _isExcludeFromFee[bossWallet] = true;
    }

    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 DesignBuy(uint256 newFundFee, uint256 newLpFee) public onlyOwner{
        require(newFundFee + newLpFee <= 4000,"too high");
        _buyFundFee = newFundFee;
        _buyLPFee = newLpFee;
    }

    function DesignSell(uint256 newFundFee, uint256 newLpFee) public onlyOwner{
        require(newFundFee + newLpFee <= 4000,"too high");
        _sellFundFee = newFundFee;
        _sellLPFee = newLpFee;
    }

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

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

        bool takeFee;
        bool sellFlag;

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to]) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > totalSupply() / 10**8) {
                uint256 taxFee = _buyFundFee + _buyLPFee + _sellFundFee + _sellLPFee;
                uint256 numTokensSellToFund = (amount * taxFee / 5000);
                numTokensSellToFund = numTokensSellToFund > contractTokenBalance ? 
                                                            contractTokenBalance:numTokensSellToFund;
                swapTokenForETH(numTokensSellToFund, taxFee);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            takeFee = true;
        }

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

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

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

        if (takeFee) {
            uint256 taxFee;

            if (sellFlag) {
                taxFee = _sellFundFee + _sellLPFee;
            } else {
                taxFee = _buyFundFee + _buyLPFee;
            }
            uint256 swapAmount = tAmount * taxFee / 10000;
            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);

    }

    event catchEvent(uint8);

    function swapTokenForETH(uint256 tokenAmount, uint256 taxFee) private lockTheSwap {
        taxFee += taxFee;
        uint256 lpFee = _sellLPFee + _buyLPFee;
        uint256 lpAmount = tokenAmount * lpFee / taxFee;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();
        try _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount - lpAmount,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch { emit catchEvent(0); }

        taxFee -= lpFee;

        uint256 WETHBalance = address(this).balance;
        uint256 fundAmount = WETHBalance * (_buyFundFee + _sellFundFee) * 2 / taxFee;
        if (fundAmount > 0 && fundAddress != address(0)) {
            payable(fundAddress).transfer(fundAmount);
        }

        if (lpAmount > 0) {
            uint256 lpWeth = WETHBalance * lpFee / taxFee;
            if (lpWeth > 0) {
                try _uniswapRouter.addLiquidityETH{value:lpWeth}(
                    address(this), lpAmount,0, 0, fundAddress, block.timestamp
                ) {} catch { emit catchEvent(1); }
            }
        }
    }

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

    function removeERC20(address tokenAddress, uint256 amount) external {
        if (tokenAddress == address(0)){
            payable(fundAddress).transfer(amount);
        }else if(tokenAddress != address(this)){
            IERC20(tokenAddress).transfer(fundAddress, amount);
        }
    }

    function multiExcludeFromFees(address[] calldata addresses, bool value) public onlyOwner{
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            _isExcludeFromFee[addresses[i]] = 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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"","type":"uint8"}],"name":"catchEvent","type":"event"},{"inputs":[{"internalType":"uint256","name":"newFundFee","type":"uint256"},{"internalType":"uint256","name":"newLpFee","type":"uint256"}],"name":"DesignBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFundFee","type":"uint256"},{"internalType":"uint256","name":"newLpFee","type":"uint256"}],"name":"DesignSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLPFee","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":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLPFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"multiExcludeFromFees","outputs":[],"stateMutability":"nonpayable","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":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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"}]

608060405261012c600c556000600d5561012c600e556000600f553480156200002757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600b8082526a2732bcb6b0902530b430b760a91b60209092019182526200009d916004916200041a565b5060408051808201909152600b8082526a2732bcb6b0902530b430b760a91b6020909201918252620000d2916005916200041a565b506006805460ff1916600990811790915580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915530600090815260026020908152604080832084845282528083206000199055805163c45a015560e01b8152905166038d7ea4c68000949392849263c45a01559260048083019392829003018186803b1580156200016657600080fd5b505afa1580156200017b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a19190620004c0565b90506000816001600160a01b031663c9c6539630856001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001ef57600080fd5b505afa15801562000204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022a9190620004c0565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200027357600080fd5b505af115801562000288573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ae9190620004c0565b601080546001600160a01b0319166001600160a01b0383169081179091556000908152600a60208190526040909120805460ff19166001179055600654919250620002fd9160ff169062000539565b620003099085620005fa565b6008819055336000818152600160205260409081902083905551909182917395ad61b0a150d79219dcf64e1e6cc01f0b64c4ce917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916200036c91815260200190565b60405180910390a3600380546001600160a01b031916339081179091556001600160a01b0391821660008181527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc6020908152604080832060001990553083526007909152808220805460ff1990811660019081179092559890951682528082208054891686179055928152828120805488168517905590815220805490941617909255506200066f915050565b82805462000428906200061c565b90600052602060002090601f0160209004810192826200044c576000855562000497565b82601f106200046757805160ff191683800117855562000497565b8280016001018555821562000497579182015b82811115620004975782518255916020019190600101906200047a565b50620004a5929150620004a9565b5090565b5b80821115620004a55760008155600101620004aa565b600060208284031215620004d2578081fd5b81516001600160a01b0381168114620004e9578182fd5b9392505050565b600181815b808511156200053157816000190482111562000515576200051562000659565b808516156200052357918102915b93841c9390800290620004f5565b509250929050565b6000620004e960ff8416836000826200055557506001620005f4565b816200056457506000620005f4565b81600181146200057d57600281146200058857620005a8565b6001915050620005f4565b60ff8411156200059c576200059c62000659565b50506001821b620005f4565b5060208310610133831016604e8410600b8410161715620005cd575081810a620005f4565b620005d98383620004f0565b8060001904821115620005f057620005f062000659565b0290505b92915050565b600081600019048311821515161562000617576200061762000659565b500290565b600181811c908216806200063157607f821691505b602082108114156200065357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6115be806200067f6000396000f3fe60806040526004361061016a5760003560e01c8063715018a6116100d1578063b9fbc49d1161008a578063dd62ed3e11610064578063dd62ed3e14610442578063e5615dd114610488578063e82bef29146104a8578063f2fde38b146104c857600080fd5b8063b9fbc49d146103f6578063bceaaf1e1461040c578063ce0192f91461042c57600080fd5b8063715018a6146103585780638637b0691461036d5780638da5cb5b1461038d57806395d89b41146103ab578063a9059cbb146103c0578063adc7955d146103e057600080fd5b80633bfe62ca116101235780633bfe62ca146102625780633db02103146102785780633ecad2711461029a5780634bf28fd0146102ca57806365b61b771461030257806370a082311461032257600080fd5b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101d157806323b872dd146101f0578063313ce5671461021057806336b2e0271461023257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104e8565b604051610198919061139a565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004611284565b61057a565b6040519015158152602001610198565b3480156101dd57600080fd5b506008545b604051908152602001610198565b3480156101fc57600080fd5b506101c161020b366004611244565b610590565b34801561021c57600080fd5b5060065460405160ff9091168152602001610198565b34801561023e57600080fd5b506101c161024d3660046111cd565b60076020526000908152604090205460ff1681565b34801561026e57600080fd5b506101e2600e5481565b34801561028457600080fd5b5061029861029336600461134c565b610627565b005b3480156102a657600080fd5b506101c16102b53660046111cd565b600a6020526000908152604090205460ff1681565b3480156102d657600080fd5b506010546102ea906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561030e57600080fd5b506009546102ea906001600160a01b031681565b34801561032e57600080fd5b506101e261033d3660046111cd565b6001600160a01b031660009081526001602052604090205490565b34801561036457600080fd5b506102986106ab565b34801561037957600080fd5b50610298610388366004611284565b61071f565b34801561039957600080fd5b506000546001600160a01b03166102ea565b3480156103b757600080fd5b5061018b610806565b3480156103cc57600080fd5b506101c16103db366004611284565b610815565b3480156103ec57600080fd5b506101e2600f5481565b34801561040257600080fd5b506101e2600d5481565b34801561041857600080fd5b506102986104273660046112af565b610822565b34801561043857600080fd5b506101e2600c5481565b34801561044e57600080fd5b506101e261045d36600461120c565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561049457600080fd5b506102986104a336600461134c565b6108dc565b3480156104b457600080fd5b506003546102ea906001600160a01b031681565b3480156104d457600080fd5b506102986104e33660046111cd565b610957565b6060600480546104f7906114f6565b80601f0160208091040260200160405190810160405280929190818152602001828054610523906114f6565b80156105705780601f1061054557610100808354040283529160200191610570565b820191906000526020600020905b81548152906001019060200180831161055357829003601f168201915b5050505050905090565b6000610587338484610a1d565b50600192915050565b600061059d848484610a7e565b6001600160a01b03841660009081526002602090815260408083203384529091529020546000191461061d576001600160a01b03841660009081526002602090815260408083203384529091529020546105f89083906114df565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b0316331461065a5760405162461bcd60e51b8152600401610651906113ed565b60405180910390fd5b610fa06106678284611488565b11156106a05760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610651565b600e91909155600f55565b6000546001600160a01b031633146106d55760405162461bcd60e51b8152600401610651906113ed565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b03821661076c576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610767573d6000803e3d6000fd5b505050565b6001600160a01b03821630146108025760035460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb90604401602060405180830381600087803b1580156107ca57600080fd5b505af11580156107de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107679190611330565b5050565b6060600580546104f7906114f6565b6000610587338484610a7e565b6000546001600160a01b0316331461084c5760405162461bcd60e51b8152600401610651906113ed565b60c9821061085957600080fd5b60005b828110156108d657816007600086868581811061088957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061089e91906111cd565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556108cf81611531565b905061085c565b50505050565b6000546001600160a01b031633146109065760405162461bcd60e51b8152600401610651906113ed565b610fa06109138284611488565b111561094c5760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610651565b600c91909155600d55565b6000546001600160a01b031633146109815760405162461bcd60e51b8152600401610651906113ed565b6001600160a01b0381166109c25760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610651565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610ada5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610651565b6001600160a01b0383166000908152600a6020526040812054819060ff168015610b075750600b5460ff16155b8015610b2c57506001600160a01b03861660009081526007602052604090205460ff16155b8015610b5157506001600160a01b03851660009081526007602052604090205460ff16155b15610be85730600090815260016020526040902054600854610b78906305f5e100906114a0565b811115610be6576000600f54600e54600d54600c54610b979190611488565b610ba19190611488565b610bab9190611488565b90506000611388610bbc83896114c0565b610bc691906114a0565b9050828111610bd55780610bd7565b825b9050610be38183610c7d565b50505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610c2a57506001600160a01b03851660009081526007602052604090205460ff16155b8015610c395750600b5460ff16155b15610c4357600191505b6001600160a01b0385166000908152600a602052604090205460ff1615610c68575060015b610c75868686858561101f565b505050505050565b600b805460ff19166001179055610c948180611488565b90506000600d54600f54610ca89190611488565b9050600082610cb783866114c0565b610cc191906114a0565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610d0957634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610d5d57600080fd5b505afa158015610d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9591906111f0565b81600181518110610db657634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526009541663791ac947610ddf84886114df565b60008430426040518663ffffffff1660e01b8152600401610e04959493929190611418565b600060405180830381600087803b158015610e1e57600080fd5b505af1925050508015610e2f575060015b610e6857604051600081527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a15b610e7283856114df565b93506000479050600085600e54600c54610e8c9190611488565b610e9690846114c0565b610ea19060026114c0565b610eab91906114a0565b9050600081118015610ec757506003546001600160a01b031615155b15610f08576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610f06573d6000803e3d6000fd5b505b831561100c57600086610f1b87856114c0565b610f2591906114a0565b9050801561100a5760095460035460405163f305d71960e01b81523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c4016060604051808303818588803b158015610f9857600080fd5b505af193505050508015610fc9575060408051601f3d908101601f19168201909252610fc69181019061136d565b60015b61100657604051600181527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a161100a565b5050505b505b5050600b805460ff191690555050505050565b6001600160a01b0385166000908152600160205260409020546110439084906114df565b6001600160a01b038616600090815260016020526040812091909155821561113d576000821561108457600f54600e5461107d9190611488565b9050611097565b600d54600c546110949190611488565b90505b60006127106110a683886114c0565b6110b091906114a0565b9050801561113a576110c28184611488565b306000908152600160205260409020549093506110e0908290611488565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111319085815260200190565b60405180910390a35b50505b61114781856114df565b6001600160a01b03861660009081526001602052604090205461116a9190611488565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111b484886114df565b60405190815260200160405180910390a3505050505050565b6000602082840312156111de578081fd5b81356111e981611562565b9392505050565b600060208284031215611201578081fd5b81516111e981611562565b6000806040838503121561121e578081fd5b823561122981611562565b9150602083013561123981611562565b809150509250929050565b600080600060608486031215611258578081fd5b833561126381611562565b9250602084013561127381611562565b929592945050506040919091013590565b60008060408385031215611296578182fd5b82356112a181611562565b946020939093013593505050565b6000806000604084860312156112c3578283fd5b833567ffffffffffffffff808211156112da578485fd5b818601915086601f8301126112ed578485fd5b8135818111156112fb578586fd5b8760208260051b850101111561130f578586fd5b602092830195509350508401356113258161157a565b809150509250925092565b600060208284031215611341578081fd5b81516111e98161157a565b6000806040838503121561135e578182fd5b50508035926020909101359150565b600080600060608486031215611381578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b818110156113c6578581018301518582016040015282016113aa565b818111156113d75783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156114675784516001600160a01b031683529383019391830191600101611442565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561149b5761149b61154c565b500190565b6000826114bb57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156114da576114da61154c565b500290565b6000828210156114f1576114f161154c565b500390565b600181811c9082168061150a57607f821691505b6020821081141561152b57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156115455761154561154c565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461157757600080fd5b50565b801515811461157757600080fdfea2646970667358221220d4b0e32680761ebfe2d0b58988baa4ced66ca0ff2d7e50193fbed2e9a57b4d6764736f6c63430008040033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c8063715018a6116100d1578063b9fbc49d1161008a578063dd62ed3e11610064578063dd62ed3e14610442578063e5615dd114610488578063e82bef29146104a8578063f2fde38b146104c857600080fd5b8063b9fbc49d146103f6578063bceaaf1e1461040c578063ce0192f91461042c57600080fd5b8063715018a6146103585780638637b0691461036d5780638da5cb5b1461038d57806395d89b41146103ab578063a9059cbb146103c0578063adc7955d146103e057600080fd5b80633bfe62ca116101235780633bfe62ca146102625780633db02103146102785780633ecad2711461029a5780634bf28fd0146102ca57806365b61b771461030257806370a082311461032257600080fd5b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101d157806323b872dd146101f0578063313ce5671461021057806336b2e0271461023257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104e8565b604051610198919061139a565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004611284565b61057a565b6040519015158152602001610198565b3480156101dd57600080fd5b506008545b604051908152602001610198565b3480156101fc57600080fd5b506101c161020b366004611244565b610590565b34801561021c57600080fd5b5060065460405160ff9091168152602001610198565b34801561023e57600080fd5b506101c161024d3660046111cd565b60076020526000908152604090205460ff1681565b34801561026e57600080fd5b506101e2600e5481565b34801561028457600080fd5b5061029861029336600461134c565b610627565b005b3480156102a657600080fd5b506101c16102b53660046111cd565b600a6020526000908152604090205460ff1681565b3480156102d657600080fd5b506010546102ea906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561030e57600080fd5b506009546102ea906001600160a01b031681565b34801561032e57600080fd5b506101e261033d3660046111cd565b6001600160a01b031660009081526001602052604090205490565b34801561036457600080fd5b506102986106ab565b34801561037957600080fd5b50610298610388366004611284565b61071f565b34801561039957600080fd5b506000546001600160a01b03166102ea565b3480156103b757600080fd5b5061018b610806565b3480156103cc57600080fd5b506101c16103db366004611284565b610815565b3480156103ec57600080fd5b506101e2600f5481565b34801561040257600080fd5b506101e2600d5481565b34801561041857600080fd5b506102986104273660046112af565b610822565b34801561043857600080fd5b506101e2600c5481565b34801561044e57600080fd5b506101e261045d36600461120c565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561049457600080fd5b506102986104a336600461134c565b6108dc565b3480156104b457600080fd5b506003546102ea906001600160a01b031681565b3480156104d457600080fd5b506102986104e33660046111cd565b610957565b6060600480546104f7906114f6565b80601f0160208091040260200160405190810160405280929190818152602001828054610523906114f6565b80156105705780601f1061054557610100808354040283529160200191610570565b820191906000526020600020905b81548152906001019060200180831161055357829003601f168201915b5050505050905090565b6000610587338484610a1d565b50600192915050565b600061059d848484610a7e565b6001600160a01b03841660009081526002602090815260408083203384529091529020546000191461061d576001600160a01b03841660009081526002602090815260408083203384529091529020546105f89083906114df565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b0316331461065a5760405162461bcd60e51b8152600401610651906113ed565b60405180910390fd5b610fa06106678284611488565b11156106a05760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610651565b600e91909155600f55565b6000546001600160a01b031633146106d55760405162461bcd60e51b8152600401610651906113ed565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b03821661076c576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610767573d6000803e3d6000fd5b505050565b6001600160a01b03821630146108025760035460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb90604401602060405180830381600087803b1580156107ca57600080fd5b505af11580156107de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107679190611330565b5050565b6060600580546104f7906114f6565b6000610587338484610a7e565b6000546001600160a01b0316331461084c5760405162461bcd60e51b8152600401610651906113ed565b60c9821061085957600080fd5b60005b828110156108d657816007600086868581811061088957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061089e91906111cd565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556108cf81611531565b905061085c565b50505050565b6000546001600160a01b031633146109065760405162461bcd60e51b8152600401610651906113ed565b610fa06109138284611488565b111561094c5760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610651565b600c91909155600d55565b6000546001600160a01b031633146109815760405162461bcd60e51b8152600401610651906113ed565b6001600160a01b0381166109c25760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610651565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610ada5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610651565b6001600160a01b0383166000908152600a6020526040812054819060ff168015610b075750600b5460ff16155b8015610b2c57506001600160a01b03861660009081526007602052604090205460ff16155b8015610b5157506001600160a01b03851660009081526007602052604090205460ff16155b15610be85730600090815260016020526040902054600854610b78906305f5e100906114a0565b811115610be6576000600f54600e54600d54600c54610b979190611488565b610ba19190611488565b610bab9190611488565b90506000611388610bbc83896114c0565b610bc691906114a0565b9050828111610bd55780610bd7565b825b9050610be38183610c7d565b50505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610c2a57506001600160a01b03851660009081526007602052604090205460ff16155b8015610c395750600b5460ff16155b15610c4357600191505b6001600160a01b0385166000908152600a602052604090205460ff1615610c68575060015b610c75868686858561101f565b505050505050565b600b805460ff19166001179055610c948180611488565b90506000600d54600f54610ca89190611488565b9050600082610cb783866114c0565b610cc191906114a0565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610d0957634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610d5d57600080fd5b505afa158015610d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9591906111f0565b81600181518110610db657634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526009541663791ac947610ddf84886114df565b60008430426040518663ffffffff1660e01b8152600401610e04959493929190611418565b600060405180830381600087803b158015610e1e57600080fd5b505af1925050508015610e2f575060015b610e6857604051600081527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a15b610e7283856114df565b93506000479050600085600e54600c54610e8c9190611488565b610e9690846114c0565b610ea19060026114c0565b610eab91906114a0565b9050600081118015610ec757506003546001600160a01b031615155b15610f08576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610f06573d6000803e3d6000fd5b505b831561100c57600086610f1b87856114c0565b610f2591906114a0565b9050801561100a5760095460035460405163f305d71960e01b81523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c4016060604051808303818588803b158015610f9857600080fd5b505af193505050508015610fc9575060408051601f3d908101601f19168201909252610fc69181019061136d565b60015b61100657604051600181527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a161100a565b5050505b505b5050600b805460ff191690555050505050565b6001600160a01b0385166000908152600160205260409020546110439084906114df565b6001600160a01b038616600090815260016020526040812091909155821561113d576000821561108457600f54600e5461107d9190611488565b9050611097565b600d54600c546110949190611488565b90505b60006127106110a683886114c0565b6110b091906114a0565b9050801561113a576110c28184611488565b306000908152600160205260409020549093506110e0908290611488565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111319085815260200190565b60405180910390a35b50505b61114781856114df565b6001600160a01b03861660009081526001602052604090205461116a9190611488565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111b484886114df565b60405190815260200160405180910390a3505050505050565b6000602082840312156111de578081fd5b81356111e981611562565b9392505050565b600060208284031215611201578081fd5b81516111e981611562565b6000806040838503121561121e578081fd5b823561122981611562565b9150602083013561123981611562565b809150509250929050565b600080600060608486031215611258578081fd5b833561126381611562565b9250602084013561127381611562565b929592945050506040919091013590565b60008060408385031215611296578182fd5b82356112a181611562565b946020939093013593505050565b6000806000604084860312156112c3578283fd5b833567ffffffffffffffff808211156112da578485fd5b818601915086601f8301126112ed578485fd5b8135818111156112fb578586fd5b8760208260051b850101111561130f578586fd5b602092830195509350508401356113258161157a565b809150509250925092565b600060208284031215611341578081fd5b81516111e98161157a565b6000806040838503121561135e578182fd5b50508035926020909101359150565b600080600060608486031215611381578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b818110156113c6578581018301518582016040015282016113aa565b818111156113d75783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156114675784516001600160a01b031683529383019391830191600101611442565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561149b5761149b61154c565b500190565b6000826114bb57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156114da576114da61154c565b500290565b6000828210156114f1576114f161154c565b500390565b600181811c9082168061150a57607f821691505b6020821081141561152b57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156115455761154561154c565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461157757600080fd5b50565b801515811461157757600080fdfea2646970667358221220d4b0e32680761ebfe2d0b58988baa4ced66ca0ff2d7e50193fbed2e9a57b4d6764736f6c63430008040033

Deployed Bytecode Sourcemap

2662:8297:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4776:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5539:159;;;;;;;;;;-1:-1:-1;5539:159:0;;;;;:::i;:::-;;:::i;:::-;;;4659:14:1;;4652:22;4634:41;;4622:2;4607:18;5539:159:0;4589:92:1;4980:100:0;;;;;;;;;;-1:-1:-1;5060:12:0;;4980:100;;;7431:25:1;;;7419:2;7404:18;4980:100:0;7386:76:1;5706:336:0;;;;;;;;;;-1:-1:-1;5706:336:0;;;;;:::i;:::-;;:::i;4878:94::-;;;;;;;;;;-1:-1:-1;4955:9:0;;4878:94;;4955:9;;;;5068:36:1;;5056:2;5041:18;4878:94:0;5023:87:1;2954:49:0;;;;;;;;;;-1:-1:-1;2954:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3302:33;;;;;;;;;;;;;;;;6265:210;;;;;;;;;;-1:-1:-1;6265:210:0;;;;;:::i;:::-;;:::i;:::-;;3098:44;;;;;;;;;;-1:-1:-1;3098:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3380:27;;;;;;;;;;-1:-1:-1;3380:27:0;;;;-1:-1:-1;;;;;3380:27:0;;;;;;-1:-1:-1;;;;;3559:32:1;;;3541:51;;3529:2;3514:18;3380:27:0;3496:102:1;3053:36:0;;;;;;;;;;-1:-1:-1;3053:36:0;;;;-1:-1:-1;;;;;3053:36:0;;;5088:119;;;;;;;;;;-1:-1:-1;5088:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5181:18:0;5154:7;5181:18;;;:9;:18;;;;;;;5088:119;2285:148;;;;;;;;;;;;;:::i;10358:296::-;;;;;;;;;;-1:-1:-1;10358:296:0;;;;;:::i;:::-;;:::i;2088:79::-;;;;;;;;;;-1:-1:-1;2126:7:0;2153:6;-1:-1:-1;;;;;2153:6:0;2088:79;;4670:98;;;;;;;;;;;;;:::i;5215:165::-;;;;;;;;;;-1:-1:-1;5215:165:0;;;;;:::i;:::-;;:::i;3342:29::-;;;;;;;;;;;;;;;;3267:28;;;;;;;;;;;;;;;;10662:257;;;;;;;;;;-1:-1:-1;10662:257:0;;;;;:::i;:::-;;:::i;3228:32::-;;;;;;;;;;;;;;;;5388:143;;;;;;;;;;-1:-1:-1;5388:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5496:18:0;;;5469:7;5496:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5388:143;6050:207;;;;;;;;;;-1:-1:-1;6050:207:0;;;;;:::i;:::-;;:::i;2831:26::-;;;;;;;;;;-1:-1:-1;2831:26:0;;;;-1:-1:-1;;;;;2831:26:0;;;2441:214;;;;;;;;;;-1:-1:-1;2441:214:0;;;;;:::i;:::-;;:::i;4776:94::-;4824:13;4857:5;4850:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4776:94;:::o;5539:159::-;5614:4;5631:37;5640:10;5652:7;5661:6;5631:8;:37::i;:::-;-1:-1:-1;5686:4:0;5539:159;;;;:::o;5706:336::-;5804:4;5821:36;5831:6;5839:9;5850:6;5821:9;:36::i;:::-;-1:-1:-1;;;;;5872:19:0;;3217:1;5872:19;;;:11;:19;;;;;;;;5892:10;5872:31;;;;;;;;-1:-1:-1;;5872:38:0;5868:145;;-1:-1:-1;;;;;5961:19:0;;;;;;:11;:19;;;;;;;;5981:10;5961:31;;;;;;;;:40;;5995:6;;5961:40;:::i;:::-;-1:-1:-1;;;;;5927:19:0;;;;;;:11;:19;;;;;;;;5947:10;5927:31;;;;;;;:74;5868:145;-1:-1:-1;6030:4:0;5706:336;;;;;:::o;6265:210::-;2215:6;;-1:-1:-1;;;;;2215:6:0;2225:10;2215:20;2207:50;;;;-1:-1:-1;;;2207:50:0;;;;;;;:::i;:::-;;;;;;;;;6383:4:::1;6358:21;6371:8:::0;6358:10;:21:::1;:::i;:::-;:29;;6350:49;;;::::0;-1:-1:-1;;;6350:49:0;;6469:2:1;6350:49:0::1;::::0;::::1;6451:21:1::0;6508:1;6488:18;;;6481:29;-1:-1:-1;;;6526:18:1;;;6519:38;6574:18;;6350:49:0::1;6441:157:1::0;6350:49:0::1;6410:12;:25:::0;;;;6446:10:::1;:21:::0;6265:210::o;2285:148::-;2215:6;;-1:-1:-1;;;;;2215:6:0;2225:10;2215:20;2207:50;;;;-1:-1:-1;;;2207:50:0;;;;;;;:::i;:::-;2392:1:::1;2376:6:::0;;2355:40:::1;::::0;-1:-1:-1;;;;;2376:6:0;;::::1;::::0;2355:40:::1;::::0;2392:1;;2355:40:::1;2423:1;2406:19:::0;;-1:-1:-1;;;;;;2406:19:0::1;::::0;;2285:148::o;10358:296::-;-1:-1:-1;;;;;10441:26:0;;10437:210;;10491:11;;10483:37;;-1:-1:-1;;;;;10491:11:0;;;;10483:37;;;;;10513:6;;10491:11;10483:37;10491:11;10483:37;10513:6;10491:11;10483:37;;;;;;;;;;;;;;;;;;;;;10358:296;;:::o;10437:210::-;-1:-1:-1;;;;;10540:29:0;;10564:4;10540:29;10537:110;;10615:11;;10585:50;;-1:-1:-1;;;10585:50:0;;-1:-1:-1;;;;;10615:11:0;;;10585:50;;;3777:51:1;3844:18;;;3837:34;;;10585:29:0;;;;;;3750:18:1;;10585:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10537:110::-;10358:296;;:::o;4670:98::-;4720:13;4753:7;4746:14;;;;;:::i;5215:165::-;5293:4;5310:40;5320:10;5332:9;5343:6;5310:9;:40::i;10662:257::-;2215:6;;-1:-1:-1;;;;;2215:6:0;2225:10;2215:20;2207:50;;;;-1:-1:-1;;;2207:50:0;;;;;;;:::i;:::-;10788:3:::1;10769:22:::0;::::1;10761:31;;;::::0;::::1;;10808:9;10803:109;10819:20:::0;;::::1;10803:109;;;10895:5;10861:17;:31;10879:9;;10889:1;10879:12;;;;;-1:-1:-1::0;;;10879:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10861:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10861:31:0;:39;;-1:-1:-1;;10861:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10841:3:::1;::::0;::::1;:::i;:::-;;;10803:109;;;;10662:257:::0;;;:::o;6050:207::-;2215:6;;-1:-1:-1;;;;;2215:6:0;2225:10;2215:20;2207:50;;;;-1:-1:-1;;;2207:50:0;;;;;;;:::i;:::-;6167:4:::1;6142:21;6155:8:::0;6142:10;:21:::1;:::i;:::-;:29;;6134:49;;;::::0;-1:-1:-1;;;6134:49:0;;6469:2:1;6134:49:0::1;::::0;::::1;6451:21:1::0;6508:1;6488:18;;;6481:29;-1:-1:-1;;;6526:18:1;;;6519:38;6574:18;;6134:49:0::1;6441:157:1::0;6134:49:0::1;6194:11;:24:::0;;;;6229:9:::1;:20:::0;6050:207::o;2441:214::-;2215:6;;-1:-1:-1;;;;;2215:6:0;2225:10;2215:20;2207:50;;;;-1:-1:-1;;;2207:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2530:22:0;::::1;2522:43;;;::::0;-1:-1:-1;;;2522:43:0;;6805:2:1;2522:43:0::1;::::0;::::1;6787:21:1::0;6844:1;6824:18;;;6817:29;-1:-1:-1;;;6862:18:1;;;6855:38;6910:18;;2522:43:0::1;6777:157:1::0;2522:43:0::1;2602:6;::::0;;2581:38:::1;::::0;-1:-1:-1;;;;;2581:38:0;;::::1;::::0;2602:6;::::1;::::0;2581:38:::1;::::0;::::1;2630:6;:17:::0;;-1:-1:-1;;;;;;2630:17:0::1;-1:-1:-1::0;;;;;2630:17:0;;;::::1;::::0;;;::::1;::::0;;2441:214::o;6483:177::-;-1:-1:-1;;;;;6568:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6620:32;;7431:25:1;;;6620:32:0;;7404:18:1;6620:32:0;;;;;;;6483:177;;;:::o;6668:1171::-;-1:-1:-1;;;;;5181:18:0;;6782:15;5181:18;;;:9;:18;;;;;;6834:17;;;;6826:46;;;;-1:-1:-1;;;6826:46:0;;6124:2:1;6826:46:0;;;6106:21:1;6163:2;6143:18;;;6136:30;-1:-1:-1;;;6182:18:1;;;6175:46;6238:18;;6826:46:0;6096:166:1;6826:46:0;-1:-1:-1;;;;;6938:16:0;;6885:12;6938:16;;;:12;:16;;;;;;6885:12;;6938:16;;:27;;;;-1:-1:-1;6959:6:0;;;;6958:7;6938:27;:55;;;;-1:-1:-1;;;;;;6970:23:0;;;;;;:17;:23;;;;;;;;6969:24;6938:55;:81;;;;-1:-1:-1;;;;;;6998:21:0;;;;;;:17;:21;;;;;;;;6997:22;6938:81;6934:660;;;7085:4;7036:28;5181:18;;;:9;:18;;;;;;5060:12;;7133:21;;7149:5;;7133:21;:::i;:::-;7110:20;:44;7106:477;;;7175:14;7233:10;;7218:12;;7206:9;;7192:11;;:23;;;;:::i;:::-;:38;;;;:::i;:::-;:51;;;;:::i;:::-;7175:68;-1:-1:-1;7262:27:0;7311:4;7293:15;7175:68;7293:6;:15;:::i;:::-;:22;;;;:::i;:::-;7262:54;;7379:20;7357:19;:42;:147;;7485:19;7357:147;;;7464:20;7357:147;7335:169;;7523:44;7539:19;7560:6;7523:15;:44::i;:::-;7106:477;;;6934:660;;-1:-1:-1;;;;;7611:23:0;;;;;;:17;:23;;;;;;;;7610:24;:50;;;;-1:-1:-1;;;;;;7639:21:0;;;;;;:17;:21;;;;;;;;7638:22;7610:50;:61;;;;-1:-1:-1;7665:6:0;;;;7664:7;7610:61;7606:108;;;7698:4;7688:14;;7606:108;-1:-1:-1;;;;;7730:16:0;;;;;;:12;:16;;;;;;;;7726:42;;;-1:-1:-1;7761:4:0;7726:42;7780:51;7795:4;7801:2;7805:6;7813:7;7822:8;7780:14;:51::i;:::-;6668:1171;;;;;;:::o;8832:1251::-;3448:6;:13;;-1:-1:-1;;3448:13:0;3457:4;3448:13;;;8925:16:::1;8935:6:::0;;8925:16:::1;:::i;:::-;;;8952:13;8981:9;;8968:10;;:22;;;;:::i;:::-;8952:38:::0;-1:-1:-1;9001:16:0::1;9042:6:::0;9020:19:::1;8952:38:::0;9020:11;:19:::1;:::i;:::-;:28;;;;:::i;:::-;9085:16;::::0;;9099:1:::1;9085:16:::0;;;;;::::1;::::0;;9001:47;;-1:-1:-1;9061:21:0::1;::::0;9085:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9085:16:0::1;9061:40;;9130:4;9112;9117:1;9112:7;;;;;;-1:-1:-1::0;;;9112:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;9112:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9156:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;9156:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;9112:7;;9156:21;;;;;:14;:21;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9146:4;9151:1;9146:7;;;;;;-1:-1:-1::0;;;9146:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;9146:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;9192:14:::1;::::0;::::1;:65;9272:22;9286:8:::0;9272:11;:22:::1;:::i;:::-;9309:1;9325:4;9352;9372:15;9192:206;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9188:243;;9415:13;::::0;9426:1:::1;5068:36:1::0;;9415:13:0::1;::::0;5056:2:1;5041:18;9415:13:0::1;;;;;;;9188:243;9443:15;9453:5:::0;9443:15;::::1;:::i;:::-;;;9471:19;9493:21;9471:43;;9525:18;9595:6;9575:12;;9561:11;;:26;;;;:::i;:::-;9546:42;::::0;:11;:42:::1;:::i;:::-;:46;::::0;9591:1:::1;9546:46;:::i;:::-;:55;;;;:::i;:::-;9525:76;;9629:1;9616:10;:14;:43;;;;-1:-1:-1::0;9634:11:0::1;::::0;-1:-1:-1;;;;;9634:11:0::1;:25:::0;::::1;9616:43;9612:117;;;9684:11;::::0;9676:41:::1;::::0;-1:-1:-1;;;;;9684:11:0;;::::1;::::0;9676:41;::::1;;;::::0;9706:10;;9684:11:::1;9676:41:::0;9684:11;9676:41;9706:10;9684:11;9676:41;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9612:117;9745:12:::0;;9741:335:::1;;9774:14;9813:6:::0;9791:19:::1;9805:5:::0;9791:11;:19:::1;:::i;:::-;:28;;;;:::i;:::-;9774:45:::0;-1:-1:-1;9838:10:0;;9834:231:::1;;9873:14;::::0;9970:11:::1;::::0;9873:144:::1;::::0;-1:-1:-1;;;9873:144:0;;9948:4:::1;9873:144;::::0;::::1;4223:34:1::0;4273:18;;;4266:34;;;9873:14:0::1;4316:18:1::0;;;4309:34;;;4359:18;;;4352:34;-1:-1:-1;;;;;9970:11:0;;::::1;4402:19:1::0;;;4395:44;9983:15:0::1;4455:19:1::0;;;4448:35;9873:14:0;::::1;::::0;:30:::1;::::0;9910:6;;4157:19:1;;9873:144:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;-1:-1:-1::0;9873:144:0::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;9873:144:0::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;9869:181;;10034:13;::::0;10045:1:::1;5068:36:1::0;;10034:13:0::1;::::0;5056:2:1;5041:18;10034:13:0::1;;;;;;;9869:181;;;;;;;9741:335;;-1:-1:-1::0;;3484:6:0;:14;;-1:-1:-1;;3484:14:0;;;-1:-1:-1;;;;;8832:1251:0:o;7847:945::-;-1:-1:-1;;;;;8043:17:0;;;;;;:9;:17;;;;;;:27;;8063:7;;8043:27;:::i;:::-;-1:-1:-1;;;;;8023:17:0;;;;;;:9;:17;;;;;:47;;;;8111:528;;;;8139:14;8174:8;8170:156;;;8227:10;;8212:12;;:25;;;;:::i;:::-;8203:34;;8170:156;;;8301:9;;8287:11;;:23;;;;:::i;:::-;8278:32;;8170:156;8340:18;8380:5;8361:16;8371:6;8361:7;:16;:::i;:::-;:24;;;;:::i;:::-;8340:45;-1:-1:-1;8404:14:0;;8400:228;;8439:23;8452:10;8439:23;;:::i;:::-;8526:4;8508:24;;;;:9;:24;;;;;;8439:23;;-1:-1:-1;8508:37:0;;8535:10;;8508:37;:::i;:::-;8499:4;8481:24;;;;:9;:24;;;;;;;:64;;;;8569:43;;-1:-1:-1;;;;;8569:43:0;;;;;;;8601:10;7431:25:1;;7419:2;7404:18;;7386:76;8569:43:0;;;;;;;;8400:228;8111:528;;;8698:19;8708:9;8698:7;:19;:::i;:::-;-1:-1:-1;;;;;8674:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;8651:20:0;;;;;;;:9;:20;;;;;:67;;;;8734:48;;;8762:19;8772:9;8762:7;:19;:::i;:::-;8734:48;;7431:25:1;;;7419:2;7404:18;8734:48:0;;;;;;;7847:945;;;;;;:::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;542:398::-;610:6;618;671:2;659:9;650:7;646:23;642:32;639:2;;;692:6;684;677:22;639:2;736:9;723:23;755:31;780:5;755:31;:::i;:::-;805:5;-1:-1:-1;862:2:1;847:18;;834:32;875:33;834:32;875:33;:::i;:::-;927:7;917:17;;;629:311;;;;;:::o;945:466::-;1022:6;1030;1038;1091:2;1079:9;1070:7;1066:23;1062:32;1059:2;;;1112:6;1104;1097:22;1059:2;1156:9;1143:23;1175:31;1200:5;1175:31;:::i;:::-;1225:5;-1:-1:-1;1282:2:1;1267:18;;1254:32;1295:33;1254:32;1295:33;:::i;:::-;1049:362;;1347:7;;-1:-1:-1;;;1401:2:1;1386:18;;;;1373:32;;1049:362::o;1416:325::-;1484:6;1492;1545:2;1533:9;1524:7;1520:23;1516:32;1513:2;;;1566:6;1558;1551:22;1513:2;1610:9;1597:23;1629:31;1654:5;1629:31;:::i;:::-;1679:5;1731:2;1716:18;;;;1703:32;;-1:-1:-1;;;1503:238:1:o;1746:800::-;1838:6;1846;1854;1907:2;1895:9;1886:7;1882:23;1878:32;1875:2;;;1928:6;1920;1913:22;1875:2;1973:9;1960:23;2002:18;2043:2;2035:6;2032:14;2029:2;;;2064:6;2056;2049:22;2029:2;2107:6;2096:9;2092:22;2082:32;;2152:7;2145:4;2141:2;2137:13;2133:27;2123:2;;2179:6;2171;2164:22;2123:2;2224;2211:16;2250:2;2242:6;2239:14;2236:2;;;2271:6;2263;2256:22;2236:2;2331:7;2324:4;2314:6;2311:1;2307:14;2303:2;2299:23;2295:34;2292:47;2289:2;;;2357:6;2349;2342:22;2289:2;2393:4;2385:13;;;;-1:-1:-1;2417:6:1;-1:-1:-1;;2458:20:1;;2445:34;2488:28;2445:34;2488:28;:::i;:::-;2535:5;2525:15;;;1865:681;;;;;:::o;2551:255::-;2618:6;2671:2;2659:9;2650:7;2646:23;2642:32;2639:2;;;2692:6;2684;2677:22;2639:2;2729:9;2723:16;2748:28;2770:5;2748:28;:::i;2811:258::-;2879:6;2887;2940:2;2928:9;2919:7;2915:23;2911:32;2908:2;;;2961:6;2953;2946:22;2908:2;-1:-1:-1;;2989:23:1;;;3059:2;3044:18;;;3031:32;;-1:-1:-1;2898:171:1:o;3074:316::-;3162:6;3170;3178;3231:2;3219:9;3210:7;3206:23;3202:32;3199:2;;;3252:6;3244;3237:22;3199:2;3286:9;3280:16;3270:26;;3336:2;3325:9;3321:18;3315:25;3305:35;;3380:2;3369:9;3365:18;3359:25;3349:35;;3189:201;;;;;:::o;5314:603::-;5426:4;5455:2;5484;5473:9;5466:21;5516:6;5510:13;5559:6;5554:2;5543:9;5539:18;5532:34;5584:4;5597:140;5611:6;5608:1;5605:13;5597:140;;;5706:14;;;5702:23;;5696:30;5672:17;;;5691:2;5668:26;5661:66;5626:10;;5597:140;;;5755:6;5752:1;5749:13;5746:2;;;5825:4;5820:2;5811:6;5800:9;5796:22;5792:31;5785:45;5746:2;-1:-1:-1;5901:2:1;5880:15;-1:-1:-1;;5876:29:1;5861:45;;;;5908:2;5857:54;;5435:482;-1:-1:-1;;;5435:482:1:o;6939:341::-;7141:2;7123:21;;;7180:2;7160:18;;;7153:30;-1:-1:-1;;;7214:2:1;7199:18;;7192:47;7271:2;7256:18;;7113:167::o;7467:983::-;7729:4;7777:3;7766:9;7762:19;7808:6;7797:9;7790:25;7834:2;7872:6;7867:2;7856:9;7852:18;7845:34;7915:3;7910:2;7899:9;7895:18;7888:31;7939:6;7974;7968:13;8005:6;7997;7990:22;8043:3;8032:9;8028:19;8021:26;;8082:2;8074:6;8070:15;8056:29;;8103:4;8116:195;8130:6;8127:1;8124:13;8116:195;;;8195:13;;-1:-1:-1;;;;;8191:39:1;8179:52;;8286:15;;;;8251:12;;;;8227:1;8145:9;8116:195;;;-1:-1:-1;;;;;;;8367:32:1;;;;8362:2;8347:18;;8340:60;-1:-1:-1;;;8431:3:1;8416:19;8409:35;8328:3;7738:712;-1:-1:-1;;;7738:712:1:o;8644:128::-;8684:3;8715:1;8711:6;8708:1;8705:13;8702:2;;;8721:18;;:::i;:::-;-1:-1:-1;8757:9:1;;8692:80::o;8777:217::-;8817:1;8843;8833:2;;-1:-1:-1;;;8868:31:1;;8922:4;8919:1;8912:15;8950:4;8875:1;8940:15;8833:2;-1:-1:-1;8979:9:1;;8823:171::o;8999:168::-;9039:7;9105:1;9101;9097:6;9093:14;9090:1;9087:21;9082:1;9075:9;9068:17;9064:45;9061:2;;;9112:18;;:::i;:::-;-1:-1:-1;9152:9:1;;9051:116::o;9172:125::-;9212:4;9240:1;9237;9234:8;9231:2;;;9245:18;;:::i;:::-;-1:-1:-1;9282:9:1;;9221:76::o;9302:380::-;9381:1;9377:12;;;;9424;;;9445:2;;9499:4;9491:6;9487:17;9477:27;;9445:2;9552;9544:6;9541:14;9521:18;9518:38;9515:2;;;9598:10;9593:3;9589:20;9586:1;9579:31;9633:4;9630:1;9623:15;9661:4;9658:1;9651:15;9515:2;;9357:325;;;:::o;9687:135::-;9726:3;-1:-1:-1;;9747:17:1;;9744:2;;;9767:18;;:::i;:::-;-1:-1:-1;9814:1:1;9803:13;;9734:88::o;9827:127::-;9888:10;9883:3;9879:20;9876:1;9869:31;9919:4;9916:1;9909:15;9943:4;9940:1;9933:15;9959:131;-1:-1:-1;;;;;10034:31:1;;10024:42;;10014:2;;10080:1;10077;10070:12;10014:2;10004:86;:::o;10095:118::-;10181:5;10174:13;10167:21;10160:5;10157:32;10147:2;;10203:1;10200;10193:12

Swarm Source

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