ETH Price: $3,161.76 (-8.11%)
Gas: 4 Gwei

Token

SKYFAM (SKYFAM)
 

Overview

Max Total Supply

10,000,000,000 SKYFAM

Holders

10

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
91,999,999.08 SKYFAM

Value
$0.00
0xa01257a31a8b54d469e2646e0f94adab60292122
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:
skyfam

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-03-07
*/

/*

☁️☁️SKYFAM☁️☁️ 
❕The World’s First Decentralized Mobility as a Service Platform❕ 

Built on blockchain technology and will be an All-in-one platform that will includes all mobility services such as ride sharing, delivery service, shop OTG, entertainment, etc. 

Telegram : https://t.me/skyfam_global
Twitter : https://twitter.com/skyfam_io
Website : https://skyfam.io/
*/
//SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.10;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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);
    }
}  

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

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

contract skyfam is Context, IERC20, Ownable {
    mapping (address => uint) private _owned;
    mapping (address => mapping (address => uint)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isBot;
    mapping (address => User) private cooldown;
    uint private constant _totalSupply = 1e10 * 10**9;

    string public constant name = unicode"SKYFAM";
    string public constant symbol = unicode"SKYFAM";
    uint8 public constant decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;

    address payable public _TaxAdd;
    address public uniswapV2Pair;
    uint public _buyFee = 8;
    uint public _sellFee = 8;
    uint private _feeRate = 15;
    uint public _maxBuyAmount;
    uint public _maxHeldTokens;
    uint public _launchedAt;
    bool private _tradingOpen;
    bool private _inSwap = false;
    bool public _useImpactFeeSetter = false;

    struct User {
        uint buy;
        bool exists;
    }

    event FeeMultiplierUpdated(uint _multiplier);
    event ImpactFeeSetterUpdated(bool _usefeesetter);
    event FeeRateUpdated(uint _rate);
    event FeesUpdated(uint _buy, uint _sell);
    event TaxAddUpdated(address _taxwallet);
    
    modifier lockTheSwap {
        _inSwap = true;
        _;
        _inSwap = false;
    }
    constructor (address payable TaxAdd) {
        _TaxAdd = TaxAdd;
        _owned[address(this)] = _totalSupply;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[TaxAdd] = true;
        _isExcludedFromFee[address(0xdead)] = true;

        emit Transfer(address(0), address(this), _totalSupply);
    }

    function balanceOf(address account) public view override returns (uint) {
        return _owned[account];
    }
    function transfer(address recipient, uint amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    
    function totalSupply() public pure override returns (uint) {
        return _totalSupply;
    }

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

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

    function transferFrom(address sender, address recipient, uint amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        uint allowedAmount = _allowances[sender][_msgSender()] - amount;
        _approve(sender, _msgSender(), allowedAmount);
        return true;
    }

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

    function _transfer(address from, address to, uint amount) private {
        require(!_isBot[from] && !_isBot[to] && !_isBot[msg.sender]);
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        bool isBuy = false;
        if(from != owner() && to != owner()) {
            if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(_tradingOpen, "Trading not yet enabled.");
                if (block.timestamp == _launchedAt) _isBot[to] = true;
                require(amount <= _maxBuyAmount, "Exceeds maximum buy amount.");
                require((amount + balanceOf(address(to))) <= _maxHeldTokens, "You can't own that many tokens at once."); 

                if(!cooldown[to].exists) {
                    cooldown[to] = User(0,true);
                }

                cooldown[to].buy = block.timestamp;
                isBuy = true;
            }
            if(!_inSwap && _tradingOpen && from != uniswapV2Pair) {
                require(cooldown[from].buy < block.timestamp + (15 seconds), "Your sell cooldown has not expired.");
                uint contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > 0) {
                    if(_useImpactFeeSetter) {
                        if(contractTokenBalance > (balanceOf(uniswapV2Pair) * _feeRate) / 100) {
                            contractTokenBalance = (balanceOf(uniswapV2Pair) * _feeRate) / 100;
                        }
                    }
                    uint burnAmount = contractTokenBalance/4;
                    contractTokenBalance -= burnAmount;
                    burnToken(burnAmount);
                    swapTokensForEth(contractTokenBalance);
                }
                uint contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                isBuy = false;
            }
        }
        bool takeFee = true;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }
        _tokenTransfer(from,to,amount,takeFee,isBuy);
    }

    function burnToken(uint burnAmount) private lockTheSwap{
        if(burnAmount > 0){
            _transfer(address(this), address(0xdead),burnAmount);
        }

    }

    function swapTokensForEth(uint 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 sendETHToFee(uint amount) private {
        _TaxAdd.transfer(amount);
    }
    
    function _tokenTransfer(address sender, address recipient, uint amount, bool takefee, bool buy) private {
        (uint fee) = _getFee(takefee, buy);
        _transferStandard(sender, recipient, amount, fee);
    }

    function _getFee(bool takefee, bool buy) private view returns (uint) {
        uint fee = 0;
        if(takefee) {
            if(buy) {
                fee = _buyFee;
            } else {
                fee = _sellFee;
            }
        }
        return fee;
    }

    function _transferStandard(address sender, address recipient, uint amount, uint fee) private {
        (uint transferAmount, uint team) = _getValues(amount, fee);
        _owned[sender] = _owned[sender] - amount;
        _owned[recipient] = _owned[recipient] + transferAmount; 
        _takeTeam(team);
        emit Transfer(sender, recipient, transferAmount);
    }

    function _getValues(uint amount, uint teamFee) private pure returns (uint, uint) {
        uint team = (amount * teamFee) / 100;
        uint transferAmount = amount - team;
        return (transferAmount, team);
    }

    function _takeTeam(uint team) private {
        _owned[address(this)] = _owned[address(this)] + team;
    }

    receive() external payable {}
    
    function addLiquidity() external onlyOwner() {
        require(!_tradingOpen, "Trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
    }

    function openTrading() external onlyOwner() {
        require(!_tradingOpen, "Trading is already open");
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        _tradingOpen = true;
        _launchedAt = block.timestamp;
        _maxBuyAmount = 100000000 * 10**9; 
        _maxHeldTokens = 100000000 * 10**9; 
    }

    function setMaxTxn(uint maxbuy, uint maxheld) external {
        require(_msgSender() == _TaxAdd);
        require(maxbuy >= 100000000 * 10**9);
        require(maxheld >= 100000000 * 10**9);

        _maxBuyAmount = maxbuy;
        _maxHeldTokens  = maxheld;

    }

    function manualswap() external {
        require(_msgSender() == _TaxAdd);
        uint contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _TaxAdd);
        uint contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function setFeeRate(uint rate) external {
        require(_msgSender() == _TaxAdd);
        require(rate > 0, "can't be zero");
        _feeRate = rate;
        emit FeeRateUpdated(_feeRate);
    }

    function setFees(uint buy, uint sell) external  {
        require(_msgSender() == _TaxAdd);
        require(buy < 8 && sell < 8 && buy < _buyFee && sell < _sellFee);
        _buyFee = buy;
        _sellFee = sell;
        emit FeesUpdated(_buyFee, _sellFee);
    }

    function toggleImpactFee(bool onoff) external {
        require(_msgSender() == _TaxAdd);
        _useImpactFeeSetter = onoff;
        emit ImpactFeeSetterUpdated(_useImpactFeeSetter);
    }

    function updateTaxAdd(address newAddress) external {
        require(_msgSender() == _TaxAdd);
        _TaxAdd = payable(newAddress);
        emit TaxAddUpdated(_TaxAdd);
    }

    function thisBalance() public view returns (uint) {
        return balanceOf(address(this));
    }

    function amountInPool() public view returns (uint) {
        return balanceOf(uniswapV2Pair);
    }


    function setBots(address[] memory bots_) external onlyOwner() {
        for (uint i = 0; i < bots_.length; i++) {
            if (bots_[i] != uniswapV2Pair && bots_[i] != address(uniswapV2Router)) {
                _isBot[bots_[i]] = true;
            }
        }
    }
    function delBots(address[] memory bots_) external {
        require(_msgSender() == _TaxAdd);
        for (uint i = 0; i < bots_.length; i++) {
            _isBot[bots_[i]] = false;
        }
    }

    function isBot(address ad) public view returns (bool) {
        return _isBot[ad];
    }
    

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"TaxAdd","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":false,"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_buy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"FeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_usefeesetter","type":"bool"}],"name":"ImpactFeeSetterUpdated","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":"address","name":"_taxwallet","type":"address"}],"name":"TaxAddUpdated","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":"_TaxAdd","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxHeldTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_useImpactFeeSetter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","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":[],"name":"amountInPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxbuy","type":"uint256"},{"internalType":"uint256","name":"maxheld","type":"uint256"}],"name":"setMaxTxn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"toggleImpactFee","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateTaxAdd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526008600a819055600b55600f600c556010805462ffff00191690553480156200002c57600080fd5b506040516200207b3803806200207b8339810160408190526200004f91620001b0565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600880546001600160a01b0319166001600160a01b038316179055306000908152600260205260408120678ac7230489e800009055600190600490620000de6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553080825260049094528281208054861660019081179091559186168152828120805486168317905561dead81527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd8054909516909117909355519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620001a190678ac7230489e80000815260200190565b60405180910390a350620001e2565b600060208284031215620001c357600080fd5b81516001600160a01b0381168114620001db57600080fd5b9392505050565b611e8980620001f26000396000f3fe6080604052600436106101f25760003560e01c8063590f897e1161010d578063a3f4782f116100a0578063c9567bf91161006f578063c9567bf914610575578063db92dbb61461058a578063dcb0e0ad1461059f578063dd62ed3e146105bf578063e8078d941461060557600080fd5b8063a3f4782f14610500578063a9059cbb14610520578063b515566a14610540578063c3c8cd801461056057600080fd5b806373f54a11116100dc57806373f54a11146104a25780638da5cb5b146104c257806394b8d8f2146104e057806395d89b411461022757600080fd5b8063590f897e146104425780636fc3eaec1461045857806370a082311461046d578063715018a61461048d57600080fd5b806327f3a72a116101855780633bbac579116101545780633bbac579146103b357806340b9a54b146103ec57806345596e2e1461040257806349bd5a5e1461042257600080fd5b806327f3a72a14610341578063313ce5671461035657806331c2d8471461037d57806332d873d81461039d57600080fd5b8063104ce66d116101c1578063104ce66d146102b857806318160ddd146102f05780631940d0201461030b57806323b872dd1461032157600080fd5b80630492f055146101fe57806306fdde0314610227578063095ea7b3146102665780630b78f9c01461029657600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610214600d5481565b6040519081526020015b60405180910390f35b34801561023357600080fd5b5061025960405180604001604052806006815260200165534b5946414d60d01b81525081565b60405161021e9190611a10565b34801561027257600080fd5b50610286610281366004611a8a565b61061a565b604051901515815260200161021e565b3480156102a257600080fd5b506102b66102b1366004611ab6565b610630565b005b3480156102c457600080fd5b506008546102d8906001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b3480156102fc57600080fd5b50678ac7230489e80000610214565b34801561031757600080fd5b50610214600e5481565b34801561032d57600080fd5b5061028661033c366004611ad8565b6106ca565b34801561034d57600080fd5b5061021461071e565b34801561036257600080fd5b5061036b600981565b60405160ff909116815260200161021e565b34801561038957600080fd5b506102b6610398366004611b2f565b61072e565b3480156103a957600080fd5b50610214600f5481565b3480156103bf57600080fd5b506102866103ce366004611bf4565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156103f857600080fd5b50610214600a5481565b34801561040e57600080fd5b506102b661041d366004611c11565b6107ba565b34801561042e57600080fd5b506009546102d8906001600160a01b031681565b34801561044e57600080fd5b50610214600b5481565b34801561046457600080fd5b506102b661085b565b34801561047957600080fd5b50610214610488366004611bf4565b610888565b34801561049957600080fd5b506102b66108a3565b3480156104ae57600080fd5b506102b66104bd366004611bf4565b610917565b3480156104ce57600080fd5b506000546001600160a01b03166102d8565b3480156104ec57600080fd5b506010546102869062010000900460ff1681565b34801561050c57600080fd5b506102b661051b366004611ab6565b610985565b34801561052c57600080fd5b5061028661053b366004611a8a565b6109da565b34801561054c57600080fd5b506102b661055b366004611b2f565b6109e7565b34801561056c57600080fd5b506102b6610b00565b34801561058157600080fd5b506102b6610b36565b34801561059657600080fd5b50610214610d2d565b3480156105ab57600080fd5b506102b66105ba366004611c38565b610d45565b3480156105cb57600080fd5b506102146105da366004611c55565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561061157600080fd5b506102b6610db8565b6000610627338484610fbd565b50600192915050565b6008546001600160a01b0316336001600160a01b03161461065057600080fd5b6008821080156106605750600881105b801561066d5750600a5482105b801561067a5750600b5481105b61068357600080fd5b600a829055600b81905560408051838152602081018390527f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1910160405180910390a15050565b60006106d78484846110e1565b6001600160a01b0384166000908152600360209081526040808320338452909152812054610706908490611ca4565b9050610713853383610fbd565b506001949350505050565b600061072930610888565b905090565b6008546001600160a01b0316336001600160a01b03161461074e57600080fd5b60005b81518110156107b65760006005600084848151811061077257610772611cbb565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107ae81611cd1565b915050610751565b5050565b6008546001600160a01b0316336001600160a01b0316146107da57600080fd5b6000811161081f5760405162461bcd60e51b815260206004820152600d60248201526c63616e2774206265207a65726f60981b60448201526064015b60405180910390fd5b600c8190556040518181527f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8906020015b60405180910390a150565b6008546001600160a01b0316336001600160a01b03161461087b57600080fd5b47610885816116ad565b50565b6001600160a01b031660009081526002602052604090205490565b6000546001600160a01b031633146108cd5760405162461bcd60e51b815260040161081690611cec565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6008546001600160a01b0316336001600160a01b03161461093757600080fd5b600880546001600160a01b0319166001600160a01b0383169081179091556040519081527f5a9bcd8aea0cbf27de081c73815e420f65287b49bcf7a17ff691c61a2dd2d2d690602001610850565b6008546001600160a01b0316336001600160a01b0316146109a557600080fd5b67016345785d8a00008210156109ba57600080fd5b67016345785d8a00008110156109cf57600080fd5b600d91909155600e55565b60006106273384846110e1565b6000546001600160a01b03163314610a115760405162461bcd60e51b815260040161081690611cec565b60005b81518110156107b65760095482516001600160a01b0390911690839083908110610a4057610a40611cbb565b60200260200101516001600160a01b031614158015610a91575060075482516001600160a01b0390911690839083908110610a7d57610a7d611cbb565b60200260200101516001600160a01b031614155b15610aee57600160056000848481518110610aae57610aae611cbb565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610af881611cd1565b915050610a14565b6008546001600160a01b0316336001600160a01b031614610b2057600080fd5b6000610b2b30610888565b9050610885816116e7565b6000546001600160a01b03163314610b605760405162461bcd60e51b815260040161081690611cec565b60105460ff1615610bad5760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610816565b600754610bcd9030906001600160a01b0316678ac7230489e80000610fbd565b6007546001600160a01b031663f305d7194730610be981610888565b600080610bfe6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c66573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c8b9190611d21565b505060095460075460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610ce4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d089190611d4f565b506010805460ff1916600117905542600f5567016345785d8a0000600d819055600e55565b600954600090610729906001600160a01b0316610888565b6008546001600160a01b0316336001600160a01b031614610d6557600080fd5b6010805462ff00001916620100008315158102919091179182905560405160ff9190920416151581527ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb90602001610850565b6000546001600160a01b03163314610de25760405162461bcd60e51b815260040161081690611cec565b60105460ff1615610e2f5760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610816565b600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa158015610e94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb89190611d6c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f299190611d6c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610f76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9a9190611d6c565b600980546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03831661101f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610816565b6001600160a01b0382166110805760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610816565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460ff1615801561112357506001600160a01b03821660009081526005602052604090205460ff16155b801561113f57503360009081526005602052604090205460ff16155b61114857600080fd5b6001600160a01b0383166111ac5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610816565b6001600160a01b03821661120e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610816565b600081116112705760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610816565b600080546001600160a01b0385811691161480159061129d57506000546001600160a01b03848116911614155b1561164e576009546001600160a01b0385811691161480156112cd57506007546001600160a01b03848116911614155b80156112f257506001600160a01b03831660009081526004602052604090205460ff16155b156114c45760105460ff166113495760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e00000000000000006044820152606401610816565b600f54421415611377576001600160a01b0383166000908152600560205260409020805460ff191660011790555b600d548211156113c95760405162461bcd60e51b815260206004820152601b60248201527f45786365656473206d6178696d756d2062757920616d6f756e742e00000000006044820152606401610816565b600e546113d584610888565b6113df9084611d89565b111561143d5760405162461bcd60e51b815260206004820152602760248201527f596f752063616e2774206f776e2074686174206d616e7920746f6b656e7320616044820152663a1037b731b29760c91b6064820152608401610816565b6001600160a01b03831660009081526006602052604090206001015460ff166114a5576040805180820182526000808252600160208084018281526001600160a01b03891684526006909152939091209151825591519101805460ff19169115159190911790555b506001600160a01b038216600090815260066020526040902042905560015b601054610100900460ff161580156114de575060105460ff165b80156114f857506009546001600160a01b03858116911614155b1561164e5761150842600f611d89565b6001600160a01b0385166000908152600660205260409020541061157a5760405162461bcd60e51b815260206004820152602360248201527f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260448201526232b21760e91b6064820152608401610816565b600061158530610888565b905080156116375760105462010000900460ff161561160857600c54600954606491906115ba906001600160a01b0316610888565b6115c49190611da1565b6115ce9190611dc0565b81111561160857600c54600954606491906115f1906001600160a01b0316610888565b6115fb9190611da1565b6116059190611dc0565b90505b6000611615600483611dc0565b90506116218183611ca4565b915061162c8161185b565b611635826116e7565b505b47801561164757611647476116ad565b6000925050505b6001600160a01b03841660009081526004602052604090205460019060ff168061169057506001600160a01b03841660009081526004602052604090205460ff165b15611699575060005b6116a6858585848661188b565b5050505050565b6008546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107b6573d6000803e3d6000fd5b6010805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061172b5761172b611cbb565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a89190611d6c565b816001815181106117bb576117bb611cbb565b6001600160a01b0392831660209182029290920101526007546117e19130911684610fbd565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac9479061181a908590600090869030904290600401611de2565b600060405180830381600087803b15801561183457600080fd5b505af1158015611848573d6000803e3d6000fd5b50506010805461ff001916905550505050565b6010805461ff001916610100179055801561187d5761187d3061dead836110e1565b506010805461ff0019169055565b600061189783836118ad565b90506118a5868686846118d1565b505050505050565b60008083156118ca5782156118c55750600a546118ca565b50600b545b9392505050565b6000806118de84846119ae565b6001600160a01b0388166000908152600260205260409020549193509150611907908590611ca4565b6001600160a01b038088166000908152600260205260408082209390935590871681522054611937908390611d89565b6001600160a01b038616600090815260026020526040902055611959816119e2565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161199e91815260200190565b60405180910390a3505050505050565b6000808060646119be8587611da1565b6119c89190611dc0565b905060006119d68287611ca4565b96919550909350505050565b306000908152600260205260409020546119fd908290611d89565b3060009081526002602052604090205550565b600060208083528351808285015260005b81811015611a3d57858101830151858201604001528201611a21565b81811115611a4f576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461088557600080fd5b8035611a8581611a65565b919050565b60008060408385031215611a9d57600080fd5b8235611aa881611a65565b946020939093013593505050565b60008060408385031215611ac957600080fd5b50508035926020909101359150565b600080600060608486031215611aed57600080fd5b8335611af881611a65565b92506020840135611b0881611a65565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611b4257600080fd5b823567ffffffffffffffff80821115611b5a57600080fd5b818501915085601f830112611b6e57600080fd5b813581811115611b8057611b80611b19565b8060051b604051601f19603f83011681018181108582111715611ba557611ba5611b19565b604052918252848201925083810185019188831115611bc357600080fd5b938501935b82851015611be857611bd985611a7a565b84529385019392850192611bc8565b98975050505050505050565b600060208284031215611c0657600080fd5b81356118ca81611a65565b600060208284031215611c2357600080fd5b5035919050565b801515811461088557600080fd5b600060208284031215611c4a57600080fd5b81356118ca81611c2a565b60008060408385031215611c6857600080fd5b8235611c7381611a65565b91506020830135611c8381611a65565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015611cb657611cb6611c8e565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611ce557611ce5611c8e565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600080600060608486031215611d3657600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611d6157600080fd5b81516118ca81611c2a565b600060208284031215611d7e57600080fd5b81516118ca81611a65565b60008219821115611d9c57611d9c611c8e565b500190565b6000816000190483118215151615611dbb57611dbb611c8e565b500290565b600082611ddd57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e325784516001600160a01b031683529383019391830191600101611e0d565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220021c1762c872e87ddc62cfe2aaccb0917bfbdfe5bc8fcbe66603879fc285bbe364736f6c634300080c0033000000000000000000000000404a23a272c8c2835b8d27e2806f316867b73ae3

Deployed Bytecode

0x6080604052600436106101f25760003560e01c8063590f897e1161010d578063a3f4782f116100a0578063c9567bf91161006f578063c9567bf914610575578063db92dbb61461058a578063dcb0e0ad1461059f578063dd62ed3e146105bf578063e8078d941461060557600080fd5b8063a3f4782f14610500578063a9059cbb14610520578063b515566a14610540578063c3c8cd801461056057600080fd5b806373f54a11116100dc57806373f54a11146104a25780638da5cb5b146104c257806394b8d8f2146104e057806395d89b411461022757600080fd5b8063590f897e146104425780636fc3eaec1461045857806370a082311461046d578063715018a61461048d57600080fd5b806327f3a72a116101855780633bbac579116101545780633bbac579146103b357806340b9a54b146103ec57806345596e2e1461040257806349bd5a5e1461042257600080fd5b806327f3a72a14610341578063313ce5671461035657806331c2d8471461037d57806332d873d81461039d57600080fd5b8063104ce66d116101c1578063104ce66d146102b857806318160ddd146102f05780631940d0201461030b57806323b872dd1461032157600080fd5b80630492f055146101fe57806306fdde0314610227578063095ea7b3146102665780630b78f9c01461029657600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610214600d5481565b6040519081526020015b60405180910390f35b34801561023357600080fd5b5061025960405180604001604052806006815260200165534b5946414d60d01b81525081565b60405161021e9190611a10565b34801561027257600080fd5b50610286610281366004611a8a565b61061a565b604051901515815260200161021e565b3480156102a257600080fd5b506102b66102b1366004611ab6565b610630565b005b3480156102c457600080fd5b506008546102d8906001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b3480156102fc57600080fd5b50678ac7230489e80000610214565b34801561031757600080fd5b50610214600e5481565b34801561032d57600080fd5b5061028661033c366004611ad8565b6106ca565b34801561034d57600080fd5b5061021461071e565b34801561036257600080fd5b5061036b600981565b60405160ff909116815260200161021e565b34801561038957600080fd5b506102b6610398366004611b2f565b61072e565b3480156103a957600080fd5b50610214600f5481565b3480156103bf57600080fd5b506102866103ce366004611bf4565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156103f857600080fd5b50610214600a5481565b34801561040e57600080fd5b506102b661041d366004611c11565b6107ba565b34801561042e57600080fd5b506009546102d8906001600160a01b031681565b34801561044e57600080fd5b50610214600b5481565b34801561046457600080fd5b506102b661085b565b34801561047957600080fd5b50610214610488366004611bf4565b610888565b34801561049957600080fd5b506102b66108a3565b3480156104ae57600080fd5b506102b66104bd366004611bf4565b610917565b3480156104ce57600080fd5b506000546001600160a01b03166102d8565b3480156104ec57600080fd5b506010546102869062010000900460ff1681565b34801561050c57600080fd5b506102b661051b366004611ab6565b610985565b34801561052c57600080fd5b5061028661053b366004611a8a565b6109da565b34801561054c57600080fd5b506102b661055b366004611b2f565b6109e7565b34801561056c57600080fd5b506102b6610b00565b34801561058157600080fd5b506102b6610b36565b34801561059657600080fd5b50610214610d2d565b3480156105ab57600080fd5b506102b66105ba366004611c38565b610d45565b3480156105cb57600080fd5b506102146105da366004611c55565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561061157600080fd5b506102b6610db8565b6000610627338484610fbd565b50600192915050565b6008546001600160a01b0316336001600160a01b03161461065057600080fd5b6008821080156106605750600881105b801561066d5750600a5482105b801561067a5750600b5481105b61068357600080fd5b600a829055600b81905560408051838152602081018390527f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1910160405180910390a15050565b60006106d78484846110e1565b6001600160a01b0384166000908152600360209081526040808320338452909152812054610706908490611ca4565b9050610713853383610fbd565b506001949350505050565b600061072930610888565b905090565b6008546001600160a01b0316336001600160a01b03161461074e57600080fd5b60005b81518110156107b65760006005600084848151811061077257610772611cbb565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107ae81611cd1565b915050610751565b5050565b6008546001600160a01b0316336001600160a01b0316146107da57600080fd5b6000811161081f5760405162461bcd60e51b815260206004820152600d60248201526c63616e2774206265207a65726f60981b60448201526064015b60405180910390fd5b600c8190556040518181527f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8906020015b60405180910390a150565b6008546001600160a01b0316336001600160a01b03161461087b57600080fd5b47610885816116ad565b50565b6001600160a01b031660009081526002602052604090205490565b6000546001600160a01b031633146108cd5760405162461bcd60e51b815260040161081690611cec565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6008546001600160a01b0316336001600160a01b03161461093757600080fd5b600880546001600160a01b0319166001600160a01b0383169081179091556040519081527f5a9bcd8aea0cbf27de081c73815e420f65287b49bcf7a17ff691c61a2dd2d2d690602001610850565b6008546001600160a01b0316336001600160a01b0316146109a557600080fd5b67016345785d8a00008210156109ba57600080fd5b67016345785d8a00008110156109cf57600080fd5b600d91909155600e55565b60006106273384846110e1565b6000546001600160a01b03163314610a115760405162461bcd60e51b815260040161081690611cec565b60005b81518110156107b65760095482516001600160a01b0390911690839083908110610a4057610a40611cbb565b60200260200101516001600160a01b031614158015610a91575060075482516001600160a01b0390911690839083908110610a7d57610a7d611cbb565b60200260200101516001600160a01b031614155b15610aee57600160056000848481518110610aae57610aae611cbb565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610af881611cd1565b915050610a14565b6008546001600160a01b0316336001600160a01b031614610b2057600080fd5b6000610b2b30610888565b9050610885816116e7565b6000546001600160a01b03163314610b605760405162461bcd60e51b815260040161081690611cec565b60105460ff1615610bad5760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610816565b600754610bcd9030906001600160a01b0316678ac7230489e80000610fbd565b6007546001600160a01b031663f305d7194730610be981610888565b600080610bfe6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c66573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c8b9190611d21565b505060095460075460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610ce4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d089190611d4f565b506010805460ff1916600117905542600f5567016345785d8a0000600d819055600e55565b600954600090610729906001600160a01b0316610888565b6008546001600160a01b0316336001600160a01b031614610d6557600080fd5b6010805462ff00001916620100008315158102919091179182905560405160ff9190920416151581527ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb90602001610850565b6000546001600160a01b03163314610de25760405162461bcd60e51b815260040161081690611cec565b60105460ff1615610e2f5760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610816565b600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa158015610e94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb89190611d6c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f299190611d6c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610f76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9a9190611d6c565b600980546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03831661101f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610816565b6001600160a01b0382166110805760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610816565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460ff1615801561112357506001600160a01b03821660009081526005602052604090205460ff16155b801561113f57503360009081526005602052604090205460ff16155b61114857600080fd5b6001600160a01b0383166111ac5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610816565b6001600160a01b03821661120e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610816565b600081116112705760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610816565b600080546001600160a01b0385811691161480159061129d57506000546001600160a01b03848116911614155b1561164e576009546001600160a01b0385811691161480156112cd57506007546001600160a01b03848116911614155b80156112f257506001600160a01b03831660009081526004602052604090205460ff16155b156114c45760105460ff166113495760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e00000000000000006044820152606401610816565b600f54421415611377576001600160a01b0383166000908152600560205260409020805460ff191660011790555b600d548211156113c95760405162461bcd60e51b815260206004820152601b60248201527f45786365656473206d6178696d756d2062757920616d6f756e742e00000000006044820152606401610816565b600e546113d584610888565b6113df9084611d89565b111561143d5760405162461bcd60e51b815260206004820152602760248201527f596f752063616e2774206f776e2074686174206d616e7920746f6b656e7320616044820152663a1037b731b29760c91b6064820152608401610816565b6001600160a01b03831660009081526006602052604090206001015460ff166114a5576040805180820182526000808252600160208084018281526001600160a01b03891684526006909152939091209151825591519101805460ff19169115159190911790555b506001600160a01b038216600090815260066020526040902042905560015b601054610100900460ff161580156114de575060105460ff165b80156114f857506009546001600160a01b03858116911614155b1561164e5761150842600f611d89565b6001600160a01b0385166000908152600660205260409020541061157a5760405162461bcd60e51b815260206004820152602360248201527f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260448201526232b21760e91b6064820152608401610816565b600061158530610888565b905080156116375760105462010000900460ff161561160857600c54600954606491906115ba906001600160a01b0316610888565b6115c49190611da1565b6115ce9190611dc0565b81111561160857600c54600954606491906115f1906001600160a01b0316610888565b6115fb9190611da1565b6116059190611dc0565b90505b6000611615600483611dc0565b90506116218183611ca4565b915061162c8161185b565b611635826116e7565b505b47801561164757611647476116ad565b6000925050505b6001600160a01b03841660009081526004602052604090205460019060ff168061169057506001600160a01b03841660009081526004602052604090205460ff165b15611699575060005b6116a6858585848661188b565b5050505050565b6008546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107b6573d6000803e3d6000fd5b6010805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061172b5761172b611cbb565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a89190611d6c565b816001815181106117bb576117bb611cbb565b6001600160a01b0392831660209182029290920101526007546117e19130911684610fbd565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac9479061181a908590600090869030904290600401611de2565b600060405180830381600087803b15801561183457600080fd5b505af1158015611848573d6000803e3d6000fd5b50506010805461ff001916905550505050565b6010805461ff001916610100179055801561187d5761187d3061dead836110e1565b506010805461ff0019169055565b600061189783836118ad565b90506118a5868686846118d1565b505050505050565b60008083156118ca5782156118c55750600a546118ca565b50600b545b9392505050565b6000806118de84846119ae565b6001600160a01b0388166000908152600260205260409020549193509150611907908590611ca4565b6001600160a01b038088166000908152600260205260408082209390935590871681522054611937908390611d89565b6001600160a01b038616600090815260026020526040902055611959816119e2565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161199e91815260200190565b60405180910390a3505050505050565b6000808060646119be8587611da1565b6119c89190611dc0565b905060006119d68287611ca4565b96919550909350505050565b306000908152600260205260409020546119fd908290611d89565b3060009081526002602052604090205550565b600060208083528351808285015260005b81811015611a3d57858101830151858201604001528201611a21565b81811115611a4f576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461088557600080fd5b8035611a8581611a65565b919050565b60008060408385031215611a9d57600080fd5b8235611aa881611a65565b946020939093013593505050565b60008060408385031215611ac957600080fd5b50508035926020909101359150565b600080600060608486031215611aed57600080fd5b8335611af881611a65565b92506020840135611b0881611a65565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611b4257600080fd5b823567ffffffffffffffff80821115611b5a57600080fd5b818501915085601f830112611b6e57600080fd5b813581811115611b8057611b80611b19565b8060051b604051601f19603f83011681018181108582111715611ba557611ba5611b19565b604052918252848201925083810185019188831115611bc357600080fd5b938501935b82851015611be857611bd985611a7a565b84529385019392850192611bc8565b98975050505050505050565b600060208284031215611c0657600080fd5b81356118ca81611a65565b600060208284031215611c2357600080fd5b5035919050565b801515811461088557600080fd5b600060208284031215611c4a57600080fd5b81356118ca81611c2a565b60008060408385031215611c6857600080fd5b8235611c7381611a65565b91506020830135611c8381611a65565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015611cb657611cb6611c8e565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611ce557611ce5611c8e565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600080600060608486031215611d3657600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611d6157600080fd5b81516118ca81611c2a565b600060208284031215611d7e57600080fd5b81516118ca81611a65565b60008219821115611d9c57611d9c611c8e565b500190565b6000816000190483118215151615611dbb57611dbb611c8e565b500290565b600082611ddd57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e325784516001600160a01b031683529383019391830191600101611e0d565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220021c1762c872e87ddc62cfe2aaccb0917bfbdfe5bc8fcbe66603879fc285bbe364736f6c634300080c0033

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

000000000000000000000000404a23a272c8c2835b8d27e2806f316867b73ae3

-----Decoded View---------------
Arg [0] : TaxAdd (address): 0x404a23a272C8c2835B8D27e2806f316867B73AE3

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000404a23a272c8c2835b8d27e2806f316867b73ae3


Deployed Bytecode Sourcemap

2781:10920:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3531:25;;;;;;;;;;;;;;;;;;;160::1;;;148:2;133:18;3531:25:0;;;;;;;;3165:45;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3165:45:0;;;;;;;;;;;;:::i;5087:158::-;;;;;;;;;;-1:-1:-1;5087:158:0;;;;;:::i;:::-;;:::i;:::-;;;1558:14:1;;1551:22;1533:41;;1521:2;1506:18;5087:158:0;1393:187:1;12222:270:0;;;;;;;;;;-1:-1:-1;12222:270:0;;;;;:::i;:::-;;:::i;:::-;;3365:30;;;;;;;;;;-1:-1:-1;3365:30:0;;;;-1:-1:-1;;;;;3365:30:0;;;;;;-1:-1:-1;;;;;2018:32:1;;;2000:51;;1988:2;1973:18;3365:30:0;1838:219:1;4834:97:0;;;;;;;;;;-1:-1:-1;3144:12:0;4834:97;;3563:26;;;;;;;;;;;;;;;;5253:308;;;;;;;;;;-1:-1:-1;5253:308:0;;;;;:::i;:::-;;:::i;12890:100::-;;;;;;;;;;;;;:::i;3271:34::-;;;;;;;;;;;;3304:1;3271:34;;;;;2695:4:1;2683:17;;;2665:36;;2653:2;2638:18;3271:34:0;2523:184:1;13390:202:0;;;;;;;;;;-1:-1:-1;13390:202:0;;;;;:::i;:::-;;:::i;3596:23::-;;;;;;;;;;;;;;;;13600:90;;;;;;;;;;-1:-1:-1;13600:90:0;;;;;:::i;:::-;-1:-1:-1;;;;;13672:10:0;13648:4;13672:10;;;:6;:10;;;;;;;;;13600:90;3437:23;;;;;;;;;;;;;;;;12012:202;;;;;;;;;;-1:-1:-1;12012:202:0;;;;;:::i;:::-;;:::i;3402:28::-;;;;;;;;;;-1:-1:-1;3402:28:0;;;;-1:-1:-1;;;;;3402:28:0;;;3467:24;;;;;;;;;;;;;;;;11821:183;;;;;;;;;;;;;:::i;4539:113::-;;;;;;;;;;-1:-1:-1;4539:113:0;;;;;:::i;:::-;;:::i;1862:148::-;;;;;;;;;;;;;:::i;12702:180::-;;;;;;;;;;-1:-1:-1;12702:180:0;;;;;:::i;:::-;;:::i;1648:79::-;;;;;;;;;;-1:-1:-1;1686:7:0;1713:6;-1:-1:-1;;;;;1713:6:0;1648:79;;3693:39;;;;;;;;;;-1:-1:-1;3693:39:0;;;;;;;;;;;11343:274;;;;;;;;;;-1:-1:-1;11343:274:0;;;;;:::i;:::-;;:::i;4658:164::-;;;;;;;;;;-1:-1:-1;4658:164:0;;;;;:::i;:::-;;:::i;13109:275::-;;;;;;;;;;-1:-1:-1;13109:275:0;;;;;:::i;:::-;;:::i;11625:184::-;;;;;;;;;;;;;:::i;10766:569::-;;;;;;;;;;;;;:::i;12998:101::-;;;;;;;;;;;;;:::i;12500:194::-;;;;;;;;;;-1:-1:-1;12500:194:0;;;;;:::i;:::-;;:::i;4939:140::-;;;;;;;;;;-1:-1:-1;4939:140:0;;;;;:::i;:::-;-1:-1:-1;;;;;5044:18:0;;;5020:4;5044:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4939:140;10366:392;;;;;;;;;;;;;:::i;5087:158::-;5159:4;5176:39;591:10;5199:7;5208:6;5176:8;:39::i;:::-;-1:-1:-1;5233:4:0;5087:158;;;;:::o;12222:270::-;12305:7;;-1:-1:-1;;;;;12305:7:0;591:10;-1:-1:-1;;;;;12289:23:0;;12281:32;;;;;;12338:1;12332:3;:7;:19;;;;;12350:1;12343:4;:8;12332:19;:36;;;;;12361:7;;12355:3;:13;12332:36;:55;;;;;12379:8;;12372:4;:15;12332:55;12324:64;;;;;;12399:7;:13;;;12423:8;:15;;;12454:30;;;5551:25:1;;;5607:2;5592:18;;5585:34;;;12454:30:0;;5524:18:1;12454:30:0;;;;;;;12222:270;;:::o;5253:308::-;5348:4;5365:36;5375:6;5383:9;5394:6;5365:9;:36::i;:::-;-1:-1:-1;;;;;5433:19:0;;5412:18;5433:19;;;:11;:19;;;;;;;;591:10;5433:33;;;;;;;;:42;;5469:6;;5433:42;:::i;:::-;5412:63;-1:-1:-1;5486:45:0;5495:6;591:10;5517:13;5486:8;:45::i;:::-;-1:-1:-1;5549:4:0;;5253:308;-1:-1:-1;;;;5253:308:0:o;12890:100::-;12934:4;12958:24;12976:4;12958:9;:24::i;:::-;12951:31;;12890:100;:::o;13390:202::-;13475:7;;-1:-1:-1;;;;;13475:7:0;591:10;-1:-1:-1;;;;;13459:23:0;;13451:32;;;;;;13499:6;13494:91;13515:5;:12;13511:1;:16;13494:91;;;13568:5;13549:6;:16;13556:5;13562:1;13556:8;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;13549:16:0;;;;;;;;;;;-1:-1:-1;13549:16:0;:24;;-1:-1:-1;;13549:24:0;;;;;;;;;;13529:3;;;;:::i;:::-;;;;13494:91;;;;13390:202;:::o;12012:::-;12087:7;;-1:-1:-1;;;;;12087:7:0;591:10;-1:-1:-1;;;;;12071:23:0;;12063:32;;;;;;12121:1;12114:4;:8;12106:34;;;;-1:-1:-1;;;12106:34:0;;6366:2:1;12106:34:0;;;6348:21:1;6405:2;6385:18;;;6378:30;-1:-1:-1;;;6424:18:1;;;6417:43;6477:18;;12106:34:0;;;;;;;;;12151:8;:15;;;12182:24;;160:25:1;;;12182:24:0;;148:2:1;133:18;12182:24:0;;;;;;;;12012:202;:::o;11821:183::-;11887:7;;-1:-1:-1;;;;;11887:7:0;591:10;-1:-1:-1;;;;;11871:23:0;;11863:32;;;;;;11932:21;11964:32;11932:21;11964:12;:32::i;:::-;11852:152;11821:183::o;4539:113::-;-1:-1:-1;;;;;4629:15:0;4605:4;4629:15;;;:6;:15;;;;;;;4539:113::o;1862:148::-;1775:6;;-1:-1:-1;;;;;1775:6:0;591:10;1775:22;1767:67;;;;-1:-1:-1;;;1767:67:0;;;;;;;:::i;:::-;1969:1:::1;1953:6:::0;;1932:40:::1;::::0;-1:-1:-1;;;;;1953:6:0;;::::1;::::0;1932:40:::1;::::0;1969:1;;1932:40:::1;2000:1;1983:19:::0;;-1:-1:-1;;;;;;1983:19:0::1;::::0;;1862:148::o;12702:180::-;12788:7;;-1:-1:-1;;;;;12788:7:0;591:10;-1:-1:-1;;;;;12772:23:0;;12764:32;;;;;;12807:7;:29;;-1:-1:-1;;;;;;12807:29:0;-1:-1:-1;;;;;12807:29:0;;;;;;;;12852:22;;2000:51:1;;;12852:22:0;;1988:2:1;1973:18;12852:22:0;1838:219:1;11343:274:0;11433:7;;-1:-1:-1;;;;;11433:7:0;591:10;-1:-1:-1;;;;;11417:23:0;;11409:32;;;;;;11470:17;11460:6;:27;;11452:36;;;;;;11518:17;11507:7;:28;;11499:37;;;;;;11549:13;:22;;;;11582:14;:25;11343:274::o;4658:164::-;4733:4;4750:42;591:10;4774:9;4785:6;4750:9;:42::i;13109:275::-;1775:6;;-1:-1:-1;;;;;1775:6:0;591:10;1775:22;1767:67;;;;-1:-1:-1;;;1767:67:0;;;;;;;:::i;:::-;13187:6:::1;13182:195;13203:5;:12;13199:1;:16;13182:195;;;13253:13;::::0;13241:8;;-1:-1:-1;;;;;13253:13:0;;::::1;::::0;13241:5;;13247:1;;13241:8;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13241:25:0::1;;;:65;;;;-1:-1:-1::0;13290:15:0::1;::::0;13270:8;;-1:-1:-1;;;;;13290:15:0;;::::1;::::0;13270:5;;13276:1;;13270:8;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13270:36:0::1;;;13241:65;13237:129;;;13346:4;13327:6;:16;13334:5;13340:1;13334:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13327:16:0::1;-1:-1:-1::0;;;;;13327:16:0::1;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;13237:129;13217:3:::0;::::1;::::0;::::1;:::i;:::-;;;;13182:195;;11625:184:::0;11691:7;;-1:-1:-1;;;;;11691:7:0;591:10;-1:-1:-1;;;;;11675:23:0;;11667:32;;;;;;11710:20;11733:24;11751:4;11733:9;:24::i;:::-;11710:47;;11768:33;11785:15;11768:16;:33::i;10766:569::-;1775:6;;-1:-1:-1;;;;;1775:6:0;591:10;1775:22;1767:67;;;;-1:-1:-1;;;1767:67:0;;;;;;;:::i;:::-;10830:12:::1;::::0;::::1;;10829:13;10821:49;;;::::0;-1:-1:-1;;;10821:49:0;;7285:2:1;10821:49:0::1;::::0;::::1;7267:21:1::0;7324:2;7304:18;;;7297:30;-1:-1:-1;;;7343:18:1;;;7336:53;7406:18;;10821:49:0::1;7083:347:1::0;10821:49:0::1;10913:15;::::0;10881:63:::1;::::0;10898:4:::1;::::0;-1:-1:-1;;;;;10913:15:0::1;3144:12;10881:8;:63::i;:::-;10955:15;::::0;-1:-1:-1;;;;;10955:15:0::1;:31;10994:21;11025:4;11031:24;11025:4:::0;11031:9:::1;:24::i;:::-;11056:1;11058::::0;11060:7:::1;1686::::0;1713:6;-1:-1:-1;;;;;1713:6:0;;1648:79;11060:7:::1;10955:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10955:129:0;;;-1:-1:-1;;;;;7794:15:1;;;10955:129:0::1;::::0;::::1;7776:34:1::0;7826:18;;;7819:34;;;;7869:18;;;7862:34;;;;7912:18;;;7905:34;7976:15;;;7955:19;;;7948:44;11068:15:0::1;8008:19:1::0;;;8001:35;7710:19;;10955:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11102:13:0::1;::::0;11133:15:::1;::::0;11095:71:::1;::::0;-1:-1:-1;;;11095:71:0;;-1:-1:-1;;;;;11133:15:0;;::::1;11095:71;::::0;::::1;8532:51:1::0;-1:-1:-1;;8599:18:1;;;8592:34;11102:13:0;::::1;::::0;-1:-1:-1;11095:29:0::1;::::0;8505:18:1;;11095:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11177:12:0::1;:19:::0;;-1:-1:-1;;11177:19:0::1;11192:4;11177:19;::::0;;11221:15:::1;11207:11;:29:::0;11263:17:::1;11247:13;:33:::0;;;11292:14:::1;:34:::0;10766:569::o;12998:101::-;13077:13;;13043:4;;13067:24;;-1:-1:-1;;;;;13077:13:0;13067:9;:24::i;12500:194::-;12581:7;;-1:-1:-1;;;;;12581:7:0;591:10;-1:-1:-1;;;;;12565:23:0;;12557:32;;;;;;12600:19;:27;;-1:-1:-1;;12600:27:0;;;;;;;;;;;;;;;12643:43;;12600:27;12666:19;;;;;1558:14:1;1551:22;1533:41;;12643:43:0;;1521:2:1;1506:18;12643:43:0;1393:187:1;10366:392:0;1775:6;;-1:-1:-1;;;;;1775:6:0;591:10;1775:22;1767:67;;;;-1:-1:-1;;;1767:67:0;;;;;;;:::i;:::-;10431:12:::1;::::0;::::1;;10430:13;10422:49;;;::::0;-1:-1:-1;;;10422:49:0;;7285:2:1;10422:49:0::1;::::0;::::1;7267:21:1::0;7324:2;7304:18;;;7297:30;-1:-1:-1;;;7343:18:1;;;7336:53;7406:18;;10422:49:0::1;7083:347:1::0;10422:49:0::1;10593:15;:34:::0;;-1:-1:-1;;;;;;10593:34:0::1;10539:42;10593:34:::0;;::::1;::::0;;;10672:26:::1;::::0;;-1:-1:-1;;;10672:26:0;;;;10539:42;;10672:24:::1;::::0;:26:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;10539:42;10672:26:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10654:56:0::1;;10719:4;10726:16;-1:-1:-1::0;;;;;10726:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10654:96;::::0;-1:-1:-1;;;;;;10654:96:0::1;::::0;;;;;;-1:-1:-1;;;;;9373:15:1;;;10654:96:0::1;::::0;::::1;9355:34:1::0;9425:15;;9405:18;;;9398:43;9290:18;;10654:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10638:13;:112:::0;;-1:-1:-1;;;;;;10638:112:0::1;-1:-1:-1::0;;;;;10638:112:0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;10366:392:0:o;5569:332::-;-1:-1:-1;;;;;5659:19:0;;5651:68;;;;-1:-1:-1;;;5651:68:0;;9654:2:1;5651:68:0;;;9636:21:1;9693:2;9673:18;;;9666:30;9732:34;9712:18;;;9705:62;-1:-1:-1;;;9783:18:1;;;9776:34;9827:19;;5651:68:0;9452:400:1;5651:68:0;-1:-1:-1;;;;;5738:21:0;;5730:68;;;;-1:-1:-1;;;5730:68:0;;10059:2:1;5730:68:0;;;10041:21:1;10098:2;10078:18;;;10071:30;10137:34;10117:18;;;10110:62;-1:-1:-1;;;10188:18:1;;;10181:32;10230:19;;5730:68:0;9857:398:1;5730:68:0;-1:-1:-1;;;;;5809:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5861:32;;160:25:1;;;5861:32:0;;133:18:1;5861:32:0;;;;;;;5569:332;;;:::o;5909:2394::-;-1:-1:-1;;;;;5995:12:0;;;;;;:6;:12;;;;;;;;5994:13;:28;;;;-1:-1:-1;;;;;;6012:10:0;;;;;;:6;:10;;;;;;;;6011:11;5994:28;:51;;;;-1:-1:-1;6034:10:0;6027:18;;;;:6;:18;;;;;;;;6026:19;5994:51;5986:60;;;;;;-1:-1:-1;;;;;6065:18:0;;6057:68;;;;-1:-1:-1;;;6057:68:0;;10462:2:1;6057:68:0;;;10444:21:1;10501:2;10481:18;;;10474:30;10540:34;10520:18;;;10513:62;-1:-1:-1;;;10591:18:1;;;10584:35;10636:19;;6057:68:0;10260:401:1;6057:68:0;-1:-1:-1;;;;;6144:16:0;;6136:64;;;;-1:-1:-1;;;6136:64:0;;10868:2:1;6136:64:0;;;10850:21:1;10907:2;10887:18;;;10880:30;10946:34;10926:18;;;10919:62;-1:-1:-1;;;10997:18:1;;;10990:33;11040:19;;6136:64:0;10666:399:1;6136:64:0;6228:1;6219:6;:10;6211:64;;;;-1:-1:-1;;;6211:64:0;;11272:2:1;6211:64:0;;;11254:21:1;11311:2;11291:18;;;11284:30;11350:34;11330:18;;;11323:62;-1:-1:-1;;;11401:18:1;;;11394:39;11450:19;;6211:64:0;11070:405:1;6211:64:0;6286:10;1713:6;;-1:-1:-1;;;;;6318:15:0;;;1713:6;;6318:15;;;;:32;;-1:-1:-1;1686:7:0;1713:6;-1:-1:-1;;;;;6337:13:0;;;1713:6;;6337:13;;6318:32;6315:1790;;;6378:13;;-1:-1:-1;;;;;6370:21:0;;;6378:13;;6370:21;:55;;;;-1:-1:-1;6409:15:0;;-1:-1:-1;;;;;6395:30:0;;;6409:15;;6395:30;;6370:55;:82;;;;-1:-1:-1;;;;;;6430:22:0;;;;;;:18;:22;;;;;;;;6429:23;6370:82;6367:649;;;6481:12;;;;6473:49;;;;-1:-1:-1;;;6473:49:0;;11682:2:1;6473:49:0;;;11664:21:1;11721:2;11701:18;;;11694:30;11760:26;11740:18;;;11733:54;11804:18;;6473:49:0;11480:348:1;6473:49:0;6564:11;;6545:15;:30;6541:53;;;-1:-1:-1;;;;;6577:10:0;;;;;;:6;:10;;;;;:17;;-1:-1:-1;;6577:17:0;6590:4;6577:17;;;6541:53;6631:13;;6621:6;:23;;6613:63;;;;-1:-1:-1;;;6613:63:0;;12035:2:1;6613:63:0;;;12017:21:1;12074:2;12054:18;;;12047:30;12113:29;12093:18;;;12086:57;12160:18;;6613:63:0;11833:351:1;6613:63:0;6740:14;;6713:22;6731:2;6713:9;:22::i;:::-;6704:31;;:6;:31;:::i;:::-;6703:51;;6695:103;;;;-1:-1:-1;;;6695:103:0;;12524:2:1;6695:103:0;;;12506:21:1;12563:2;12543:18;;;12536:30;12602:34;12582:18;;;12575:62;-1:-1:-1;;;12653:18:1;;;12646:37;12700:19;;6695:103:0;12322:403:1;6695:103:0;-1:-1:-1;;;;;6824:12:0;;;;;;:8;:12;;;;;:19;;;;;6820:95;;6883:12;;;;;;;;-1:-1:-1;6883:12:0;;;6890:4;6883:12;;;;;;;-1:-1:-1;;;;;6868:12:0;;;;:8;:12;;;;;;;:27;;;;;;;;;;-1:-1:-1;;6868:27:0;;;;;;;;;;6820:95;-1:-1:-1;;;;;;6935:12:0;;;;;;:8;:12;;;;;6954:15;6935:34;;6996:4;6367:649;7034:7;;;;;;;7033:8;:24;;;;-1:-1:-1;7045:12:0;;;;7033:24;:49;;;;-1:-1:-1;7069:13:0;;-1:-1:-1;;;;;7061:21:0;;;7069:13;;7061:21;;7033:49;7030:1064;;;7132:30;:15;7151:10;7132:30;:::i;:::-;-1:-1:-1;;;;;7111:14:0;;;;;;:8;:14;;;;;:18;:51;7103:99;;;;-1:-1:-1;;;7103:99:0;;12932:2:1;7103:99:0;;;12914:21:1;12971:2;12951:18;;;12944:30;13010:34;12990:18;;;12983:62;-1:-1:-1;;;13061:18:1;;;13054:33;13104:19;;7103:99:0;12730:399:1;7103:99:0;7221:25;7249:24;7267:4;7249:9;:24::i;:::-;7221:52;-1:-1:-1;7295:24:0;;7292:566;;7347:19;;;;;;;7344:270;;;7449:8;;7432:13;;7461:3;;7449:8;7422:24;;-1:-1:-1;;;;;7432:13:0;7422:9;:24::i;:::-;:35;;;;:::i;:::-;7421:43;;;;:::i;:::-;7398:20;:66;7395:196;;;7548:8;;7531:13;;7560:3;;7548:8;7521:24;;-1:-1:-1;;;;;7531:13:0;7521:9;:24::i;:::-;:35;;;;:::i;:::-;7520:43;;;;:::i;:::-;7497:66;;7395:196;7636:15;7654:22;7675:1;7654:20;:22;:::i;:::-;7636:40;-1:-1:-1;7699:34:0;7636:40;7699:34;;:::i;:::-;;;7756:21;7766:10;7756:9;:21::i;:::-;7800:38;7817:20;7800:16;:38::i;:::-;7321:537;7292:566;7902:21;7945:22;;7942:105;;7992:35;8005:21;7992:12;:35::i;:::-;8073:5;8065:13;;7084:1010;;7030:1064;-1:-1:-1;;;;;8148:24:0;;8115:12;8148:24;;;:18;:24;;;;;;8130:4;;8148:24;;;:50;;-1:-1:-1;;;;;;8176:22:0;;;;;;:18;:22;;;;;;;;8148:50;8145:96;;;-1:-1:-1;8224:5:0;8145:96;8251:44;8266:4;8271:2;8274:6;8281:7;8289:5;8251:14;:44::i;:::-;5975:2328;;5909:2394;;;:::o;8987:86::-;9041:7;;:24;;-1:-1:-1;;;;;9041:7:0;;;;:24;;;;;9058:6;;9041:7;:24;:7;:24;9058:6;9041:7;:24;;;;;;;;;;;;;;;;;;;8491:480;4086:7;:14;;-1:-1:-1;;4086:14:0;;;;;8590:16:::1;::::0;;8604:1:::1;8590:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8590:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8590:16:0::1;8566:40;;8635:4;8617;8622:1;8617:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8617:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8661:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8661:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8617:7;;8661:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8651:4;8656:1;8651:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8651:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8726:15:::1;::::0;8694:62:::1;::::0;8711:4:::1;::::0;8726:15:::1;8744:11:::0;8694:8:::1;:62::i;:::-;8767:15;::::0;:196:::1;::::0;-1:-1:-1;;;8767:196:0;;-1:-1:-1;;;;;8767:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;8848:11;;8767:15:::1;::::0;8890:4;;8917::::1;::::0;8937:15:::1;::::0;8767:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4123:7:0;:15;;-1:-1:-1;;4123:15:0;;;-1:-1:-1;;;;8491:480:0:o;8311:172::-;4086:7;:14;;-1:-1:-1;;4086:14:0;;;;;8380;;8377:97:::1;;8410:52;8428:4;8443:6;8451:10;8410:9;:52::i;:::-;-1:-1:-1::0;4123:7:0;:15;;-1:-1:-1;;4123:15:0;;;8311:172::o;9085:217::-;9201:8;9213:21;9221:7;9230:3;9213:7;:21::i;:::-;9200:34;;9245:49;9263:6;9271:9;9282:6;9290:3;9245:17;:49::i;:::-;9189:113;9085:217;;;;;:::o;9310:280::-;9373:4;;9413:149;;;;9443:3;9440:111;;;-1:-1:-1;9473:7:0;;9440:111;;;-1:-1:-1;9527:8:0;;9440:111;9579:3;9310:280;-1:-1:-1;;;9310:280:0:o;9598:372::-;9703:19;9724:9;9737:23;9748:6;9756:3;9737:10;:23::i;:::-;-1:-1:-1;;;;;9788:14:0;;;;;;:6;:14;;;;;;9702:58;;-1:-1:-1;9702:58:0;-1:-1:-1;9788:23:0;;9805:6;;9788:23;:::i;:::-;-1:-1:-1;;;;;9771:14:0;;;;;;;:6;:14;;;;;;:40;;;;9842:17;;;;;;;:34;;9862:14;;9842:34;:::i;:::-;-1:-1:-1;;;;;9822:17:0;;;;;;:6;:17;;;;;:54;9888:15;9898:4;9888:9;:15::i;:::-;9936:9;-1:-1:-1;;;;;9919:43:0;9928:6;-1:-1:-1;;;;;9919:43:0;;9947:14;9919:43;;;;160:25:1;;148:2;133:18;;14:177;9919:43:0;;;;;;;;9691:279;;9598:372;;;;:::o;9978:222::-;10047:4;;;10103:3;10083:16;10092:7;10083:6;:16;:::i;:::-;10082:24;;;;:::i;:::-;10070:36;-1:-1:-1;10117:19:0;10139:13;10070:36;10139:6;:13;:::i;:::-;10117:35;10187:4;;-1:-1:-1;9978:222:0;;-1:-1:-1;;;;9978:222:0:o;10208:109::-;10296:4;10281:21;;;;:6;:21;;;;;;:28;;10305:4;;10281:28;:::i;:::-;10272:4;10257:21;;;;:6;:21;;;;;:52;-1:-1:-1;10208:109:0:o;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:134;1002:20;;1031:31;1002:20;1031:31;:::i;:::-;934:134;;;:::o;1073:315::-;1141:6;1149;1202:2;1190:9;1181:7;1177:23;1173:32;1170:52;;;1218:1;1215;1208:12;1170:52;1257:9;1244:23;1276:31;1301:5;1276:31;:::i;:::-;1326:5;1378:2;1363:18;;;;1350:32;;-1:-1:-1;;;1073:315:1:o;1585:248::-;1653:6;1661;1714:2;1702:9;1693:7;1689:23;1685:32;1682:52;;;1730:1;1727;1720:12;1682:52;-1:-1:-1;;1753:23:1;;;1823:2;1808:18;;;1795:32;;-1:-1:-1;1585:248:1:o;2062:456::-;2139:6;2147;2155;2208:2;2196:9;2187:7;2183:23;2179:32;2176:52;;;2224:1;2221;2214:12;2176:52;2263:9;2250:23;2282:31;2307:5;2282:31;:::i;:::-;2332:5;-1:-1:-1;2389:2:1;2374:18;;2361:32;2402:33;2361:32;2402:33;:::i;:::-;2062:456;;2454:7;;-1:-1:-1;;;2508:2:1;2493:18;;;;2480:32;;2062:456::o;2712:127::-;2773:10;2768:3;2764:20;2761:1;2754:31;2804:4;2801:1;2794:15;2828:4;2825:1;2818:15;2844:1121;2928:6;2959:2;3002;2990:9;2981:7;2977:23;2973:32;2970:52;;;3018:1;3015;3008:12;2970:52;3058:9;3045:23;3087:18;3128:2;3120:6;3117:14;3114:34;;;3144:1;3141;3134:12;3114:34;3182:6;3171:9;3167:22;3157:32;;3227:7;3220:4;3216:2;3212:13;3208:27;3198:55;;3249:1;3246;3239:12;3198:55;3285:2;3272:16;3307:2;3303;3300:10;3297:36;;;3313:18;;:::i;:::-;3359:2;3356:1;3352:10;3391:2;3385:9;3454:2;3450:7;3445:2;3441;3437:11;3433:25;3425:6;3421:38;3509:6;3497:10;3494:22;3489:2;3477:10;3474:18;3471:46;3468:72;;;3520:18;;:::i;:::-;3556:2;3549:22;3606:18;;;3640:15;;;;-1:-1:-1;3682:11:1;;;3678:20;;;3710:19;;;3707:39;;;3742:1;3739;3732:12;3707:39;3766:11;;;;3786:148;3802:6;3797:3;3794:15;3786:148;;;3868:23;3887:3;3868:23;:::i;:::-;3856:36;;3819:12;;;;3912;;;;3786:148;;;3953:6;2844:1121;-1:-1:-1;;;;;;;;2844:1121:1:o;3970:247::-;4029:6;4082:2;4070:9;4061:7;4057:23;4053:32;4050:52;;;4098:1;4095;4088:12;4050:52;4137:9;4124:23;4156:31;4181:5;4156:31;:::i;4222:180::-;4281:6;4334:2;4322:9;4313:7;4309:23;4305:32;4302:52;;;4350:1;4347;4340:12;4302:52;-1:-1:-1;4373:23:1;;4222:180;-1:-1:-1;4222:180:1:o;4615:118::-;4701:5;4694:13;4687:21;4680:5;4677:32;4667:60;;4723:1;4720;4713:12;4738:241;4794:6;4847:2;4835:9;4826:7;4822:23;4818:32;4815:52;;;4863:1;4860;4853:12;4815:52;4902:9;4889:23;4921:28;4943:5;4921:28;:::i;4984:388::-;5052:6;5060;5113:2;5101:9;5092:7;5088:23;5084:32;5081:52;;;5129:1;5126;5119:12;5081:52;5168:9;5155:23;5187:31;5212:5;5187:31;:::i;:::-;5237:5;-1:-1:-1;5294:2:1;5279:18;;5266:32;5307:33;5266:32;5307:33;:::i;:::-;5359:7;5349:17;;;4984:388;;;;;:::o;5630:127::-;5691:10;5686:3;5682:20;5679:1;5672:31;5722:4;5719:1;5712:15;5746:4;5743:1;5736:15;5762:125;5802:4;5830:1;5827;5824:8;5821:34;;;5835:18;;:::i;:::-;-1:-1:-1;5872:9:1;;5762:125::o;5892:127::-;5953:10;5948:3;5944:20;5941:1;5934:31;5984:4;5981:1;5974:15;6008:4;6005:1;5998:15;6024:135;6063:3;-1:-1:-1;;6084:17:1;;6081:43;;;6104:18;;:::i;:::-;-1:-1:-1;6151:1:1;6140:13;;6024:135::o;6506:356::-;6708:2;6690:21;;;6727:18;;;6720:30;6786:34;6781:2;6766:18;;6759:62;6853:2;6838:18;;6506:356::o;8047:306::-;8135:6;8143;8151;8204:2;8192:9;8183:7;8179:23;8175:32;8172:52;;;8220:1;8217;8210:12;8172:52;8249:9;8243:16;8233:26;;8299:2;8288:9;8284:18;8278:25;8268:35;;8343:2;8332:9;8328:18;8322:25;8312:35;;8047:306;;;;;:::o;8637:245::-;8704:6;8757:2;8745:9;8736:7;8732:23;8728:32;8725:52;;;8773:1;8770;8763:12;8725:52;8805:9;8799:16;8824:28;8846:5;8824:28;:::i;8887:251::-;8957:6;9010:2;8998:9;8989:7;8985:23;8981:32;8978:52;;;9026:1;9023;9016:12;8978:52;9058:9;9052:16;9077:31;9102:5;9077:31;:::i;12189:128::-;12229:3;12260:1;12256:6;12253:1;12250:13;12247:39;;;12266:18;;:::i;:::-;-1:-1:-1;12302:9:1;;12189:128::o;13134:168::-;13174:7;13240:1;13236;13232:6;13228:14;13225:1;13222:21;13217:1;13210:9;13203:17;13199:45;13196:71;;;13247:18;;:::i;:::-;-1:-1:-1;13287:9:1;;13134:168::o;13307:217::-;13347:1;13373;13363:132;;13417:10;13412:3;13408:20;13405:1;13398:31;13452:4;13449:1;13442:15;13480:4;13477:1;13470:15;13363:132;-1:-1:-1;13509:9:1;;13307:217::o;13529:980::-;13791:4;13839:3;13828:9;13824:19;13870:6;13859:9;13852:25;13896:2;13934:6;13929:2;13918:9;13914:18;13907:34;13977:3;13972:2;13961:9;13957:18;13950:31;14001:6;14036;14030:13;14067:6;14059;14052:22;14105:3;14094:9;14090:19;14083:26;;14144:2;14136:6;14132:15;14118:29;;14165:1;14175:195;14189:6;14186:1;14183:13;14175:195;;;14254:13;;-1:-1:-1;;;;;14250:39:1;14238:52;;14345:15;;;;14310:12;;;;14286:1;14204:9;14175:195;;;-1:-1:-1;;;;;;;14426:32:1;;;;14421:2;14406:18;;14399:60;-1:-1:-1;;;14490:3:1;14475:19;14468:35;14387:3;13529:980;-1:-1:-1;;;13529:980:1:o

Swarm Source

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