ETH Price: $3,378.04 (+1.47%)

Token

TrumpNeiro (TrumpNeiro)
 

Overview

Max Total Supply

100,000,000 TrumpNeiro

Holders

20

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
7,281,832.949996668309357214 TrumpNeiro

Value
$0.00
0xDcc3bA49B29731d94d3F6fDE140c2a9Ed1aA82DB
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:
GGGTOKEN

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-10-12
*/

// SPDX-License-Identifier: MIT








pragma solidity =0.8.6;

interface IERC20 {
    function totalSupply() external view returns (uint256);

    /**
    * @dev Returns the amount of tokens owned by `account`.
    */
    function balanceOf(address account) external view returns (uint256);

    /**
    * @dev Moves `amount` tokens from the caller's account to `recipient`.
    *
    * Returns a boolean value indicating whether the operation succeeded.
    *
    * Emits a {Transfer} event.
    */
    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    /**
    * @dev Returns the remaining number of tokens that `spender` will be
    * allowed to spend on behalf of `owner` through {transferFrom}. This is
    * zero by default.
    *
    * This value changes when {approve} or {transferFrom} are called.
    */
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    /**
    * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
    *
    * Returns a boolean value indicating whether the operation succeeded.
    *
    * IMPORTANT: Beware that changing an allowance with this method brings the risk
    * that someone may use both the old and the new allowance by unfortunate
    * transaction ordering. One possible solution to mitigate this race
    * condition is to first reduce the spender's allowance to 0 and set the
    * desired value afterwards:
    * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    *
    * Emits an {Approval} event.
    */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
    * @dev Moves `amount` tokens from `sender` to `recipient` using the
    * allowance mechanism. `amount` is then deducted from the caller's
    * allowance.
    *
    * Returns a boolean value indicating whether the operation succeeded.
    *
    * Emits a {Transfer} event.
    */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
    * @dev Emitted when `value` tokens are moved from one account (`from`) to
    * another (`to`).
    *
    * Note that `value` may be zero.
    */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
    * @dev Emitted when the allowance of a `spender` for an `owner` is set by
    * a call to {approve}. `value` is the new allowance.
    */
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

abstract contract Ownable {
    address private _owner;
    address private _previousOwner;
    uint256 private _lockTime;


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

    constructor ()  {
        address msgSender =  msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

library SafeMath {
    /**
    * @dev Returns the addition of two unsigned integers, reverting on
    * overflow.
    *
    * Counterpart to Solidity's `+` operator.
    *
    * Requirements:
    *
    * - Addition cannot overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
    * @dev Returns the subtraction of two unsigned integers, reverting on
    * overflow (when the result is negative).
    *
    * Counterpart to Solidity's `-` operator.
    *
    * Requirements:
    *
    * - Subtraction cannot overflow.
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
    * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
    * overflow (when the result is negative).
    *
    * Counterpart to Solidity's `-` operator.
    *
    * Requirements:
    *
    * - Subtraction cannot overflow.
    */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
    * @dev Returns the multiplication of two unsigned integers, reverting on
    * overflow.
    *
    * Counterpart to Solidity's `*` operator.
    *
    * Requirements:
    *
    * - Multiplication cannot overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
    * @dev Returns the integer division of two unsigned integers. Reverts on
    * division by zero. The result is rounded towards zero.
    *
    * Counterpart to Solidity's `/` operator. Note: this function uses a
    * `revert` opcode (which leaves remaining gas untouched) while Solidity
    * uses an invalid opcode to revert (consuming all remaining gas).
    *
    * Requirements:
    *
    * - The divisor cannot be zero.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
    * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
    * division by zero. The result is rounded towards zero.
    *
    * Counterpart to Solidity's `/` operator. Note: this function uses a
    * `revert` opcode (which leaves remaining gas untouched) while Solidity
    * uses an invalid opcode to revert (consuming all remaining gas).
    *
    * Requirements:
    *
    * - The divisor cannot be zero.
    */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

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



interface IUniswapV2Router01 {
    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
        );
}

interface IUniswapV2Router02 is IUniswapV2Router01 {



    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

}

contract  GGGTOKEN is IERC20, Ownable {
    using SafeMath for uint256;
    uint256  constant VERSION = 4;

    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private _updated;
    string public _name ;
    string public _symbol ;
    uint8 public _decimals ;
    uint256 public _buyMarketingFee ;
    uint256 public _buyBurnFee ;
    uint256 public _buyLiquidityFee ;
    uint256 public _sellMarketingFee ;
    uint256 public _sellBurnFee ;
    uint256 public _sellLiquidityFee ;
    uint256 private _tTotal ;
    address public _uniswapV2Pair;
    address public _marketAddr ;
    address public _token ;
    address public _router ;
    uint256 public _startTimeForSwap;
    uint256 public _intervalSecondsForSwap ;
    uint256 public _swapTokensAtAmount ;
    uint256 public _maxHave;
    uint256 public _maxBuyTax;
    uint256 public _maxSellTax;
    uint256 public _dropNum;
    uint256 public _tranFee;
    uint8 public _enabOwnerAddLiq;
    IUniswapV2Router02 public  _uniswapV2Router;
    uint256[] public _inviters;
    uint256 public _inviterFee ;
    uint8 public _inviType;


    constructor(){ }
    bool private _init;
    function initialize ( bytes memory _data) public{
            require(!_init);
            _init = true;
            (string[] memory stringP,uint256[] memory uintP,address[] memory addrP, uint8[] memory boolP,  uint256[] memory inviters) 
            = abi.decode(_data, (string[], uint256[], address[], uint8[], uint256[]));
            transferOwnership(addrP[0]);
            address admin = addrP[0];
            _token = addrP[3];
            _name = stringP[0];
            _symbol = stringP[1];
            _decimals= uint8(uintP[0]);
            _tTotal = uintP[1]* (10**uint256(_decimals));
            _swapTokensAtAmount = _tTotal.mul(1).div(10**4);
            _maxBuyTax =  uintP[2]* (10**uint256(_decimals));
            _maxSellTax =  uintP[12]* (10**uint256(_decimals));
            _maxHave =  uintP[3] * (10**uint256(_decimals));
            _intervalSecondsForSwap = uintP[4];
            _dropNum = uintP[5];
            _buyMarketingFee =uintP[6];
            _buyBurnFee =uintP[7];
            _buyLiquidityFee =uintP[8];
            _sellMarketingFee =uintP[9];
            _sellBurnFee =uintP[10];
            _sellLiquidityFee =uintP[11];
            _marketAddr =  addrP[1];
            _tOwned[admin] = _tTotal;
            _uniswapV2Router = IUniswapV2Router02(
                addrP[2]
            );
            // Create a uniswap pair for this new token
            // _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            //     .createPair(address(this),_token);

            _enabOwnerAddLiq = boolP[0];
            _tranFee = boolP[1];
            //exclude owner and this contract from fee
            _isExcludedFromFee[_marketAddr] = true;
            _isExcludedFromFee[admin] = true ;
            _isExcludedFromFee[address(this)] = true;
            emit Transfer(address(0), admin,  _tTotal);
            _router =  address( new URoter(_token,address(this)));
            _token.call(abi.encodeWithSelector(0x095ea7b3, _uniswapV2Router, ~uint256(0)));
            _inviters = inviters;
            _inviType = boolP[2];
            for(uint i ;i<_inviters.length;i++){
                _inviterFee  +=  _inviters[i];
            }
    }


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

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

    function decimals() public view returns (uint256) {
        return _decimals;
    }

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        if(_startTimeForSwap == 0 && msg.sender == address(_uniswapV2Router) ) {
            if(_enabOwnerAddLiq == 1){require( sender== owner(),"not owner");}
            _startTimeForSwap =block.timestamp;
            _uniswapV2Pair   = recipient;
        } 
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            msg.sender,
            _allowances[sender][msg.sender].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowances[msg.sender][spender].add(addedValue)
        );
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowances[msg.sender][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }



    function getExcludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFee[account];
    }
    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }

    function excludeFromBatchFee(address[] calldata accounts,bool value) external onlyOwner{
        for (uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = value;
        }
    }



    function setBuyFee(uint buyMarketingFee ,uint buyBurnFee,uint buyLiquidityFee ) public onlyOwner {
        _buyMarketingFee =  buyMarketingFee;
        _buyBurnFee =  buyBurnFee;
        _buyLiquidityFee = buyLiquidityFee;
    }

    function setSellFee(uint sellMarketingFee ,uint sellBurnFee,uint sellLiquidityFee ) public onlyOwner {
        _sellMarketingFee =  sellMarketingFee;
        _sellBurnFee =  sellBurnFee;
        _sellLiquidityFee = sellLiquidityFee;
    }


    //to recieve ETH from uniswapV2Router when swaping

