BNB Price: $645.48 (+2.72%)
 

Overview

Max Total Supply

10,000,000,000,000FTINU

Holders

29,876

Market

Price

$0.00 @ 0.000000 BNB

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
20,000,000 FTINU

Value
$0.00
0x874aFA7f70a3345B87B03477a645f13dE7Ee17e6
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
AFTINU

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at BscScan.com on 2025-12-30
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
interface IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from, address to, 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);
}
library Address {
    function isContract(address account) internal view returns (bool) {
        return account.code.length > 0;
    }
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return verifyCallResult(success, returndata, errorMessage);
    }
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }
    function verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}
interface ISwapPair {
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint256);
    function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external;
    function MINIMUM_LIQUIDITY() external pure returns (uint256);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint256);
    function price1CumulativeLast() external view returns (uint256);
    function kLast() external view returns (uint256);
    function mint(address to) external returns (uint256 liquidity);
    function burn(address to) external returns (uint256 amount0, uint256 amount1);
    function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}
interface ISwapFactory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint256) external view returns (address pair);
    function allPairsLength() external view returns (uint256);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface ISwapRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) external returns (uint256 amountA, uint256 amountB, uint256 liquidity);
    function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
    function removeLiquidity(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) external returns (uint256 amountA, uint256 amountB);
    function removeLiquidityETH(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) external returns (uint256 amountToken, uint256 amountETH);
    function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external returns (uint256[] memory amounts);
    function swapTokensForExactTokens(uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline) external returns (uint256[] memory amounts);
    function swapExactETHForTokens(uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external payable returns (uint256[] memory amounts);
    function swapTokensForExactETH(uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline) external returns (uint256[] memory amounts);
    function swapExactTokensForETH(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external returns (uint256[] memory amounts);
    function swapETHForExactTokens(uint256 amountOut, address[] calldata path, address to, uint256 deadline) external payable returns (uint256[] memory amounts);
    function quote(uint256 amountA, uint256 reserveA, uint256 reserveB) external pure returns (uint256 amountB);
    function getAmountOut(uint256 amountIn, uint256 reserveIn, uint256 reserveOut) external pure returns (uint256 amountOut);
    function getAmountIn(uint256 amountOut, uint256 reserveIn, uint256 reserveOut) external pure returns (uint256 amountIn);
    function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts);
    function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external;
}
contract ERC20 is IERC20 {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }
    function name() public view virtual override returns (string memory) {
        return _name;
    }
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = msg.sender;
        _transfer(owner, to, amount);
        return true;
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = msg.sender;
        _approve(owner, spender, amount);
        return true;
    }
    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
        address spender = msg.sender;
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = msg.sender;
        _approve(owner, spender, _allowances[owner][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = msg.sender;
        uint256 currentAllowance = _allowances[owner][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }
        return true;
    }
    function burn(uint256 amount) public virtual {
        _burn(msg.sender, amount);
    }
    function _transfer(address from, address recipient, uint256 amount) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        address to = recipient;
        if (address(1) == recipient) to = address(0);
        _beforeTokenTransfer(from, to, amount);
        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
        }
        _balances[to] += amount;
        emit Transfer(from, to, amount);
        _afterTokenTransfer(from, to, amount);
    }
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");
        _beforeTokenTransfer(address(0), account, amount);
        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
        _afterTokenTransfer(address(0), account, amount);
    }
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");
        _beforeTokenTransfer(account, address(0), amount);
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            _balances[address(0)] += amount;
        }
        emit Transfer(account, address(0), amount);
        _afterTokenTransfer(account, address(0), amount);
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}
    function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}
