ETH Price: $3,021.70 (+3.09%)
Gas: 1 Gwei

Token

Kvb Coin (KVB)
 

Overview

Max Total Supply

420,690,000,000,000 KVB

Holders

216

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.1 KVB

Value
$0.00
0x418f90f661579129967b16e9501e5edc2b4f6fed
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.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

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;
}

interface IUniswapV2Pair {
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function token0() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function totalSupply() external view returns (uint256);
}

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 = 20;
    uint256 public _sellFundFee = 20;

    address public _uniswapPair;

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

    constructor (){
        _name = "Kvb Coin";
        _symbol = "KVB";
        _decimals = 18;
        uint256 Supply = 420690000000000;
        
        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;
        require(_totalSupply < ~uint112(0),"high decimals");

        address receiveAddr = 0xF600E540816d2883E516f3524E9Df9a7993afD04;
        _balances[receiveAddr] = _totalSupply;
        emit Transfer(address(0), receiveAddr, _totalSupply);

        fundAddress = 0x26e8625BB53e63bC870131EF0b25c76C93E23Eb4;

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

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

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

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

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

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

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

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

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

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

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

    function DesignTax(
        uint256 newBuyFundFee,
        uint256 newSellFundFee
    ) public onlyOwner{
        _buyFundFee = newBuyFundFee;
        _sellFundFee = newSellFundFee;
    }

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

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

    function _isAddLiquidity() internal view returns (bool isAdd){
        IUniswapV2Pair mainPair = IUniswapV2Pair(_uniswapPair);
        (uint r0,uint256 r1,) = mainPair.getReserves();

        address tokenOther = _uniswapRouter.WETH();
        uint256 r;
        if (tokenOther < address(this)) {
            r = r0;
        } else {
            r = r1;
        }

        uint bal = IERC20(tokenOther).balanceOf(address(mainPair));
        isAdd = bal > r;
    }

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

        bool takeFee;
        bool isAdd;

        if (isMarketPair[to]) {
            isAdd = _isAddLiquidity();
        }

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to]) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > 0) {
                uint256 numTokensSellToFund = amount;
                numTokensSellToFund = numTokensSellToFund > contractTokenBalance ? 
                                                            contractTokenBalance:numTokensSellToFund;
                swapTokenForETH(numTokensSellToFund);
            }
        }

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

            // remainHolder
            if (remainHolder && amount == balance && isMarketPair[to]) {
                amount -= 1*10**_decimals / 10;
            }
        }

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

    function tradingOpen() public view returns(bool){
        return block.timestamp >= tradingBlock && tradingBlock != 0;
    }

    uint256 public tradingBlock;
    function enableTrading(
        uint256 _time
    ) public onlyOwner{
        tradingBlock = _time;
    }

    function closeTrading() public onlyOwner{
        tradingBlock = 0;
    }

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

        if (takeFee && !isAdd) {
            uint256 taxFee;
            if (isMarketPair[recipient]) {
                taxFee = _sellFundFee;
            } else if (isMarketPair[sender]){
                taxFee = _buyFundFee;
            }
            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);

    }

    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(fundAddress),
            block.timestamp
        ) {} catch {}

    }

    function setIsExcludeFromFees(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":[{"internalType":"uint256","name":"newBuyFundFee","type":"uint256"},{"internalType":"uint256","name":"newSellFundFee","type":"uint256"}],"name":"DesignTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyFundFee","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":"_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":[{"internalType":"bool","name":"status","type":"bool"}],"name":"changeRemain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"closeTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"remainHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddr","type":"address"}],"name":"setFundAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setIsExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"}]

60806040526014600c819055600d55600e805460ff60a01b1916600160a01b1790553480156200002e57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600881526725bb311021b7b4b760c11b60208201526004906200009e9082620004db565b5060408051808201909152600381526225ab2160e91b6020820152600590620000c89082620004db565b506006805460ff19166012179055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915530600090815260026020908152604080832084845282528083206000199055805163c45a015560e01b8152905166017e9d8602b400949392849263c45a015592600480830193928290030181865afa15801562000160573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001869190620005a7565b90506000816001600160a01b031663c9c6539630856001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ff9190620005a7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200024d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002739190620005a7565b600e80546001600160a01b0319166001600160a01b0383169081179091556000908152600a60208190526040909120805460ff19166001179055600654919250620002c29160ff1690620006ee565b620002ce9085620006ff565b60088190556001600160701b03116200031d5760405162461bcd60e51b815260206004820152600d60248201526c6869676820646563696d616c7360981b604482015260640160405180910390fd5b60085473f600e540816d2883e516f3524e9df9a7993afd046000818152600160209081527f699488ba31e463f3183069d739a72738d20d7d508b905555b17948b6e4a2c558849055604051938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b0319167326e8625bb53e63bc870131ef0b25c76c93e23eb417815530600090815260076020526040808220805460ff1990811660019081179092556001600160a01b0398891684528284208054821683179055338452828420805482168317905594881683528183208054861682179055925490961681529490942080549091169093179092555062000719915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200046157607f821691505b6020821081036200048257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004d657600081815260208120601f850160051c81016020861015620004b15750805b601f850160051c820191505b81811015620004d257828155600101620004bd565b5050505b505050565b81516001600160401b03811115620004f757620004f762000436565b6200050f816200050884546200044c565b8462000488565b602080601f8311600181146200054757600084156200052e5750858301515b600019600386901b1c1916600185901b178555620004d2565b600085815260208120601f198616915b82811015620005785788860151825594840194600190910190840162000557565b5085821015620005975787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620005ba57600080fd5b81516001600160a01b0381168114620005d257600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000630578160001904821115620006145762000614620005d9565b808516156200062257918102915b93841c9390800290620005f4565b509250929050565b6000826200064957506001620006e8565b816200065857506000620006e8565b81600181146200067157600281146200067c576200069c565b6001915050620006e8565b60ff841115620006905762000690620005d9565b50506001821b620006e8565b5060208310610133831016604e8410600b8410161715620006c1575081810a620006e8565b620006cd8383620005ef565b8060001904821115620006e457620006e4620005d9565b0290505b92915050565b6000620005d260ff84168362000638565b8082028115828204841417620006e857620006e8620005d9565b61164880620007296000396000f3fe6080604052600436106101bb5760003560e01c806382aa7c68116100ec578063cd51e6d41161008a578063dd62ed3e11610064578063dd62ed3e146104f3578063e82bef2914610539578063f2fde38b14610559578063ffb54a991461057957600080fd5b8063cd51e6d4146104a6578063ce0192f9146104bc578063cefab2af146104d257600080fd5b806395d89b41116100c657806395d89b411461043c57806397a9895514610451578063a9059cbb14610466578063c447ba1a1461048657600080fd5b806382aa7c68146103de578063863587cd146103fe5780638da5cb5b1461041e57600080fd5b80633bfe62ca1161015957806365b61b771161013357806365b61b77146103535780636f39cfcd1461037357806370a0823114610393578063715018a6146103c957600080fd5b80633bfe62ca146102d55780633ecad271146102eb5780634bf28fd01461031b57600080fd5b806323b872dd1161019557806323b872dd14610241578063313ce56714610261578063346276ab1461028357806336b2e027146102a557600080fd5b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61058e565b6040516101e99190611151565b60405180910390f35b3480156101fe57600080fd5b5061021261020d3660046111b7565b610620565b60405190151581526020016101e9565b34801561022e57600080fd5b506008545b6040519081526020016101e9565b34801561024d57600080fd5b5061021261025c3660046111e3565b610637565b34801561026d57600080fd5b5060065460405160ff90911681526020016101e9565b34801561028f57600080fd5b506102a361029e366004611239565b6106ce565b005b3480156102b157600080fd5b506102126102c036600461125b565b60076020526000908152604090205460ff1681565b3480156102e157600080fd5b50610233600d5481565b3480156102f757600080fd5b5061021261030636600461125b565b600a6020526000908152604090205460ff1681565b34801561032757600080fd5b50600e5461033b906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561035f57600080fd5b5060095461033b906001600160a01b031681565b34801561037f57600080fd5b506102a361038e36600461125b565b61071f565b34801561039f57600080fd5b506102336103ae36600461125b565b6001600160a01b031660009081526001602052604090205490565b3480156103d557600080fd5b506102a361076b565b3480156103ea57600080fd5b506102a36103f9366004611278565b6107df565b34801561040a57600080fd5b506102a3610419366004611291565b61080e565b34801561042a57600080fd5b506000546001600160a01b031661033b565b34801561044857600080fd5b506101dc610863565b34801561045d57600080fd5b506102a3610872565b34801561047257600080fd5b506102126104813660046111b7565b6108a3565b34801561049257600080fd5b506102a36104a13660046112c6565b6108b0565b3480156104b257600080fd5b50610233600f5481565b3480156104c857600080fd5b50610233600c5481565b3480156104de57600080fd5b50600e5461021290600160a01b900460ff1681565b3480156104ff57600080fd5b5061023361050e3660046112e8565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561054557600080fd5b5060035461033b906001600160a01b031681565b34801561056557600080fd5b506102a361057436600461125b565b6108e5565b34801561058557600080fd5b506102126109ab565b60606004805461059d90611321565b80601f01602080910402602001604051908101604052809291908181526020018280546105c990611321565b80156106165780601f106105eb57610100808354040283529160200191610616565b820191906000526020600020905b8154815290600101906020018083116105f957829003601f168201915b5050505050905090565b600061062d3384846109c5565b5060015b92915050565b6000610644848484610a26565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146106c4576001600160a01b038416600090815260026020908152604080832033845290915290205461069f908390611371565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146107015760405162461bcd60e51b81526004016106f890611384565b60405180910390fd5b600e8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146107495760405162461bcd60e51b81526004016106f890611384565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107955760405162461bcd60e51b81526004016106f890611384565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108095760405162461bcd60e51b81526004016106f890611384565b600f55565b6000546001600160a01b031633146108385760405162461bcd60e51b81526004016106f890611384565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60606005805461059d90611321565b6000546001600160a01b0316331461089c5760405162461bcd60e51b81526004016106f890611384565b6000600f55565b600061062d338484610a26565b6000546001600160a01b031633146108da5760405162461bcd60e51b81526004016106f890611384565b600c91909155600d55565b6000546001600160a01b0316331461090f5760405162461bcd60e51b81526004016106f890611384565b6001600160a01b0381166109505760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106f8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000600f5442101580156109c05750600f5415155b905090565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610a825760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016106f8565b6001600160a01b0383166000908152600a6020526040812054819060ff1615610ab057610aad610c83565b90505b6001600160a01b0385166000908152600a602052604090205460ff168015610adb5750600b5460ff16155b8015610b0057506001600160a01b03861660009081526007602052604090205460ff16155b8015610b2557506001600160a01b03851660009081526007602052604090205460ff16155b15610b5f57306000908152600160205260409020548015610b5d5784818111610b4e5780610b50565b815b9050610b5b81610e23565b505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610ba157506001600160a01b03851660009081526007602052604090205460ff16155b8015610bb05750600b5460ff16155b15610c6e57610bbd6109ab565b610bf45760405162461bcd60e51b81526020600482015260086024820152672174726164696e6760c01b60448201526064016106f8565b600e5460019250600160a01b900460ff168015610c1057508284145b8015610c3457506001600160a01b0385166000908152600a602052604090205460ff165b15610c6e57600654600a90610c4c9060ff1682611493565b610c579060016114a2565b610c6191906114b9565b610c6b9085611371565b93505b610c7b8686868585610f7b565b505050505050565b600e5460408051630240bc6b60e21b815290516000926001600160a01b031691839182918491630902f1ac916004808201926060929091908290030181865afa158015610cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf891906114f2565b506001600160701b031691506001600160701b031691506000600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d889190611542565b90506000306001600160a01b0383161015610da4575082610da7565b50815b6040516370a0823160e01b81526001600160a01b038681166004830152600091908416906370a0823190602401602060405180830381865afa158015610df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e15919061155f565b919091119695505050505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e6557610e65611578565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee29190611542565b81600181518110610ef557610ef5611578565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac94792610f41928792600092889290911690429060040161158e565b600060405180830381600087803b158015610f5b57600080fd5b505af1925050508015610f6c575060015b505050600b805460ff19169055565b6001600160a01b038516600090815260016020526040902054610f9f908490611371565b6001600160a01b038616600090815260016020526040812091909155828015610fc6575081155b156110c1576001600160a01b0385166000908152600a602052604081205460ff1615610ff55750600d5461101b565b6001600160a01b0387166000908152600a602052604090205460ff161561101b5750600c545b600061271061102a83886114a2565b61103491906114b9565b905080156110be5761104681846115ff565b306000908152600160205260409020549093506110649082906115ff565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110b59085815260200190565b60405180910390a35b50505b6110cb8185611371565b6001600160a01b0386166000908152600160205260409020546110ee91906115ff565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111388488611371565b60405190815260200160405180910390a3505050505050565b600060208083528351808285015260005b8181101561117e57858101830151858201604001528201611162565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111b457600080fd5b50565b600080604083850312156111ca57600080fd5b82356111d58161119f565b946020939093013593505050565b6000806000606084860312156111f857600080fd5b83356112038161119f565b925060208401356112138161119f565b929592945050506040919091013590565b8035801515811461123457600080fd5b919050565b60006020828403121561124b57600080fd5b61125482611224565b9392505050565b60006020828403121561126d57600080fd5b81356112548161119f565b60006020828403121561128a57600080fd5b5035919050565b600080604083850312156112a457600080fd5b82356112af8161119f565b91506112bd60208401611224565b90509250929050565b600080604083850312156112d957600080fd5b50508035926020909101359150565b600080604083850312156112fb57600080fd5b82356113068161119f565b915060208301356113168161119f565b809150509250929050565b600181811c9082168061133557607f821691505b60208210810361135557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106315761063161135b565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600181815b808511156113ea5781600019048211156113d0576113d061135b565b808516156113dd57918102915b93841c93908002906113b4565b509250929050565b60008261140157506001610631565b8161140e57506000610631565b8160018114611424576002811461142e5761144a565b6001915050610631565b60ff84111561143f5761143f61135b565b50506001821b610631565b5060208310610133831016604e8410600b841016171561146d575081810a610631565b61147783836113af565b806000190482111561148b5761148b61135b565b029392505050565b600061125460ff8416836113f2565b80820281158282048414176106315761063161135b565b6000826114d657634e487b7160e01b600052601260045260246000fd5b500490565b80516001600160701b038116811461123457600080fd5b60008060006060848603121561150757600080fd5b611510846114db565b925061151e602085016114db565b9150604084015163ffffffff8116811461153757600080fd5b809150509250925092565b60006020828403121561155457600080fd5b81516112548161119f565b60006020828403121561157157600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115de5784516001600160a01b0316835293830193918301916001016115b9565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156106315761063161135b56fea2646970667358221220262002a2d5c2b5f9773c07be4e9da8375958c7a4d1a6fe2343e7e516bbccc25e64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c806382aa7c68116100ec578063cd51e6d41161008a578063dd62ed3e11610064578063dd62ed3e146104f3578063e82bef2914610539578063f2fde38b14610559578063ffb54a991461057957600080fd5b8063cd51e6d4146104a6578063ce0192f9146104bc578063cefab2af146104d257600080fd5b806395d89b41116100c657806395d89b411461043c57806397a9895514610451578063a9059cbb14610466578063c447ba1a1461048657600080fd5b806382aa7c68146103de578063863587cd146103fe5780638da5cb5b1461041e57600080fd5b80633bfe62ca1161015957806365b61b771161013357806365b61b77146103535780636f39cfcd1461037357806370a0823114610393578063715018a6146103c957600080fd5b80633bfe62ca146102d55780633ecad271146102eb5780634bf28fd01461031b57600080fd5b806323b872dd1161019557806323b872dd14610241578063313ce56714610261578063346276ab1461028357806336b2e027146102a557600080fd5b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61058e565b6040516101e99190611151565b60405180910390f35b3480156101fe57600080fd5b5061021261020d3660046111b7565b610620565b60405190151581526020016101e9565b34801561022e57600080fd5b506008545b6040519081526020016101e9565b34801561024d57600080fd5b5061021261025c3660046111e3565b610637565b34801561026d57600080fd5b5060065460405160ff90911681526020016101e9565b34801561028f57600080fd5b506102a361029e366004611239565b6106ce565b005b3480156102b157600080fd5b506102126102c036600461125b565b60076020526000908152604090205460ff1681565b3480156102e157600080fd5b50610233600d5481565b3480156102f757600080fd5b5061021261030636600461125b565b600a6020526000908152604090205460ff1681565b34801561032757600080fd5b50600e5461033b906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561035f57600080fd5b5060095461033b906001600160a01b031681565b34801561037f57600080fd5b506102a361038e36600461125b565b61071f565b34801561039f57600080fd5b506102336103ae36600461125b565b6001600160a01b031660009081526001602052604090205490565b3480156103d557600080fd5b506102a361076b565b3480156103ea57600080fd5b506102a36103f9366004611278565b6107df565b34801561040a57600080fd5b506102a3610419366004611291565b61080e565b34801561042a57600080fd5b506000546001600160a01b031661033b565b34801561044857600080fd5b506101dc610863565b34801561045d57600080fd5b506102a3610872565b34801561047257600080fd5b506102126104813660046111b7565b6108a3565b34801561049257600080fd5b506102a36104a13660046112c6565b6108b0565b3480156104b257600080fd5b50610233600f5481565b3480156104c857600080fd5b50610233600c5481565b3480156104de57600080fd5b50600e5461021290600160a01b900460ff1681565b3480156104ff57600080fd5b5061023361050e3660046112e8565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561054557600080fd5b5060035461033b906001600160a01b031681565b34801561056557600080fd5b506102a361057436600461125b565b6108e5565b34801561058557600080fd5b506102126109ab565b60606004805461059d90611321565b80601f01602080910402602001604051908101604052809291908181526020018280546105c990611321565b80156106165780601f106105eb57610100808354040283529160200191610616565b820191906000526020600020905b8154815290600101906020018083116105f957829003601f168201915b5050505050905090565b600061062d3384846109c5565b5060015b92915050565b6000610644848484610a26565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146106c4576001600160a01b038416600090815260026020908152604080832033845290915290205461069f908390611371565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146107015760405162461bcd60e51b81526004016106f890611384565b60405180910390fd5b600e8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146107495760405162461bcd60e51b81526004016106f890611384565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107955760405162461bcd60e51b81526004016106f890611384565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108095760405162461bcd60e51b81526004016106f890611384565b600f55565b6000546001600160a01b031633146108385760405162461bcd60e51b81526004016106f890611384565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60606005805461059d90611321565b6000546001600160a01b0316331461089c5760405162461bcd60e51b81526004016106f890611384565b6000600f55565b600061062d338484610a26565b6000546001600160a01b031633146108da5760405162461bcd60e51b81526004016106f890611384565b600c91909155600d55565b6000546001600160a01b0316331461090f5760405162461bcd60e51b81526004016106f890611384565b6001600160a01b0381166109505760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106f8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000600f5442101580156109c05750600f5415155b905090565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610a825760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016106f8565b6001600160a01b0383166000908152600a6020526040812054819060ff1615610ab057610aad610c83565b90505b6001600160a01b0385166000908152600a602052604090205460ff168015610adb5750600b5460ff16155b8015610b0057506001600160a01b03861660009081526007602052604090205460ff16155b8015610b2557506001600160a01b03851660009081526007602052604090205460ff16155b15610b5f57306000908152600160205260409020548015610b5d5784818111610b4e5780610b50565b815b9050610b5b81610e23565b505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610ba157506001600160a01b03851660009081526007602052604090205460ff16155b8015610bb05750600b5460ff16155b15610c6e57610bbd6109ab565b610bf45760405162461bcd60e51b81526020600482015260086024820152672174726164696e6760c01b60448201526064016106f8565b600e5460019250600160a01b900460ff168015610c1057508284145b8015610c3457506001600160a01b0385166000908152600a602052604090205460ff165b15610c6e57600654600a90610c4c9060ff1682611493565b610c579060016114a2565b610c6191906114b9565b610c6b9085611371565b93505b610c7b8686868585610f7b565b505050505050565b600e5460408051630240bc6b60e21b815290516000926001600160a01b031691839182918491630902f1ac916004808201926060929091908290030181865afa158015610cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf891906114f2565b506001600160701b031691506001600160701b031691506000600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d889190611542565b90506000306001600160a01b0383161015610da4575082610da7565b50815b6040516370a0823160e01b81526001600160a01b038681166004830152600091908416906370a0823190602401602060405180830381865afa158015610df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e15919061155f565b919091119695505050505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e6557610e65611578565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee29190611542565b81600181518110610ef557610ef5611578565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac94792610f41928792600092889290911690429060040161158e565b600060405180830381600087803b158015610f5b57600080fd5b505af1925050508015610f6c575060015b505050600b805460ff19169055565b6001600160a01b038516600090815260016020526040902054610f9f908490611371565b6001600160a01b038616600090815260016020526040812091909155828015610fc6575081155b156110c1576001600160a01b0385166000908152600a602052604081205460ff1615610ff55750600d5461101b565b6001600160a01b0387166000908152600a602052604090205460ff161561101b5750600c545b600061271061102a83886114a2565b61103491906114b9565b905080156110be5761104681846115ff565b306000908152600160205260409020549093506110649082906115ff565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110b59085815260200190565b60405180910390a35b50505b6110cb8185611371565b6001600160a01b0386166000908152600160205260409020546110ee91906115ff565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111388488611371565b60405190815260200160405180910390a3505050505050565b600060208083528351808285015260005b8181101561117e57858101830151858201604001528201611162565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111b457600080fd5b50565b600080604083850312156111ca57600080fd5b82356111d58161119f565b946020939093013593505050565b6000806000606084860312156111f857600080fd5b83356112038161119f565b925060208401356112138161119f565b929592945050506040919091013590565b8035801515811461123457600080fd5b919050565b60006020828403121561124b57600080fd5b61125482611224565b9392505050565b60006020828403121561126d57600080fd5b81356112548161119f565b60006020828403121561128a57600080fd5b5035919050565b600080604083850312156112a457600080fd5b82356112af8161119f565b91506112bd60208401611224565b90509250929050565b600080604083850312156112d957600080fd5b50508035926020909101359150565b600080604083850312156112fb57600080fd5b82356113068161119f565b915060208301356113168161119f565b809150509250929050565b600181811c9082168061133557607f821691505b60208210810361135557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106315761063161135b565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600181815b808511156113ea5781600019048211156113d0576113d061135b565b808516156113dd57918102915b93841c93908002906113b4565b509250929050565b60008261140157506001610631565b8161140e57506000610631565b8160018114611424576002811461142e5761144a565b6001915050610631565b60ff84111561143f5761143f61135b565b50506001821b610631565b5060208310610133831016604e8410600b841016171561146d575081810a610631565b61147783836113af565b806000190482111561148b5761148b61135b565b029392505050565b600061125460ff8416836113f2565b80820281158282048414176106315761063161135b565b6000826114d657634e487b7160e01b600052601260045260246000fd5b500490565b80516001600160701b038116811461123457600080fd5b60008060006060848603121561150757600080fd5b611510846114db565b925061151e602085016114db565b9150604084015163ffffffff8116811461153757600080fd5b809150509250925092565b60006020828403121561155457600080fd5b81516112548161119f565b60006020828403121561157157600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115de5784516001600160a01b0316835293830193918301916001016115b9565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156106315761063161135b56fea2646970667358221220262002a2d5c2b5f9773c07be4e9da8375958c7a4d1a6fe2343e7e516bbccc25e64736f6c63430008110033

Deployed Bytecode Sourcemap

2632:7748:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4845:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5608:159;;;;;;;;;;-1:-1:-1;5608:159:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5608:159:0;1023:187:1;5049:100:0;;;;;;;;;;-1:-1:-1;5129:12:0;;5049:100;;;1361:25:1;;;1349:2;1334:18;5049:100:0;1215:177:1;5775:336:0;;;;;;;;;;-1:-1:-1;5775:336:0;;;;;:::i;:::-;;:::i;4947:94::-;;;;;;;;;;-1:-1:-1;5024:9:0;;4947:94;;5024:9;;;;2000:36:1;;1988:2;1973:18;4947:94:0;1858:184:1;6543:107:0;;;;;;;;;;-1:-1:-1;6543:107:0;;;;;:::i;:::-;;:::i;:::-;;2924:49;;;;;;;;;;-1:-1:-1;2924:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3236:32;;;;;;;;;;;;;;;;3068:44;;;;;;;;;;-1:-1:-1;3068:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3277:27;;;;;;;;;;-1:-1:-1;3277:27:0;;;;-1:-1:-1;;;;;3277:27:0;;;;;;-1:-1:-1;;;;;2813:32:1;;;2795:51;;2783:2;2768:18;3277:27:0;2649:203:1;3023:36:0;;;;;;;;;;-1:-1:-1;3023:36:0;;;;-1:-1:-1;;;;;3023:36:0;;;4637:94;;;;;;;;;;-1:-1:-1;4637:94:0;;;;;:::i;:::-;;:::i;5157:119::-;;;;;;;;;;-1:-1:-1;5157:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5250:18:0;5223:7;5250:18;;;:9;:18;;;;;;;5157:119;2255:148;;;;;;;;;;;;;:::i;8600:109::-;;;;;;;;;;-1:-1:-1;8600:109:0;;;;;:::i;:::-;;:::i;10212:128::-;;;;;;;;;;-1:-1:-1;10212:128:0;;;;;:::i;:::-;;:::i;2058:79::-;;;;;;;;;;-1:-1:-1;2096:7:0;2123:6;-1:-1:-1;;;;;2123:6:0;2058:79;;4739:98;;;;;;;;;;;;;:::i;8717:75::-;;;;;;;;;;;;;:::i;5284:165::-;;;;;;;;;;-1:-1:-1;5284:165:0;;;;;:::i;:::-;;:::i;6119:193::-;;;;;;;;;;-1:-1:-1;6119:193:0;;;;;:::i;:::-;;:::i;8566:27::-;;;;;;;;;;;;;;;;3198:31;;;;;;;;;;;;;;;;6505;;;;;;;;;;-1:-1:-1;6505:31:0;;;;-1:-1:-1;;;6505:31:0;;;;;;5457:143;;;;;;;;;;-1:-1:-1;5457:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5565:18:0;;;5538:7;5565:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5457:143;2801:26;;;;;;;;;;-1:-1:-1;2801:26:0;;;;-1:-1:-1;;;;;2801:26:0;;;2411:214;;;;;;;;;;-1:-1:-1;2411:214:0;;;;;:::i;:::-;;:::i;8432:126::-;;;;;;;;;;;;;:::i;4845:94::-;4893:13;4926:5;4919:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4845:94;:::o;5608:159::-;5683:4;5700:37;5709:10;5721:7;5730:6;5700:8;:37::i;:::-;-1:-1:-1;5755:4:0;5608:159;;;;;:::o;5775:336::-;5873:4;5890:36;5900:6;5908:9;5919:6;5890:9;:36::i;:::-;-1:-1:-1;;;;;5941:19:0;;3187:1;5941:19;;;:11;:19;;;;;;;;5961:10;5941:31;;;;;;;;-1:-1:-1;;5941:38:0;5937:145;;-1:-1:-1;;;;;6030:19:0;;;;;;:11;:19;;;;;;;;6050:10;6030:31;;;;;;;;:40;;6064:6;;6030:40;:::i;:::-;-1:-1:-1;;;;;5996:19:0;;;;;;:11;:19;;;;;;;;6016:10;5996:31;;;;;;;:74;5937:145;-1:-1:-1;6099:4:0;5775:336;;;;;:::o;6543:107::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;;;;;;;;;6621:12:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;6621:21:0::1;-1:-1:-1::0;;;;6621:21:0;;::::1;::::0;;;::::1;::::0;;6543:107::o;4637:94::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;4702:11:::1;:21:::0;;-1:-1:-1;;;;;;4702:21:0::1;-1:-1:-1::0;;;;;4702:21:0;;;::::1;::::0;;;::::1;::::0;;4637:94::o;2255:148::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;2362:1:::1;2346:6:::0;;2325:40:::1;::::0;-1:-1:-1;;;;;2346:6:0;;::::1;::::0;2325:40:::1;::::0;2362:1;;2325:40:::1;2393:1;2376:19:::0;;-1:-1:-1;;;;;;2376:19:0::1;::::0;;2255:148::o;8600:109::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;8681:12:::1;:20:::0;8600:109::o;10212:128::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10298:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;10298:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10212:128::o;4739:98::-;4789:13;4822:7;4815:14;;;;;:::i;8717:75::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;8783:1:::1;8768:12;:16:::0;8717:75::o;5284:165::-;5362:4;5379:40;5389:10;5401:9;5412:6;5379:9;:40::i;6119:193::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;6237:11:::1;:27:::0;;;;6275:12:::1;:29:::0;6119:193::o;2411:214::-;2185:6;;-1:-1:-1;;;;;2185:6:0;2195:10;2185:20;2177:50;;;;-1:-1:-1;;;2177:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2500:22:0;::::1;2492:43;;;::::0;-1:-1:-1;;;2492:43:0;;5436:2:1;2492:43:0::1;::::0;::::1;5418:21:1::0;5475:1;5455:18;;;5448:29;-1:-1:-1;;;5493:18:1;;;5486:38;5541:18;;2492:43:0::1;5234:331:1::0;2492:43:0::1;2572:6;::::0;;2551:38:::1;::::0;-1:-1:-1;;;;;2551:38:0;;::::1;::::0;2572:6;::::1;::::0;2551:38:::1;::::0;::::1;2600:6;:17:::0;;-1:-1:-1;;;;;;2600:17:0::1;-1:-1:-1::0;;;;;2600:17:0;;;::::1;::::0;;;::::1;::::0;;2411:214::o;8432:126::-;8475:4;8517:12;;8498:15;:31;;:52;;;;-1:-1:-1;8533:12:0;;:17;;8498:52;8491:59;;8432:126;:::o;6320:177::-;-1:-1:-1;;;;;6405:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6457:32;;1361:25:1;;;6457:32:0;;1334:18:1;6457:32:0;;;;;;;6320:177;;;:::o;7143:1281::-;-1:-1:-1;;;;;5250:18:0;;7257:15;5250:18;;;:9;:18;;;;;;7309:17;;;;7301:46;;;;-1:-1:-1;;;7301:46:0;;5772:2:1;7301:46:0;;;5754:21:1;5811:2;5791:18;;;5784:30;-1:-1:-1;;;5830:18:1;;;5823:46;5886:18;;7301:46:0;5570:340:1;7301:46:0;-1:-1:-1;;;;;7410:16:0;;7360:12;7410:16;;;:12;:16;;;;;;7360:12;;7410:16;;7406:74;;;7451:17;:15;:17::i;:::-;7443:25;;7406:74;-1:-1:-1;;;;;7496:16:0;;;;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;7517:6:0;;;;7516:7;7496:27;:55;;;;-1:-1:-1;;;;;;7528:23:0;;;;;;:17;:23;;;;;;;;7527:24;7496:55;:81;;;;-1:-1:-1;;;;;;7556:21:0;;;;;;:17;:21;;;;;;;;7555:22;7496:81;7492:527;;;7643:4;7594:28;5250:18;;;:9;:18;;;;;;7668:24;;7664:344;;7743:6;7790:42;;;:147;;7918:19;7790:147;;;7897:20;7790:147;7768:169;;7956:36;7972:19;7956:15;:36::i;:::-;7694:314;7664:344;7579:440;7492:527;-1:-1:-1;;;;;8036:23:0;;;;;;:17;:23;;;;;;;;8035:24;:50;;;;-1:-1:-1;;;;;;8064:21:0;;;;;;:17;:21;;;;;;;;8063:22;8035:50;:61;;;;-1:-1:-1;8090:6:0;;;;8089:7;8035:61;8031:325;;;8121:13;:11;:13::i;:::-;8113:33;;;;-1:-1:-1;;;8113:33:0;;6117:2:1;8113:33:0;;;6099:21:1;6156:1;6136:18;;;6129:29;-1:-1:-1;;;6174:18:1;;;6167:38;6222:18;;8113:33:0;5915:331:1;8113:33:0;8225:12;;8171:4;;-1:-1:-1;;;;8225:12:0;;;;:33;;;;;8251:7;8241:6;:17;8225:33;:53;;;;-1:-1:-1;;;;;;8262:16:0;;;;;;:12;:16;;;;;;;;8225:53;8221:124;;;8315:9;;8327:2;;8311:13;;8315:9;;8327:2;8311:13;:::i;:::-;8309:15;;:1;:15;:::i;:::-;:20;;;;:::i;:::-;8299:30;;;;:::i;:::-;;;8221:124;8368:48;8383:4;8389:2;8393:6;8401:7;8410:5;8368:14;:48::i;:::-;7246:1178;;;7143:1281;;;:::o;6658:477::-;6771:12;;6819:22;;;-1:-1:-1;;;6819:22:0;;;;6708:10;;-1:-1:-1;;;;;6771:12:0;;6708:10;;;;6771:12;;6819:20;;:22;;;;;;;;;;;;;;;6771:12;6819:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6795:46;-1:-1:-1;;;;;6795:46:0;;;-1:-1:-1;;;;;6795:46:0;;;6854:18;6875:14;;;;;;;;;-1:-1:-1;;;;;6875:14:0;-1:-1:-1;;;;;6875:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6854:42;-1:-1:-1;6907:9:0;6952:4;-1:-1:-1;;;;;6931:26:0;;;6927:104;;;-1:-1:-1;6978:2:0;6927:104;;;-1:-1:-1;7017:2:0;6927:104;7054:47;;-1:-1:-1;;;7054:47:0;;-1:-1:-1;;;;;2813:32:1;;;7054:47:0;;;2795:51:1;7043:8:0;;7054:28;;;;;;2768:18:1;;7054:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7120:7;;;;;6658:477;-1:-1:-1;;;;;;6658:477:0:o;9773:431::-;3345:6;:13;;-1:-1:-1;;3345:13:0;3354:4;3345:13;;;9874:16:::1;::::0;;9888:1:::1;9874:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9874:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9874:16:0::1;9850:40;;9919:4;9901;9906:1;9901:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9901:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9945:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;9945:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;9901:7;;9945:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9935:4;9940:1;9935:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9935:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;9981:14:::1;::::0;10130:11:::1;::::0;9981:202:::1;::::0;-1:-1:-1;;;9981:202:0;;:14;;::::1;::::0;:65:::1;::::0;:202:::1;::::0;10061:11;;9981:14:::1;::::0;10103:4;;10130:11;;::::1;::::0;10157:15:::1;::::0;9981:202:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9977:218:::0;-1:-1:-1;;3381:6:0;:14;;-1:-1:-1;;3381:14:0;;;9773:431::o;8800:965::-;-1:-1:-1;;;;;8993:17:0;;;;;;:9;:17;;;;;;:27;;9013:7;;8993:27;:::i;:::-;-1:-1:-1;;;;;8973:17:0;;;;;;:9;:17;;;;;:47;;;;9065:7;:17;;;;;9077:5;9076:6;9065:17;9061:551;;;-1:-1:-1;;;;;9132:23:0;;9099:14;9132:23;;;:12;:23;;;;;;;;9128:171;;;-1:-1:-1;9185:12:0;;9128:171;;;-1:-1:-1;;;;;9223:20:0;;;;;;:12;:20;;;;;;;;9219:80;;;-1:-1:-1;9272:11:0;;9219:80;9313:18;9353:5;9334:16;9344:6;9334:7;:16;:::i;:::-;:24;;;;:::i;:::-;9313:45;-1:-1:-1;9377:14:0;;9373:228;;9412:23;9425:10;9412:23;;:::i;:::-;9499:4;9481:24;;;;:9;:24;;;;;;9412:23;;-1:-1:-1;9481:37:0;;9508:10;;9481:37;:::i;:::-;9472:4;9454:24;;;;:9;:24;;;;;;;:64;;;;9542:43;;-1:-1:-1;;;;;9542:43:0;;;;;;;9574:10;1361:25:1;;1349:2;1334:18;;1215:177;9542:43:0;;;;;;;;9373:228;9084:528;;9061:551;9671:19;9681:9;9671:7;:19;:::i;:::-;-1:-1:-1;;;;;9647:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;9624:20:0;;;;;;;:9;:20;;;;;:67;;;;9707:48;;;9735:19;9745:9;9735:7;:19;:::i;:::-;9707:48;;1361:25:1;;;1349:2;1334:18;9707:48:0;;;;;;;8962:803;8800:965;;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:160::-;2112:20;;2168:13;;2161:21;2151:32;;2141:60;;2197:1;2194;2187:12;2141:60;2047:160;;;:::o;2212:180::-;2268:6;2321:2;2309:9;2300:7;2296:23;2292:32;2289:52;;;2337:1;2334;2327:12;2289:52;2360:26;2376:9;2360:26;:::i;:::-;2350:36;2212:180;-1:-1:-1;;;2212:180:1:o;2397:247::-;2456:6;2509:2;2497:9;2488:7;2484:23;2480:32;2477:52;;;2525:1;2522;2515:12;2477:52;2564:9;2551:23;2583:31;2608:5;2583:31;:::i;3087:180::-;3146:6;3199:2;3187:9;3178:7;3174:23;3170:32;3167:52;;;3215:1;3212;3205:12;3167:52;-1:-1:-1;3238:23:1;;3087:180;-1:-1:-1;3087:180:1:o;3272:315::-;3337:6;3345;3398:2;3386:9;3377:7;3373:23;3369:32;3366:52;;;3414:1;3411;3404:12;3366:52;3453:9;3440:23;3472:31;3497:5;3472:31;:::i;:::-;3522:5;-1:-1:-1;3546:35:1;3577:2;3562:18;;3546:35;:::i;:::-;3536:45;;3272:315;;;;;:::o;3592:248::-;3660:6;3668;3721:2;3709:9;3700:7;3696:23;3692:32;3689:52;;;3737:1;3734;3727:12;3689:52;-1:-1:-1;;3760:23:1;;;3830:2;3815:18;;;3802:32;;-1:-1:-1;3592:248:1:o;3845:388::-;3913:6;3921;3974:2;3962:9;3953:7;3949:23;3945:32;3942:52;;;3990:1;3987;3980:12;3942:52;4029:9;4016:23;4048:31;4073:5;4048:31;:::i;:::-;4098:5;-1:-1:-1;4155:2:1;4140:18;;4127:32;4168:33;4127:32;4168:33;:::i;:::-;4220:7;4210:17;;;3845:388;;;;;:::o;4238:380::-;4317:1;4313:12;;;;4360;;;4381:61;;4435:4;4427:6;4423:17;4413:27;;4381:61;4488:2;4480:6;4477:14;4457:18;4454:38;4451:161;;4534:10;4529:3;4525:20;4522:1;4515:31;4569:4;4566:1;4559:15;4597:4;4594:1;4587:15;4451:161;;4238:380;;;:::o;4623:127::-;4684:10;4679:3;4675:20;4672:1;4665:31;4715:4;4712:1;4705:15;4739:4;4736:1;4729:15;4755:128;4822:9;;;4843:11;;;4840:37;;;4857:18;;:::i;4888:341::-;5090:2;5072:21;;;5129:2;5109:18;;;5102:30;-1:-1:-1;;;5163:2:1;5148:18;;5141:47;5220:2;5205:18;;4888:341::o;6251:422::-;6340:1;6383:5;6340:1;6397:270;6418:7;6408:8;6405:21;6397:270;;;6477:4;6473:1;6469:6;6465:17;6459:4;6456:27;6453:53;;;6486:18;;:::i;:::-;6536:7;6526:8;6522:22;6519:55;;;6556:16;;;;6519:55;6635:22;;;;6595:15;;;;6397:270;;;6401:3;6251:422;;;;;:::o;6678:806::-;6727:5;6757:8;6747:80;;-1:-1:-1;6798:1:1;6812:5;;6747:80;6846:4;6836:76;;-1:-1:-1;6883:1:1;6897:5;;6836:76;6928:4;6946:1;6941:59;;;;7014:1;7009:130;;;;6921:218;;6941:59;6971:1;6962:10;;6985:5;;;7009:130;7046:3;7036:8;7033:17;7030:43;;;7053:18;;:::i;:::-;-1:-1:-1;;7109:1:1;7095:16;;7124:5;;6921:218;;7223:2;7213:8;7210:16;7204:3;7198:4;7195:13;7191:36;7185:2;7175:8;7172:16;7167:2;7161:4;7158:12;7154:35;7151:77;7148:159;;;-1:-1:-1;7260:19:1;;;7292:5;;7148:159;7339:34;7364:8;7358:4;7339:34;:::i;:::-;7409:6;7405:1;7401:6;7397:19;7388:7;7385:32;7382:58;;;7420:18;;:::i;:::-;7458:20;;6678:806;-1:-1:-1;;;6678:806:1:o;7489:140::-;7547:5;7576:47;7617:4;7607:8;7603:19;7597:4;7576:47;:::i;7634:168::-;7707:9;;;7738;;7755:15;;;7749:22;;7735:37;7725:71;;7776:18;;:::i;7807:217::-;7847:1;7873;7863:132;;7917:10;7912:3;7908:20;7905:1;7898:31;7952:4;7949:1;7942:15;7980:4;7977:1;7970:15;7863:132;-1:-1:-1;8009:9:1;;7807:217::o;8029:188::-;8108:13;;-1:-1:-1;;;;;8150:42:1;;8140:53;;8130:81;;8207:1;8204;8197:12;8222:450;8309:6;8317;8325;8378:2;8366:9;8357:7;8353:23;8349:32;8346:52;;;8394:1;8391;8384:12;8346:52;8417:40;8447:9;8417:40;:::i;:::-;8407:50;;8476:49;8521:2;8510:9;8506:18;8476:49;:::i;:::-;8466:59;;8568:2;8557:9;8553:18;8547:25;8612:10;8605:5;8601:22;8594:5;8591:33;8581:61;;8638:1;8635;8628:12;8581:61;8661:5;8651:15;;;8222:450;;;;;:::o;8677:251::-;8747:6;8800:2;8788:9;8779:7;8775:23;8771:32;8768:52;;;8816:1;8813;8806:12;8768:52;8848:9;8842:16;8867:31;8892:5;8867:31;:::i;8933:184::-;9003:6;9056:2;9044:9;9035:7;9031:23;9027:32;9024:52;;;9072:1;9069;9062:12;9024:52;-1:-1:-1;9095:16:1;;8933:184;-1:-1:-1;8933:184:1:o;9254:127::-;9315:10;9310:3;9306:20;9303:1;9296:31;9346:4;9343:1;9336:15;9370:4;9367:1;9360:15;9386:980;9648:4;9696:3;9685:9;9681:19;9727:6;9716:9;9709:25;9753:2;9791:6;9786:2;9775:9;9771:18;9764:34;9834:3;9829:2;9818:9;9814:18;9807:31;9858:6;9893;9887:13;9924:6;9916;9909:22;9962:3;9951:9;9947:19;9940:26;;10001:2;9993:6;9989:15;9975:29;;10022:1;10032:195;10046:6;10043:1;10040:13;10032:195;;;10111:13;;-1:-1:-1;;;;;10107:39:1;10095:52;;10202:15;;;;10167:12;;;;10143:1;10061:9;10032:195;;;-1:-1:-1;;;;;;;10283:32:1;;;;10278:2;10263:18;;10256:60;-1:-1:-1;;;10347:3:1;10332:19;10325:35;10244:3;9386:980;-1:-1:-1;;;9386:980:1:o;10371:125::-;10436:9;;;10457:10;;;10454:36;;;10470:18;;:::i

Swarm Source

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