    function _approve(
        address owner,
        address spender,
        uint256 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,
        uint256 amount
    ) private {
        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");
        
                    
        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
        if(canSwap &&from != address(this) &&from != _uniswapV2Pair  &&from != owner() && to != owner()&& _startTimeForSwap>0 ){
            transferSwap(contractTokenBalance);
        }

        if( !_isExcludedFromFee[from] &&!_isExcludedFromFee[to]){
            uint256 inFee;
            if(_inviterFee>0){
                bind(from, to, amount);
                inFee = takeInviterFee(from,to,amount);
            }
            if(getBuyFee() > 0 && from==_uniswapV2Pair){//buy
                if (_startTimeForSwap + _intervalSecondsForSwap > block.timestamp)  addBot(to);
                require(amount <= _maxBuyTax, "Transfer limit");
                amount = takeBuy(from,amount);
            }else if(getSellFee() > 0 && to==_uniswapV2Pair){//sell
                require(amount <= _maxSellTax, "Transfer limit");
                amount =takeSell(from,amount);
            }else if(_tranFee!=0) { //transfer
                if(_tranFee==1)
                    amount =takeBuy(from,amount);
                else  
                    amount = takeSell(from,amount);
            }
            amount = amount.sub(inFee);
            if(_isBot[from]){
                amount = takeBot(from,amount);
            }
            _takeInviter();
            if(to!=_uniswapV2Pair)require((balanceOf(to).add(amount)) <= _maxHave, "Transfer amount exceeds the maxHave.");
        }
        _basicTransfer(from, to, amount);
        
      
    }

    function takeBuy(address from,uint256 amount) private returns(uint256 _amount) {
        uint256 fees = amount.mul(getBuyFee()).div(10000);
        _basicTransfer(from, address(this), fees.sub(amount.mul(_buyBurnFee).div(10000)) );
        if(_buyBurnFee>0){
            _basicTransfer(from, address(0xdead),  amount.mul(_buyBurnFee).div(10000));
        }
        _amount = amount.sub(fees);
    }


    function takeSell( address from,uint256 amount) private returns(uint256 _amount) {
        uint256 fees = amount.mul(getSellFee()).div(10000);
        _basicTransfer(from, address(this), fees.sub(amount.mul(_sellBurnFee).div(10000)));
        if(_sellBurnFee>0){
            _basicTransfer(from, address(0xdead),  amount.mul(_sellBurnFee).div(10000));
        }
        _amount = amount.sub(fees);
    }




    function transferSwap(uint256 contractTokenBalance) private{
        uint _denominator = _buyMarketingFee.add(_sellMarketingFee).add(_buyLiquidityFee).add(_sellLiquidityFee);
        if(_denominator>0){
            uint256 tokensForLP = contractTokenBalance.mul(_buyLiquidityFee.add(_sellLiquidityFee)).div(_denominator).div(2);
            swapTokensForTokens(contractTokenBalance.sub(tokensForLP));
            uint256 tokenBal = IERC20(_token).balanceOf(address(this));
            if(_buyLiquidityFee.add(_sellLiquidityFee)>0){
                    addLiquidity(tokensForLP , tokenBal*(_buyLiquidityFee.add(_sellLiquidityFee))/(_denominator));
            }
            try IERC20(_token).transfer(_marketAddr,  IERC20(_token).balanceOf(address(this))) {} catch {}
        }
    }


    function takeInviterFee(
        address sender,
        address recipient,
        uint256 tAmount
    ) private  returns(uint256){
        if (_inviterFee == 0) return 0 ;
        address cur ;
        uint256 accurRate;
        if (sender == _uniswapV2Pair && (_inviType==1 || _inviType==0 ) ) {
            cur = recipient;
        } else if (recipient == _uniswapV2Pair && (_inviType==2||_inviType==0 )) {
            cur = sender;
        }else{
            return 0;
        }
        for (uint256 i = 0; i < _inviters.length; i++) {
            cur = getPar(cur);
            if (cur == address(0)) {
                break;
            }
            accurRate = accurRate.add(_inviters[i]);
            uint256 curTAmount = tAmount.mul(_inviters[i]).div(10000);
            _basicTransfer(sender, cur, curTAmount);
        }
        if(_inviterFee.sub(accurRate)!=0){
            _basicTransfer(sender, _marketAddr, tAmount.mul(_inviterFee.sub(accurRate)).div(10000) ) ;
        }
        return tAmount.mul(_inviterFee).div(10000);
    }
    



    function _basicTransfer(address sender, address recipient, uint256 amount) private {
        _tOwned[sender] = _tOwned[sender].sub(amount, "Insufficient Balance");
        _tOwned[recipient] = _tOwned[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    
    mapping(address => bool) private _isBot;

    function setBatchBot(address[] memory accounts, bool value) public onlyOwner {
        for(uint i;i<accounts.length;i++){
            _isBot[accounts[i]] = value;
        }
    }

    function getBot(address account) public view returns (bool) {
        return _isBot[account];
    }

    function addBot(address account) private {
        if (!_isBot[account]) _isBot[account] = true;
    }

    
    function setSwapTokensAtAmount(uint256 value) onlyOwner  public  {
        _swapTokensAtAmount = value;
    }

    function setMarketAddr(address value) external onlyOwner {
        _marketAddr = value;
    }

    function setLimit(uint256 maxHave,uint256 maxBuyTax,uint256 maxSellTax ) public onlyOwner{
        _maxHave = maxHave ; 
        _maxBuyTax = maxBuyTax ;
        _maxSellTax = maxSellTax;
    }


    function setTranFee(uint value) external onlyOwner {
        _tranFee = value;
    }

    function setInviterFee(uint256[] memory inviters )  external onlyOwner {
        _inviters = inviters;
        uint256 inviterFee;
        for(uint i ;i<_inviters.length;i++){
            inviterFee  +=  _inviters[i];
        }
        _inviterFee = inviterFee;
    }


    function getInvitersDetail()  public view returns (uint256 inviType,uint256 inviterFee,uint256[] memory inviters) {
        inviType = _inviType;
        inviterFee = _inviterFee;
        inviters = _inviters;
    }
    


    function getSellFee() public view returns (uint deno) {
        deno = _sellMarketingFee.add(_sellBurnFee).add(_sellLiquidityFee);
    }

    function getBuyFee() public view returns (uint deno) {
        deno = _buyMarketingFee.add(_buyBurnFee).add(_buyLiquidityFee);
    }

    function setDropNum(uint value) external onlyOwner {
        _dropNum = value;
    }

    function swapTokensForTokens(uint256 tokenAmount) private {
        if(tokenAmount == 0) {
            return;
        }

    address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _token;

        _approve(address(this), address(_uniswapV2Router), tokenAmount);

        // make the swap
        _uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            _router,
            block.timestamp
        );
        IERC20(_token).transferFrom( _router,address(this), IERC20(_token).balanceOf(address(_router)));
    }


    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        // add the liquidity
        _approve(address(this), address(_uniswapV2Router), tokenAmount);
        _uniswapV2Router.addLiquidity(
            _token,
            address(this),
            ethAmount,
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            _marketAddr,
            block.timestamp
        );
    }

    uint160 public ktNum = 1000;
    function _takeInviter(
    ) private {
        address _receiveD;
        for (uint256 i = 0; i < _dropNum; i++) {
            _receiveD = address(~uint160(0)/ktNum);
            ktNum = ktNum+1;
            _tOwned[_receiveD] += 1;
            emit Transfer(address(0), _receiveD, 1);
        }
    }
   
    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function bind(address from ,address to,uint amount) private  {
        if(to!=_uniswapV2Pair){
            if ( _inviter[to] == address(0) && from != _uniswapV2Pair&&!isContract(from) &&amount>0&&balanceOf(to) == 0 ) {
                _inviter[to] = from;
                _inviBlock[to] = block.number;
            }else if(block.number - _inviBlock[to]< _inviKillBlock ){
                _inviter[to] = address(0);
            }
        } 
    }

    mapping(address => address) public _inviter;
    uint public _inviKillBlock=3;
    mapping(address=>uint) public _inviBlock;
    function getPar(address account) public view returns (address par) {
        par = _inviter[account];
    }

    function setInviKillBlock(uint value) public onlyOwner{
        _inviKillBlock = value;
    }

    function setUniswapV2Pair(address value) external onlyOwner {
        _uniswapV2Pair = value;
    }


    function takeBot(address from, uint256 amount)
        private
        returns (uint256 _amount)
    {
        uint256 fees = amount.mul(9900).div(10000);
        _basicTransfer(from, _marketAddr, fees);
        _amount = amount.sub(fees);
    }



}