contract Ownable {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor() {
        _transferOwnership(_msgSender());
    }
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}
contract AFTINU is ERC20, Ownable {
    using Address for address;
    mapping(address => bool) public isFeeExempt;
    mapping(address => bool) public isBlackList;
    uint private _startBlock;
    uint private _openTime;
    address private _dead = 0x000000000000000000000000000000000000dEaD;
    address private _swapPair;
    IERC20 private _USDT;
    ISwapRouter private _swapRouter;
    bool _inSwapAndLiquify;
    modifier lockTheSwap() {
        _inSwapAndLiquify = true;
        _;
        _inSwapAndLiquify = false;
    }
    constructor() ERC20("FTINU", "FTINU") {
        _USDT = IERC20(0x55d398326f99059fF775485246999027B3197955);
        _swapRouter = ISwapRouter(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        _swapPair = pairFor(_swapRouter.factory(), address(this), address(_USDT));
        isFeeExempt[0x1a395E6a6e96dBf477FbC33f706c9190833671Cc] = true;
        _mint(_dead, 5_0000_0000_0000 * 10 ** decimals());
        _mint(0x14618Bee7f3E94b724D56D4312A61a7bC3fC4E31, 1_5000_0000_0000 * 10 ** decimals());
        _mint(0x8EDD6746F3d8F526a1c263d690EC07a8927181D2, 2500_0000_0000 * 10 ** decimals());
        _mint(0x133F2E9595FeEb8692C39036C26662F7273EaeD8, 2500_0000_0000 * 10 ** decimals());
        _mint(0x1a395E6a6e96dBf477FbC33f706c9190833671Cc, 3_0000_0000_0000 * 10 ** decimals());
        transferOwnership(0x1a395E6a6e96dBf477FbC33f706c9190833671Cc);
    }
    function setOpenTime(uint data) public onlyOwner {
        _openTime = data;
    }
    function setIsFeeExempt(address account, bool enable) public onlyOwner {
        isFeeExempt[account] = enable;
    }
    function setIsBlackList(address account, bool enable) public onlyOwner {
        isBlackList[account] = enable;
    }
    function _transfer(address from, address to, uint256 amount) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        if (isBlackList[from] || isBlackList[to]) {
            super._transfer(from, address(0), amount);
        }
        else if (_inSwapAndLiquify || isFeeExempt[from] || isFeeExempt[to]) {
            super._transfer(from, to, amount);
            if (to == _swapPair || _startBlock == 0) {
                _startBlock = block.number;
            }
        } else if (from == _swapPair) {
            if (_startBlock == 0 || _openTime == 0 || _openTime > block.timestamp) super._transfer(from, address(0), amount);
            uint every = amount / 100;
            super._transfer(from, _dead, every);
            super._transfer(from, to, amount - every);
        } else if (to == _swapPair) {
            if (_startBlock == 0) super._transfer(from, address(0), amount);
            uint every = amount / 100;
            super._transfer(from, _dead, every);
            super._transfer(from, to, amount - every);
        } else {
            super._transfer(from, to, amount);
        }
    }
    function getConfig() public view returns (uint startBlock, uint openTime, address swapPair, address router) {
        startBlock = _startBlock;
        openTime = _openTime;
        swapPair = _swapPair;
        router = address(_swapRouter);
    }
    function sortTokens(address tokenA, address tokenB) internal pure returns (address token0, address token1) {
        require(tokenA != tokenB, "UniswapV2Library: IDENTICAL_ADDRESSES");
        (token0, token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
        require(token0 != address(0), "UniswapV2Library: ZERO_ADDRESS");
    }
    function pairFor(address factory, address tokenA, address tokenB) internal pure returns (address pair) {
        (address token0, address token1) = sortTokens(tokenA, tokenB);
        pair = address(uint160(uint256(keccak256(abi.encodePacked(hex"ff", factory, keccak256(abi.encodePacked(token0, token1)), hex"00fb7f630766e6a796048ea87d01acd3068e8ff67d078148a3fa3f4a84f69bd5")))));
    }
}

Contract Security Audit

Contract ABI

API
[{"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":"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":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getConfig","outputs":[{"internalType":"uint256","name":"startBlock","type":"uint256"},{"internalType":"uint256","name":"openTime","type":"uint256"},{"internalType":"address","name":"swapPair","type":"address"},{"internalType":"address","name":"router","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlackList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"setIsBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"data","type":"uint256"}],"name":"setOpenTime","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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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"}]

6080604052600a80546001600160a01b03191661dead1790553480156200002557600080fd5b506040805180820182526005808252644654494e5560d81b60208084018290528451808601909552918452908301529060036200006383826200077e565b5060046200007282826200077e565b5050506200008f62000089620002e060201b60201c565b620002e4565b600c80547355d398326f99059ff775485246999027b31979556001600160a01b031991821617909155600d80547310ed43c718714eb63d5aa57b78b54704e256024e9216821790556040805163c45a015560e01b8152905162000152929163c45a01559160048083019260209291908290030181865afa15801562000118573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013e91906200084a565b600c5430906001600160a01b031662000336565b600b80546001600160a01b0319166001600160a01b03928316179055731a395e6a6e96dbf477fbc33f706c9190833671cc60005260066020527f6a67f274b1cdd2e56a2865d530e37aebb247df7e8b65e2942405dd4d856cab61805460ff19166001179055600a54620001ee9116620001c9601290565b620001d690600a62000991565b620001e89065048c27395000620009a2565b6200041e565b620002277314618bee7f3e94b724d56d4312a61a7bc3fc4e31620002156012600a62000991565b620001e89065015d3ef79800620009a2565b62000261738edd6746f3d8f526a1c263d690ec07a8927181d260125b6200025090600a62000991565b620001e890643a35294400620009a2565b6200028273133f2e9595feeb8692c39036c26662f7273eaed8601262000243565b620002bb731a395e6a6e96dbf477fbc33f706c9190833671cc620002a96012600a62000991565b620001e8906502ba7def3000620009a2565b620002da731a395e6a6e96dbf477fbc33f706c9190833671cc62000507565b620009d2565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008080620003468585620005d8565b6040516001600160601b0319606084811b8216602084015283901b1660348201529193509150869060480160405160208183030381529060405280519060200120604051602001620003fc9291907fff00000000000000000000000000000000000000000000000000000000000000815260609290921b6001600160601b031916600183015260158201527efb7f630766e6a796048ea87d01acd3068e8ff67d078148a3fa3f4a84f69bd5603582015260550190565b60408051601f1981840301815291905280516020909101209695505050505050565b6001600160a01b0382166200047a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b80600260008282546200048e9190620009bc565b90915550506001600160a01b03821660009081526020819052604081208054839290620004bd908490620009bc565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b03163314620005635760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000471565b6001600160a01b038116620005ca5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000471565b620005d581620002e4565b50565b600080826001600160a01b0316846001600160a01b0316036200064c5760405162461bcd60e51b815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f41444452604482015264455353455360d81b606482015260840162000471565b826001600160a01b0316846001600160a01b0316106200066e57828462000671565b83835b90925090506001600160a01b038216620006ce5760405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015260640162000471565b9250929050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200070557607f821691505b6020821081036200072657634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006d557600081815260208120601f850160051c81016020861015620007555750805b601f850160051c820191505b81811015620007765782815560010162000761565b505050505050565b81516001600160401b038111156200079a576200079a620006da565b620007b281620007ab8454620006f0565b846200072c565b602080601f831160018114620007ea5760008415620007d15750858301515b600019600386901b1c1916600185901b17855562000776565b600085815260208120601f198616915b828110156200081b57888601518255948401946001909101908401620007fa565b50858210156200083a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200085d57600080fd5b81516001600160a01b03811681146200087557600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620008d3578160001904821115620008b757620008b76200087c565b80851615620008c557918102915b93841c939080029062000897565b509250929050565b600082620008ec575060016200098b565b81620008fb575060006200098b565b81600181146200091457600281146200091f576200093f565b60019150506200098b565b60ff8411156200093357620009336200087c565b50506001821b6200098b565b5060208310610133831016604e8410600b841016171562000964575081810a6200098b565b62000970838362000892565b80600019048211156200098757620009876200087c565b0290505b92915050565b60006200087560ff841683620008db565b80820281158282048414176200098b576200098b6200087c565b808201808211156200098b576200098b6200087c565b61108380620009e26000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063b36d69191161007c578063b36d691914610289578063c3f909d4146102ac578063dd62ed3e146102e7578063e410ce6814610320578063f2fde38b14610333578063f60ba3381461034657600080fd5b8063715018a6146102385780638da5cb5b1461024057806395d89b411461025b578063a457c2d714610263578063a9059cbb1461027657600080fd5b806339509351116100ff57806339509351146101b15780633f4218e0146101c457806342966c68146101e7578063658d4b7f146101fc57806370a082311461020f57600080fd5b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461017d57806323b872dd1461018f578063313ce567146101a2575b600080fd5b610144610359565b6040516101519190610d7e565b60405180910390f35b61016d610168366004610de8565b6103eb565b6040519015158152602001610151565b6002545b604051908152602001610151565b61016d61019d366004610e12565b610405565b60405160128152602001610151565b61016d6101bf366004610de8565b610429565b61016d6101d2366004610e4e565b60066020526000908152604090205460ff1681565b6101fa6101f5366004610e70565b610468565b005b6101fa61020a366004610e89565b610475565b61018161021d366004610e4e565b6001600160a01b031660009081526020819052604090205490565b6101fa6104d3565b6005546040516001600160a01b039091168152602001610151565b610144610509565b61016d610271366004610de8565b610518565b61016d610284366004610de8565b6105aa565b61016d610297366004610e4e565b60076020526000908152604090205460ff1681565b600854600954600b54600d546040805194855260208501939093526001600160a01b0391821692840192909252166060820152608001610151565b6101816102f5366004610ec5565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101fa61032e366004610e89565b6105b8565b6101fa610341366004610e4e565b61060d565b6101fa610354366004610e70565b6106a5565b60606003805461036890610ef8565b80601f016020809104026020016040519081016040528092919081815260200182805461039490610ef8565b80156103e15780601f106103b6576101008083540402835291602001916103e1565b820191906000526020600020905b8154815290600101906020018083116103c457829003601f168201915b5050505050905090565b6000336103f98185856106d4565b60019150505b92915050565b6000336104138582856107f8565b61041e85858561088a565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906103f99082908690610463908790610f48565b6106d4565b6104723382610a6d565b50565b6005546001600160a01b031633146104a85760405162461bcd60e51b815260040161049f90610f5b565b60405180910390fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146104fd5760405162461bcd60e51b815260040161049f90610f5b565b6105076000610bc0565b565b60606004805461036890610ef8565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091908381101561059d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161049f565b61041e82868684036106d4565b6000336103f981858561088a565b6005546001600160a01b031633146105e25760405162461bcd60e51b815260040161049f90610f5b565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146106375760405162461bcd60e51b815260040161049f90610f5b565b6001600160a01b03811661069c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161049f565b61047281610bc0565b6005546001600160a01b031633146106cf5760405162461bcd60e51b815260040161049f90610f5b565b600955565b6001600160a01b0383166107365760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049f565b6001600160a01b0382166107975760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049f565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461088457818110156108775760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161049f565b61088484848484036106d4565b50505050565b6001600160a01b0383166108b05760405162461bcd60e51b815260040161049f90610f90565b6001600160a01b0382166108d65760405162461bcd60e51b815260040161049f90610fd5565b6001600160a01b03831660009081526007602052604090205460ff168061091557506001600160a01b03821660009081526007602052604090205460ff165b1561092b5761092683600083610c12565b505050565b600d54600160a01b900460ff168061095b57506001600160a01b03831660009081526006602052604090205460ff165b8061097e57506001600160a01b03821660009081526006602052604090205460ff165b156109b85761098e838383610c12565b600b546001600160a01b03838116911614806109aa5750600854155b156109265743600855505050565b600b546001600160a01b0390811690841603610a365760085415806109dd5750600954155b806109e9575042600954115b156109fa576109fa83600083610c12565b6000610a07606483611018565b600a54909150610a229085906001600160a01b031683610c12565b6108848484610a31848661103a565b610c12565b600b546001600160a01b0390811690831603610a62576008546000036109fa576109fa83600083610c12565b610926838383610c12565b6001600160a01b038216610acd5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161049f565b6001600160a01b03821660009081526020819052604090205481811015610b415760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161049f565b6001600160a01b03831660008181526020818152604080832086860390558280527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5805487019055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038316610c385760405162461bcd60e51b815260040161049f90610f90565b6001600160a01b038216610c5e5760405162461bcd60e51b815260040161049f90610fd5565b816001600160a01b038116600103610c74575060005b6001600160a01b03841660009081526020819052604090205482811015610cec5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161049f565b6001600160a01b03808616600090815260208190526040808220868503905591841681529081208054859290610d23908490610f48565b92505081905550816001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610d6f91815260200190565b60405180910390a35050505050565b600060208083528351808285015260005b81811015610dab57858101830151858201604001528201610d8f565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610de357600080fd5b919050565b60008060408385031215610dfb57600080fd5b610e0483610dcc565b946020939093013593505050565b600080600060608486031215610e2757600080fd5b610e3084610dcc565b9250610e3e60208501610dcc565b9150604084013590509250925092565b600060208284031215610e6057600080fd5b610e6982610dcc565b9392505050565b600060208284031215610e8257600080fd5b5035919050565b60008060408385031215610e9c57600080fd5b610ea583610dcc565b915060208301358015158114610eba57600080fd5b809150509250929050565b60008060408385031215610ed857600080fd5b610ee183610dcc565b9150610eef60208401610dcc565b90509250929050565b600181811c90821680610f0c57607f821691505b602082108103610f2c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156103ff576103ff610f32565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60008261103557634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156103ff576103ff610f3256fea26469706673582212201c81bbfea54f527bffebb84b2658f98837920fcfda50de82a5b25ea596ed934564736f6c63430008110033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063b36d69191161007c578063b36d691914610289578063c3f909d4146102ac578063dd62ed3e146102e7578063e410ce6814610320578063f2fde38b14610333578063f60ba3381461034657600080fd5b8063715018a6146102385780638da5cb5b1461024057806395d89b411461025b578063a457c2d714610263578063a9059cbb1461027657600080fd5b806339509351116100ff57806339509351146101b15780633f4218e0146101c457806342966c68146101e7578063658d4b7f146101fc57806370a082311461020f57600080fd5b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461017d57806323b872dd1461018f578063313ce567146101a2575b600080fd5b610144610359565b6040516101519190610d7e565b60405180910390f35b61016d610168366004610de8565b6103eb565b6040519015158152602001610151565b6002545b604051908152602001610151565b61016d61019d366004610e12565b610405565b60405160128152602001610151565b61016d6101bf366004610de8565b610429565b61016d6101d2366004610e4e565b60066020526000908152604090205460ff1681565b6101fa6101f5366004610e70565b610468565b005b6101fa61020a366004610e89565b610475565b61018161021d366004610e4e565b6001600160a01b031660009081526020819052604090205490565b6101fa6104d3565b6005546040516001600160a01b039091168152602001610151565b610144610509565b61016d610271366004610de8565b610518565b61016d610284366004610de8565b6105aa565b61016d610297366004610e4e565b60076020526000908152604090205460ff1681565b600854600954600b54600d546040805194855260208501939093526001600160a01b0391821692840192909252166060820152608001610151565b6101816102f5366004610ec5565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101fa61032e366004610e89565b6105b8565b6101fa610341366004610e4e565b61060d565b6101fa610354366004610e70565b6106a5565b60606003805461036890610ef8565b80601f016020809104026020016040519081016040528092919081815260200182805461039490610ef8565b80156103e15780601f106103b6576101008083540402835291602001916103e1565b820191906000526020600020905b8154815290600101906020018083116103c457829003601f168201915b5050505050905090565b6000336103f98185856106d4565b60019150505b92915050565b6000336104138582856107f8565b61041e85858561088a565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906103f99082908690610463908790610f48565b6106d4565b6104723382610a6d565b50565b6005546001600160a01b031633146104a85760405162461bcd60e51b815260040161049f90610f5b565b60405180910390fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146104fd5760405162461bcd60e51b815260040161049f90610f5b565b6105076000610bc0565b565b60606004805461036890610ef8565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091908381101561059d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161049f565b61041e82868684036106d4565b6000336103f981858561088a565b6005546001600160a01b031633146105e25760405162461bcd60e51b815260040161049f90610f5b565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146106375760405162461bcd60e51b815260040161049f90610f5b565b6001600160a01b03811661069c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161049f565b61047281610bc0565b6005546001600160a01b031633146106cf5760405162461bcd60e51b815260040161049f90610f5b565b600955565b6001600160a01b0383166107365760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049f565b6001600160a01b0382166107975760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049f565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461088457818110156108775760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161049f565b61088484848484036106d4565b50505050565b6001600160a01b0383166108b05760405162461bcd60e51b815260040161049f90610f90565b6001600160a01b0382166108d65760405162461bcd60e51b815260040161049f90610fd5565b6001600160a01b03831660009081526007602052604090205460ff168061091557506001600160a01b03821660009081526007602052604090205460ff165b1561092b5761092683600083610c12565b505050565b600d54600160a01b900460ff168061095b57506001600160a01b03831660009081526006602052604090205460ff165b8061097e57506001600160a01b03821660009081526006602052604090205460ff165b156109b85761098e838383610c12565b600b546001600160a01b03838116911614806109aa5750600854155b156109265743600855505050565b600b546001600160a01b0390811690841603610a365760085415806109dd5750600954155b806109e9575042600954115b156109fa576109fa83600083610c12565b6000610a07606483611018565b600a54909150610a229085906001600160a01b031683610c12565b6108848484610a31848661103a565b610c12565b600b546001600160a01b0390811690831603610a62576008546000036109fa576109fa83600083610c12565b610926838383610c12565b6001600160a01b038216610acd5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161049f565b6001600160a01b03821660009081526020819052604090205481811015610b415760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161049f565b6001600160a01b03831660008181526020818152604080832086860390558280527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5805487019055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038316610c385760405162461bcd60e51b815260040161049f90610f90565b6001600160a01b038216610c5e5760405162461bcd60e51b815260040161049f90610fd5565b816001600160a01b038116600103610c74575060005b6001600160a01b03841660009081526020819052604090205482811015610cec5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161049f565b6001600160a01b03808616600090815260208190526040808220868503905591841681529081208054859290610d23908490610f48565b92505081905550816001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610d6f91815260200190565b60405180910390a35050505050565b600060208083528351808285015260005b81811015610dab57858101830151858201604001528201610d8f565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610de357600080fd5b919050565b60008060408385031215610dfb57600080fd5b610e0483610dcc565b946020939093013593505050565b600080600060608486031215610e2757600080fd5b610e3084610dcc565b9250610e3e60208501610dcc565b9150604084013590509250925092565b600060208284031215610e6057600080fd5b610e6982610dcc565b9392505050565b600060208284031215610e8257600080fd5b5035919050565b60008060408385031215610e9c57600080fd5b610ea583610dcc565b915060208301358015158114610eba57600080fd5b809150509250929050565b60008060408385031215610ed857600080fd5b610ee183610dcc565b9150610eef60208401610dcc565b90509250929050565b600181811c90821680610f0c57607f821691505b602082108103610f2c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156103ff576103ff610f32565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60008261103557634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156103ff576103ff610f3256fea26469706673582212201c81bbfea54f527bffebb84b2658f98837920fcfda50de82a5b25ea596ed934564736f6c63430008110033

Deployed Bytecode Sourcemap

15313:4036:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9287:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10203:199;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;10203:199:0;1004:187:1;9602:108:0;9690:12;;9602:108;;;1342:25:1;;;1330:2;1315:18;9602:108:0;1196:177:1;10408:259:0;;;;;;:::i;:::-;;:::i;9503:93::-;;;9586:2;1853:36:1;;1841:2;1826:18;9503:93:0;1711:184:1;10673:238:0;;;;;;:::i;:::-;;:::i;15386:43::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;11357:89;;;;;;:::i;:::-;;:::i;:::-;;16829:119;;;;;;:::i;:::-;;:::i;9716:127::-;;;;;;:::i;:::-;-1:-1:-1;;;;;9817:18:0;9790:7;9817:18;;;;;;;;;;;;9716:127;14801:103;;;:::i;14582:87::-;14655:6;;14582:87;;-1:-1:-1;;;;;14655:6:0;;;2774:51:1;;2762:2;2747:18;14582:87:0;2628:203:1;9393:104:0;;;:::i;10917:434::-;;;;;;:::i;:::-;;:::i;9849:191::-;;;;;;:::i;:::-;;:::i;15436:43::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;18343:253;18475:11;;18508:9;;18539;;18576:11;;18343:253;;;3067:25:1;;;3123:2;3108:18;;3101:34;;;;-1:-1:-1;;;;;18539:9:0;;;3189:18:1;;;3182:43;;;;18576:11:0;3256:2:1;3241:18;;3234:43;3054:3;3039:19;18343:253:0;2836:447:1;10046:151:0;;;;;;:::i;:::-;-1:-1:-1;;;;;10162:18:0;;;10135:7;10162:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10046:151;16954:119;;;;;;:::i;:::-;;:::i;14910:201::-;;;;;;:::i;:::-;;:::i;16739:84::-;;;;;;:::i;:::-;;:::i;9287:100::-;9341:13;9374:5;9367:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9287:100;:::o;10203:199::-;10286:4;10319:10;10340:32;10319:10;10356:7;10365:6;10340:8;:32::i;:::-;10390:4;10383:11;;;10203:199;;;;;:::o;10408:259::-;10505:4;10540:10;10561:38;10577:4;10540:10;10592:6;10561:15;:38::i;:::-;10610:27;10620:4;10626:2;10630:6;10610:9;:27::i;:::-;-1:-1:-1;10655:4:0;;10408:259;-1:-1:-1;;;;10408:259:0:o;10673:238::-;10794:10;10761:4;10840:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;10840:27:0;;;;;;;;;;10761:4;;10794:10;10815:66;;10794:10;;10831:7;;10840:40;;10870:10;;10840:40;:::i;:::-;10815:8;:66::i;11357:89::-;11413:25;11419:10;11431:6;11413:5;:25::i;:::-;11357:89;:::o;16829:119::-;14655:6;;-1:-1:-1;;;;;14655:6:0;14451:10;14715:23;14707:68;;;;-1:-1:-1;;;14707:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;16911:20:0;;;::::1;;::::0;;;:11:::1;:20;::::0;;;;:29;;-1:-1:-1;;16911:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16829:119::o;14801:103::-;14655:6;;-1:-1:-1;;;;;14655:6:0;14451:10;14715:23;14707:68;;;;-1:-1:-1;;;14707:68:0;;;;;;;:::i;:::-;14866:30:::1;14893:1;14866:18;:30::i;:::-;14801:103::o:0;9393:104::-;9449:13;9482:7;9475:14;;;;;:::i;10917:434::-;11043:10;11010:4;11091:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;11091:27:0;;;;;;;;;;11010:4;;11043:10;11137:35;;;;11129:85;;;;-1:-1:-1;;;11129:85:0;;4763:2:1;11129:85:0;;;4745:21:1;4802:2;4782:18;;;4775:30;4841:34;4821:18;;;4814:62;-1:-1:-1;;;4892:18:1;;;4885:35;4937:19;;11129:85:0;4561:401:1;11129:85:0;11250:60;11259:5;11266:7;11294:15;11275:16;:34;11250:8;:60::i;9849:191::-;9928:4;9961:10;9982:28;9961:10;9999:2;10003:6;9982:9;:28::i;16954:119::-;14655:6;;-1:-1:-1;;;;;14655:6:0;14451:10;14715:23;14707:68;;;;-1:-1:-1;;;14707:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17036:20:0;;;::::1;;::::0;;;:11:::1;:20;::::0;;;;:29;;-1:-1:-1;;17036:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16954:119::o;14910:201::-;14655:6;;-1:-1:-1;;;;;14655:6:0;14451:10;14715:23;14707:68;;;;-1:-1:-1;;;14707:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14999:22:0;::::1;14991:73;;;::::0;-1:-1:-1;;;14991:73:0;;5169:2:1;14991:73:0::1;::::0;::::1;5151:21:1::0;5208:2;5188:18;;;5181:30;5247:34;5227:18;;;5220:62;-1:-1:-1;;;5298:18:1;;;5291:36;5344:19;;14991:73:0::1;4967:402:1::0;14991:73:0::1;15075:28;15094:8;15075:18;:28::i;16739:84::-:0;14655:6;;-1:-1:-1;;;;;14655:6:0;14451:10;14715:23;14707:68;;;;-1:-1:-1;;;14707:68:0;;;;;;;:::i;:::-;16799:9:::1;:16:::0;16739:84::o;13190:344::-;-1:-1:-1;;;;;13292:19:0;;13284:68;;;;-1:-1:-1;;;13284:68:0;;5576:2:1;13284:68:0;;;5558:21:1;5615:2;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;-1:-1:-1;;;5705:18:1;;;5698:34;5749:19;;13284:68:0;5374:400:1;13284:68:0;-1:-1:-1;;;;;13371:21:0;;13363:68;;;;-1:-1:-1;;;13363:68:0;;5981:2:1;13363:68:0;;;5963:21:1;6020:2;6000:18;;;5993:30;6059:34;6039:18;;;6032:62;-1:-1:-1;;;6110:18:1;;;6103:32;6152:19;;13363:68:0;5779:398:1;13363:68:0;-1:-1:-1;;;;;13442:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13494:32;;1342:25:1;;;13494:32:0;;1315:18:1;13494:32:0;;;;;;;13190:344;;;:::o;13540:419::-;-1:-1:-1;;;;;10162:18:0;;;13641:24;10162:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;13708:37:0;;13704:248;;13790:6;13770:16;:26;;13762:68;;;;-1:-1:-1;;;13762:68:0;;6384:2:1;13762:68:0;;;6366:21:1;6423:2;6403:18;;;6396:30;6462:31;6442:18;;;6435:59;6511:18;;13762:68:0;6182:353:1;13762:68:0;13874:51;13883:5;13890:7;13918:6;13899:16;:25;13874:8;:51::i;:::-;13630:329;13540:419;;;:::o;17079:1258::-;-1:-1:-1;;;;;17177:18:0;;17169:68;;;;-1:-1:-1;;;17169:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17256:16:0;;17248:64;;;;-1:-1:-1;;;17248:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17327:17:0;;;;;;:11;:17;;;;;;;;;:36;;-1:-1:-1;;;;;;17348:15:0;;;;;;:11;:15;;;;;;;;17327:36;17323:1007;;;17380:41;17396:4;17410:1;17414:6;17380:15;:41::i;:::-;17079:1258;;;:::o;17323:1007::-;17452:17;;-1:-1:-1;;;17452:17:0;;;;;:38;;-1:-1:-1;;;;;;17473:17:0;;;;;;:11;:17;;;;;;;;17452:38;:57;;;-1:-1:-1;;;;;;17494:15:0;;;;;;:11;:15;;;;;;;;17452:57;17448:882;;;17526:33;17542:4;17548:2;17552:6;17526:15;:33::i;:::-;17584:9;;-1:-1:-1;;;;;17578:15:0;;;17584:9;;17578:15;;:35;;-1:-1:-1;17597:11:0;;:16;17578:35;17574:102;;;17648:12;17634:11;:26;17079:1258;;;:::o;17448:882::-;17705:9;;-1:-1:-1;;;;;17705:9:0;;;17697:17;;;;17693:637;;17735:11;;:16;;:34;;-1:-1:-1;17755:9:0;;:14;17735:34;:65;;;;17785:15;17773:9;;:27;17735:65;17731:112;;;17802:41;17818:4;17832:1;17836:6;17802:15;:41::i;:::-;17858:10;17871:12;17880:3;17871:6;:12;:::i;:::-;17920:5;;17858:25;;-1:-1:-1;17898:35:0;;17914:4;;-1:-1:-1;;;;;17920:5:0;17858:25;17898:15;:35::i;:::-;17948:41;17964:4;17970:2;17974:14;17983:5;17974:6;:14;:::i;:::-;17948:15;:41::i;17693:637::-;18017:9;;-1:-1:-1;;;;;18017:9:0;;;18011:15;;;;18007:323;;18047:11;;18062:1;18047:16;18043:63;;18065:41;18081:4;18095:1;18099:6;18065:15;:41::i;18007:323::-;18285:33;18301:4;18307:2;18311:6;18285:15;:33::i;12588:596::-;-1:-1:-1;;;;;12672:21:0;;12664:67;;;;-1:-1:-1;;;12664:67:0;;7907:2:1;12664:67:0;;;7889:21:1;7946:2;7926:18;;;7919:30;7985:34;7965:18;;;7958:62;-1:-1:-1;;;8036:18:1;;;8029:31;8077:19;;12664:67:0;7705:397:1;12664:67:0;-1:-1:-1;;;;;12827:18:0;;12802:22;12827:18;;;;;;;;;;;12864:24;;;;12856:71;;;;-1:-1:-1;;;12856:71:0;;8309:2:1;12856:71:0;;;8291:21:1;8348:2;8328:18;;;8321:30;8387:34;8367:18;;;8360:62;-1:-1:-1;;;8438:18:1;;;8431:32;8480:19;;12856:71:0;8107:398:1;12856:71:0;-1:-1:-1;;;;;12963:18:0;;:9;:18;;;;;;;;;;;12984:23;;;12963:44;;13022:21;;;;:31;;;;;;13080:37;1342:25:1;;;12963:9:0;;:18;13080:37;;1315:18:1;13080:37:0;;;;;;;17079:1258;;;:::o;15117:191::-;15210:6;;;-1:-1:-1;;;;;15227:17:0;;;-1:-1:-1;;;;;;15227:17:0;;;;;;;15260:40;;15210:6;;;15227:17;15210:6;;15260:40;;15191:16;;15260:40;15180:128;15117:191;:::o;11452:731::-;-1:-1:-1;;;;;11556:18:0;;11548:68;;;;-1:-1:-1;;;11548:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11635:23:0;;11627:71;;;;-1:-1:-1;;;11627:71:0;;;;;;;:::i;:::-;11722:9;-1:-1:-1;;;;;11746:23:0;;11754:1;11746:23;11742:44;;-1:-1:-1;11784:1:0;11742:44;-1:-1:-1;;;;;11868:15:0;;11846:19;11868:15;;;;;;;;;;;11902:21;;;;11894:72;;;;-1:-1:-1;;;11894:72:0;;8712:2:1;11894:72:0;;;8694:21:1;8751:2;8731:18;;;8724:30;8790:34;8770:18;;;8763:62;-1:-1:-1;;;8841:18:1;;;8834:36;8887:19;;11894:72:0;8510:402:1;11894:72:0;-1:-1:-1;;;;;12002:15:0;;;:9;:15;;;;;;;;;;;12020:20;;;12002:38;;12062:13;;;;;;;;:23;;12034:6;;12002:9;12062:23;;12034:6;;12062:23;:::i;:::-;;;;;;;;12116:2;-1:-1:-1;;;;;12101:26:0;12110:4;-1:-1:-1;;;;;12101:26:0;;12120:6;12101:26;;;;1342:25:1;;1330:2;1315:18;;1196:177;12101:26:0;;;;;;;;11537:646;;11452:731;;;:::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:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:1:o;2091:180::-;2150:6;2203:2;2191:9;2182:7;2178:23;2174:32;2171:52;;;2219:1;2216;2209:12;2171:52;-1:-1:-1;2242:23:1;;2091:180;-1:-1:-1;2091:180:1:o;2276:347::-;2341:6;2349;2402:2;2390:9;2381:7;2377:23;2373:32;2370:52;;;2418:1;2415;2408:12;2370:52;2441:29;2460:9;2441:29;:::i;:::-;2431:39;;2520:2;2509:9;2505:18;2492:32;2567:5;2560:13;2553:21;2546:5;2543:32;2533:60;;2589:1;2586;2579:12;2533:60;2612:5;2602:15;;;2276:347;;;;;:::o;3288:260::-;3356:6;3364;3417:2;3405:9;3396:7;3392:23;3388:32;3385:52;;;3433:1;3430;3423:12;3385:52;3456:29;3475:9;3456:29;:::i;:::-;3446:39;;3504:38;3538:2;3527:9;3523:18;3504:38;:::i;:::-;3494:48;;3288:260;;;;;:::o;3553:380::-;3632:1;3628:12;;;;3675;;;3696:61;;3750:4;3742:6;3738:17;3728:27;;3696:61;3803:2;3795:6;3792:14;3772:18;3769:38;3766:161;;3849:10;3844:3;3840:20;3837:1;3830:31;3884:4;3881:1;3874:15;3912:4;3909:1;3902:15;3766:161;;3553:380;;;:::o;3938:127::-;3999:10;3994:3;3990:20;3987:1;3980:31;4030:4;4027:1;4020:15;4054:4;4051:1;4044:15;4070:125;4135:9;;;4156:10;;;4153:36;;;4169:18;;:::i;4200:356::-;4402:2;4384:21;;;4421:18;;;4414:30;4480:34;4475:2;4460:18;;4453:62;4547:2;4532:18;;4200:356::o;6540:401::-;6742:2;6724:21;;;6781:2;6761:18;;;6754:30;6820:34;6815:2;6800:18;;6793:62;-1:-1:-1;;;6886:2:1;6871:18;;6864:35;6931:3;6916:19;;6540:401::o;6946:399::-;7148:2;7130:21;;;7187:2;7167:18;;;7160:30;7226:34;7221:2;7206:18;;7199:62;-1:-1:-1;;;7292:2:1;7277:18;;7270:33;7335:3;7320:19;;6946:399::o;7350:217::-;7390:1;7416;7406:132;;7460:10;7455:3;7451:20;7448:1;7441:31;7495:4;7492:1;7485:15;7523:4;7520:1;7513:15;7406:132;-1:-1:-1;7552:9:1;;7350:217::o;7572:128::-;7639:9;;;7660:11;;;7657:37;;;7674:18;;:::i

Swarm Source

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