ETH Price: $2,698.21 (-1.52%)

Token

VJall Agent (VJALL)
 

Overview

Max Total Supply

100,000,000 VJALL

Holders

98

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 VJALL

Value
$0.00
0xec643ee082f4c37776cf54892b8eaab376a8e0c5
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:
VJall

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2025-01-03
*/

/**
    Web: https://www.vjall-agent.com
    X: https://x.com/vjallagent
    TG: https://t.me/VjallAgents
**/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.28;

library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

interface IERC20 {

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

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

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

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

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IUniswapV2Router02 {
    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 swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

contract VJall is Context, IERC20, Ownable {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private  _taxWallet;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;

    uint256 private constant _initialBuyTax =20;
    uint256 private constant _initialSellTax=30;
    uint256 private constant _reduceBuyTaxAt=5;
    uint256 private constant _reduceSellTaxAt=30;
    uint256 private constant _preventSwapBefore=25;
    uint256 private _finalBuyTax=5;
    uint256 private _finalSellTax=5;
    uint256 private _buyCount=0;
    uint256 private sellCount= 0;
    uint256 private lastSellBlock= 0;

    string private constant _name   = unicode"VJall Agent";
    string private constant _symbol = unicode"VJALL";
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;

    uint256 public _maxTxAmount = 1900000 * 10 **_decimals;
    uint256 public _maxWalletSize = 1900000 * 10 **_decimals;
    uint256 public constant _maxTaxSwap = 999000 * 10 **_decimals;
    uint256 public constant _taxSwapThreshold = 5 * 10 **_decimals;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event TradingEnabled(bool _tradingOpen,bool _swapEnabled);
    event MaxTxLimit(uint256 _value);
    event ExcludeFromFee(address indexed account, bool isExcluded);

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

    constructor (address wallet) {
        _taxWallet = payable(wallet);
        _balances[_msgSender()] = _tTotal;

        excludeFromFee(owner(), true);
        excludeFromFee(address(this), true);
        excludeFromFee(_taxWallet, true);
        excludeFromFee(address(0xdead), true);
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0) && spender != address(0), "ERC20: approve the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

        uint256 taxAmount=0;

        if (from != owner() && to != owner()) { 

            if(!tradingOpen){
                require(
                    _isExcludedFromFee[to] || _isExcludedFromFee[from],
                    "trading not yet open"
                );
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }
            
            if (to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax)/100;    
            } 
            else if (from == uniswapV2Pair && to!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax)/100;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap && 
                to == uniswapV2Pair && 
                swapEnabled && 
                contractTokenBalance > _taxSwapThreshold && 
                _buyCount > _preventSwapBefore
            ) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }

                require(sellCount < 2, "Only 2 sells per block!");
                uint256 getMinValue = (contractTokenBalance > _maxTaxSwap)?_maxTaxSwap:contractTokenBalance;
                swapTokensForEth((amount > getMinValue)?getMinValue:amount);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function excludeFromFee(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[account] = excluded;
        emit ExcludeFromFee(account, excluded);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function _initialize () external onlyOwner {
        require(!tradingOpen,"init already called");
        uint256 tokenAmount = balanceOf(address(this)).sub(_tTotal.mul(_initialBuyTax).div(100));
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(
            uniswapV2Router.factory())
            .createPair(address(this), 
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance} (
            address(this),
            tokenAmount,
            0,
            0,
            _msgSender(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); 
    }

    function enableTrading () external onlyOwner {
        require(!tradingOpen,"trading already open");
        swapEnabled = true;
        tradingOpen = true;
        emit TradingEnabled (tradingOpen,swapEnabled);
    }

    function removeTxLimit () external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxLimit (_tTotal);
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _taxWallet);
        uint256 tokenBalance = balanceOf(address(this));
        if(tokenBalance > 0){
          swapTokensForEth(tokenBalance);
        }

        uint256 ethBalance = address(this).balance;
        if(ethBalance > 0){
          sendETHToFee(ethBalance);
        }
    }

    function removeStuckEth() external {
        require(_msgSender() == _taxWallet);
        require(address(this).balance > 0, "Token: no ETH to clear");
        payable(msg.sender).transfer(address(this).balance);
    }