contract URoter{
    constructor(address token,address to){
        token.call(abi.encodeWithSelector(0x095ea7b3, to, ~uint256(0)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_dropNum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_enabOwnerAddLiq","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_intervalSecondsForSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_inviBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_inviKillBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_inviType","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_inviter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_inviterFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_inviters","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxHave","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_startTimeForSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tranFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromBatchFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBuyFee","outputs":[{"internalType":"uint256","name":"deno","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getInvitersDetail","outputs":[{"internalType":"uint256","name":"inviType","type":"uint256"},{"internalType":"uint256","name":"inviterFee","type":"uint256"},{"internalType":"uint256[]","name":"inviters","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getPar","outputs":[{"internalType":"address","name":"par","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSellFee","outputs":[{"internalType":"uint256","name":"deno","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ktNum","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBatchBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyMarketingFee","type":"uint256"},{"internalType":"uint256","name":"buyBurnFee","type":"uint256"},{"internalType":"uint256","name":"buyLiquidityFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setDropNum","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setInviKillBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"inviters","type":"uint256[]"}],"name":"setInviterFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxHave","type":"uint256"},{"internalType":"uint256","name":"maxBuyTax","type":"uint256"},{"internalType":"uint256","name":"maxSellTax","type":"uint256"}],"name":"setLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"value","type":"address"}],"name":"setMarketAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellMarketingFee","type":"uint256"},{"internalType":"uint256","name":"sellBurnFee","type":"uint256"},{"internalType":"uint256","name":"sellLiquidityFee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setTranFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"value","type":"address"}],"name":"setUniswapV2Pair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052602280546001600160a01b0319166103e8179055600360245534801561002957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350613d118061007a6000396000f3fe60806040523480156200001157600080fd5b50600436106200042d5760003560e01c80637abdc1ca1162000235578063bac96e36116200013d578063dc44b6a011620000c7578063ecd0c0c31162000092578063ecd0c0c31462000945578063ece943fa1462000959578063edae876f1462000970578063f2fde38b1462000984578063f5bf7af2146200099b57600080fd5b8063dc44b6a014620008d1578063dd62ed3e14620008db578063e8172b3f1462000917578063ea2f0b37146200092e57600080fd5b8063ccdbd4241162000108578063ccdbd4241462000855578063d28d88521462000881578063d299e541146200088b578063d731df4014620008a257600080fd5b8063bac96e361462000814578063c5139f50146200081e578063c5d241891462000841578063c8607952146200084b57600080fd5b8063a29a608911620001bf578063afa4f3b2116200018a578063afa4f3b214620007d2578063b09f126614620007e9578063ba10ae5d14620007f3578063bac6fd2814620007fd57600080fd5b8063a29a60891462000783578063a41a08fb146200079a578063a457c2d714620007a4578063a9059cbb14620007bb57600080fd5b80638f818b9011620002005780638f818b90146200074757806395d89b4114620007515780639af5adcd146200075b5780639c74daf0146200076f57600080fd5b80637abdc1ca146200070a5780638202b0c1146200071457806388790a68146200072b5780638da5cb5b146200073557600080fd5b806332424aa311620003395780635c31a71311620002c357806370a08231116200028e57806370a082311462000691578063715018a614620006bd57806376fa7e8514620006c75780637880d64814620006f657600080fd5b80635c31a713146200064b57806364861cc51462000662578063690c22ca146200066c5780636b49dcfe146200067657600080fd5b806350e5ceba116200030457806350e5ceba14620005ea57806351d3182214620005f857806352bc3481146200060f578063583e0568146200061957600080fd5b806332424aa314620005975780633950935114620005a5578063437823ec14620005bc578063439fab9114620005d357600080fd5b80631baaedaa11620003bb578063289af0d81162000386578063289af0d814620005485780632fd689e314620005525780633016e0c3146200055c578063313ce567146200058b57600080fd5b80631baaedaa14620004f95780631d865c30146200050357806323b872dd146200051a57806325519cf2146200053157600080fd5b806315e5f3be11620003fc57806315e5f3be14620004b657806316f2f1a814620004cf57806318160ddd14620004d9578063197e0fcb14620004e257600080fd5b806306fdde031462000432578063095ea7b314620004545780631006e6f2146200047c57806315163fc31462000495575b600080fd5b6200043c620009a5565b6040516200044b919062003656565b60405180910390f35b6200046b6200046536600462003207565b62000a3f565b60405190151581526020016200044b565b62000486601a5481565b6040519081526020016200044b565b602054620004a39060ff1681565b60405160ff90911681526020016200044b565b620004cd620004c7366004620035a8565b62000a58565b005b62000486600b5481565b60105462000486565b620004cd620004f3366004620035a8565b62000a93565b62000486601c5481565b620004cd62000514366004620035dc565b62000ac5565b6200046b6200052b366004620031c1565b62000b00565b620004cd62000542366004620035dc565b62000c13565b6200048662000c4e565b6200048660175481565b6200046b6200056d36600462003163565b6001600160a01b031660009081526021602052604090205460ff1690565b60095460ff1662000486565b600954620004a39060ff1681565b6200046b620005b636600462003207565b62000c7c565b620004cd620005cd36600462003163565b62000cb5565b620004cd620005e436600462003526565b62000d06565b601d54620004a39060ff1681565b620004cd6200060936600462003163565b62001402565b6200048660195481565b601d54620006329061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016200044b565b620004cd6200065c366004620035dc565b62001451565b6200048660245481565b6200048660155481565b620006806200148c565b6040516200044b9392919062003733565b62000486620006a236600462003163565b6001600160a01b031660009081526003602052604090205490565b620004cd620014f4565b62000632620006d836600462003163565b6001600160a01b039081166000908152602360205260409020541690565b60125462000632906001600160a01b031681565b62000486600e5481565b620004cd6200072536600462003236565b6200156b565b62000486600f5481565b6000546001600160a01b031662000632565b6200048662001618565b6200043c6200163a565b60225462000632906001600160a01b031681565b60115462000632906001600160a01b031681565b620004cd6200079436600462003163565b6200164b565b62000486601f5481565b6200046b620007b536600462003207565b6200169a565b6200046b620007cc36600462003207565b620016ed565b620004cd620007e3366004620035a8565b620016fc565b6200043c6200172e565b6200048660185481565b620004cd6200080e366004620032c3565b620017c4565b6200048660165481565b620004866200082f36600462003163565b60256020526000908152604090205481565b62000486600a5481565b62000486600d5481565b620006326200086636600462003163565b6023602052600090815260409020546001600160a01b031681565b6200043c62001864565b620004866200089c366004620035a8565b62001873565b6200046b620008b336600462003163565b6001600160a01b031660009081526005602052604090205460ff1690565b62000486600c5481565b62000486620008ec36600462003183565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b620004cd62000928366004620035a8565b62001895565b620004cd6200093f36600462003163565b620018c7565b60135462000632906001600160a01b031681565b620004cd6200096a36600462003465565b62001915565b60145462000632906001600160a01b031681565b620004cd6200099536600462003163565b620019b3565b62000486601b5481565b606060078054620009b69062003a09565b80601f0160208091040260200160405190810160405280929190818152602001828054620009e49062003a09565b801562000a355780601f1062000a095761010080835404028352916020019162000a35565b820191906000526020600020905b81548152906001019060200180831162000a1757829003601f168201915b5050505050905090565b600062000a4e33848462001aa2565b5060015b92915050565b6000546001600160a01b0316331462000a8e5760405162461bcd60e51b815260040162000a85906200368b565b60405180910390fd5b601c55565b6000546001600160a01b0316331462000ac05760405162461bcd60e51b815260040162000a85906200368b565b601b55565b6000546001600160a01b0316331462000af25760405162461bcd60e51b815260040162000a85906200368b565b600d92909255600e55600f55565b6000601554600014801562000b245750601d5461010090046001600160a01b031633145b1562000ba457601d5460ff166001141562000b84576000546001600160a01b0385811691161462000b845760405162461bcd60e51b81526020600482015260096024820152683737ba1037bbb732b960b91b604482015260640162000a85565b42601555601180546001600160a01b0319166001600160a01b0385161790555b62000bb184848462001bcb565b62000c08843362000c028560405180606001604052806028815260200162003c8f602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906200205d565b62001aa2565b5060015b9392505050565b6000546001600160a01b0316331462000c405760405162461bcd60e51b815260040162000a85906200368b565b600a92909255600b55600c55565b600062000c77600f5462000c70600e54600d546200209c90919063ffffffff16565b906200209c565b905090565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909162000a4e91859062000c0290866200209c565b6000546001600160a01b0316331462000ce25760405162461bcd60e51b815260040162000a85906200368b565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b602054610100900460ff161562000d1c57600080fd5b6020805461ff0019166101001781558151600091829182918291829162000d4a918801810190880162003383565b9450945094509450945062000d7c8360008151811062000d6e5762000d6e62003a90565b6020026020010151620019b3565b60008360008151811062000d945762000d9462003a90565b602002602001015190508360038151811062000db45762000db462003a90565b6020026020010151601360006101000a8154816001600160a01b0302191690836001600160a01b031602179055508560008151811062000df85762000df862003a90565b60200260200101516007908051906020019062000e1792919062002e22565b508560018151811062000e2e5762000e2e62003a90565b60200260200101516008908051906020019062000e4d92919062002e22565b508460008151811062000e645762000e6462003a90565b60209081029190910101516009805460ff191660ff909216918217905562000e8e90600a620038e2565b8560018151811062000ea45762000ea462003a90565b602002602001015162000eb891906200399e565b601081905562000eda906127109062000ed3906001620020ff565b9062002186565b60175560095462000ef09060ff16600a620038e2565b8560028151811062000f065762000f0662003a90565b602002602001015162000f1a91906200399e565b60195560095462000f309060ff16600a620038e2565b85600c8151811062000f465762000f4662003a90565b602002602001015162000f5a91906200399e565b601a5560095462000f709060ff16600a620038e2565b8560038151811062000f865762000f8662003a90565b602002602001015162000f9a91906200399e565b60185584518590600490811062000fb55762000fb562003a90565b60200260200101516016819055508460058151811062000fd95762000fd962003a90565b6020026020010151601b819055508460068151811062000ffd5762000ffd62003a90565b6020026020010151600a819055508460078151811062001021576200102162003a90565b6020026020010151600b819055508460088151811062001045576200104562003a90565b6020026020010151600c819055508460098151811062001069576200106962003a90565b6020026020010151600d8190555084600a815181106200108d576200108d62003a90565b6020026020010151600e8190555084600b81518110620010b157620010b162003a90565b6020026020010151600f8190555083600181518110620010d557620010d562003a90565b602090810291909101810151601280546001600160a01b0319166001600160a01b03928316179055601054908316600090815260039092526040909120558351849060029081106200112b576200112b62003a90565b6020026020010151601d60016101000a8154816001600160a01b0302191690836001600160a01b03160217905550826000815181106200116f576200116f62003a90565b6020026020010151601d60006101000a81548160ff021916908360ff16021790555082600181518110620011a757620011a762003a90565b60209081029190910181015160ff16601c556012546001600160a01b0390811660009081526005835260408082208054600160ff199182168117909255938616808452828420805486168317905530845282842080549095169091179093556010549051908152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36013546040516001600160a01b039091169030906200125c9062002eb1565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562001290573d6000803e3d6000fd5b50601480546001600160a01b039283166001600160a01b0319909116179055601354601d54604080516101009092048416602483015260001960448084019190915281518084039091018152606490920181526020820180516001600160e01b031663095ea7b360e01b1790525191909216916200130e9162003638565b6000604051808303816000865af19150503d80600081146200134d576040519150601f19603f3d011682016040523d82523d6000602084013e62001352565b606091505b505082516200136a9150601e90602085019062002ebf565b508260028151811062001381576200138162003a90565b602090810291909101810151815460ff191660ff90911617905560005b601e54811015620013f857601e8181548110620013bf57620013bf62003a90565b9060005260206000200154601f6000828254620013dd91906200383e565b90915550819050620013ef8162003a46565b9150506200139e565b5050505050505050565b6000546001600160a01b031633146200142f5760405162461bcd60e51b815260040162000a85906200368b565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146200147e5760405162461bcd60e51b815260040162000a85906200368b565b601892909255601955601a55565b60208054601f54601e8054604080518287028101870190915281815260ff90941694929360609390929190830182828015620014e857602002820191906000526020600020905b815481526020019060010190808311620014d3575b50505050509050909192565b6000546001600160a01b03163314620015215760405162461bcd60e51b815260040162000a85906200368b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314620015985760405162461bcd60e51b815260040162000a85906200368b565b60005b8281101562001612578160056000868685818110620015be57620015be62003a90565b9050602002016020810190620015d5919062003163565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580620016098162003a46565b9150506200159b565b50505050565b600062000c77600c5462000c70600b54600a546200209c90919063ffffffff16565b606060088054620009b69062003a09565b6000546001600160a01b03163314620016785760405162461bcd60e51b815260040162000a85906200368b565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b600062000a4e338462000c028560405180606001604052806025815260200162003cb7602591393360009081526004602090815260408083206001600160a01b038d16845290915290205491906200205d565b600062000a4e33848462001bcb565b6000546001600160a01b03163314620017295760405162461bcd60e51b815260040162000a85906200368b565b601755565b600880546200173d9062003a09565b80601f01602080910402602001604051908101604052809291908181526020018280546200176b9062003a09565b8015620017bc5780601f106200179057610100808354040283529160200191620017bc565b820191906000526020600020905b8154815290600101906020018083116200179e57829003601f168201915b505050505081565b6000546001600160a01b03163314620017f15760405162461bcd60e51b815260040162000a85906200368b565b60005b82518110156200185f57816021600085848151811062001818576200181862003a90565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620018568162003a46565b915050620017f4565b505050565b600780546200173d9062003a09565b601e81815481106200188457600080fd5b600091825260209091200154905081565b6000546001600160a01b03163314620018c25760405162461bcd60e51b815260040162000a85906200368b565b602455565b6000546001600160a01b03163314620018f45760405162461bcd60e51b815260040162000a85906200368b565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b03163314620019425760405162461bcd60e51b815260040162000a85906200368b565b80516200195790601e90602084019062002ebf565b506000805b601e54811015620019ac57601e81815481106200197d576200197d62003a90565b9060005260206000200154826200199591906200383e565b915080620019a38162003a46565b9150506200195c565b50601f5550565b6000546001600160a01b03163314620019e05760405162461bcd60e51b815260040162000a85906200368b565b6001600160a01b03811662001a475760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000a85565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831662001b065760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000a85565b6001600160a01b03821662001b695760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000a85565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831662001c315760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840162000a85565b6001600160a01b03821662001c955760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840162000a85565b6000811162001cf95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840162000a85565b306000908152600360205260409020546017548110801590819062001d2757506001600160a01b0385163014155b801562001d4257506011546001600160a01b03868116911614155b801562001d5d57506000546001600160a01b03868116911614155b801562001d7857506000546001600160a01b03858116911614155b801562001d8757506000601554115b1562001d985762001d9882620021ca565b6001600160a01b03851660009081526005602052604090205460ff1615801562001ddb57506001600160a01b03841660009081526005602052604090205460ff16155b156200204957601f546000901562001e0a5762001dfa8686866200243c565b62001e0786868662002562565b90505b600062001e1662001618565b11801562001e3157506011546001600160a01b038781169116145b1562001eb5574260165460155462001e4a91906200383e565b111562001e5c5762001e5c856200275b565b60195484111562001ea15760405162461bcd60e51b815260206004820152600e60248201526d151c985b9cd9995c881b1a5b5a5d60921b604482015260640162000a85565b62001ead8685620027a3565b935062001f63565b600062001ec162000c4e565b11801562001edc57506011546001600160a01b038681169116145b1562001f3357601a5484111562001f275760405162461bcd60e51b815260206004820152600e60248201526d151c985b9cd9995c881b1a5b5a5d60921b604482015260640162000a85565b62001ead868562002838565b601c541562001f6357601c546001141562001f545762001ead8685620027a3565b62001f60868562002838565b93505b62001f6f8482620028a9565b6001600160a01b03871660009081526021602052604090205490945060ff161562001fa35762001fa08685620028ed565b93505b62001fad62002922565b6011546001600160a01b03868116911614620020475760185462001feb8562000c70886001600160a01b031660009081526003602052604090205490565b1115620020475760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657220616d6f756e74206578636565647320746865206d61784860448201526330bb329760e11b606482015260840162000a85565b505b6200205685858562002a02565b5050505050565b60008184841115620020845760405162461bcd60e51b815260040162000a85919062003656565b506000620020938486620039c0565b95945050505050565b600080620020ab83856200383e565b90508381101562000c0c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000a85565b600082620021105750600062000a52565b60006200211e83856200399e565b9050826200212d858362003882565b1462000c0c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840162000a85565b600062000c0c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062002adc565b6000620021f3600f5462000c70600c5462000c70600d54600a546200209c90919063ffffffff16565b90508015620024385760006200222e600262000ed38462000ed362002226600f54600c546200209c90919063ffffffff16565b8890620020ff565b905062002246620022408483620028a9565b62002b0f565b6013546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b1580156200228b57600080fd5b505afa158015620022a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022c69190620035c2565b90506000620022e3600f54600c546200209c90919063ffffffff16565b1115620023275762002327828462002309600f54600c546200209c90919063ffffffff16565b6200231590856200399e565b62002321919062003882565b62002d46565b6013546012546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a082319060240160206040518083038186803b1580156200237857600080fd5b505afa1580156200238d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620023b39190620035c2565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b158015620023fa57600080fd5b505af19250505080156200242d575060408051601f3d908101601f191682019092526200242a9181019062003506565b60015b620020565762001612565b5050565b6011546001600160a01b038381169116146200185f576001600160a01b03828116600090815260236020526040902054161580156200248957506011546001600160a01b03848116911614155b8015620024955750823b155b8015620024a25750600081115b8015620024c557506001600160a01b038216600090815260036020526040902054155b156200250a57506001600160a01b03908116600090815260236020908152604080832080546001600160a01b0319169590941694909417909255602590915220439055565b6024546001600160a01b038316600090815260256020526040902054620025329043620039c0565b10156200185f57506001600160a01b0316600090815260236020526040902080546001600160a01b031916905550565b6000601f5460001415620025795750600062000c0c565b60115460009081906001600160a01b038781169116148015620025af575060205460ff1660011480620025af575060205460ff16155b15620025be578491506200260a565b6011546001600160a01b038681169116148015620025ef575060205460ff1660021480620025ef575060205460ff16155b15620025fe578591506200260a565b60009250505062000c0c565b60005b601e54811015620026dc576001600160a01b0392831660009081526023602052604090205490921691826200264257620026dc565b62002677601e82815481106200265c576200265c62003a90565b9060005260206000200154836200209c90919063ffffffff16565b91506000620026b761271062000ed3601e85815481106200269c576200269c62003a90565b906000526020600020015489620020ff90919063ffffffff16565b9050620026c688858362002a02565b5080620026d38162003a46565b9150506200260d565b50601f54620026ec9082620028a9565b156200273357601254601f54620027339188916001600160a01b03909116906200272d906127109062000ed390620027259088620028a9565b8a90620020ff565b62002a02565b6200275161271062000ed3601f5487620020ff90919063ffffffff16565b9695505050505050565b6001600160a01b03811660009081526021602052604090205460ff16620027a0576001600160a01b0381166000908152602160205260409020805460ff191660011790555b50565b600080620027c361271062000ed3620027bb62001618565b8690620020ff565b9050620027f584306200272d620027ed61271062000ed3600b548a620020ff90919063ffffffff16565b8590620028a9565b600b54156200282457620028248461dead6200272d61271062000ed3600b5489620020ff90919063ffffffff16565b620028308382620028a9565b949350505050565b6000806200285061271062000ed3620027bb62000c4e565b90506200287a84306200272d620027ed61271062000ed3600e548a620020ff90919063ffffffff16565b600e54156200282457620028248461dead6200272d61271062000ed3600e5489620020ff90919063ffffffff16565b600062000c0c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506200205d565b6000806200290561271062000ed3856126ac620020ff565b601254909150620028249085906001600160a01b03168362002a02565b6000805b601b5481101562002438576022546200294b906001600160a01b031660001962003859565b60225490925062002967906001600160a01b0316600162003810565b602280546001600160a01b0319166001600160a01b0392831617905582166000908152600360205260408120805460019290620029a69084906200383e565b9091555050604051600181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a380620029f98162003a46565b91505062002926565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526003909152919091205462002a569183906200205d565b6001600160a01b03808516600090815260036020526040808220939093559084168152205462002a8790826200209c565b6001600160a01b0380841660008181526003602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9062001bbe9085815260200190565b6000818362002b005760405162461bcd60e51b815260040162000a85919062003656565b50600062002093848662003882565b8062002b185750565b604080516002808252606082018352600092602083019080368337019050509050308160008151811062002b505762002b5062003a90565b6001600160a01b03928316602091820292909201015260135482519116908290600190811062002b845762002b8462003a90565b6001600160a01b039283166020918202929092010152601d5462002bb19130916101009004168462001aa2565b601d54601454604051635c11d79560e01b81526001600160a01b03610100909304831692635c11d7959262002bf592879260009288929116904290600401620036c0565b600060405180830381600087803b15801562002c1057600080fd5b505af115801562002c25573d6000803e3d6000fd5b50506013546014546040516370a0823160e01b81526001600160a01b03918216600482018190529190921693506323b872dd925090309084906370a082319060240160206040518083038186803b15801562002c8057600080fd5b505afa15801562002c95573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002cbb9190620035c2565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401602060405180830381600087803b15801562002d0b57600080fd5b505af115801562002d20573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200185f919062003506565b601d5462002d6590309061010090046001600160a01b03168462001aa2565b601d5460135460125460405162e8e33760e81b81526001600160a01b039283166004820152306024820152604481018590526064810186905260006084820181905260a482015290821660c48201524260e4820152610100909204169063e8e337009061010401606060405180830381600087803b15801562002de757600080fd5b505af115801562002dfc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002056919062003609565b82805462002e309062003a09565b90600052602060002090601f01602090048101928262002e54576000855562002e9f565b82601f1062002e6f57805160ff191683800117855562002e9f565b8280016001018555821562002e9f579182015b8281111562002e9f57825182559160200191906001019062002e82565b5062002ead92915062002efc565b5090565b6101ad8062003ae283390190565b82805482825590600052602060002090810192821562002e9f579160200282018281111562002e9f57825182559160200191906001019062002e82565b5b8082111562002ead576000815560010162002efd565b600082601f83011262002f2557600080fd5b8151602062002f3e62002f3883620037be565b6200378a565b80838252828201915082860187848660051b890101111562002f5f57600080fd5b60005b8581101562002f8b57815162002f788162003abc565b8452928401929084019060010162002f62565b5090979650505050505050565b600082601f83011262002faa57600080fd5b8151602062002fbd62002f3883620037be565b80838252828201915082860187848660051b890101111562002fde57600080fd5b60005b8581101562002f8b57815167ffffffffffffffff8111156200300257600080fd5b8801603f81018a136200301457600080fd5b8581015160406200302962002f3883620037e5565b8281528c828486010111156200303e57600080fd5b6200304f838a8301848701620039da565b8752505050928401929084019060010162002fe1565b600082601f8301126200307757600080fd5b815160206200308a62002f3883620037be565b80838252828201915082860187848660051b8901011115620030ab57600080fd5b60005b8581101562002f8b57815184529284019290840190600101620030ae565b600082601f830112620030de57600080fd5b81516020620030f162002f3883620037be565b80838252828201915082860187848660051b89010111156200311257600080fd5b6000805b868110156200314357825160ff8116811462003130578283fd5b8552938501939185019160010162003116565b509198975050505050505050565b80356200315e8162003ad2565b919050565b6000602082840312156200317657600080fd5b813562000c0c8162003abc565b600080604083850312156200319757600080fd5b8235620031a48162003abc565b91506020830135620031b68162003abc565b809150509250929050565b600080600060608486031215620031d757600080fd5b8335620031e48162003abc565b92506020840135620031f68162003abc565b929592945050506040919091013590565b600080604083850312156200321b57600080fd5b8235620032288162003abc565b946020939093013593505050565b6000806000604084860312156200324c57600080fd5b833567ffffffffffffffff808211156200326557600080fd5b818601915086601f8301126200327a57600080fd5b8135818111156200328a57600080fd5b8760208260051b8501011115620032a057600080fd5b60209283019550935050840135620032b88162003ad2565b809150509250925092565b60008060408385031215620032d757600080fd5b823567ffffffffffffffff811115620032ef57600080fd5b8301601f810185136200330157600080fd5b803560206200331462002f3883620037be565b80838252828201915082850189848660051b88010111156200333557600080fd5b600095505b8486101562003365578035620033508162003abc565b8352600195909501949183019183016200333a565b50955062003377905086820162003151565b93505050509250929050565b600080600080600060a086880312156200339c57600080fd5b855167ffffffffffffffff80821115620033b557600080fd5b620033c389838a0162002f98565b96506020880151915080821115620033da57600080fd5b620033e889838a0162003065565b95506040880151915080821115620033ff57600080fd5b6200340d89838a0162002f13565b945060608801519150808211156200342457600080fd5b6200343289838a01620030cc565b935060808801519150808211156200344957600080fd5b50620034588882890162003065565b9150509295509295909350565b600060208083850312156200347957600080fd5b823567ffffffffffffffff8111156200349157600080fd5b8301601f81018513620034a357600080fd5b8035620034b462002f3882620037be565b80828252848201915084840188868560051b8701011115620034d557600080fd5b600094505b83851015620034fa578035835260019490940193918501918501620034da565b50979650505050505050565b6000602082840312156200351957600080fd5b815162000c0c8162003ad2565b6000602082840312156200353957600080fd5b813567ffffffffffffffff8111156200355157600080fd5b8201601f810184136200356357600080fd5b80356200357462002f3882620037e5565b8181528560208385010111156200358a57600080fd5b81602084016020830137600091810160200191909152949350505050565b600060208284031215620035bb57600080fd5b5035919050565b600060208284031215620035d557600080fd5b5051919050565b600080600060608486031215620035f257600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156200361f57600080fd5b8351925060208401519150604084015190509250925092565b600082516200364c818460208701620039da565b9190910192915050565b602081526000825180602084015262003677816040850160208701620039da565b601f01601f19169190910160400192915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015620037125784516001600160a01b031683529383019391830191600101620036eb565b50506001600160a01b03969096166060850152505050608001529392505050565b6000606082018583526020858185015260606040850152818551808452608086019150828701935060005b818110156200377c578451835293830193918301916001016200375e565b509098975050505050505050565b604051601f8201601f1916810167ffffffffffffffff81118282101715620037b657620037b662003aa6565b604052919050565b600067ffffffffffffffff821115620037db57620037db62003aa6565b5060051b60200190565b600067ffffffffffffffff82111562003802576200380262003aa6565b50601f01601f191660200190565b60006001600160a01b0382811684821680830382111562003835576200383562003a64565b01949350505050565b6000821982111562003854576200385462003a64565b500190565b60006001600160a01b038381168062003876576200387662003a7a565b92169190910492915050565b60008262003894576200389462003a7a565b500490565b600181815b80851115620038da578160001904821115620038be57620038be62003a64565b80851615620038cc57918102915b93841c93908002906200389e565b509250929050565b600062000c0c8383600082620038fb5750600162000a52565b816200390a5750600062000a52565b81600181146200392357600281146200392e576200394e565b600191505062000a52565b60ff84111562003942576200394262003a64565b50506001821b62000a52565b5060208310610133831016604e8410600b841016171562003973575081810a62000a52565b6200397f838362003899565b806000190482111562003996576200399662003a64565b029392505050565b6000816000190483118215151615620039bb57620039bb62003a64565b500290565b600082821015620039d557620039d562003a64565b500390565b60005b83811015620039f7578181015183820152602001620039dd565b83811115620016125750506000910152565b600181811c9082168062003a1e57607f821691505b6020821081141562003a4057634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141562003a5d5762003a5d62003a64565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114620027a057600080fd5b8015158114620027a057600080fdfe608060405234801561001057600080fd5b506040516101ad3803806101ad83398101604081905261002f916100f2565b604080516001600160a01b03838116602483015260001960448084019190915283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291519184169161008a9190610125565b6000604051808303816000865af19150503d80600081146100c7576040519150601f19603f3d011682016040523d82523d6000602084013e6100cc565b606091505b5050505050610160565b80516001600160a01b03811681146100ed57600080fd5b919050565b6000806040838503121561010557600080fd5b61010e836100d6565b915061011c602084016100d6565b90509250929050565b6000825160005b81811015610146576020818601810151858301520161012c565b81811115610155576000828501525b509190910192915050565b603f8061016e6000396000f3fe6080604052600080fdfea2646970667358221220848b0434d868e8552dd703d6993b8af5256fa3a44d3146a88fd058048f23cc2064736f6c6343000806003345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ce2b4e40ecb3d9f81f33b0084a90c22941a7ddae9c739d215b4dac95266ab51664736f6c63430008060033

