ETH Price: $2,374.21 (+0.25%)

Token

IntelliQuantAI ($INQU)
 

Overview

Max Total Supply

100,000,000 $INQU

Holders

83

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 $INQU

Value
$0.00
0xa0ca7cdca40d45887deebe12d93331617ba3004f
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:
INQU

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-03-11
*/

/**

Website: https://intelliquantai.org
Whitepaper: https://docs.intelliquantai.org
Twitter: https://twitter.com/intelliquant_ai
Telegram: https://t.me/intelliquantai
 
*/

// SPDX-License-Identifier: No

pragma solidity ^0.8.15;

//--- Context ---//
abstract contract Context {
    constructor() {
    }

    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

//--- Ownable ---//
abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

    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 {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IFactoryV2 {
    event PairCreated(address indexed token0, address indexed token1, address _dexPair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address _dexPair);
    function createPair(address tokenA, address tokenB) external returns (address _dexPair);
}

interface IV2Pair {
    function factory() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function sync() external;
}

interface IRouter01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function swapExactETHForTokens(
        uint amountOutMin, 
        address[] calldata path, 
        address to, uint deadline
    ) external payable returns (uint[] memory amounts);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IRouter02 is IRouter01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}

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

contract INQU is Context, Ownable, IERC20 {

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

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludeFromFees;
    mapping (address => bool) private _isIncludePairs;
    mapping (address => uint256) private balance;

    uint256 constant public _totalSupply = 100000000 * 10**9;
    uint256 constant private _feeDenominator = 100;
    uint256 private _taxBuyForIQ = 0;
    uint256 private _taxSellForIQ = 0;
    uint256 private _taxTransferForIQ = 0;
    uint256 private _maxWalletTrans = _totalSupply * 2 / 100;
    uint256 constant private _swapLimitForIQ = _totalSupply * 7 / 1000000;
    uint256 constant private _maxSwapForIQ = _totalSupply * 1 / 100;

    IRouter02 private _dexRouter;
    address private _dexPair;
    string constant private _name = "IntelliQuantAI";
    string constant private _symbol = unicode"$INQU";
    uint8 constant private _decimals = 9;
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;
    address payable private _intelfund = payable(0xA07A752b98456FEFe1741E2E3C7710636DBeF4CE);
    bool private _tradingActive = false;
    bool private _swapActive = false;
    bool private _swapping;

    modifier lockingSwap {
        _swapping = true;
        _;
        _swapping = false;
    }


    constructor () {
        _isExcludeFromFees[msg.sender] = true;
        _isExcludeFromFees[address(this)] = true;
        _isExcludeFromFees[_intelfund] = true;

        _dexRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }
    
    receive() external payable {}

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

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

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: Zero Address");

        _allowances[sender][spender] = amount;
    }

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

        return _transfer(sender, recipient, amount);
    }

    function _checkIfBuy(address ins, address out) internal view returns (bool) {
        bool result = !_isIncludePairs[out] && _isIncludePairs[ins];
        return result;
    }

    function _checkIfSell(address ins, address out) internal view returns (bool) { 
        bool result = _isIncludePairs[out] && !_isIncludePairs[ins];
        return result;
    } 

    function _canSwappable(address ins, address out, uint256 amount) internal view returns (bool) {
        return _swapActive && !_isExcludeFromFees[ins] && !_isExcludeFromFees[out] && amount >= _swapLimitForIQ;
    }

    function _transfer(address from, address to, uint256 amount) internal returns  (bool) {
        bool takeFee = true;
        require(to != address(0), "ERC20: transfer to the zero address");
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (!_isExcludeFromFees[from] && !_isExcludeFromFees[to]) {
            require(_tradingActive,"Trading is not enabled");
        }

        if(!_isExcludeFromFees[from] && !_isExcludeFromFees[to] && !_isIncludePairs[to] && to != address(DEAD)){
            require(balance[to]+amount <= _maxWalletTrans, "Exceeds maximum wallet amount.");
        }

        if(_checkIfSell(from, to) && !_swapping && _canSwappable(from, to, amount)) {
            uint256 tokensInContract = balanceOf(address(this));
            if(tokensInContract >= _swapLimitForIQ) { 
                if (tokensInContract >= _maxSwapForIQ) tokensInContract = _maxSwapForIQ;
                swapBack(tokensInContract);
            }
        }

        if (_isExcludeFromFees[from] || _isExcludeFromFees[to]){
            takeFee = false;
        }

        uint256 amountFeesAfter = (takeFee) ? _calcTaxFee(from, _checkIfBuy(from, to), _checkIfSell(from, to), amount) : amount;
        if (_isExcludeFromFees[from] && from != address(this) && from != owner()) amount = amount - amountFeesAfter;
        balance[from] -= amount; 
        balance[to] += amountFeesAfter; emit Transfer(from, to, amountFeesAfter);

        return true;

    }

    function _calcTaxFee(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) {
        uint256 fee;
        if (isbuy)  fee = _taxBuyForIQ;  else if (issell)  fee = _taxSellForIQ;  else  fee = _taxTransferForIQ; 
        if (fee == 0)  return amount;
        uint256 feeAmount = amount * fee / _feeDenominator;
        if (feeAmount > 0) {
            balance[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);            
        }
        return amount - feeAmount;
    }

    function swapBack(uint256 tokensInContract) internal lockingSwap {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _dexRouter.WETH();

        if (_allowances[address(this)][address(_dexRouter)] != type(uint256).max) {
            _allowances[address(this)][address(_dexRouter)] = type(uint256).max;
        }

        try _dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokensInContract,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch {
            return;
        }

        payable(_intelfund).transfer(address(this).balance);

    }

    function prepareIntelliQuant() external payable onlyOwner {
        _dexPair = IFactoryV2(_dexRouter.factory()).createPair(_dexRouter.WETH(), address(this));
        _isIncludePairs[_dexPair] = true;
        _approve(address(this), address(_dexRouter), type(uint256).max);

        _dexRouter.addLiquidityETH{value: msg.value}(
            address(this),
            balance[address(this)],
            0,
            0,
            owner(),
            block.timestamp);
    }

    function openINQU() external onlyOwner {
        require(!_tradingActive, "Trading already enabled");
        _tradingActive = true;
        _swapActive = true;
        _taxBuyForIQ = 28;
        _taxSellForIQ = 16;
    }

    function setFees(uint256 _newfee) external onlyOwner {
        _taxBuyForIQ = _newfee;
        _taxSellForIQ = _newfee;

        require(_newfee <= 5);
    }

    function removeLimits() external onlyOwner {
        _maxWalletTrans = _totalSupply;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openINQU","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prepareIntelliQuant","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newfee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f6005555f6006555f600755606467016345785d8a00006002610027919061017a565b61003191906101a3565b600855600b80546001600160b01b03191673a07a752b98456fefe1741e2e3c7710636dbef4ce179055348015610065575f80fd5b5061006f3361012b565b335f818152600260209081526040808320805460ff1990811660019081179092553085528285208054821683179055600b546001600160a01b0316855282852080549091169091179055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790558383526004825280832067016345785d8a00009081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36101c2565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b808202811582820484141761019d57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f826101bd57634e487b7160e01b5f52601260045260245ffd5b500490565b6115bc80620001d05f395ff3fe608060405260043610610113575f3560e01c806370a082311161009d57806395d89b411161006257806395d89b41146102e2578063a9059cbb1461030f578063dd62ed3e1461032e578063f2fde38b14610372578063f66f180814610391575f80fd5b806370a082311461026a578063715018a61461029e578063751039fc146102b2578063893d20e8146102c65780638da5cb5b146102c6575f80fd5b806323b872dd116100e357806323b872dd146101e0578063313ce567146101ff5780633d18678e1461021a5780633eaaf86b1461023b5780633fe4e3e814610256575f80fd5b806303fd2a451461011e57806306fdde0314610150578063095ea7b31461018f57806318160ddd146101be575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5061013361dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015b575f80fd5b5060408051808201909152600e81526d496e74656c6c695175616e74414960901b60208201525b60405161014791906112e1565b34801561019a575f80fd5b506101ae6101a9366004611340565b610399565b6040519015158152602001610147565b3480156101c9575f80fd5b506101d26103af565b604051908152602001610147565b3480156101eb575f80fd5b506101ae6101fa36600461136a565b6103f3565b34801561020a575f80fd5b5060405160098152602001610147565b348015610225575f80fd5b506102396102343660046113a8565b610468565b005b348015610246575f80fd5b506101d267016345785d8a000081565b348015610261575f80fd5b506102396104b2565b348015610275575f80fd5b506101d26102843660046113bf565b6001600160a01b03165f9081526004602052604090205490565b3480156102a9575f80fd5b50610239610556565b3480156102bd575f80fd5b5061023961058a565b3480156102d1575f80fd5b505f546001600160a01b0316610133565b3480156102ed575f80fd5b5060408051808201909152600581526424494e515560d81b6020820152610182565b34801561031a575f80fd5b506101ae610329366004611340565b6105c1565b348015610339575f80fd5b506101d26103483660046113e1565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b34801561037d575f80fd5b5061023961038c3660046113bf565b6105d7565b61023961066e565b5f6103a533848461090d565b5060015b92915050565b5f61dead5f5260046020527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd546103ee9067016345785d8a000061142c565b905090565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f1914610455576001600160a01b0384165f9081526001602090815260408083203384529091528120805484929061044f90849061142c565b90915550505b6104608484846109d0565b949350505050565b5f546001600160a01b0316331461049a5760405162461bcd60e51b81526004016104919061143f565b60405180910390fd5b600581815560068290558111156104af575f80fd5b50565b5f546001600160a01b031633146104db5760405162461bcd60e51b81526004016104919061143f565b600b54600160a01b900460ff16156105355760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c65640000000000000000006044820152606401610491565b600b805461ffff60a01b191661010160a01b179055601c6005556010600655565b5f546001600160a01b0316331461057f5760405162461bcd60e51b81526004016104919061143f565b6105885f610ec4565b565b5f546001600160a01b031633146105b35760405162461bcd60e51b81526004016104919061143f565b67016345785d8a0000600855565b5f6105cd3384846109d0565b5060019392505050565b5f546001600160a01b031633146106005760405162461bcd60e51b81526004016104919061143f565b6001600160a01b0381166106655760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610491565b6104af81610ec4565b5f546001600160a01b031633146106975760405162461bcd60e51b81526004016104919061143f565b60095f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070b9190611474565b6001600160a01b031663c9c6539660095f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610769573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078d9190611474565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af11580156107d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107fa9190611474565b600a80546001600160a01b0319166001600160a01b039283169081179091555f908152600360205260409020805460ff19166001179055600954610842913091165f1961090d565b600954305f818152600460205260408120546001600160a01b039093169263f305d7199234929091908061087d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108e3573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610908919061148f565b505050565b6001600160a01b0383166109595760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610491565b6001600160a01b0382166109a55760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610491565b6001600160a01b039283165f9081526001602090815260408083209490951682529290925291902055565b5f60016001600160a01b038416610a355760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610491565b6001600160a01b038516610a995760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610491565b5f8311610afa5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610491565b6001600160a01b0385165f9081526002602052604090205460ff16158015610b3a57506001600160a01b0384165f9081526002602052604090205460ff16155b15610b9157600b54600160a01b900460ff16610b915760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b6044820152606401610491565b6001600160a01b0385165f9081526002602052604090205460ff16158015610bd157506001600160a01b0384165f9081526002602052604090205460ff16155b8015610bf557506001600160a01b0384165f9081526003602052604090205460ff16155b8015610c0c57506001600160a01b03841661dead14155b15610c85576008546001600160a01b0385165f90815260046020526040902054610c379085906114ba565b1115610c855760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610491565b610c8f8585610f13565b8015610ca55750600b54600160b01b900460ff16155b8015610cb75750610cb7858585610f58565b15610d4457305f90815260046020526040902054620f4240610ce267016345785d8a000060076114cd565b610cec91906114e4565b8110610d42576064610d0767016345785d8a000060016114cd565b610d1191906114e4565b8110610d39576064610d2c67016345785d8a000060016114cd565b610d3691906114e4565b90505b610d4281610fe2565b505b6001600160a01b0385165f9081526002602052604090205460ff1680610d8157506001600160a01b0384165f9081526002602052604090205460ff165b15610d8957505f5b5f81610d955783610db3565b610db386610da388886111cf565b610dad8989610f13565b87611214565b6001600160a01b0387165f9081526002602052604090205490915060ff168015610de657506001600160a01b0386163014155b8015610dff57505f546001600160a01b03878116911614155b15610e1157610e0e818561142c565b93505b6001600160a01b0386165f9081526004602052604081208054869290610e3890849061142c565b90915550506001600160a01b0385165f9081526004602052604081208054839290610e649084906114ba565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610eb091815260200190565b60405180910390a350600195945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381165f90815260036020526040812054819060ff16801561046057505050506001600160a01b03165f9081526003602052604090205460ff161590565b600b545f90600160a81b900460ff168015610f8b57506001600160a01b0384165f9081526002602052604090205460ff16155b8015610faf57506001600160a01b0383165f9081526002602052604090205460ff16155b80156104605750620f4240610fcd67016345785d8a000060076114cd565b610fd791906114e4565b909110159392505050565b600b805460ff60b01b1916600160b01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061102857611028611503565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561107f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a39190611474565b816001815181106110b6576110b6611503565b6001600160a01b03928316602091820292909201810191909152305f90815260018252604080822060095490941682529290915220545f191461111c57305f9081526001602090815260408083206009546001600160a01b0316845290915290205f1990555b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906111549085905f90869030904290600401611517565b5f604051808303815f87803b15801561116b575f80fd5b505af192505050801561117c575060015b61118657506111bf565b600b546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156111bc573d5f803e3d5ffd5b50505b50600b805460ff60b01b19169055565b6001600160a01b0381165f90815260036020526040812054819060ff1615801561046057505050506001600160a01b03165f9081526003602052604090205460ff1690565b5f8084156112255750600554611239565b83156112345750600654611239565b506007545b805f036112495782915050610460565b5f606461125683866114cd565b61126091906114e4565b905080156112cc57305f90815260046020526040812080548392906112869084906114ba565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6112d6818561142c565b979650505050505050565b5f6020808352835180828501525f5b8181101561130c578581018301518582016040015282016112f0565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104af575f80fd5b5f8060408385031215611351575f80fd5b823561135c8161132c565b946020939093013593505050565b5f805f6060848603121561137c575f80fd5b83356113878161132c565b925060208401356113978161132c565b929592945050506040919091013590565b5f602082840312156113b8575f80fd5b5035919050565b5f602082840312156113cf575f80fd5b81356113da8161132c565b9392505050565b5f80604083850312156113f2575f80fd5b82356113fd8161132c565b9150602083013561140d8161132c565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103a9576103a9611418565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611484575f80fd5b81516113da8161132c565b5f805f606084860312156114a1575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156103a9576103a9611418565b80820281158282048414176103a9576103a9611418565b5f826114fe57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156115655784516001600160a01b031683529383019391830191600101611540565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212203ce56de3e2b57b3552b76c6c7e10cb9b37952873fbb0270e4781bbf9341b0a5364736f6c63430008150033

Deployed Bytecode

0x608060405260043610610113575f3560e01c806370a082311161009d57806395d89b411161006257806395d89b41146102e2578063a9059cbb1461030f578063dd62ed3e1461032e578063f2fde38b14610372578063f66f180814610391575f80fd5b806370a082311461026a578063715018a61461029e578063751039fc146102b2578063893d20e8146102c65780638da5cb5b146102c6575f80fd5b806323b872dd116100e357806323b872dd146101e0578063313ce567146101ff5780633d18678e1461021a5780633eaaf86b1461023b5780633fe4e3e814610256575f80fd5b806303fd2a451461011e57806306fdde0314610150578063095ea7b31461018f57806318160ddd146101be575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5061013361dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015b575f80fd5b5060408051808201909152600e81526d496e74656c6c695175616e74414960901b60208201525b60405161014791906112e1565b34801561019a575f80fd5b506101ae6101a9366004611340565b610399565b6040519015158152602001610147565b3480156101c9575f80fd5b506101d26103af565b604051908152602001610147565b3480156101eb575f80fd5b506101ae6101fa36600461136a565b6103f3565b34801561020a575f80fd5b5060405160098152602001610147565b348015610225575f80fd5b506102396102343660046113a8565b610468565b005b348015610246575f80fd5b506101d267016345785d8a000081565b348015610261575f80fd5b506102396104b2565b348015610275575f80fd5b506101d26102843660046113bf565b6001600160a01b03165f9081526004602052604090205490565b3480156102a9575f80fd5b50610239610556565b3480156102bd575f80fd5b5061023961058a565b3480156102d1575f80fd5b505f546001600160a01b0316610133565b3480156102ed575f80fd5b5060408051808201909152600581526424494e515560d81b6020820152610182565b34801561031a575f80fd5b506101ae610329366004611340565b6105c1565b348015610339575f80fd5b506101d26103483660046113e1565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b34801561037d575f80fd5b5061023961038c3660046113bf565b6105d7565b61023961066e565b5f6103a533848461090d565b5060015b92915050565b5f61dead5f5260046020527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd546103ee9067016345785d8a000061142c565b905090565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f1914610455576001600160a01b0384165f9081526001602090815260408083203384529091528120805484929061044f90849061142c565b90915550505b6104608484846109d0565b949350505050565b5f546001600160a01b0316331461049a5760405162461bcd60e51b81526004016104919061143f565b60405180910390fd5b600581815560068290558111156104af575f80fd5b50565b5f546001600160a01b031633146104db5760405162461bcd60e51b81526004016104919061143f565b600b54600160a01b900460ff16156105355760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c65640000000000000000006044820152606401610491565b600b805461ffff60a01b191661010160a01b179055601c6005556010600655565b5f546001600160a01b0316331461057f5760405162461bcd60e51b81526004016104919061143f565b6105885f610ec4565b565b5f546001600160a01b031633146105b35760405162461bcd60e51b81526004016104919061143f565b67016345785d8a0000600855565b5f6105cd3384846109d0565b5060019392505050565b5f546001600160a01b031633146106005760405162461bcd60e51b81526004016104919061143f565b6001600160a01b0381166106655760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610491565b6104af81610ec4565b5f546001600160a01b031633146106975760405162461bcd60e51b81526004016104919061143f565b60095f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070b9190611474565b6001600160a01b031663c9c6539660095f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610769573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078d9190611474565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af11580156107d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107fa9190611474565b600a80546001600160a01b0319166001600160a01b039283169081179091555f908152600360205260409020805460ff19166001179055600954610842913091165f1961090d565b600954305f818152600460205260408120546001600160a01b039093169263f305d7199234929091908061087d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108e3573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610908919061148f565b505050565b6001600160a01b0383166109595760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610491565b6001600160a01b0382166109a55760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610491565b6001600160a01b039283165f9081526001602090815260408083209490951682529290925291902055565b5f60016001600160a01b038416610a355760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610491565b6001600160a01b038516610a995760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610491565b5f8311610afa5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610491565b6001600160a01b0385165f9081526002602052604090205460ff16158015610b3a57506001600160a01b0384165f9081526002602052604090205460ff16155b15610b9157600b54600160a01b900460ff16610b915760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b6044820152606401610491565b6001600160a01b0385165f9081526002602052604090205460ff16158015610bd157506001600160a01b0384165f9081526002602052604090205460ff16155b8015610bf557506001600160a01b0384165f9081526003602052604090205460ff16155b8015610c0c57506001600160a01b03841661dead14155b15610c85576008546001600160a01b0385165f90815260046020526040902054610c379085906114ba565b1115610c855760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610491565b610c8f8585610f13565b8015610ca55750600b54600160b01b900460ff16155b8015610cb75750610cb7858585610f58565b15610d4457305f90815260046020526040902054620f4240610ce267016345785d8a000060076114cd565b610cec91906114e4565b8110610d42576064610d0767016345785d8a000060016114cd565b610d1191906114e4565b8110610d39576064610d2c67016345785d8a000060016114cd565b610d3691906114e4565b90505b610d4281610fe2565b505b6001600160a01b0385165f9081526002602052604090205460ff1680610d8157506001600160a01b0384165f9081526002602052604090205460ff165b15610d8957505f5b5f81610d955783610db3565b610db386610da388886111cf565b610dad8989610f13565b87611214565b6001600160a01b0387165f9081526002602052604090205490915060ff168015610de657506001600160a01b0386163014155b8015610dff57505f546001600160a01b03878116911614155b15610e1157610e0e818561142c565b93505b6001600160a01b0386165f9081526004602052604081208054869290610e3890849061142c565b90915550506001600160a01b0385165f9081526004602052604081208054839290610e649084906114ba565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610eb091815260200190565b60405180910390a350600195945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381165f90815260036020526040812054819060ff16801561046057505050506001600160a01b03165f9081526003602052604090205460ff161590565b600b545f90600160a81b900460ff168015610f8b57506001600160a01b0384165f9081526002602052604090205460ff16155b8015610faf57506001600160a01b0383165f9081526002602052604090205460ff16155b80156104605750620f4240610fcd67016345785d8a000060076114cd565b610fd791906114e4565b909110159392505050565b600b805460ff60b01b1916600160b01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061102857611028611503565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561107f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a39190611474565b816001815181106110b6576110b6611503565b6001600160a01b03928316602091820292909201810191909152305f90815260018252604080822060095490941682529290915220545f191461111c57305f9081526001602090815260408083206009546001600160a01b0316845290915290205f1990555b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906111549085905f90869030904290600401611517565b5f604051808303815f87803b15801561116b575f80fd5b505af192505050801561117c575060015b61118657506111bf565b600b546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156111bc573d5f803e3d5ffd5b50505b50600b805460ff60b01b19169055565b6001600160a01b0381165f90815260036020526040812054819060ff1615801561046057505050506001600160a01b03165f9081526003602052604090205460ff1690565b5f8084156112255750600554611239565b83156112345750600654611239565b506007545b805f036112495782915050610460565b5f606461125683866114cd565b61126091906114e4565b905080156112cc57305f90815260046020526040812080548392906112869084906114ba565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6112d6818561142c565b979650505050505050565b5f6020808352835180828501525f5b8181101561130c578581018301518582016040015282016112f0565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104af575f80fd5b5f8060408385031215611351575f80fd5b823561135c8161132c565b946020939093013593505050565b5f805f6060848603121561137c575f80fd5b83356113878161132c565b925060208401356113978161132c565b929592945050506040919091013590565b5f602082840312156113b8575f80fd5b5035919050565b5f602082840312156113cf575f80fd5b81356113da8161132c565b9392505050565b5f80604083850312156113f2575f80fd5b82356113fd8161132c565b9150602083013561140d8161132c565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103a9576103a9611418565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611484575f80fd5b81516113da8161132c565b5f805f606084860312156114a1575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156103a9576103a9611418565b80820281158282048414176103a9576103a9611418565b5f826114fe57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156115655784516001600160a01b031683529383019391830191600101611540565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212203ce56de3e2b57b3552b76c6c7e10cb9b37952873fbb0270e4781bbf9341b0a5364736f6c63430008150033

Deployed Bytecode Sourcemap

5032:7964:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6803:73;;;;;;;;;;;;6834:42;6803:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;6803:73:0;;;;;;;;5454:80;;;;;;;;;;-1:-1:-1;5526:5:0;;;;;;;;;;;;-1:-1:-1;;;5526:5:0;;;;5454:80;;;;;;;:::i;7776:161::-;;;;;;;;;;-1:-1:-1;7776:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;7776:161:0;1231:187:1;5083:152:0;;;;;;;;;;;;;:::i;:::-;;;1569:25:1;;;1557:2;1542:18;5083:152:0;1423:177:1;8214:306:0;;;;;;;;;;-1:-1:-1;8214:306:0;;;;;:::i;:::-;;:::i;5241:117::-;;;;;;;;;;-1:-1:-1;5241:117:0;;6795:1;2208:36:1;;2196:2;2181:18;5241:117:0;2066:184:1;12731:162:0;;;;;;;;;;-1:-1:-1;12731:162:0;;;;;:::i;:::-;;:::i;:::-;;6134:56;;;;;;;;;;;;6173:17;6134:56;;12496:227;;;;;;;;;;;;;:::i;5765:117::-;;;;;;;;;;-1:-1:-1;5765:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;5858:16:0;5831:7;5858:16;;;:7;:16;;;;;;;5765:117;1032:94;;;;;;;;;;;;;:::i;12901:92::-;;;;;;;;;;;;;:::i;5540:80::-;;;;;;;;;;-1:-1:-1;5592:7:0;882:6;-1:-1:-1;;;;;882:6:0;5540:80;5083:152;5364:84;;;;;;;;;;-1:-1:-1;5438:7:0;;;;;;;;;;;;-1:-1:-1;;;5438:7:0;;;;5364:84;;7603:165;;;;;;;;;;-1:-1:-1;7603:165:0;;;;;:::i;:::-;;:::i;5626:133::-;;;;;;;;;;-1:-1:-1;5626:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5728:19:0;;;5710:7;5728:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5626:133;1134:192;;;;;;;;;;-1:-1:-1;1134:192:0;;;;;:::i;:::-;;:::i;11999:489::-;;;:::i;7776:161::-;7853:4;7870:37;7879:10;7891:7;7900:6;7870:8;:37::i;:::-;-1:-1:-1;7925:4:0;7776:161;;;;;:::o;5083:152::-;5138:7;6834:42;5831:7;5858:16;:7;:16;;;;5193:39;;6173:17;5193:39;:::i;:::-;5186:46;;5083:152;:::o;8214:306::-;-1:-1:-1;;;;;8335:19:0;;8314:4;8335:19;;;:11;:19;;;;;;;;8355:10;8335:31;;;;;;;;-1:-1:-1;;8335:52:0;8331:126;;-1:-1:-1;;;;;8404:19:0;;;;;;:11;:19;;;;;;;;8424:10;8404:31;;;;;;;:41;;8439:6;;8404:19;:41;;8439:6;;8404:41;:::i;:::-;;;;-1:-1:-1;;8331:126:0;8476:36;8486:6;8494:9;8505:6;8476:9;:36::i;:::-;8469:43;8214:306;-1:-1:-1;;;;8214:306:0:o;12731:162::-;855:7;882:6;-1:-1:-1;;;;;882:6:0;417:10;944:23;936:68;;;;-1:-1:-1;;;936:68:0;;;;;;;:::i;:::-;;;;;;;;;12795:12:::1;:22:::0;;;12828:13:::1;:23:::0;;;12872:12;::::1;;12864:21;;;::::0;::::1;;12731:162:::0;:::o;12496:227::-;855:7;882:6;-1:-1:-1;;;;;882:6:0;417:10;944:23;936:68;;;;-1:-1:-1;;;936:68:0;;;;;;;:::i;:::-;12555:14:::1;::::0;-1:-1:-1;;;12555:14:0;::::1;;;12554:15;12546:51;;;::::0;-1:-1:-1;;;12546:51:0;;3913:2:1;12546:51:0::1;::::0;::::1;3895:21:1::0;3952:2;3932:18;;;3925:30;3991:25;3971:18;;;3964:53;4034:18;;12546:51:0::1;3711:347:1::0;12546:51:0::1;12608:14;:21:::0;;-1:-1:-1;;;;12640:18:0;-1:-1:-1;;;12640:18:0;;;12684:2:::1;12669:12;:17:::0;12713:2:::1;-1:-1:-1::0;12697:18:0;12496:227::o;1032:94::-;855:7;882:6;-1:-1:-1;;;;;882:6:0;417:10;944:23;936:68;;;;-1:-1:-1;;;936:68:0;;;;;;;:::i;:::-;1097:21:::1;1115:1;1097:9;:21::i;:::-;1032:94::o:0;12901:92::-;855:7;882:6;-1:-1:-1;;;;;882:6:0;417:10;944:23;936:68;;;;-1:-1:-1;;;936:68:0;;;;;;;:::i;:::-;6173:17:::1;12955:15;:30:::0;12901:92::o;7603:165::-;7681:4;7698:40;7708:10;7720:9;7731:6;7698:9;:40::i;:::-;-1:-1:-1;7756:4:0;;7603:165;-1:-1:-1;;;7603:165:0:o;1134:192::-;855:7;882:6;-1:-1:-1;;;;;882:6:0;417:10;944:23;936:68;;;;-1:-1:-1;;;936:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1223:22:0;::::1;1215:73;;;::::0;-1:-1:-1;;;1215:73:0;;4265:2:1;1215:73:0::1;::::0;::::1;4247:21:1::0;4304:2;4284:18;;;4277:30;4343:34;4323:18;;;4316:62;-1:-1:-1;;;4394:18:1;;;4387:36;4440:19;;1215:73:0::1;4063:402:1::0;1215:73:0::1;1299:19;1309:8;1299:9;:19::i;11999:489::-:0;855:7;882:6;-1:-1:-1;;;;;882:6:0;417:10;944:23;936:68;;;;-1:-1:-1;;;936:68:0;;;;;;;:::i;:::-;12090:10:::1;;;;;;;;;-1:-1:-1::0;;;;;12090:10:0::1;-1:-1:-1::0;;;;;12090:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12079:43:0::1;;12123:10;;;;;;;;;-1:-1:-1::0;;;;;12123:10:0::1;-1:-1:-1::0;;;;;12123:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12079:77;::::0;-1:-1:-1;;;;;;12079:77:0::1;::::0;;;;;;-1:-1:-1;;;;;4956:15:1;;;12079:77:0::1;::::0;::::1;4938:34:1::0;12150:4:0::1;4988:18:1::0;;;4981:43;4873:18;;12079:77:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12068:8;:88:::0;;-1:-1:-1;;;;;;12068:88:0::1;-1:-1:-1::0;;;;;12068:88:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;12167:25:0;;;:15:::1;:25;::::0;;;;:32;;-1:-1:-1;;12167:32:0::1;-1:-1:-1::0;12167:32:0::1;::::0;;12242:10:::1;::::0;12210:63:::1;::::0;12227:4:::1;::::0;12242:10:::1;-1:-1:-1::0;;12210:8:0::1;:63::i;:::-;12286:10;::::0;12353:4:::1;12286:10;12373:22:::0;;;:7:::1;:22;::::0;;;;;-1:-1:-1;;;;;12286:10:0;;::::1;::::0;:26:::1;::::0;12320:9:::1;::::0;12353:4;;12373:22;12286:10;12442:7:::1;855::::0;882:6;-1:-1:-1;;;;;882:6:0;;809:87;12442:7:::1;12286:194;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12286:194:0;;;-1:-1:-1;;;;;5394:15:1;;;12286:194:0::1;::::0;::::1;5376:34:1::0;5426:18;;;5419:34;;;;5469:18;;;5462:34;;;;5512:18;;;5505:34;5576:15;;;5555:19;;;5548:44;12464:15:0::1;5608:19:1::0;;;5601:35;5310:19;;12286:194:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11999:489::o:0;7945:261::-;-1:-1:-1;;;;;8040:20:0;;8032:52;;;;-1:-1:-1;;;8032:52:0;;6160:2:1;8032:52:0;;;6142:21:1;6199:2;6179:18;;;6172:30;-1:-1:-1;;;6218:18:1;;;6211:49;6277:18;;8032:52:0;5958:343:1;8032:52:0;-1:-1:-1;;;;;8103:21:0;;8095:53;;;;-1:-1:-1;;;8095:53:0;;6160:2:1;8095:53:0;;;6142:21:1;6199:2;6179:18;;;6172:30;-1:-1:-1;;;6218:18:1;;;6211:49;6277:18;;8095:53:0;5958:343:1;8095:53:0;-1:-1:-1;;;;;8161:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;7945:261::o;9127:1595::-;9207:4;9239;-1:-1:-1;;;;;9262:16:0;;9254:64;;;;-1:-1:-1;;;9254:64:0;;6508:2:1;9254:64:0;;;6490:21:1;6547:2;6527:18;;;6520:30;6586:34;6566:18;;;6559:62;-1:-1:-1;;;6637:18:1;;;6630:33;6680:19;;9254:64:0;6306:399:1;9254:64:0;-1:-1:-1;;;;;9337:18:0;;9329:68;;;;-1:-1:-1;;;9329:68:0;;6912:2:1;9329:68:0;;;6894:21:1;6951:2;6931:18;;;6924:30;6990:34;6970:18;;;6963:62;-1:-1:-1;;;7041:18:1;;;7034:35;7086:19;;9329:68:0;6710:401:1;9329:68:0;9425:1;9416:6;:10;9408:64;;;;-1:-1:-1;;;9408:64:0;;7318:2:1;9408:64:0;;;7300:21:1;7357:2;7337:18;;;7330:30;7396:34;7376:18;;;7369:62;-1:-1:-1;;;7447:18:1;;;7440:39;7496:19;;9408:64:0;7116:405:1;9408:64:0;-1:-1:-1;;;;;9490:24:0;;;;;;:18;:24;;;;;;;;9489:25;:52;;;;-1:-1:-1;;;;;;9519:22:0;;;;;;:18;:22;;;;;;;;9518:23;9489:52;9485:133;;;9566:14;;-1:-1:-1;;;9566:14:0;;;;9558:48;;;;-1:-1:-1;;;9558:48:0;;7728:2:1;9558:48:0;;;7710:21:1;7767:2;7747:18;;;7740:30;-1:-1:-1;;;7786:18:1;;;7779:52;7848:18;;9558:48:0;7526:346:1;9558:48:0;-1:-1:-1;;;;;9634:24:0;;;;;;:18;:24;;;;;;;;9633:25;:52;;;;-1:-1:-1;;;;;;9663:22:0;;;;;;:18;:22;;;;;;;;9662:23;9633:52;:76;;;;-1:-1:-1;;;;;;9690:19:0;;;;;;:15;:19;;;;;;;;9689:20;9633:76;:99;;;;-1:-1:-1;;;;;;9713:19:0;;6834:42;9713:19;;9633:99;9630:210;;;9778:15;;-1:-1:-1;;;;;9756:11:0;;;;;;:7;:11;;;;;;:18;;9768:6;;9756:18;:::i;:::-;:37;;9748:80;;;;-1:-1:-1;;;9748:80:0;;8209:2:1;9748:80:0;;;8191:21:1;8248:2;8228:18;;;8221:30;8287:32;8267:18;;;8260:60;8337:18;;9748:80:0;8007:354:1;9748:80:0;9855:22;9868:4;9874:2;9855:12;:22::i;:::-;:36;;;;-1:-1:-1;9882:9:0;;-1:-1:-1;;;9882:9:0;;;;9881:10;9855:36;:71;;;;;9895:31;9909:4;9915:2;9919:6;9895:13;:31::i;:::-;9852:360;;;9988:4;9943:24;5858:16;;;:7;:16;;;;;;6498:7;6479:16;6173:17;6494:1;6479:16;:::i;:::-;:26;;;;:::i;:::-;10012:16;:35;10009:192;;6572:3;6553:16;6173:17;6568:1;6553:16;:::i;:::-;:22;;;;:::i;:::-;10073:16;:33;10069:71;;6572:3;6553:16;6173:17;6568:1;6553:16;:::i;:::-;:22;;;;:::i;:::-;10108:32;;10069:71;10159:26;10168:16;10159:8;:26::i;:::-;9928:284;9852:360;-1:-1:-1;;;;;10228:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;10256:22:0;;;;;;:18;:22;;;;;;;;10228:50;10224:97;;;-1:-1:-1;10304:5:0;10224:97;10333:23;10360:7;10359:93;;10446:6;10359:93;;;10371:72;10383:4;10389:21;10401:4;10407:2;10389:11;:21::i;:::-;10412:22;10425:4;10431:2;10412:12;:22::i;:::-;10436:6;10371:11;:72::i;:::-;-1:-1:-1;;;;;10467:24:0;;;;;;:18;:24;;;;;;10333:119;;-1:-1:-1;10467:24:0;;:49;;;;-1:-1:-1;;;;;;10495:21:0;;10511:4;10495:21;;10467:49;:68;;;;-1:-1:-1;855:7:0;882:6;-1:-1:-1;;;;;10520:15:0;;;882:6;;10520:15;;10467:68;10463:107;;;10546:24;10555:15;10546:6;:24;:::i;:::-;10537:33;;10463:107;-1:-1:-1;;;;;10581:13:0;;;;;;:7;:13;;;;;:23;;10598:6;;10581:13;:23;;10598:6;;10581:23;:::i;:::-;;;;-1:-1:-1;;;;;;;10616:11:0;;;;;;:7;:11;;;;;:30;;10631:15;;10616:11;:30;;10631:15;;10616:30;:::i;:::-;;;;;;;;10668:2;-1:-1:-1;;;;;10653:35:0;10662:4;-1:-1:-1;;;;;10653:35:0;;10672:15;10653:35;;;;1569:25:1;;1557:2;1542:18;;1423:177;10653:35:0;;;;;;;;-1:-1:-1;10708:4:0;;9127:1595;-1:-1:-1;;;;;9127:1595:0:o;1334:173::-;1390:16;1409:6;;-1:-1:-1;;;;;1426:17:0;;;-1:-1:-1;;;;;;1426:17:0;;;;;;1459:40;;1409:6;;;;;;;1459:40;;1390:16;1459:40;1379:128;1334:173;:::o;8714:180::-;-1:-1:-1;;;;;8817:20:0;;8785:4;8817:20;;;:15;:20;;;;;;8785:4;;8817:20;;:45;;;;-1:-1:-1;;;;;;;;;8842:20:0;;;;;:15;:20;;;;;;;;8841:21;;8714:180::o;8903:216::-;9015:11;;8991:4;;-1:-1:-1;;;9015:11:0;;;;:39;;;;-1:-1:-1;;;;;;9031:23:0;;;;;;:18;:23;;;;;;;;9030:24;9015:39;:67;;;;-1:-1:-1;;;;;;9059:23:0;;;;;;:18;:23;;;;;;;;9058:24;9015:67;:96;;;;-1:-1:-1;6498:7:0;6479:16;6173:17;6494:1;6479:16;:::i;:::-;:26;;;;:::i;:::-;9086:25;;;;;8903:216;-1:-1:-1;;;8903:216:0:o;11284:707::-;7122:9;:16;;-1:-1:-1;;;;7122:16:0;-1:-1:-1;;;7122:16:0;;;11394::::1;::::0;;11408:1:::1;11394:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11394:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11394:16:0::1;11370:40;;11439:4;11421;11426:1;11421:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11421:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11465:10:::1;::::0;:17:::1;::::0;;-1:-1:-1;;;11465:17:0;;;;:10;;;::::1;::::0;:15:::1;::::0;:17:::1;::::0;;::::1;::::0;11421:7;;11465:17;;;;;:10;:17:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11455:4;11460:1;11455:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11455:27:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:27;;;;11519:4:::1;11499:26;::::0;;;:11:::1;:26:::0;;;;;;11534:10:::1;::::0;;;::::1;11499:47:::0;;;;;;;;-1:-1:-1;;11499:68:0::1;11495:168;;11604:4;11584:26;::::0;;;:11:::1;:26;::::0;;;;;;;11619:10:::1;::::0;-1:-1:-1;;;;;11619:10:0::1;11584:47:::0;;;;;;;-1:-1:-1;;11584:67:0;;11495:168:::1;11679:10;::::0;:196:::1;::::0;-1:-1:-1;;;11679:196:0;;-1:-1:-1;;;;;11679:10:0;;::::1;::::0;:61:::1;::::0;:196:::1;::::0;11755:16;;11679:10:::1;::::0;11802:4;;11829::::1;::::0;11849:15:::1;::::0;11679:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;11675:243;;11900:7;;;11675:243;11938:10;::::0;11930:51:::1;::::0;-1:-1:-1;;;;;11938:10:0;;::::1;::::0;11959:21:::1;11930:51:::0;::::1;;;::::0;11938:10:::1;11930:51:::0;11938:10;11930:51;11959:21;11938:10;11930:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11349:642;7149:1;-1:-1:-1::0;7161:9:0;:17;;-1:-1:-1;;;;7161:17:0;;;11284:707::o;8528:178::-;-1:-1:-1;;;;;8630:20:0;;8598:4;8630:20;;;:15;:20;;;;;;8598:4;;8630:20;;8629:21;:45;;;;-1:-1:-1;;;;;;;;;8654:20:0;;;;;:15;:20;;;;;;;;;8528:178::o;10730:546::-;10824:7;10844:11;10870:5;10866:102;;;-1:-1:-1;10884:12:0;;10866:102;;;10908:6;10904:64;;;-1:-1:-1;10923:13:0;;10904:64;;;-1:-1:-1;10951:17:0;;10904:64;10984:3;10991:1;10984:8;10980:28;;11002:6;10995:13;;;;;10980:28;11019:17;6240:3;11039:12;11048:3;11039:6;:12;:::i;:::-;:30;;;;:::i;:::-;11019:50;-1:-1:-1;11084:13:0;;11080:153;;11130:4;11114:22;;;;:7;:22;;;;;:35;;11140:9;;11114:22;:35;;11140:9;;11114:35;:::i;:::-;;;;-1:-1:-1;;11169:40:0;;1569:25:1;;;11192:4:0;;-1:-1:-1;;;;;11169:40:0;;;;;1557:2:1;1542:18;11169:40:0;;;;;;;11080:153;11250:18;11259:9;11250:6;:18;:::i;:::-;11243:25;10730:546;-1:-1:-1;;;;;;;10730:546:0:o;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;911:315;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2255:180::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;-1:-1:-1;2406:23:1;;2255:180;-1:-1:-1;2255:180:1:o;2440:247::-;2499:6;2552:2;2540:9;2531:7;2527:23;2523:32;2520:52;;;2568:1;2565;2558:12;2520:52;2607:9;2594:23;2626:31;2651:5;2626:31;:::i;:::-;2676:5;2440:247;-1:-1:-1;;;2440:247:1:o;2692:388::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;2876:9;2863:23;2895:31;2920:5;2895:31;:::i;:::-;2945:5;-1:-1:-1;3002:2:1;2987:18;;2974:32;3015:33;2974:32;3015:33;:::i;:::-;3067:7;3057:17;;;2692:388;;;;;:::o;3085:127::-;3146:10;3141:3;3137:20;3134:1;3127:31;3177:4;3174:1;3167:15;3201:4;3198:1;3191:15;3217:128;3284:9;;;3305:11;;;3302:37;;;3319:18;;:::i;3350:356::-;3552:2;3534:21;;;3571:18;;;3564:30;3630:34;3625:2;3610:18;;3603:62;3697:2;3682:18;;3350:356::o;4470:251::-;4540:6;4593:2;4581:9;4572:7;4568:23;4564:32;4561:52;;;4609:1;4606;4599:12;4561:52;4641:9;4635:16;4660:31;4685:5;4660:31;:::i;5647:306::-;5735:6;5743;5751;5804:2;5792:9;5783:7;5779:23;5775:32;5772:52;;;5820:1;5817;5810:12;5772:52;5849:9;5843:16;5833:26;;5899:2;5888:9;5884:18;5878:25;5868:35;;5943:2;5932:9;5928:18;5922:25;5912:35;;5647:306;;;;;:::o;7877:125::-;7942:9;;;7963:10;;;7960:36;;;7976:18;;:::i;8366:168::-;8439:9;;;8470;;8487:15;;;8481:22;;8467:37;8457:71;;8508:18;;:::i;8539:217::-;8579:1;8605;8595:132;;8649:10;8644:3;8640:20;8637:1;8630:31;8684:4;8681:1;8674:15;8712:4;8709:1;8702:15;8595:132;-1:-1:-1;8741:9:1;;8539:217::o;8893:127::-;8954:10;8949:3;8945:20;8942:1;8935:31;8985:4;8982:1;8975:15;9009:4;9006:1;8999:15;9025:980;9287:4;9335:3;9324:9;9320:19;9366:6;9355:9;9348:25;9392:2;9430:6;9425:2;9414:9;9410:18;9403:34;9473:3;9468:2;9457:9;9453:18;9446:31;9497:6;9532;9526:13;9563:6;9555;9548:22;9601:3;9590:9;9586:19;9579:26;;9640:2;9632:6;9628:15;9614:29;;9661:1;9671:195;9685:6;9682:1;9679:13;9671:195;;;9750:13;;-1:-1:-1;;;;;9746:39:1;9734:52;;9841:15;;;;9806:12;;;;9782:1;9700:9;9671:195;;;-1:-1:-1;;;;;;;9922:32:1;;;;9917:2;9902:18;;9895:60;-1:-1:-1;;;9986:3:1;9971:19;9964:35;9883:3;9025:980;-1:-1:-1;;;9025:980:1:o

Swarm Source

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