    function removeStuckToken(address tokenAddress, uint256 tokens) external returns (bool success) {
        require(_msgSender() == _taxWallet);
        IERC20 tokenContract = IERC20(tokenAddress);

        if(tokens == 0){
            tokens = tokenContract.balanceOf(address(this));
        }

        return tokenContract.transfer(_taxWallet, tokens);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"MaxTxLimit","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":false,"internalType":"bool","name":"_tradingOpen","type":"bool"},{"indexed":false,"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"TradingEnabled","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":"_initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"removeStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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":"pure","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600560075560056008555f6009555f600a555f600b556009600a610028919061035d565b61003590621cfde0610372565b600c556100446009600a61035d565b61005190621cfde0610372565b600d55600e805462ffff001916905534801561006b575f5ffd5b50604051611dc5380380611dc583398101604081905261008a91610389565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b0319166001600160a01b0383161790556100f16009600a61035d565b6100ff906305f5e100610372565b335f9081526001602052604081209190915554610126906001600160a01b031660016101a9565b6101313060016101a9565b600454610148906001600160a01b031660016101a9565b61015561dead60016101a9565b335f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101846009600a61035d565b610192906305f5e100610372565b60405190815260200160405180910390a3506103af565b5f546001600160a01b031633146102065760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b6001600160a01b0382165f81815260036020908152604091829020805460ff191685151590811790915591519182527fd5144d2a6c8ff9b87b7a40852df5102cab2ce561c06b56cc6fe7ccf1fa7f8c2d910160405180910390a25050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156102b35780850481111561029757610297610264565b60018416156102a557908102905b60019390931c92800261027c565b935093915050565b5f826102c957506001610357565b816102d557505f610357565b81600181146102eb57600281146102f557610311565b6001915050610357565b60ff84111561030657610306610264565b50506001821b610357565b5060208310610133831016604e8410600b8410161715610334575081810a610357565b6103405f198484610278565b805f190482111561035357610353610264565b0290505b92915050565b5f61036b60ff8416836102bb565b9392505050565b808202811582820484141761035757610357610264565b5f60208284031215610399575f5ffd5b81516001600160a01b038116811461036b575f5ffd5b611a09806103bc5f395ff3fe608060405260043610610134575f3560e01c806380ae4ebc116100a8578063a9059cbb1161006d578063a9059cbb1461033a578063bf474bed14610359578063ce261d101461036d578063dd62ed3e1461038c578063de749dff146103d0578063df8408fe146103e4575f5ffd5b806380ae4ebc146102aa5780638a8c523c146102be5780638da5cb5b146102d25780638f9a55c0146102f857806395d89b411461030d575f5ffd5b8063313ce567116100f9578063313ce567146102085780634619d69f1461022357806351bc3c851461023957806370a082311461024d578063715018a6146102815780637d1db4a514610295575f5ffd5b806306fdde031461013f578063095ea7b3146101845780630faee56f146101b357806318160ddd146101d557806323b872dd146101e9575f5ffd5b3661013b57005b5f5ffd5b34801561014a575f5ffd5b5060408051808201909152600b81526a1592985b1b081059d95b9d60aa1b60208201525b60405161017b91906115c5565b60405180910390f35b34801561018f575f5ffd5b506101a361019e36600461160e565b610403565b604051901515815260200161017b565b3480156101be575f5ffd5b506101c7610419565b60405190815260200161017b565b3480156101e0575f5ffd5b506101c7610435565b3480156101f4575f5ffd5b506101a3610203366004611638565b610455565b348015610213575f5ffd5b506040516009815260200161017b565b34801561022e575f5ffd5b506102376104bc565b005b348015610244575f5ffd5b50610237610577565b348015610258575f5ffd5b506101c7610267366004611676565b6001600160a01b03165f9081526001602052604090205490565b34801561028c575f5ffd5b506102376105c8565b3480156102a0575f5ffd5b506101c7600c5481565b3480156102b5575f5ffd5b50610237610639565b3480156102c9575f5ffd5b506102376109d4565b3480156102dd575f5ffd5b505f546040516001600160a01b03909116815260200161017b565b348015610303575f5ffd5b506101c7600d5481565b348015610318575f5ffd5b50604080518082019091526005815264159290531360da1b602082015261016e565b348015610345575f5ffd5b506101a361035436600461160e565b610a9d565b348015610364575f5ffd5b506101c7610aa9565b348015610378575f5ffd5b506101a361038736600461160e565b610ac0565b348015610397575f5ffd5b506101c76103a6366004611691565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103db575f5ffd5b50610237610bd1565b3480156103ef575f5ffd5b506102376103fe3660046116d5565b610c64565b5f61040f338484610ceb565b5060015b92915050565b6104256009600a6117f8565b61043290620f3e58611806565b81565b5f6104426009600a6117f8565b610450906305f5e100611806565b905090565b5f610461848484610db7565b6104b284336104ad856040518060600160405280602881526020016119ac602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906113c6565b610ceb565b5060019392505050565b5f546001600160a01b031633146104ee5760405162461bcd60e51b81526004016104e59061181d565b60405180910390fd5b6104fa6009600a6117f8565b610508906305f5e100611806565b600c556105176009600a6117f8565b610525906305f5e100611806565b600d557ff3e3445f3a9f1b27bcaf370e29d707c90a8d58b535a9894b62d0f6281fe112736105556009600a6117f8565b610563906305f5e100611806565b6040519081526020015b60405180910390a1565b6004546001600160a01b0316336001600160a01b031614610596575f5ffd5b305f9081526001602052604090205480156105b4576105b4816113f1565b4780156105c4576105c48161155b565b5050565b5f546001600160a01b031633146105f15760405162461bcd60e51b81526004016104e59061181d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106625760405162461bcd60e51b81526004016104e59061181d565b600e5460ff16156106ab5760405162461bcd60e51b81526020600482015260136024820152721a5b9a5d08185b1c9958591e4818d85b1b1959606a1b60448201526064016104e5565b5f6106f46106df60646106d960146106c56009600a6117f8565b6106d3906305f5e100611806565b90611592565b906115a4565b305f90815260016020526040902054906115af565b600580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559091506107409030906107326009600a6117f8565b6104ad906305f5e100611806565b60055f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610790573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b49190611852565b6001600160a01b031663c9c653963060055f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610813573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108379190611852565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610881573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a59190611852565b600680546001600160a01b0319166001600160a01b039283161790556005541663f305d7194730845f803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610936573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061095b919061186d565b505060065460055460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109b0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c49190611898565b5f546001600160a01b031633146109fd5760405162461bcd60e51b81526004016104e59061181d565b600e5460ff1615610a475760405162461bcd60e51b81526020600482015260146024820152733a3930b234b7339030b63932b0b23c9037b832b760611b60448201526064016104e5565b600e80546201000162ff00ff19909116179081905560408051600181526201000090920460ff16151560208301527fbebe56ab705eea639814ee9785dc503450401ba31e74ac2141f833342388ef35910161056d565b5f61040f338484610db7565b610ab56009600a6117f8565b610432906005611806565b6004545f906001600160a01b0316336001600160a01b031614610ae1575f5ffd5b825f839003610b53576040516370a0823160e01b81523060048201526001600160a01b038216906370a0823190602401602060405180830381865afa158015610b2c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5091906118b3565b92505b6004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820185905282169063a9059cbb906044016020604051808303815f875af1158015610ba5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc99190611898565b949350505050565b6004546001600160a01b0316336001600160a01b031614610bf0575f5ffd5b5f4711610c385760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b60448201526064016104e5565b60405133904780156108fc02915f818181858888f19350505050158015610c61573d5f5f3e3d5ffd5b50565b5f546001600160a01b03163314610c8d5760405162461bcd60e51b81526004016104e59061181d565b6001600160a01b0382165f81815260036020908152604091829020805460ff191685151590811790915591519182527fd5144d2a6c8ff9b87b7a40852df5102cab2ce561c06b56cc6fe7ccf1fa7f8c2d910160405180910390a25050565b6001600160a01b03831615801590610d0b57506001600160a01b03821615155b610d575760405162461bcd60e51b815260206004820152601f60248201527f45524332303a20617070726f766520746865207a65726f20616464726573730060448201526064016104e5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831615801590610dd757506001600160a01b03821615155b610e235760405162461bcd60e51b815260206004820181905260248201527f45524332303a207472616e7366657220746865207a65726f206164647265737360448201526064016104e5565b5f8111610e845760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104e5565b5f80546001600160a01b03858116911614801590610eaf57505f546001600160a01b03848116911614155b1561128957600e5460ff16610f3e576001600160a01b0383165f9081526003602052604090205460ff1680610efb57506001600160a01b0384165f9081526003602052604090205460ff165b610f3e5760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b60448201526064016104e5565b6006546001600160a01b038581169116148015610f6957506005546001600160a01b03848116911614155b8015610f8d57506001600160a01b0383165f9081526003602052604090205460ff16155b1561107357600c54821115610fe45760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104e5565b600d5482611006856001600160a01b03165f9081526001602052604090205490565b61101091906118ca565b111561105e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104e5565b60098054905f61106d836118dd565b91905055505b6006546001600160a01b03848116911614801561109957506001600160a01b0384163014155b156110d05760646110bf601e600954116110b457601e6110b8565b6008545b8490611592565b6110c991906118f5565b9050611128565b6006546001600160a01b0385811691161480156110f657506001600160a01b0383163014155b1561112857606461111b6005600954116111115760146110b8565b6007548490611592565b61112591906118f5565b90505b305f90815260016020526040902054600e54610100900460ff1615801561115c57506006546001600160a01b038581169116145b80156111705750600e5462010000900460ff165b801561119157506111836009600a6117f8565b61118e906005611806565b81115b801561119f57506019600954115b1561128757600b544311156111b3575f600a555b6002600a54106112055760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920322073656c6c732070657220626c6f636b2100000000000000000060448201526064016104e5565b5f6112126009600a6117f8565b61121f90620f3e58611806565b821161122b5781611244565b6112376009600a6117f8565b61124490620f3e58611806565b905061125c81851161125657846113f1565b816113f1565b47801561126c5761126c4761155b565b600a8054905f61127b836118dd565b909155505043600b5550505b505b801561130157305f908152600160205260409020546112a890826115ba565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112f89085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461132390836115af565b6001600160a01b0385165f9081526001602052604090205561136661134883836115af565b6001600160a01b0385165f90815260016020526040902054906115ba565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113af85856115af565b60405190815260200160405180910390a350505050565b5f81848411156113e95760405162461bcd60e51b81526004016104e591906115c5565b505050900390565b600e805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061143357611433611914565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561148a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114ae9190611852565b816001815181106114c1576114c1611914565b6001600160a01b0392831660209182029290920101526005546114e79130911684610ceb565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac9479061151f9085905f90869030904290600401611928565b5f604051808303815f87803b158015611536575f5ffd5b505af1158015611548573d5f5f3e3d5ffd5b5050600e805461ff001916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105c4573d5f5f3e3d5ffd5b5f61159d8284611806565b9392505050565b5f61159d82846118f5565b5f61159d8284611998565b5f61159d82846118ca565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610c61575f5ffd5b5f5f6040838503121561161f575f5ffd5b823561162a816115fa565b946020939093013593505050565b5f5f5f6060848603121561164a575f5ffd5b8335611655816115fa565b92506020840135611665816115fa565b929592945050506040919091013590565b5f60208284031215611686575f5ffd5b813561159d816115fa565b5f5f604083850312156116a2575f5ffd5b82356116ad816115fa565b915060208301356116bd816115fa565b809150509250929050565b8015158114610c61575f5ffd5b5f5f604083850312156116e6575f5ffd5b82356116f1816115fa565b915060208301356116bd816116c8565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156117505780850481111561173457611734611701565b600184161561174257908102905b60019390931c928002611719565b935093915050565b5f8261176657506001610413565b8161177257505f610413565b81600181146117885760028114611792576117ae565b6001915050610413565b60ff8411156117a3576117a3611701565b50506001821b610413565b5060208310610133831016604e8410600b84101617156117d1575081810a610413565b6117dd5f198484611715565b805f19048211156117f0576117f0611701565b029392505050565b5f61159d60ff841683611758565b808202811582820484141761041357610413611701565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611862575f5ffd5b815161159d816115fa565b5f5f5f6060848603121561187f575f5ffd5b5050815160208301516040909301519094929350919050565b5f602082840312156118a8575f5ffd5b815161159d816116c8565b5f602082840312156118c3575f5ffd5b5051919050565b8082018082111561041357610413611701565b5f600182016118ee576118ee611701565b5060010190565b5f8261190f57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156119785783516001600160a01b0316835260209384019390920191600101611951565b50506001600160a01b039590951660608401525050608001529392505050565b818103818111156104135761041361170156fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220db8db44178fce3742ddaf5e2703cdbe461c0501d6d6fd879c7490d2f358f8ca564736f6c634300081c0033000000000000000000000000a498e57a87ff98d8c30741fb4e49a413b9dccb7e

Deployed Bytecode

0x608060405260043610610134575f3560e01c806380ae4ebc116100a8578063a9059cbb1161006d578063a9059cbb1461033a578063bf474bed14610359578063ce261d101461036d578063dd62ed3e1461038c578063de749dff146103d0578063df8408fe146103e4575f5ffd5b806380ae4ebc146102aa5780638a8c523c146102be5780638da5cb5b146102d25780638f9a55c0146102f857806395d89b411461030d575f5ffd5b8063313ce567116100f9578063313ce567146102085780634619d69f1461022357806351bc3c851461023957806370a082311461024d578063715018a6146102815780637d1db4a514610295575f5ffd5b806306fdde031461013f578063095ea7b3146101845780630faee56f146101b357806318160ddd146101d557806323b872dd146101e9575f5ffd5b3661013b57005b5f5ffd5b34801561014a575f5ffd5b5060408051808201909152600b81526a1592985b1b081059d95b9d60aa1b60208201525b60405161017b91906115c5565b60405180910390f35b34801561018f575f5ffd5b506101a361019e36600461160e565b610403565b604051901515815260200161017b565b3480156101be575f5ffd5b506101c7610419565b60405190815260200161017b565b3480156101e0575f5ffd5b506101c7610435565b3480156101f4575f5ffd5b506101a3610203366004611638565b610455565b348015610213575f5ffd5b506040516009815260200161017b565b34801561022e575f5ffd5b506102376104bc565b005b348015610244575f5ffd5b50610237610577565b348015610258575f5ffd5b506101c7610267366004611676565b6001600160a01b03165f9081526001602052604090205490565b34801561028c575f5ffd5b506102376105c8565b3480156102a0575f5ffd5b506101c7600c5481565b3480156102b5575f5ffd5b50610237610639565b3480156102c9575f5ffd5b506102376109d4565b3480156102dd575f5ffd5b505f546040516001600160a01b03909116815260200161017b565b348015610303575f5ffd5b506101c7600d5481565b348015610318575f5ffd5b50604080518082019091526005815264159290531360da1b602082015261016e565b348015610345575f5ffd5b506101a361035436600461160e565b610a9d565b348015610364575f5ffd5b506101c7610aa9565b348015610378575f5ffd5b506101a361038736600461160e565b610ac0565b348015610397575f5ffd5b506101c76103a6366004611691565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103db575f5ffd5b50610237610bd1565b3480156103ef575f5ffd5b506102376103fe3660046116d5565b610c64565b5f61040f338484610ceb565b5060015b92915050565b6104256009600a6117f8565b61043290620f3e58611806565b81565b5f6104426009600a6117f8565b610450906305f5e100611806565b905090565b5f610461848484610db7565b6104b284336104ad856040518060600160405280602881526020016119ac602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906113c6565b610ceb565b5060019392505050565b5f546001600160a01b031633146104ee5760405162461bcd60e51b81526004016104e59061181d565b60405180910390fd5b6104fa6009600a6117f8565b610508906305f5e100611806565b600c556105176009600a6117f8565b610525906305f5e100611806565b600d557ff3e3445f3a9f1b27bcaf370e29d707c90a8d58b535a9894b62d0f6281fe112736105556009600a6117f8565b610563906305f5e100611806565b6040519081526020015b60405180910390a1565b6004546001600160a01b0316336001600160a01b031614610596575f5ffd5b305f9081526001602052604090205480156105b4576105b4816113f1565b4780156105c4576105c48161155b565b5050565b5f546001600160a01b031633146105f15760405162461bcd60e51b81526004016104e59061181d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106625760405162461bcd60e51b81526004016104e59061181d565b600e5460ff16156106ab5760405162461bcd60e51b81526020600482015260136024820152721a5b9a5d08185b1c9958591e4818d85b1b1959606a1b60448201526064016104e5565b5f6106f46106df60646106d960146106c56009600a6117f8565b6106d3906305f5e100611806565b90611592565b906115a4565b305f90815260016020526040902054906115af565b600580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559091506107409030906107326009600a6117f8565b6104ad906305f5e100611806565b60055f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610790573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b49190611852565b6001600160a01b031663c9c653963060055f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610813573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108379190611852565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610881573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a59190611852565b600680546001600160a01b0319166001600160a01b039283161790556005541663f305d7194730845f803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610936573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061095b919061186d565b505060065460055460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109b0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c49190611898565b5f546001600160a01b031633146109fd5760405162461bcd60e51b81526004016104e59061181d565b600e5460ff1615610a475760405162461bcd60e51b81526020600482015260146024820152733a3930b234b7339030b63932b0b23c9037b832b760611b60448201526064016104e5565b600e80546201000162ff00ff19909116179081905560408051600181526201000090920460ff16151560208301527fbebe56ab705eea639814ee9785dc503450401ba31e74ac2141f833342388ef35910161056d565b5f61040f338484610db7565b610ab56009600a6117f8565b610432906005611806565b6004545f906001600160a01b0316336001600160a01b031614610ae1575f5ffd5b825f839003610b53576040516370a0823160e01b81523060048201526001600160a01b038216906370a0823190602401602060405180830381865afa158015610b2c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5091906118b3565b92505b6004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820185905282169063a9059cbb906044016020604051808303815f875af1158015610ba5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc99190611898565b949350505050565b6004546001600160a01b0316336001600160a01b031614610bf0575f5ffd5b5f4711610c385760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b60448201526064016104e5565b60405133904780156108fc02915f818181858888f19350505050158015610c61573d5f5f3e3d5ffd5b50565b5f546001600160a01b03163314610c8d5760405162461bcd60e51b81526004016104e59061181d565b6001600160a01b0382165f81815260036020908152604091829020805460ff191685151590811790915591519182527fd5144d2a6c8ff9b87b7a40852df5102cab2ce561c06b56cc6fe7ccf1fa7f8c2d910160405180910390a25050565b6001600160a01b03831615801590610d0b57506001600160a01b03821615155b610d575760405162461bcd60e51b815260206004820152601f60248201527f45524332303a20617070726f766520746865207a65726f20616464726573730060448201526064016104e5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831615801590610dd757506001600160a01b03821615155b610e235760405162461bcd60e51b815260206004820181905260248201527f45524332303a207472616e7366657220746865207a65726f206164647265737360448201526064016104e5565b5f8111610e845760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104e5565b5f80546001600160a01b03858116911614801590610eaf57505f546001600160a01b03848116911614155b1561128957600e5460ff16610f3e576001600160a01b0383165f9081526003602052604090205460ff1680610efb57506001600160a01b0384165f9081526003602052604090205460ff165b610f3e5760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b60448201526064016104e5565b6006546001600160a01b038581169116148015610f6957506005546001600160a01b03848116911614155b8015610f8d57506001600160a01b0383165f9081526003602052604090205460ff16155b1561107357600c54821115610fe45760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104e5565b600d5482611006856001600160a01b03165f9081526001602052604090205490565b61101091906118ca565b111561105e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104e5565b60098054905f61106d836118dd565b91905055505b6006546001600160a01b03848116911614801561109957506001600160a01b0384163014155b156110d05760646110bf601e600954116110b457601e6110b8565b6008545b8490611592565b6110c991906118f5565b9050611128565b6006546001600160a01b0385811691161480156110f657506001600160a01b0383163014155b1561112857606461111b6005600954116111115760146110b8565b6007548490611592565b61112591906118f5565b90505b305f90815260016020526040902054600e54610100900460ff1615801561115c57506006546001600160a01b038581169116145b80156111705750600e5462010000900460ff165b801561119157506111836009600a6117f8565b61118e906005611806565b81115b801561119f57506019600954115b1561128757600b544311156111b3575f600a555b6002600a54106112055760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920322073656c6c732070657220626c6f636b2100000000000000000060448201526064016104e5565b5f6112126009600a6117f8565b61121f90620f3e58611806565b821161122b5781611244565b6112376009600a6117f8565b61124490620f3e58611806565b905061125c81851161125657846113f1565b816113f1565b47801561126c5761126c4761155b565b600a8054905f61127b836118dd565b909155505043600b5550505b505b801561130157305f908152600160205260409020546112a890826115ba565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112f89085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461132390836115af565b6001600160a01b0385165f9081526001602052604090205561136661134883836115af565b6001600160a01b0385165f90815260016020526040902054906115ba565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113af85856115af565b60405190815260200160405180910390a350505050565b5f81848411156113e95760405162461bcd60e51b81526004016104e591906115c5565b505050900390565b600e805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061143357611433611914565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561148a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114ae9190611852565b816001815181106114c1576114c1611914565b6001600160a01b0392831660209182029290920101526005546114e79130911684610ceb565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac9479061151f9085905f90869030904290600401611928565b5f604051808303815f87803b158015611536575f5ffd5b505af1158015611548573d5f5f3e3d5ffd5b5050600e805461ff001916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105c4573d5f5f3e3d5ffd5b5f61159d8284611806565b9392505050565b5f61159d82846118f5565b5f61159d8284611998565b5f61159d82846118ca565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610c61575f5ffd5b5f5f6040838503121561161f575f5ffd5b823561162a816115fa565b946020939093013593505050565b5f5f5f6060848603121561164a575f5ffd5b8335611655816115fa565b92506020840135611665816115fa565b929592945050506040919091013590565b5f60208284031215611686575f5ffd5b813561159d816115fa565b5f5f604083850312156116a2575f5ffd5b82356116ad816115fa565b915060208301356116bd816115fa565b809150509250929050565b8015158114610c61575f5ffd5b5f5f604083850312156116e6575f5ffd5b82356116f1816115fa565b915060208301356116bd816116c8565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156117505780850481111561173457611734611701565b600184161561174257908102905b60019390931c928002611719565b935093915050565b5f8261176657506001610413565b8161177257505f610413565b81600181146117885760028114611792576117ae565b6001915050610413565b60ff8411156117a3576117a3611701565b50506001821b610413565b5060208310610133831016604e8410600b84101617156117d1575081810a610413565b6117dd5f198484611715565b805f19048211156117f0576117f0611701565b029392505050565b5f61159d60ff841683611758565b808202811582820484141761041357610413611701565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611862575f5ffd5b815161159d816115fa565b5f5f5f6060848603121561187f575f5ffd5b5050815160208301516040909301519094929350919050565b5f602082840312156118a8575f5ffd5b815161159d816116c8565b5f602082840312156118c3575f5ffd5b5051919050565b8082018082111561041357610413611701565b5f600182016118ee576118ee611701565b5060010190565b5f8261190f57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156119785783516001600160a01b0316835260209384019390920191600101611951565b50506001600160a01b039590951660608401525050608001529392505050565b818103818111156104135761041361170156fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220db8db44178fce3742ddaf5e2703cdbe461c0501d6d6fd879c7490d2f358f8ca564736f6c634300081c0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000a498e57a87ff98d8c30741fb4e49a413b9dccb7e

-----Decoded View---------------
Arg [0] : wallet (address): 0xA498E57a87ff98d8c30741Fb4E49A413b9DCcB7E

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a498e57a87ff98d8c30741fb4e49a413b9dccb7e


Deployed Bytecode Sourcemap

5930:9322:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8015:83;;;;;;;;;;-1:-1:-1;8085:5:0;;;;;;;;;;;;-1:-1:-1;;;8085:5:0;;;;8015:83;;;;;;;:::i;:::-;;;;;;;;8848:161;;;;;;;;;;-1:-1:-1;8848:161:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;8848:161:0;945:187:1;7122:61:0;;;;;;;;;;;;;:::i;:::-;;;1283:25:1;;;1271:2;1256:18;7122:61:0;1137:177:1;8292:95:0;;;;;;;;;;;;;:::i;9017:313::-;;;;;;;;;;-1:-1:-1;9017:313:0;;;;;:::i;:::-;;:::i;8201:83::-;;;;;;;;;;-1:-1:-1;8201:83:0;;6921:1;1974:36:1;;1962:2;1947:18;8201:83:0;1832:184:1;14082:157:0;;;;;;;;;;;;;:::i;:::-;;14284:360;;;;;;;;;;;;;:::i;8395:119::-;;;;;;;;;;-1:-1:-1;8395:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8488:18:0;8461:7;8488:18;;;:9;:18;;;;;;;8395:119;5775:148;;;;;;;;;;;;;:::i;6998:54::-;;;;;;;;;;;;;;;;12997:847;;;;;;;;;;;;;:::i;13852:222::-;;;;;;;;;;;;;:::i;5561:79::-;;;;;;;;;;-1:-1:-1;5599:7:0;5626:6;5561:79;;-1:-1:-1;;;;;5626:6:0;;;2419:51:1;;2407:2;2392:18;5561:79:0;2273:203:1;7059:56:0;;;;;;;;;;;;;;;;8106:87;;;;;;;;;;-1:-1:-1;8178:7:0;;;;;;;;;;;;-1:-1:-1;;;8178:7:0;;;;8106:87;;8522:167;;;;;;;;;;-1:-1:-1;8522:167:0;;;;;:::i;:::-;;:::i;7190:62::-;;;;;;;;;;;;;:::i;14882:367::-;;;;;;;;;;-1:-1:-1;14882:367:0;;;;;:::i;:::-;;:::i;8697:143::-;;;;;;;;;;-1:-1:-1;8697:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8805:18:0;;;8778:7;8805:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8697:143;14652:222;;;;;;;;;;;;;:::i;12219:179::-;;;;;;;;;;-1:-1:-1;12219:179:0;;;;;:::i;:::-;;:::i;8848:161::-;8923:4;8940:39;5218:10;8963:7;8972:6;8940:8;:39::i;:::-;-1:-1:-1;8997:4:0;8848:161;;;;;:::o;7122:61::-;7169:14;6921:1;7169:2;:14;:::i;:::-;7160:23;;:6;:23;:::i;:::-;7122:61;:::o;8292:95::-;8345:7;6976:13;6921:1;6976:2;:13;:::i;:::-;6964:25;;:9;:25;:::i;:::-;8365:14;;8292:95;:::o;9017:313::-;9115:4;9132:36;9142:6;9150:9;9161:6;9132:9;:36::i;:::-;9179:121;9188:6;5218:10;9210:89;9248:6;9210:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9210:19:0;;;;;;:11;:19;;;;;;;;5218:10;9210:33;;;;;;;;;;:37;:89::i;:::-;9179:8;:121::i;:::-;-1:-1:-1;9318:4:0;9017:313;;;;;:::o;14082:157::-;5688:6;;-1:-1:-1;;;;;5688:6:0;5218:10;5688:22;5680:67;;;;-1:-1:-1;;;5680:67:0;;;;;;;:::i;:::-;;;;;;;;;6976:13:::1;6921:1;6976:2;:13;:::i;:::-;6964:25;::::0;:9:::1;:25;:::i;:::-;14138:12;:22:::0;6976:13:::1;6921:1;6976:2;:13;:::i;:::-;6964:25;::::0;:9:::1;:25;:::i;:::-;14171:14;:24:::0;14211:20:::1;6976:13;6921:1;6976:2;:13;:::i;:::-;6964:25;::::0;:9:::1;:25;:::i;:::-;14211:20;::::0;1283:25:1;;;1271:2;1256:18;14211:20:0::1;;;;;;;;14082:157::o:0;14284:360::-;14350:10;;-1:-1:-1;;;;;14350:10:0;5218;-1:-1:-1;;;;;14334:26:0;;14326:35;;;;;;14413:4;14372:20;8488:18;;;:9;:18;;;;;;14433:16;;14430:75;;14463:30;14480:12;14463:16;:30::i;:::-;14538:21;14573:14;;14570:67;;14601:24;14614:10;14601:12;:24::i;:::-;14315:329;;14284:360::o;5775:148::-;5688:6;;-1:-1:-1;;;;;5688:6:0;5218:10;5688:22;5680:67;;;;-1:-1:-1;;;5680:67:0;;;;;;;:::i;:::-;5882:1:::1;5866:6:::0;;5845:40:::1;::::0;-1:-1:-1;;;;;5866:6:0;;::::1;::::0;5845:40:::1;::::0;5882:1;;5845:40:::1;5913:1;5896:19:::0;;-1:-1:-1;;;;;;5896:19:0::1;::::0;;5775:148::o;12997:847::-;5688:6;;-1:-1:-1;;;;;5688:6:0;5218:10;5688:22;5680:67;;;;-1:-1:-1;;;5680:67:0;;;;;;;:::i;:::-;13060:11:::1;::::0;::::1;;13059:12;13051:43;;;::::0;-1:-1:-1;;;13051:43:0;;5684:2:1;13051:43:0::1;::::0;::::1;5666:21:1::0;5723:2;5703:18;;;5696:30;-1:-1:-1;;;5742:18:1;;;5735:49;5801:18;;13051:43:0::1;5482:343:1::0;13051:43:0::1;13105:19;13127:66;13156:36;13188:3;13156:27;6373:2;6976:13;6921:1;6976:2;:13;:::i;:::-;6964:25;::::0;:9:::1;:25;:::i;:::-;13156:11:::0;::::1;:27::i;:::-;:31:::0;::::1;:36::i;:::-;13145:4;8461:7:::0;8488:18;;;:9;:18;;;;;;13127:28;::::1;:66::i;:::-;13204:15;:80:::0;;-1:-1:-1;;;;;;13204:80:0::1;13241:42;13204:80:::0;;::::1;::::0;;;13105:88;;-1:-1:-1;13295:58:0::1;::::0;13312:4:::1;::::0;6976:13:::1;6921:1;6976:2;:13;:::i;:::-;6964:25;::::0;:9:::1;:25;:::i;13295:58::-;13412:15;;;;;;;;;-1:-1:-1::0;;;;;13412:15:0::1;-1:-1:-1::0;;;;;13412:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13380:83:0::1;;13472:4;13493:15;;;;;;;;;-1:-1:-1::0;;;;;13493:15:0::1;-1:-1:-1::0;;;;;13493:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13380:146;::::0;-1:-1:-1;;;;;;13380:146:0::1;::::0;;;;;;-1:-1:-1;;;;;6278:32:1;;;13380:146:0::1;::::0;::::1;6260:51:1::0;6347:32;;6327:18;;;6320:60;6233:18;;13380:146:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13364:13;:162:::0;;-1:-1:-1;;;;;;13364:162:0::1;-1:-1:-1::0;;;;;13364:162:0;;::::1;;::::0;;13537:15:::1;::::0;::::1;:31;13576:21;13622:4;13642:11:::0;-1:-1:-1;;5218:10:0;13537:216:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13537:216:0;;;-1:-1:-1;;;;;6712:32:1;;;13537:216:0::1;::::0;::::1;6694:51:1::0;6761:18;;;6754:34;;;;6804:18;;;6797:34;;;;6847:18;;;6840:34;6911:32;;;6890:19;;;6883:61;13727:15:0::1;6960:19:1::0;;;6953:35;6666:19;;13537:216:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13771:13:0::1;::::0;13802:15:::1;::::0;13764:71:::1;::::0;-1:-1:-1;;;13764:71:0;;-1:-1:-1;;;;;13802:15:0;;::::1;13764:71;::::0;::::1;7634:51:1::0;-1:-1:-1;;7701:18:1;;;7694:34;13771:13:0;::::1;::::0;-1:-1:-1;13764:29:0::1;::::0;7607:18:1;;13764:71:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13852:222::-:0;5688:6;;-1:-1:-1;;;;;5688:6:0;5218:10;5688:22;5680:67;;;;-1:-1:-1;;;5680:67:0;;;;;;;:::i;:::-;13917:11:::1;::::0;::::1;;13916:12;13908:44;;;::::0;-1:-1:-1;;;13908:44:0;;8191:2:1;13908:44:0::1;::::0;::::1;8173:21:1::0;8230:2;8210:18;;;8203:30;-1:-1:-1;;;8249:18:1;;;8242:50;8309:18;;13908:44:0::1;7989:344:1::0;13908:44:0::1;13963:11;:18:::0;;13992;-1:-1:-1;;13992:18:0;;;;;;;;14026:40:::1;::::0;;-1:-1:-1;8500:41:1;;13963:18:0;14054:11;;::::1;13963:18;14054:11;8584:14:1::0;8577:22;8572:2;8557:18;;8550:50;14026:40:0::1;::::0;8473:18:1;14026:40:0::1;8338:268:1::0;8522:167:0;8600:4;8617:42;5218:10;8641:9;8652:6;8617:9;:42::i;7190:62::-;7238:14;6921:1;7238:2;:14;:::i;:::-;7234:18;;:1;:18;:::i;14882:367::-;15013:10;;14964:12;;-1:-1:-1;;;;;15013:10:0;5218;-1:-1:-1;;;;;14997:26:0;;14989:35;;;;;;15065:12;15035:20;15094:11;;;15091:89;;15130:38;;-1:-1:-1;;;15130:38:0;;15162:4;15130:38;;;2419:51:1;-1:-1:-1;;;;;15130:23:0;;;;;2392:18:1;;15130:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15121:47;;15091:89;15222:10;;;15199:42;;-1:-1:-1;;;15199:42:0;;-1:-1:-1;;;;;15222:10:0;;;15199:42;;;7634:51:1;;;;7701:18;;;7694:34;;;15199:22:0;;;;;7607:18:1;;15199:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15192:49;14882:367;-1:-1:-1;;;;14882:367:0:o;14652:222::-;14722:10;;-1:-1:-1;;;;;14722:10:0;5218;-1:-1:-1;;;;;14706:26:0;;14698:35;;;;;;14776:1;14752:21;:25;14744:60;;;;-1:-1:-1;;;14744:60:0;;9335:2:1;14744:60:0;;;9317:21:1;9374:2;9354:18;;;9347:30;-1:-1:-1;;;9393:18:1;;;9386:52;9455:18;;14744:60:0;9133:346:1;14744:60:0;14815:51;;14823:10;;14844:21;14815:51;;;;;;;;;14844:21;14823:10;14815:51;;;;;;;;;;;;;;;;;;;;;14652:222::o;12219:179::-;5688:6;;-1:-1:-1;;;;;5688:6:0;5218:10;5688:22;5680:67;;;;-1:-1:-1;;;5680:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12303:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;;:38;;-1:-1:-1;;12303:38:0::1;::::0;::::1;;::::0;;::::1;::::0;;;12357:33;;1085:41:1;;;12357:33:0::1;::::0;1058:18:1;12357:33:0::1;;;;;;;12219:179:::0;;:::o;9338:276::-;-1:-1:-1;;;;;9431:19:0;;;;;;:44;;-1:-1:-1;;;;;;9454:21:0;;;;9431:44;9423:88;;;;-1:-1:-1;;;9423:88:0;;9686:2:1;9423:88:0;;;9668:21:1;9725:2;9705:18;;;9698:30;9764:33;9744:18;;;9737:61;9815:18;;9423:88:0;9484:355:1;9423:88:0;-1:-1:-1;;;;;9522:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9574:32;;1283:25:1;;;9574:32:0;;1256:18:1;9574:32:0;;;;;;;9338:276;;;:::o;9622:2589::-;-1:-1:-1;;;;;9710:18:0;;;;;;:38;;-1:-1:-1;;;;;;9732:16:0;;;;9710:38;9702:83;;;;-1:-1:-1;;;9702:83:0;;10046:2:1;9702:83:0;;;10028:21:1;;;10065:18;;;10058:30;10124:34;10104:18;;;10097:62;10176:18;;9702:83:0;9844:356:1;9702:83:0;9813:1;9804:6;:10;9796:64;;;;-1:-1:-1;;;9796:64:0;;10407:2:1;9796:64:0;;;10389:21:1;10446:2;10426:18;;;10419:30;10485:34;10465:18;;;10458:62;-1:-1:-1;;;10536:18:1;;;10529:39;10585:19;;9796:64:0;10205:405:1;9796:64:0;9873:17;5626:6;;-1:-1:-1;;;;;9909:15:0;;;5626:6;;9909:15;;;;:32;;-1:-1:-1;5599:7:0;5626:6;-1:-1:-1;;;;;9928:13:0;;;5626:6;;9928:13;;9909:32;9905:1950;;;9965:11;;;;9961:195;;-1:-1:-1;;;;;10026:22:0;;;;;;:18;:22;;;;;;;;;:50;;-1:-1:-1;;;;;;10052:24:0;;;;;;:18;:24;;;;;;;;10026:50;9996:144;;;;-1:-1:-1;;;9996:144:0;;10817:2:1;9996:144:0;;;10799:21:1;10856:2;10836:18;;;10829:30;-1:-1:-1;;;10875:18:1;;;10868:50;10935:18;;9996:144:0;10615:344:1;9996:144:0;10184:13;;-1:-1:-1;;;;;10176:21:0;;;10184:13;;10176:21;:55;;;;-1:-1:-1;10215:15:0;;-1:-1:-1;;;;;10201:30:0;;;10215:15;;10201:30;;10176:55;:83;;;;-1:-1:-1;;;;;;10237:22:0;;;;;;:18;:22;;;;;;;;10235:24;10176:83;10172:313;;;10299:12;;10289:6;:22;;10281:60;;;;-1:-1:-1;;;10281:60:0;;11166:2:1;10281:60:0;;;11148:21:1;11205:2;11185:18;;;11178:30;11244:27;11224:18;;;11217:55;11289:18;;10281:60:0;10964:349:1;10281:60:0;10394:14;;10384:6;10368:13;10378:2;-1:-1:-1;;;;;8488:18:0;8461:7;8488:18;;;:9;:18;;;;;;;8395:119;10368:13;:22;;;;:::i;:::-;:40;;10360:79;;;;-1:-1:-1;;;10360:79:0;;11650:2:1;10360:79:0;;;11632:21:1;11689:2;11669:18;;;11662:30;11728:28;11708:18;;;11701:56;11774:18;;10360:79:0;11448:350:1;10360:79:0;10458:9;:11;;;:9;:11;;;:::i;:::-;;;;;;10172:313;10523:13;;-1:-1:-1;;;;;10517:19:0;;;10523:13;;10517:19;:43;;;;-1:-1:-1;;;;;;10540:20:0;;10555:4;10540:20;;10517:43;10513:361;;;10664:3;10593:70;6523:2;10605:9;;:26;10604:58;;6423:2;10604:58;;;10633:13;;10604:58;10593:6;;:10;:70::i;:::-;:74;;;;:::i;:::-;10581:86;;10513:361;;;10719:13;;-1:-1:-1;;;;;10711:21:0;;;10719:13;;10711:21;:43;;;;-1:-1:-1;;;;;;10736:18:0;;10749:4;10736:18;;10711:43;10707:167;;;10855:3;10787:67;6473:1;10799:9;;:25;10798:55;;6373:2;10798:55;;;10826:12;;10787:6;;:10;:67::i;:::-;:71;;;;:::i;:::-;10775:83;;10707:167;10939:4;10890:28;8488:18;;;:9;:18;;;;;;10983:6;;;;;;;10982:7;:48;;;;-1:-1:-1;11017:13:0;;-1:-1:-1;;;;;11011:19:0;;;11017:13;;11011:19;10982:48;:81;;;;-1:-1:-1;11052:11:0;;;;;;;10982:81;:143;;;;-1:-1:-1;7238:14:0;6921:1;7238:2;:14;:::i;:::-;7234:18;;:1;:18;:::i;:::-;11085:20;:40;10982:143;:195;;;;;6576:2;11147:9;;:30;10982:195;10960:884;;;11231:13;;11216:12;:28;11212:90;;;11281:1;11269:9;:13;11212:90;11342:1;11330:9;;:13;11322:49;;;;-1:-1:-1;;;11322:49:0;;12367:2:1;11322:49:0;;;12349:21:1;12406:2;12386:18;;;12379:30;12445:25;12425:18;;;12418:53;12488:18;;11322:49:0;12165:347:1;11322:49:0;11390:19;7169:14;6921:1;7169:2;:14;:::i;:::-;7160:23;;:6;:23;:::i;:::-;11413:20;:34;11412:69;;11461:20;11412:69;;;7169:14;6921:1;7169:2;:14;:::i;:::-;7160:23;;:6;:23;:::i;:::-;11390:91;;11500:59;11527:11;11518:6;:20;11517:41;;11552:6;11500:16;:59::i;11517:41::-;11540:11;11500:16;:59::i;:::-;11607:21;11650:22;;11647:105;;11697:35;11710:21;11697:12;:35::i;:::-;11770:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;11816:12:0;11800:13;:28;-1:-1:-1;;10960:884:0;9943:1912;9905:1950;11870:11;;11867:161;;11938:4;11920:24;;;;:9;:24;;;;;;:39;;11949:9;11920:28;:39::i;:::-;11913:4;11895:24;;;;:9;:24;;;;;;;:64;;;;11977:39;;-1:-1:-1;;;;;11977:39:0;;;;;;;12006:9;1283:25:1;;1271:2;1256:18;;1137:177;11977:39:0;;;;;;;;11867:161;-1:-1:-1;;;;;12054:15:0;;;;;;:9;:15;;;;;;:27;;12074:6;12054:19;:27::i;:::-;-1:-1:-1;;;;;12038:15:0;;;;;;:9;:15;;;;;:43;12106:40;12124:21;:6;12135:9;12124:10;:21::i;:::-;-1:-1:-1;;;;;12106:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;12092:13:0;;;;;;;:9;:13;;;;;:54;;;;12162:41;;;12181:21;:6;12192:9;12181:10;:21::i;:::-;12162:41;;1283:25:1;;;1271:2;1256:18;12162:41:0;;;;;;;9691:2520;9622:2589;;;:::o;1851:206::-;1937:7;1998:12;1990:6;;;;1982:29;;;;-1:-1:-1;;;1982:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2033:5:0;;;1851:206::o;12506:483::-;7573:6;:13;;-1:-1:-1;;7573:13:0;;;;;12608:16:::1;::::0;;12622:1:::1;12608:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12608:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12608:16:0::1;12584:40;;12653:4;12635;12640:1;12635:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12635:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12679:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12679:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12635:7;;12679:22;;;;;:15;:22:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12669:4;12674:1;12669:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12669:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12744:15:::1;::::0;12712:62:::1;::::0;12729:4:::1;::::0;12744:15:::1;12762:11:::0;12712:8:::1;:62::i;:::-;12785:15;::::0;:196:::1;::::0;-1:-1:-1;;;12785:196:0;;-1:-1:-1;;;;;12785:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12866:11;;12785:15:::1;::::0;12908:4;;12935::::1;::::0;12955:15:::1;::::0;12785:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;7609:6:0;:14;;-1:-1:-1;;7609:14:0;;;-1:-1:-1;;;;12506:483:0:o;12406:92::-;12463:10;;:27;;-1:-1:-1;;;;;12463:10:0;;;;:27;;;;;12483:6;;12463:10;:27;:10;:27;12483:6;12463:10;:27;;;;;;;;;;;;;;;;;;;1533:98;1591:7;1618:5;1622:1;1618;:5;:::i;:::-;1611:12;1533:98;-1:-1:-1;;;1533:98:0:o;1639:::-;1697:7;1724:5;1728:1;1724;:5;:::i;1427:98::-;1485:7;1512:5;1516:1;1512;:5;:::i;1321:98::-;1379:7;1406:5;1410:1;1406;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:367;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1319:508::-;1396:6;1404;1412;1465:2;1453:9;1444:7;1440:23;1436:32;1433:52;;;1481:1;1478;1471:12;1433:52;1520:9;1507:23;1539:31;1564:5;1539:31;:::i;:::-;1589:5;-1:-1:-1;1646:2:1;1631:18;;1618:32;1659:33;1618:32;1659:33;:::i;:::-;1319:508;;1711:7;;-1:-1:-1;;;1791:2:1;1776:18;;;;1763:32;;1319:508::o;2021:247::-;2080:6;2133:2;2121:9;2112:7;2108:23;2104:32;2101:52;;;2149:1;2146;2139:12;2101:52;2188:9;2175:23;2207:31;2232:5;2207:31;:::i;2481:388::-;2549:6;2557;2610:2;2598:9;2589:7;2585:23;2581:32;2578:52;;;2626:1;2623;2616:12;2578:52;2665:9;2652:23;2684:31;2709:5;2684:31;:::i;:::-;2734:5;-1:-1:-1;2791:2:1;2776:18;;2763:32;2804:33;2763:32;2804:33;:::i;:::-;2856:7;2846:17;;;2481:388;;;;;:::o;2874:118::-;2960:5;2953:13;2946:21;2939:5;2936:32;2926:60;;2982:1;2979;2972:12;2997:382;3062:6;3070;3123:2;3111:9;3102:7;3098:23;3094:32;3091:52;;;3139:1;3136;3129:12;3091:52;3178:9;3165:23;3197:31;3222:5;3197:31;:::i;:::-;3247:5;-1:-1:-1;3304:2:1;3289:18;;3276:32;3317:30;3276:32;3317:30;:::i;3384:127::-;3445:10;3440:3;3436:20;3433:1;3426:31;3476:4;3473:1;3466:15;3500:4;3497:1;3490:15;3516:375;3604:1;3622:5;3636:249;3657:1;3647:8;3644:15;3636:249;;;3707:4;3702:3;3698:14;3692:4;3689:24;3686:50;;;3716:18;;:::i;:::-;3766:1;3756:8;3752:16;3749:49;;;3780:16;;;;3749:49;3863:1;3859:16;;;;;3819:15;;3636:249;;;3516:375;;;;;;:::o;3896:902::-;3945:5;3975:8;3965:80;;-1:-1:-1;4016:1:1;4030:5;;3965:80;4064:4;4054:76;;-1:-1:-1;4101:1:1;4115:5;;4054:76;4146:4;4164:1;4159:59;;;;4232:1;4227:174;;;;4139:262;;4159:59;4189:1;4180:10;;4203:5;;;4227:174;4264:3;4254:8;4251:17;4248:43;;;4271:18;;:::i;:::-;-1:-1:-1;;4327:1:1;4313:16;;4386:5;;4139:262;;4485:2;4475:8;4472:16;4466:3;4460:4;4457:13;4453:36;4447:2;4437:8;4434:16;4429:2;4423:4;4420:12;4416:35;4413:77;4410:203;;;-1:-1:-1;4522:19:1;;;4598:5;;4410:203;4645:42;-1:-1:-1;;4670:8:1;4664:4;4645:42;:::i;:::-;4723:6;4719:1;4715:6;4711:19;4702:7;4699:32;4696:58;;;4734:18;;:::i;:::-;4772:20;;3896:902;-1:-1:-1;;;3896:902:1:o;4803:140::-;4861:5;4890:47;4931:4;4921:8;4917:19;4911:4;4890:47;:::i;4948:168::-;5021:9;;;5052;;5069:15;;;5063:22;;5049:37;5039:71;;5090:18;;:::i;5121:356::-;5323:2;5305:21;;;5342:18;;;5335:30;5401:34;5396:2;5381:18;;5374:62;5468:2;5453:18;;5121:356::o;5830:251::-;5900:6;5953:2;5941:9;5932:7;5928:23;5924:32;5921:52;;;5969:1;5966;5959:12;5921:52;6001:9;5995:16;6020:31;6045:5;6020:31;:::i;6999:456::-;7087:6;7095;7103;7156:2;7144:9;7135:7;7131:23;7127:32;7124:52;;;7172:1;7169;7162:12;7124:52;-1:-1:-1;;7217:16:1;;7323:2;7308:18;;7302:25;7419:2;7404:18;;;7398:25;7217:16;;7302:25;;-1:-1:-1;7398:25:1;6999:456;-1:-1:-1;6999:456:1:o;7739:245::-;7806:6;7859:2;7847:9;7838:7;7834:23;7830:32;7827:52;;;7875:1;7872;7865:12;7827:52;7907:9;7901:16;7926:28;7948:5;7926:28;:::i;8611:230::-;8681:6;8734:2;8722:9;8713:7;8709:23;8705:32;8702:52;;;8750:1;8747;8740:12;8702:52;-1:-1:-1;8795:16:1;;8611:230;-1:-1:-1;8611:230:1:o;11318:125::-;11383:9;;;11404:10;;;11401:36;;;11417:18;;:::i;11803:135::-;11842:3;11863:17;;;11860:43;;11883:18;;:::i;:::-;-1:-1:-1;11930:1:1;11919:13;;11803:135::o;11943:217::-;11983:1;12009;11999:132;;12053:10;12048:3;12044:20;12041:1;12034:31;12088:4;12085:1;12078:15;12116:4;12113:1;12106:15;11999:132;-1:-1:-1;12145:9:1;;11943:217::o;12649:127::-;12710:10;12705:3;12701:20;12698:1;12691:31;12741:4;12738:1;12731:15;12765:4;12762:1;12755:15;12781:959;13043:4;13091:3;13080:9;13076:19;13122:6;13111:9;13104:25;13165:6;13160:2;13149:9;13145:18;13138:34;13208:3;13203:2;13192:9;13188:18;13181:31;13232:6;13267;13261:13;13298:6;13290;13283:22;13336:3;13325:9;13321:19;13314:26;;13375:2;13367:6;13363:15;13349:29;;13396:1;13406:195;13420:6;13417:1;13414:13;13406:195;;;13485:13;;-1:-1:-1;;;;;13481:39:1;13469:52;;13550:2;13576:15;;;;13541:12;;;;13517:1;13435:9;13406:195;;;-1:-1:-1;;;;;;;13657:32:1;;;;13652:2;13637:18;;13630:60;-1:-1:-1;;13721:3:1;13706:19;13699:35;13618:3;12781:959;-1:-1:-1;;;12781:959:1:o;13745:128::-;13812:9;;;13833:11;;;13830:37;;;13847:18;;:::i

Swarm Source

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