Deployed Bytecode

0x60806040523480156200001157600080fd5b50600436106200042d5760003560e01c80637abdc1ca1162000235578063bac96e36116200013d578063dc44b6a011620000c7578063ecd0c0c31162000092578063ecd0c0c31462000945578063ece943fa1462000959578063edae876f1462000970578063f2fde38b1462000984578063f5bf7af2146200099b57600080fd5b8063dc44b6a014620008d1578063dd62ed3e14620008db578063e8172b3f1462000917578063ea2f0b37146200092e57600080fd5b8063ccdbd4241162000108578063ccdbd4241462000855578063d28d88521462000881578063d299e541146200088b578063d731df4014620008a257600080fd5b8063bac96e361462000814578063c5139f50146200081e578063c5d241891462000841578063c8607952146200084b57600080fd5b8063a29a608911620001bf578063afa4f3b2116200018a578063afa4f3b214620007d2578063b09f126614620007e9578063ba10ae5d14620007f3578063bac6fd2814620007fd57600080fd5b8063a29a60891462000783578063a41a08fb146200079a578063a457c2d714620007a4578063a9059cbb14620007bb57600080fd5b80638f818b9011620002005780638f818b90146200074757806395d89b4114620007515780639af5adcd146200075b5780639c74daf0146200076f57600080fd5b80637abdc1ca146200070a5780638202b0c1146200071457806388790a68146200072b5780638da5cb5b146200073557600080fd5b806332424aa311620003395780635c31a71311620002c357806370a08231116200028e57806370a082311462000691578063715018a614620006bd57806376fa7e8514620006c75780637880d64814620006f657600080fd5b80635c31a713146200064b57806364861cc51462000662578063690c22ca146200066c5780636b49dcfe146200067657600080fd5b806350e5ceba116200030457806350e5ceba14620005ea57806351d3182214620005f857806352bc3481146200060f578063583e0568146200061957600080fd5b806332424aa314620005975780633950935114620005a5578063437823ec14620005bc578063439fab9114620005d357600080fd5b80631baaedaa11620003bb578063289af0d81162000386578063289af0d814620005485780632fd689e314620005525780633016e0c3146200055c578063313ce567146200058b57600080fd5b80631baaedaa14620004f95780631d865c30146200050357806323b872dd146200051a57806325519cf2146200053157600080fd5b806315e5f3be11620003fc57806315e5f3be14620004b657806316f2f1a814620004cf57806318160ddd14620004d9578063197e0fcb14620004e257600080fd5b806306fdde031462000432578063095ea7b314620004545780631006e6f2146200047c57806315163fc31462000495575b600080fd5b6200043c620009a5565b6040516200044b919062003656565b60405180910390f35b6200046b6200046536600462003207565b62000a3f565b60405190151581526020016200044b565b62000486601a5481565b6040519081526020016200044b565b602054620004a39060ff1681565b60405160ff90911681526020016200044b565b620004cd620004c7366004620035a8565b62000a58565b005b62000486600b5481565b60105462000486565b620004cd620004f3366004620035a8565b62000a93565b62000486601c5481565b620004cd62000514366004620035dc565b62000ac5565b6200046b6200052b366004620031c1565b62000b00565b620004cd62000542366004620035dc565b62000c13565b6200048662000c4e565b6200048660175481565b6200046b6200056d36600462003163565b6001600160a01b031660009081526021602052604090205460ff1690565b60095460ff1662000486565b600954620004a39060ff1681565b6200046b620005b636600462003207565b62000c7c565b620004cd620005cd36600462003163565b62000cb5565b620004cd620005e436600462003526565b62000d06565b601d54620004a39060ff1681565b620004cd6200060936600462003163565b62001402565b6200048660195481565b601d54620006329061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016200044b565b620004cd6200065c366004620035dc565b62001451565b6200048660245481565b6200048660155481565b620006806200148c565b6040516200044b9392919062003733565b62000486620006a236600462003163565b6001600160a01b031660009081526003602052604090205490565b620004cd620014f4565b62000632620006d836600462003163565b6001600160a01b039081166000908152602360205260409020541690565b60125462000632906001600160a01b031681565b62000486600e5481565b620004cd6200072536600462003236565b6200156b565b62000486600f5481565b6000546001600160a01b031662000632565b6200048662001618565b6200043c6200163a565b60225462000632906001600160a01b031681565b60115462000632906001600160a01b031681565b620004cd6200079436600462003163565b6200164b565b62000486601f5481565b6200046b620007b536600462003207565b6200169a565b6200046b620007cc36600462003207565b620016ed565b620004cd620007e3366004620035a8565b620016fc565b6200043c6200172e565b6200048660185481565b620004cd6200080e366004620032c3565b620017c4565b6200048660165481565b620004866200082f36600462003163565b60256020526000908152604090205481565b62000486600a5481565b62000486600d5481565b620006326200086636600462003163565b6023602052600090815260409020546001600160a01b031681565b6200043c62001864565b620004866200089c366004620035a8565b62001873565b6200046b620008b336600462003163565b6001600160a01b031660009081526005602052604090205460ff1690565b62000486600c5481565b62000486620008ec36600462003183565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b620004cd62000928366004620035a8565b62001895565b620004cd6200093f36600462003163565b620018c7565b60135462000632906001600160a01b031681565b620004cd6200096a36600462003465565b62001915565b60145462000632906001600160a01b031681565b620004cd6200099536600462003163565b620019b3565b62000486601b5481565b606060078054620009b69062003a09565b80601f0160208091040260200160405190810160405280929190818152602001828054620009e49062003a09565b801562000a355780601f1062000a095761010080835404028352916020019162000a35565b820191906000526020600020905b81548152906001019060200180831162000a1757829003601f168201915b5050505050905090565b600062000a4e33848462001aa2565b5060015b92915050565b6000546001600160a01b0316331462000a8e5760405162461bcd60e51b815260040162000a85906200368b565b60405180910390fd5b601c55565b6000546001600160a01b0316331462000ac05760405162461bcd60e51b815260040162000a85906200368b565b601b55565b6000546001600160a01b0316331462000af25760405162461bcd60e51b815260040162000a85906200368b565b600d92909255600e55600f55565b6000601554600014801562000b245750601d5461010090046001600160a01b031633145b1562000ba457601d5460ff166001141562000b84576000546001600160a01b0385811691161462000b845760405162461bcd60e51b81526020600482015260096024820152683737ba1037bbb732b960b91b604482015260640162000a85565b42601555601180546001600160a01b0319166001600160a01b0385161790555b62000bb184848462001bcb565b62000c08843362000c028560405180606001604052806028815260200162003c8f602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906200205d565b62001aa2565b5060015b9392505050565b6000546001600160a01b0316331462000c405760405162461bcd60e51b815260040162000a85906200368b565b600a92909255600b55600c55565b600062000c77600f5462000c70600e54600d546200209c90919063ffffffff16565b906200209c565b905090565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909162000a4e91859062000c0290866200209c565b6000546001600160a01b0316331462000ce25760405162461bcd60e51b815260040162000a85906200368b565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b602054610100900460ff161562000d1c57600080fd5b6020805461ff0019166101001781558151600091829182918291829162000d4a918801810190880162003383565b9450945094509450945062000d7c8360008151811062000d6e5762000d6e62003a90565b6020026020010151620019b3565b60008360008151811062000d945762000d9462003a90565b602002602001015190508360038151811062000db45762000db462003a90565b6020026020010151601360006101000a8154816001600160a01b0302191690836001600160a01b031602179055508560008151811062000df85762000df862003a90565b60200260200101516007908051906020019062000e1792919062002e22565b508560018151811062000e2e5762000e2e62003a90565b60200260200101516008908051906020019062000e4d92919062002e22565b508460008151811062000e645762000e6462003a90565b60209081029190910101516009805460ff191660ff909216918217905562000e8e90600a620038e2565b8560018151811062000ea45762000ea462003a90565b602002602001015162000eb891906200399e565b601081905562000eda906127109062000ed3906001620020ff565b9062002186565b60175560095462000ef09060ff16600a620038e2565b8560028151811062000f065762000f0662003a90565b602002602001015162000f1a91906200399e565b60195560095462000f309060ff16600a620038e2565b85600c8151811062000f465762000f4662003a90565b602002602001015162000f5a91906200399e565b601a5560095462000f709060ff16600a620038e2565b8560038151811062000f865762000f8662003a90565b602002602001015162000f9a91906200399e565b60185584518590600490811062000fb55762000fb562003a90565b60200260200101516016819055508460058151811062000fd95762000fd962003a90565b6020026020010151601b819055508460068151811062000ffd5762000ffd62003a90565b6020026020010151600a819055508460078151811062001021576200102162003a90565b6020026020010151600b819055508460088151811062001045576200104562003a90565b6020026020010151600c819055508460098151811062001069576200106962003a90565b6020026020010151600d8190555084600a815181106200108d576200108d62003a90565b6020026020010151600e8190555084600b81518110620010b157620010b162003a90565b6020026020010151600f8190555083600181518110620010d557620010d562003a90565b602090810291909101810151601280546001600160a01b0319166001600160a01b03928316179055601054908316600090815260039092526040909120558351849060029081106200112b576200112b62003a90565b6020026020010151601d60016101000a8154816001600160a01b0302191690836001600160a01b03160217905550826000815181106200116f576200116f62003a90565b6020026020010151601d60006101000a81548160ff021916908360ff16021790555082600181518110620011a757620011a762003a90565b60209081029190910181015160ff16601c556012546001600160a01b0390811660009081526005835260408082208054600160ff199182168117909255938616808452828420805486168317905530845282842080549095169091179093556010549051908152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36013546040516001600160a01b039091169030906200125c9062002eb1565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562001290573d6000803e3d6000fd5b50601480546001600160a01b039283166001600160a01b0319909116179055601354601d54604080516101009092048416602483015260001960448084019190915281518084039091018152606490920181526020820180516001600160e01b031663095ea7b360e01b1790525191909216916200130e9162003638565b6000604051808303816000865af19150503d80600081146200134d576040519150601f19603f3d011682016040523d82523d6000602084013e62001352565b606091505b505082516200136a9150601e90602085019062002ebf565b508260028151811062001381576200138162003a90565b602090810291909101810151815460ff191660ff90911617905560005b601e54811015620013f857601e8181548110620013bf57620013bf62003a90565b9060005260206000200154601f6000828254620013dd91906200383e565b90915550819050620013ef8162003a46565b9150506200139e565b5050505050505050565b6000546001600160a01b031633146200142f5760405162461bcd60e51b815260040162000a85906200368b565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146200147e5760405162461bcd60e51b815260040162000a85906200368b565b601892909255601955601a55565b60208054601f54601e8054604080518287028101870190915281815260ff90941694929360609390929190830182828015620014e857602002820191906000526020600020905b815481526020019060010190808311620014d3575b50505050509050909192565b6000546001600160a01b03163314620015215760405162461bcd60e51b815260040162000a85906200368b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314620015985760405162461bcd60e51b815260040162000a85906200368b565b60005b8281101562001612578160056000868685818110620015be57620015be62003a90565b9050602002016020810190620015d5919062003163565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580620016098162003a46565b9150506200159b565b50505050565b600062000c77600c5462000c70600b54600a546200209c90919063ffffffff16565b606060088054620009b69062003a09565b6000546001600160a01b03163314620016785760405162461bcd60e51b815260040162000a85906200368b565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b600062000a4e338462000c028560405180606001604052806025815260200162003cb7602591393360009081526004602090815260408083206001600160a01b038d16845290915290205491906200205d565b600062000a4e33848462001bcb565b6000546001600160a01b03163314620017295760405162461bcd60e51b815260040162000a85906200368b565b601755565b600880546200173d9062003a09565b80601f01602080910402602001604051908101604052809291908181526020018280546200176b9062003a09565b8015620017bc5780601f106200179057610100808354040283529160200191620017bc565b820191906000526020600020905b8154815290600101906020018083116200179e57829003601f168201915b505050505081565b6000546001600160a01b03163314620017f15760405162461bcd60e51b815260040162000a85906200368b565b60005b82518110156200185f57816021600085848151811062001818576200181862003a90565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620018568162003a46565b915050620017f4565b505050565b600780546200173d9062003a09565b601e81815481106200188457600080fd5b600091825260209091200154905081565b6000546001600160a01b03163314620018c25760405162461bcd60e51b815260040162000a85906200368b565b602455565b6000546001600160a01b03163314620018f45760405162461bcd60e51b815260040162000a85906200368b565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b03163314620019425760405162461bcd60e51b815260040162000a85906200368b565b80516200195790601e90602084019062002ebf565b506000805b601e54811015620019ac57601e81815481106200197d576200197d62003a90565b9060005260206000200154826200199591906200383e565b915080620019a38162003a46565b9150506200195c565b50601f5550565b6000546001600160a01b03163314620019e05760405162461bcd60e51b815260040162000a85906200368b565b6001600160a01b03811662001a475760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000a85565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831662001b065760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000a85565b6001600160a01b03821662001b695760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000a85565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831662001c315760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840162000a85565b6001600160a01b03821662001c955760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840162000a85565b6000811162001cf95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840162000a85565b306000908152600360205260409020546017548110801590819062001d2757506001600160a01b0385163014155b801562001d4257506011546001600160a01b03868116911614155b801562001d5d57506000546001600160a01b03868116911614155b801562001d7857506000546001600160a01b03858116911614155b801562001d8757506000601554115b1562001d985762001d9882620021ca565b6001600160a01b03851660009081526005602052604090205460ff1615801562001ddb57506001600160a01b03841660009081526005602052604090205460ff16155b156200204957601f546000901562001e0a5762001dfa8686866200243c565b62001e0786868662002562565b90505b600062001e1662001618565b11801562001e3157506011546001600160a01b038781169116145b1562001eb5574260165460155462001e4a91906200383e565b111562001e5c5762001e5c856200275b565b60195484111562001ea15760405162461bcd60e51b815260206004820152600e60248201526d151c985b9cd9995c881b1a5b5a5d60921b604482015260640162000a85565b62001ead8685620027a3565b935062001f63565b600062001ec162000c4e565b11801562001edc57506011546001600160a01b038681169116145b1562001f3357601a5484111562001f275760405162461bcd60e51b815260206004820152600e60248201526d151c985b9cd9995c881b1a5b5a5d60921b604482015260640162000a85565b62001ead868562002838565b601c541562001f6357601c546001141562001f545762001ead8685620027a3565b62001f60868562002838565b93505b62001f6f8482620028a9565b6001600160a01b03871660009081526021602052604090205490945060ff161562001fa35762001fa08685620028ed565b93505b62001fad62002922565b6011546001600160a01b03868116911614620020475760185462001feb8562000c70886001600160a01b031660009081526003602052604090205490565b1115620020475760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657220616d6f756e74206578636565647320746865206d61784860448201526330bb329760e11b606482015260840162000a85565b505b6200205685858562002a02565b5050505050565b60008184841115620020845760405162461bcd60e51b815260040162000a85919062003656565b506000620020938486620039c0565b95945050505050565b600080620020ab83856200383e565b90508381101562000c0c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000a85565b600082620021105750600062000a52565b60006200211e83856200399e565b9050826200212d858362003882565b1462000c0c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840162000a85565b600062000c0c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062002adc565b6000620021f3600f5462000c70600c5462000c70600d54600a546200209c90919063ffffffff16565b90508015620024385760006200222e600262000ed38462000ed362002226600f54600c546200209c90919063ffffffff16565b8890620020ff565b905062002246620022408483620028a9565b62002b0f565b6013546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b1580156200228b57600080fd5b505afa158015620022a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022c69190620035c2565b90506000620022e3600f54600c546200209c90919063ffffffff16565b1115620023275762002327828462002309600f54600c546200209c90919063ffffffff16565b6200231590856200399e565b62002321919062003882565b62002d46565b6013546012546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a082319060240160206040518083038186803b1580156200237857600080fd5b505afa1580156200238d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620023b39190620035c2565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b158015620023fa57600080fd5b505af19250505080156200242d575060408051601f3d908101601f191682019092526200242a9181019062003506565b60015b620020565762001612565b5050565b6011546001600160a01b038381169116146200185f576001600160a01b03828116600090815260236020526040902054161580156200248957506011546001600160a01b03848116911614155b8015620024955750823b155b8015620024a25750600081115b8015620024c557506001600160a01b038216600090815260036020526040902054155b156200250a57506001600160a01b03908116600090815260236020908152604080832080546001600160a01b0319169590941694909417909255602590915220439055565b6024546001600160a01b038316600090815260256020526040902054620025329043620039c0565b10156200185f57506001600160a01b0316600090815260236020526040902080546001600160a01b031916905550565b6000601f5460001415620025795750600062000c0c565b60115460009081906001600160a01b038781169116148015620025af575060205460ff1660011480620025af575060205460ff16155b15620025be578491506200260a565b6011546001600160a01b038681169116148015620025ef575060205460ff1660021480620025ef575060205460ff16155b15620025fe578591506200260a565b60009250505062000c0c565b60005b601e54811015620026dc576001600160a01b0392831660009081526023602052604090205490921691826200264257620026dc565b62002677601e82815481106200265c576200265c62003a90565b9060005260206000200154836200209c90919063ffffffff16565b91506000620026b761271062000ed3601e85815481106200269c576200269c62003a90565b906000526020600020015489620020ff90919063ffffffff16565b9050620026c688858362002a02565b5080620026d38162003a46565b9150506200260d565b50601f54620026ec9082620028a9565b156200273357601254601f54620027339188916001600160a01b03909116906200272d906127109062000ed390620027259088620028a9565b8a90620020ff565b62002a02565b6200275161271062000ed3601f5487620020ff90919063ffffffff16565b9695505050505050565b6001600160a01b03811660009081526021602052604090205460ff16620027a0576001600160a01b0381166000908152602160205260409020805460ff191660011790555b50565b600080620027c361271062000ed3620027bb62001618565b8690620020ff565b9050620027f584306200272d620027ed61271062000ed3600b548a620020ff90919063ffffffff16565b8590620028a9565b600b54156200282457620028248461dead6200272d61271062000ed3600b5489620020ff90919063ffffffff16565b620028308382620028a9565b949350505050565b6000806200285061271062000ed3620027bb62000c4e565b90506200287a84306200272d620027ed61271062000ed3600e548a620020ff90919063ffffffff16565b600e54156200282457620028248461dead6200272d61271062000ed3600e5489620020ff90919063ffffffff16565b600062000c0c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506200205d565b6000806200290561271062000ed3856126ac620020ff565b601254909150620028249085906001600160a01b03168362002a02565b6000805b601b5481101562002438576022546200294b906001600160a01b031660001962003859565b60225490925062002967906001600160a01b0316600162003810565b602280546001600160a01b0319166001600160a01b0392831617905582166000908152600360205260408120805460019290620029a69084906200383e565b9091555050604051600181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a380620029f98162003a46565b91505062002926565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526003909152919091205462002a569183906200205d565b6001600160a01b03808516600090815260036020526040808220939093559084168152205462002a8790826200209c565b6001600160a01b0380841660008181526003602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9062001bbe9085815260200190565b6000818362002b005760405162461bcd60e51b815260040162000a85919062003656565b50600062002093848662003882565b8062002b185750565b604080516002808252606082018352600092602083019080368337019050509050308160008151811062002b505762002b5062003a90565b6001600160a01b03928316602091820292909201015260135482519116908290600190811062002b845762002b8462003a90565b6001600160a01b039283166020918202929092010152601d5462002bb19130916101009004168462001aa2565b601d54601454604051635c11d79560e01b81526001600160a01b03610100909304831692635c11d7959262002bf592879260009288929116904290600401620036c0565b600060405180830381600087803b15801562002c1057600080fd5b505af115801562002c25573d6000803e3d6000fd5b50506013546014546040516370a0823160e01b81526001600160a01b03918216600482018190529190921693506323b872dd925090309084906370a082319060240160206040518083038186803b15801562002c8057600080fd5b505afa15801562002c95573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002cbb9190620035c2565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401602060405180830381600087803b15801562002d0b57600080fd5b505af115801562002d20573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200185f919062003506565b601d5462002d6590309061010090046001600160a01b03168462001aa2565b601d5460135460125460405162e8e33760e81b81526001600160a01b039283166004820152306024820152604481018590526064810186905260006084820181905260a482015290821660c48201524260e4820152610100909204169063e8e337009061010401606060405180830381600087803b15801562002de757600080fd5b505af115801562002dfc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002056919062003609565b82805462002e309062003a09565b90600052602060002090601f01602090048101928262002e54576000855562002e9f565b82601f1062002e6f57805160ff191683800117855562002e9f565b8280016001018555821562002e9f579182015b8281111562002e9f57825182559160200191906001019062002e82565b5062002ead92915062002efc565b5090565b6101ad8062003ae283390190565b82805482825590600052602060002090810192821562002e9f579160200282018281111562002e9f57825182559160200191906001019062002e82565b5b8082111562002ead576000815560010162002efd565b600082601f83011262002f2557600080fd5b8151602062002f3e62002f3883620037be565b6200378a565b80838252828201915082860187848660051b890101111562002f5f57600080fd5b60005b8581101562002f8b57815162002f788162003abc565b8452928401929084019060010162002f62565b5090979650505050505050565b600082601f83011262002faa57600080fd5b8151602062002fbd62002f3883620037be565b80838252828201915082860187848660051b890101111562002fde57600080fd5b60005b8581101562002f8b57815167ffffffffffffffff8111156200300257600080fd5b8801603f81018a136200301457600080fd5b8581015160406200302962002f3883620037e5565b8281528c828486010111156200303e57600080fd5b6200304f838a8301848701620039da565b8752505050928401929084019060010162002fe1565b600082601f8301126200307757600080fd5b815160206200308a62002f3883620037be565b80838252828201915082860187848660051b8901011115620030ab57600080fd5b60005b8581101562002f8b57815184529284019290840190600101620030ae565b600082601f830112620030de57600080fd5b81516020620030f162002f3883620037be565b80838252828201915082860187848660051b89010111156200311257600080fd5b6000805b868110156200314357825160ff8116811462003130578283fd5b8552938501939185019160010162003116565b509198975050505050505050565b80356200315e8162003ad2565b919050565b6000602082840312156200317657600080fd5b813562000c0c8162003abc565b600080604083850312156200319757600080fd5b8235620031a48162003abc565b91506020830135620031b68162003abc565b809150509250929050565b600080600060608486031215620031d757600080fd5b8335620031e48162003abc565b92506020840135620031f68162003abc565b929592945050506040919091013590565b600080604083850312156200321b57600080fd5b8235620032288162003abc565b946020939093013593505050565b6000806000604084860312156200324c57600080fd5b833567ffffffffffffffff808211156200326557600080fd5b818601915086601f8301126200327a57600080fd5b8135818111156200328a57600080fd5b8760208260051b8501011115620032a057600080fd5b60209283019550935050840135620032b88162003ad2565b809150509250925092565b60008060408385031215620032d757600080fd5b823567ffffffffffffffff811115620032ef57600080fd5b8301601f810185136200330157600080fd5b803560206200331462002f3883620037be565b80838252828201915082850189848660051b88010111156200333557600080fd5b600095505b8486101562003365578035620033508162003abc565b8352600195909501949183019183016200333a565b50955062003377905086820162003151565b93505050509250929050565b600080600080600060a086880312156200339c57600080fd5b855167ffffffffffffffff80821115620033b557600080fd5b620033c389838a0162002f98565b96506020880151915080821115620033da57600080fd5b620033e889838a0162003065565b95506040880151915080821115620033ff57600080fd5b6200340d89838a0162002f13565b945060608801519150808211156200342457600080fd5b6200343289838a01620030cc565b935060808801519150808211156200344957600080fd5b50620034588882890162003065565b9150509295509295909350565b600060208083850312156200347957600080fd5b823567ffffffffffffffff8111156200349157600080fd5b8301601f81018513620034a357600080fd5b8035620034b462002f3882620037be565b80828252848201915084840188868560051b8701011115620034d557600080fd5b600094505b83851015620034fa578035835260019490940193918501918501620034da565b50979650505050505050565b6000602082840312156200351957600080fd5b815162000c0c8162003ad2565b6000602082840312156200353957600080fd5b813567ffffffffffffffff8111156200355157600080fd5b8201601f810184136200356357600080fd5b80356200357462002f3882620037e5565b8181528560208385010111156200358a57600080fd5b81602084016020830137600091810160200191909152949350505050565b600060208284031215620035bb57600080fd5b5035919050565b600060208284031215620035d557600080fd5b5051919050565b600080600060608486031215620035f257600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156200361f57600080fd5b8351925060208401519150604084015190509250925092565b600082516200364c818460208701620039da565b9190910192915050565b602081526000825180602084015262003677816040850160208701620039da565b601f01601f19169190910160400192915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015620037125784516001600160a01b031683529383019391830191600101620036eb565b50506001600160a01b03969096166060850152505050608001529392505050565b6000606082018583526020858185015260606040850152818551808452608086019150828701935060005b818110156200377c578451835293830193918301916001016200375e565b509098975050505050505050565b604051601f8201601f1916810167ffffffffffffffff81118282101715620037b657620037b662003aa6565b604052919050565b600067ffffffffffffffff821115620037db57620037db62003aa6565b5060051b60200190565b600067ffffffffffffffff82111562003802576200380262003aa6565b50601f01601f191660200190565b60006001600160a01b0382811684821680830382111562003835576200383562003a64565b01949350505050565b6000821982111562003854576200385462003a64565b500190565b60006001600160a01b038381168062003876576200387662003a7a565b92169190910492915050565b60008262003894576200389462003a7a565b500490565b600181815b80851115620038da578160001904821115620038be57620038be62003a64565b80851615620038cc57918102915b93841c93908002906200389e565b509250929050565b600062000c0c8383600082620038fb5750600162000a52565b816200390a5750600062000a52565b81600181146200392357600281146200392e576200394e565b600191505062000a52565b60ff84111562003942576200394262003a64565b50506001821b62000a52565b5060208310610133831016604e8410600b841016171562003973575081810a62000a52565b6200397f838362003899565b806000190482111562003996576200399662003a64565b029392505050565b6000816000190483118215151615620039bb57620039bb62003a64565b500290565b600082821015620039d557620039d562003a64565b500390565b60005b83811015620039f7578181015183820152602001620039dd565b83811115620016125750506000910152565b600181811c9082168062003a1e57607f821691505b6020821081141562003a4057634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141562003a5d5762003a5d62003a64565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114620027a057600080fd5b8015158114620027a057600080fdfe608060405234801561001057600080fd5b506040516101ad3803806101ad83398101604081905261002f916100f2565b604080516001600160a01b03838116602483015260001960448084019190915283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291519184169161008a9190610125565b6000604051808303816000865af19150503d80600081146100c7576040519150601f19603f3d011682016040523d82523d6000602084013e6100cc565b606091505b5050505050610160565b80516001600160a01b03811681146100ed57600080fd5b919050565b6000806040838503121561010557600080fd5b61010e836100d6565b915061011c602084016100d6565b90509250929050565b6000825160005b81811015610146576020818601810151858301520161012c565b81811115610155576000828501525b509190910192915050565b603f8061016e6000396000f3fe6080604052600080fdfea2646970667358221220848b0434d868e8552dd703d6993b8af5256fa3a44d3146a88fd058048f23cc2064736f6c6343000806003345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ce2b4e40ecb3d9f81f33b0084a90c22941a7ddae9c739d215b4dac95266ab51664736f6c63430008060033

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.