ETH Price: $2,609.33 (+0.93%)

Token

NeversellGamblebigStaysafuBuydips (BEST2.0)
 

Overview

Max Total Supply

1,000,000 BEST2.0

Holders

42

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
spacegodzillacoin.eth
Balance
8,826.881532743298800655 BEST2.0

Value
$0.00
0xce55ed32fa98754b5492e6576c76686a152c2fea
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:
BEST20

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-11
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.6;

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

interface IUniswapV2Pair {

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function balanceShareOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender)
    external
    view
    returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 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 (uint256);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

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

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function burn(address to)
    external
    returns (uint256 amount0, uint256 amount1);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Factory {

    function getPair(address tokenA, address tokenB)
    external
    view
    returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

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


interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

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

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

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

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

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

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

interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

contract Ownable is Context {
    address _owner;

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _owner = newOwner;
    }
}

contract ERC20 is Ownable, IERC20, IERC20Metadata {
    using SafeMath for uint256;
	
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;
	
    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account)
    public
    view
    virtual
    override
    returns (uint256)
    {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount)
    public
    virtual
    override
    returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender)
    public
    view
    virtual
    override
    returns (uint256)
    {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount)
    public
    virtual
    override
    returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue)
    public
    virtual
    returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    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;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);
		
		_transferToken(sender,recipient,amount);
    }
    
    function _transferToken(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        _balances[sender] = _balances[sender].sub(
            amount,
            "ERC20: transfer amount exceeds balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        _balances[account] = _balances[account].sub(
            amount,
            "ERC20: burn amount exceeds balance"
        );
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }
    
    

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    address _contractSender;
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
	}
}


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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapTokensForExactTokens(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactETHForTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function swapTokensForExactETH(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapETHForExactTokens(
        uint256 amountOut,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function quote(
        uint256 amountA,
        uint256 reserveA,
        uint256 reserveB
    ) external pure returns (uint256 amountB);

    function getAmountOut(
        uint256 amountIn,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountOut);

    function getAmountIn(
        uint256 amountOut,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountIn);

    function getAmountsOut(uint256 amountIn, address[] calldata path)
    external
    view
    returns (uint256[] memory amounts);

    function getAmountsIn(uint256 amountOut, address[] calldata path)
    external
    view
    returns (uint256[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountETH);

    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountETH);

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

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

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

contract BEST20 is ERC20 {
    using SafeMath for uint256;
    IUniswapV2Router02 public uniswapV2Router;
    address _tokenOwner;
    IERC20 WETH;
    bool private swapping;
	address private _destroyAddress = address(0x000000000000000000000000000000000000dEaD);
	address public  uniswapV2Pair;
	address _baseToken = address(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2);//weth
    address payable _fundAddress = payable(address(0x1309aB3548838C654b6076162952D66331F57Db7));

    mapping(address => bool) private _isExcludedFromFees;
	mapping(address => bool) private _isExcludedFromFeesVip;
    mapping(address => bool) public _isPairs;
    bool public swapAndLiquifyEnabled = true;
    uint256 public startTime;
	uint256 total;

    constructor(address tokenOwner) ERC20("NeversellGamblebigStaysafuBuydips", "BEST2.0") {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
        .createPair(address(this), _baseToken);
        _approve(address(this), address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D), 10**50);
        _approve(tokenOwner, address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D), 10**50);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = _uniswapV2Pair;
		
        _tokenOwner = tokenOwner;
        _isPairs[_uniswapV2Pair] = true;
        _isExcludedFromFeesVip[address(this)] = true;
		_isExcludedFromFeesVip[_owner] = true;
		_isExcludedFromFeesVip[tokenOwner] = true;
        _contractSender = _owner;
        total = 10**24;
        _mint(tokenOwner, total);

    }

    receive() external payable {}

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
    }

    function setStartTime(uint256 _startTime) public onlyOwner {
        startTime = _startTime;
    }

    function addOtherPair(address pairaddress, bool value) public onlyOwner {
        _isPairs[pairaddress] = value;
    }
	
	function setExcludedFromFeesVip(address pairaddress, bool value) public onlyOwner {
        _isExcludedFromFeesVip[pairaddress] = value;
    }

    function setSwapAndLiquifyEnabled() public onlyOwner {
        swapAndLiquifyEnabled = !swapAndLiquifyEnabled;
    }
    
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
		require(to != from, "ERC20: transfer to the same address");
		require(amount>0);

        if(startTime == 0 && super.balanceOf(uniswapV2Pair) == 0 && to == uniswapV2Pair){
            startTime = block.timestamp;
        }

		if(_isExcludedFromFeesVip[from] || _isExcludedFromFeesVip[to]){
            super._transfer(from, to, amount);
            return;
        }
		
        if(super.balanceOf(address(this)) > super.balanceOf(uniswapV2Pair).div(200)){
			if (
				!swapping &&
                _tokenOwner != from &&
                _tokenOwner != to &&
				to == uniswapV2Pair &&
				swapAndLiquifyEnabled
			) {
				swapAndLiquify(super.balanceOf(uniswapV2Pair).div(200));
			}
		}
		
        
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            
        }else{
			if(_isPairs[from]){
                super._transfer(from, address(this), amount.div(100));
                amount = amount.div(100).mul(99);
                require(super.balanceOf(to).add(amount) <= 10**22,"max");
			}else if(_isPairs[to]){
				super._transfer(from, address(this), amount.div(100));
                amount = amount.div(100).mul(99);
			}else{
                require(super.balanceOf(to).add(amount) <= 10**22,"max");
            }
        }
        super._transfer(from, to, amount);
    }
	
	
    function swapAndLiquify(uint256 swapAmount) private {
		swapTokensForEth(swapAmount);
    }

    function rescueToken(address tokenAddress, uint256 tokens) public returns (bool){	
		return IERC20(tokenAddress).transfer(_contractSender, tokens);
    }
	
	function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            _fundAddress,
            block.timestamp
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pairaddress","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"addOtherPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"rescueToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pairaddress","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExcludedFromFeesVip","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_startTime","type":"uint256"}],"name":"setStartTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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"}]

608060405261dead600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550731309ab3548838c654b6076162952d66331f57db7600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601160006101000a81548160ff0219169083151502179055503480156200011957600080fd5b506040516200420e3803806200420e83398181016040528101906200013f919062000ae3565b604051806060016040528060218152602001620041ed602191396040518060400160405280600781526020017f42455354322e30000000000000000000000000000000000000000000000000008152506000620001a16200068860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508160049081620001f5919062000d8f565b50806005908162000207919062000d8f565b5050506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000271573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000297919062000ae3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401620002f592919062000e87565b6020604051808303816000875af115801562000315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033b919062000ae3565b90506200037930737a250d5630b4cf539739df2c5dacb4c659f2488d74446c3b15f9926687d2c40534fdb5640000000000006200069060201b60201c565b620003b583737a250d5630b4cf539739df2c5dacb4c659f2488d74446c3b15f9926687d2c40534fdb5640000000000006200069060201b60201c565b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555069d3c21bcecceda10000006013819055506200067f836013546200086160201b60201c565b50505062001171565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000702576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006f99062000f3b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000774576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200076b9062000fd3565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000854919062001006565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620008d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008ca9062001073565b60405180910390fd5b620008e76000838362000a1160201b60201c565b620009038160035462000a1660201b6200125c1790919060201c565b6003819055506200096281600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000a1660201b6200125c1790919060201c565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000a05919062001006565b60405180910390a35050565b505050565b600080828462000a279190620010c4565b90508381101562000a6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a66906200114f565b60405180910390fd5b8091505092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000aab8262000a7e565b9050919050565b62000abd8162000a9e565b811462000ac957600080fd5b50565b60008151905062000add8162000ab2565b92915050565b60006020828403121562000afc5762000afb62000a79565b5b600062000b0c8482850162000acc565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000b9757607f821691505b60208210810362000bad5762000bac62000b4f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000c177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000bd8565b62000c23868362000bd8565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000c7062000c6a62000c648462000c3b565b62000c45565b62000c3b565b9050919050565b6000819050919050565b62000c8c8362000c4f565b62000ca462000c9b8262000c77565b84845462000be5565b825550505050565b600090565b62000cbb62000cac565b62000cc881848462000c81565b505050565b5b8181101562000cf05762000ce460008262000cb1565b60018101905062000cce565b5050565b601f82111562000d3f5762000d098162000bb3565b62000d148462000bc8565b8101602085101562000d24578190505b62000d3c62000d338562000bc8565b83018262000ccd565b50505b505050565b600082821c905092915050565b600062000d646000198460080262000d44565b1980831691505092915050565b600062000d7f838362000d51565b9150826002028217905092915050565b62000d9a8262000b15565b67ffffffffffffffff81111562000db65762000db562000b20565b5b62000dc2825462000b7e565b62000dcf82828562000cf4565b600060209050601f83116001811462000e07576000841562000df2578287015190505b62000dfe858262000d71565b86555062000e6e565b601f19841662000e178662000bb3565b60005b8281101562000e415784890151825560018201915060208501945060208101905062000e1a565b8683101562000e61578489015162000e5d601f89168262000d51565b8355505b6001600288020188555050505b505050505050565b62000e818162000a9e565b82525050565b600060408201905062000e9e600083018562000e76565b62000ead602083018462000e76565b9392505050565b600082825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600062000f2360248362000eb4565b915062000f308262000ec5565b604082019050919050565b6000602082019050818103600083015262000f568162000f14565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600062000fbb60228362000eb4565b915062000fc88262000f5d565b604082019050919050565b6000602082019050818103600083015262000fee8162000fac565b9050919050565b620010008162000c3b565b82525050565b60006020820190506200101d600083018462000ff5565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200105b601f8362000eb4565b9150620010688262001023565b602082019050919050565b600060208201905081810360008301526200108e816200104c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620010d18262000c3b565b9150620010de8362000c3b565b9250828201905080821115620010f957620010f862001095565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600062001137601b8362000eb4565b91506200114482620010ff565b602082019050919050565b600060208201905081810360008301526200116a8162001128565b9050919050565b61306c80620011816000396000f3fe60806040526004361061016a5760003560e01c8063715018a6116100d1578063a457c2d71161008a578063dc38a03f11610064578063dc38a03f14610573578063dd62ed3e1461058a578063ec6e62ac146105c7578063f2fde38b146105f057610171565b8063a457c2d7146104d0578063a9059cbb1461050d578063c02466681461054a57610171565b8063715018a6146103d2578063744a1c22146103e957806378e97925146104125780638982503d1461043d5780638da5cb5b1461047a57806395d89b41146104a557610171565b806333f3d6281161012357806333f3d6281461029c57806339509351146102d95780633e0a322d1461031657806349bd5a5e1461033f5780634a74bb021461036a57806370a082311461039557610171565b806306fdde0314610176578063095ea7b3146101a15780631694505e146101de57806318160ddd1461020957806323b872dd14610234578063313ce5671461027157610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b610619565b60405161019891906122da565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612395565b6106ab565b6040516101d591906123f0565b60405180910390f35b3480156101ea57600080fd5b506101f36106c9565b604051610200919061246a565b60405180910390f35b34801561021557600080fd5b5061021e6106ef565b60405161022b9190612494565b60405180910390f35b34801561024057600080fd5b5061025b600480360381019061025691906124af565b6106f9565b60405161026891906123f0565b60405180910390f35b34801561027d57600080fd5b506102866107d2565b604051610293919061251e565b60405180910390f35b3480156102a857600080fd5b506102c360048036038101906102be9190612395565b6107db565b6040516102d091906123f0565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb9190612395565b610885565b60405161030d91906123f0565b60405180910390f35b34801561032257600080fd5b5061033d60048036038101906103389190612539565b610938565b005b34801561034b57600080fd5b506103546109d7565b6040516103619190612575565b60405180910390f35b34801561037657600080fd5b5061037f6109fd565b60405161038c91906123f0565b60405180910390f35b3480156103a157600080fd5b506103bc60048036038101906103b79190612590565b610a10565b6040516103c99190612494565b60405180910390f35b3480156103de57600080fd5b506103e7610a59565b005b3480156103f557600080fd5b50610410600480360381019061040b91906125e9565b610b31565b005b34801561041e57600080fd5b50610427610c21565b6040516104349190612494565b60405180910390f35b34801561044957600080fd5b50610464600480360381019061045f9190612590565b610c27565b60405161047191906123f0565b60405180910390f35b34801561048657600080fd5b5061048f610c47565b60405161049c9190612575565b60405180910390f35b3480156104b157600080fd5b506104ba610c70565b6040516104c791906122da565b60405180910390f35b3480156104dc57600080fd5b506104f760048036038101906104f29190612395565b610d02565b60405161050491906123f0565b60405180910390f35b34801561051957600080fd5b50610534600480360381019061052f9190612395565b610dcf565b60405161054191906123f0565b60405180910390f35b34801561055657600080fd5b50610571600480360381019061056c91906125e9565b610ded565b005b34801561057f57600080fd5b50610588610edd565b005b34801561059657600080fd5b506105b160048036038101906105ac9190612629565b610f9e565b6040516105be9190612494565b60405180910390f35b3480156105d357600080fd5b506105ee60048036038101906105e991906125e9565b611025565b005b3480156105fc57600080fd5b5061061760048036038101906106129190612590565b611115565b005b60606004805461062890612698565b80601f016020809104026020016040519081016040528092919081815260200182805461065490612698565b80156106a15780601f10610676576101008083540402835291602001916106a1565b820191906000526020600020905b81548152906001019060200180831161068457829003601f168201915b5050505050905090565b60006106bf6106b86112ba565b84846112c2565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600354905090565b600061070684848461148b565b6107c7846107126112ba565b6107c285604051806060016040528060288152602001612fea60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107786112ba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bcf9092919063ffffffff16565b6112c2565b600190509392505050565b60006012905090565b60008273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040161083a9291906126c9565b6020604051808303816000875af1158015610859573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087d9190612707565b905092915050565b600061092e6108926112ba565b8461092985600260006108a36112ba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461125c90919063ffffffff16565b6112c2565b6001905092915050565b6109406112ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c490612780565b60405180910390fd5b8060128190555050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601160009054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a616112ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae590612780565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b396112ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbd90612780565b60405180910390fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60125481565b60106020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610c7f90612698565b80601f0160208091040260200160405190810160405280929190818152602001828054610cab90612698565b8015610cf85780601f10610ccd57610100808354040283529160200191610cf8565b820191906000526020600020905b815481529060010190602001808311610cdb57829003601f168201915b5050505050905090565b6000610dc5610d0f6112ba565b84610dc0856040518060600160405280602581526020016130126025913960026000610d396112ba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bcf9092919063ffffffff16565b6112c2565b6001905092915050565b6000610de3610ddc6112ba565b848461148b565b6001905092915050565b610df56112ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7990612780565b60405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610ee56112ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6990612780565b60405180910390fd5b601160009054906101000a900460ff1615601160006101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61102d6112ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b190612780565b60405180910390fd5b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61111d6112ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a190612780565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611219576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121090612812565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080828461126b9190612861565b9050838110156112b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a7906128e1565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611331576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132890612973565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139790612a05565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161147e9190612494565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f190612a97565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611569576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156090612b29565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ce90612bbb565b60405180910390fd5b600081116115e457600080fd5b60006012541480156116205750600061161e600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610a10565b145b80156116795750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b1561168657426012819055505b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117275750600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561173c57611737838383611c33565b611bca565b61177a60c861176c600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610a10565b611d2c90919063ffffffff16565b61178330610a10565b111561190c57600960149054906101000a900460ff161580156117f457508273ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b801561184e57508173ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156118a75750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80156118bf5750601160009054906101000a900460ff165b1561190b5761190a61190560c86118f7600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610a10565b611d2c90919063ffffffff16565b611d76565b5b5b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119ad5750600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611bbe57601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ab657611a218330611a1c606485611d2c90919063ffffffff16565b611c33565b611a486063611a3a606484611d2c90919063ffffffff16565b611d8290919063ffffffff16565b905069021e19e0c9bab2400000611a7082611a6285610a10565b61125c90919063ffffffff16565b1115611ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa890612c27565b60405180910390fd5b611bbd565b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611b5457611b268330611b21606485611d2c90919063ffffffff16565b611c33565b611b4d6063611b3f606484611d2c90919063ffffffff16565b611d8290919063ffffffff16565b9050611bbc565b69021e19e0c9bab2400000611b7a82611b6c85610a10565b61125c90919063ffffffff16565b1115611bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb290612c27565b60405180910390fd5b5b5b5b611bc9838383611c33565b5b505050565b6000838311158290611c17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0e91906122da565b60405180910390fd5b5060008385611c269190612c47565b9050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ca2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9990612a97565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0890612b29565b60405180910390fd5b611d1c838383611dfc565b611d27838383611e01565b505050565b6000611d6e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611faf565b905092915050565b611d7f81612012565b50565b6000808303611d945760009050611df6565b60008284611da29190612c7b565b9050828482611db19190612cec565b14611df1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de890612d8f565b60405180910390fd5b809150505b92915050565b505050565b611e6d81604051806060016040528060268152602001612fc460269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bcf9092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f0281600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461125c90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fa29190612494565b60405180910390a3505050565b60008083118290611ff6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fed91906122da565b60405180910390fd5b50600083856120059190612cec565b9050809150509392505050565b6000600267ffffffffffffffff81111561202f5761202e612daf565b5b60405190808252806020026020018201604052801561205d5781602001602082028036833780820191505090505b509050308160008151811061207557612074612dde565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561211c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121409190612e22565b8160018151811061215457612153612dde565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401612214959493929190612f69565b600060405180830381600087803b15801561222e57600080fd5b505af1158015612242573d6000803e3d6000fd5b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612284578082015181840152602081019050612269565b60008484015250505050565b6000601f19601f8301169050919050565b60006122ac8261224a565b6122b68185612255565b93506122c6818560208601612266565b6122cf81612290565b840191505092915050565b600060208201905081810360008301526122f481846122a1565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061232c82612301565b9050919050565b61233c81612321565b811461234757600080fd5b50565b60008135905061235981612333565b92915050565b6000819050919050565b6123728161235f565b811461237d57600080fd5b50565b60008135905061238f81612369565b92915050565b600080604083850312156123ac576123ab6122fc565b5b60006123ba8582860161234a565b92505060206123cb85828601612380565b9150509250929050565b60008115159050919050565b6123ea816123d5565b82525050565b600060208201905061240560008301846123e1565b92915050565b6000819050919050565b600061243061242b61242684612301565b61240b565b612301565b9050919050565b600061244282612415565b9050919050565b600061245482612437565b9050919050565b61246481612449565b82525050565b600060208201905061247f600083018461245b565b92915050565b61248e8161235f565b82525050565b60006020820190506124a96000830184612485565b92915050565b6000806000606084860312156124c8576124c76122fc565b5b60006124d68682870161234a565b93505060206124e78682870161234a565b92505060406124f886828701612380565b9150509250925092565b600060ff82169050919050565b61251881612502565b82525050565b6000602082019050612533600083018461250f565b92915050565b60006020828403121561254f5761254e6122fc565b5b600061255d84828501612380565b91505092915050565b61256f81612321565b82525050565b600060208201905061258a6000830184612566565b92915050565b6000602082840312156125a6576125a56122fc565b5b60006125b48482850161234a565b91505092915050565b6125c6816123d5565b81146125d157600080fd5b50565b6000813590506125e3816125bd565b92915050565b60008060408385031215612600576125ff6122fc565b5b600061260e8582860161234a565b925050602061261f858286016125d4565b9150509250929050565b600080604083850312156126405761263f6122fc565b5b600061264e8582860161234a565b925050602061265f8582860161234a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806126b057607f821691505b6020821081036126c3576126c2612669565b5b50919050565b60006040820190506126de6000830185612566565b6126eb6020830184612485565b9392505050565b600081519050612701816125bd565b92915050565b60006020828403121561271d5761271c6122fc565b5b600061272b848285016126f2565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061276a602083612255565b915061277582612734565b602082019050919050565b600060208201905081810360008301526127998161275d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006127fc602683612255565b9150612807826127a0565b604082019050919050565b6000602082019050818103600083015261282b816127ef565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061286c8261235f565b91506128778361235f565b925082820190508082111561288f5761288e612832565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006128cb601b83612255565b91506128d682612895565b602082019050919050565b600060208201905081810360008301526128fa816128be565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061295d602483612255565b915061296882612901565b604082019050919050565b6000602082019050818103600083015261298c81612950565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006129ef602283612255565b91506129fa82612993565b604082019050919050565b60006020820190508181036000830152612a1e816129e2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612a81602583612255565b9150612a8c82612a25565b604082019050919050565b60006020820190508181036000830152612ab081612a74565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612b13602383612255565b9150612b1e82612ab7565b604082019050919050565b60006020820190508181036000830152612b4281612b06565b9050919050565b7f45524332303a207472616e7366657220746f207468652073616d65206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612ba5602383612255565b9150612bb082612b49565b604082019050919050565b60006020820190508181036000830152612bd481612b98565b9050919050565b7f6d61780000000000000000000000000000000000000000000000000000000000600082015250565b6000612c11600383612255565b9150612c1c82612bdb565b602082019050919050565b60006020820190508181036000830152612c4081612c04565b9050919050565b6000612c528261235f565b9150612c5d8361235f565b9250828203905081811115612c7557612c74612832565b5b92915050565b6000612c868261235f565b9150612c918361235f565b9250828202612c9f8161235f565b91508282048414831517612cb657612cb5612832565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612cf78261235f565b9150612d028361235f565b925082612d1257612d11612cbd565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d79602183612255565b9150612d8482612d1d565b604082019050919050565b60006020820190508181036000830152612da881612d6c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612e1c81612333565b92915050565b600060208284031215612e3857612e376122fc565b5b6000612e4684828501612e0d565b91505092915050565b6000819050919050565b6000612e74612e6f612e6a84612e4f565b61240b565b61235f565b9050919050565b612e8481612e59565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ebf81612321565b82525050565b6000612ed18383612eb6565b60208301905092915050565b6000602082019050919050565b6000612ef582612e8a565b612eff8185612e95565b9350612f0a83612ea6565b8060005b83811015612f3b578151612f228882612ec5565b9750612f2d83612edd565b925050600181019050612f0e565b5085935050505092915050565b6000612f5382612437565b9050919050565b612f6381612f48565b82525050565b600060a082019050612f7e6000830188612485565b612f8b6020830187612e7b565b8181036040830152612f9d8186612eea565b9050612fac6060830185612f5a565b612fb96080830184612485565b969550505050505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122011e50d53522c833200d034e3e9d647fbe95e5aaf7350f12fe693e55ba80acf5664736f6c634300081200334e6576657273656c6c47616d626c65626967537461797361667542757964697073000000000000000000000000b16c05d3dee2e5f547ba3d8b8cc969f411790e80

Deployed Bytecode

0x60806040526004361061016a5760003560e01c8063715018a6116100d1578063a457c2d71161008a578063dc38a03f11610064578063dc38a03f14610573578063dd62ed3e1461058a578063ec6e62ac146105c7578063f2fde38b146105f057610171565b8063a457c2d7146104d0578063a9059cbb1461050d578063c02466681461054a57610171565b8063715018a6146103d2578063744a1c22146103e957806378e97925146104125780638982503d1461043d5780638da5cb5b1461047a57806395d89b41146104a557610171565b806333f3d6281161012357806333f3d6281461029c57806339509351146102d95780633e0a322d1461031657806349bd5a5e1461033f5780634a74bb021461036a57806370a082311461039557610171565b806306fdde0314610176578063095ea7b3146101a15780631694505e146101de57806318160ddd1461020957806323b872dd14610234578063313ce5671461027157610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b610619565b60405161019891906122da565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612395565b6106ab565b6040516101d591906123f0565b60405180910390f35b3480156101ea57600080fd5b506101f36106c9565b604051610200919061246a565b60405180910390f35b34801561021557600080fd5b5061021e6106ef565b60405161022b9190612494565b60405180910390f35b34801561024057600080fd5b5061025b600480360381019061025691906124af565b6106f9565b60405161026891906123f0565b60405180910390f35b34801561027d57600080fd5b506102866107d2565b604051610293919061251e565b60405180910390f35b3480156102a857600080fd5b506102c360048036038101906102be9190612395565b6107db565b6040516102d091906123f0565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb9190612395565b610885565b60405161030d91906123f0565b60405180910390f35b34801561032257600080fd5b5061033d60048036038101906103389190612539565b610938565b005b34801561034b57600080fd5b506103546109d7565b6040516103619190612575565b60405180910390f35b34801561037657600080fd5b5061037f6109fd565b60405161038c91906123f0565b60405180910390f35b3480156103a157600080fd5b506103bc60048036038101906103b79190612590565b610a10565b6040516103c99190612494565b60405180910390f35b3480156103de57600080fd5b506103e7610a59565b005b3480156103f557600080fd5b50610410600480360381019061040b91906125e9565b610b31565b005b34801561041e57600080fd5b50610427610c21565b6040516104349190612494565b60405180910390f35b34801561044957600080fd5b50610464600480360381019061045f9190612590565b610c27565b60405161047191906123f0565b60405180910390f35b34801561048657600080fd5b5061048f610c47565b60405161049c9190612575565b60405180910390f35b3480156104b157600080fd5b506104ba610c70565b6040516104c791906122da565b60405180910390f35b3480156104dc57600080fd5b506104f760048036038101906104f29190612395565b610d02565b60405161050491906123f0565b60405180910390f35b34801561051957600080fd5b50610534600480360381019061052f9190612395565b610dcf565b60405161054191906123f0565b60405180910390f35b34801561055657600080fd5b50610571600480360381019061056c91906125e9565b610ded565b005b34801561057f57600080fd5b50610588610edd565b005b34801561059657600080fd5b506105b160048036038101906105ac9190612629565b610f9e565b6040516105be9190612494565b60405180910390f35b3480156105d357600080fd5b506105ee60048036038101906105e991906125e9565b611025565b005b3480156105fc57600080fd5b5061061760048036038101906106129190612590565b611115565b005b60606004805461062890612698565b80601f016020809104026020016040519081016040528092919081815260200182805461065490612698565b80156106a15780601f10610676576101008083540402835291602001916106a1565b820191906000526020600020905b81548152906001019060200180831161068457829003601f168201915b5050505050905090565b60006106bf6106b86112ba565b84846112c2565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600354905090565b600061070684848461148b565b6107c7846107126112ba565b6107c285604051806060016040528060288152602001612fea60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107786112ba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bcf9092919063ffffffff16565b6112c2565b600190509392505050565b60006012905090565b60008273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040161083a9291906126c9565b6020604051808303816000875af1158015610859573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087d9190612707565b905092915050565b600061092e6108926112ba565b8461092985600260006108a36112ba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461125c90919063ffffffff16565b6112c2565b6001905092915050565b6109406112ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c490612780565b60405180910390fd5b8060128190555050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601160009054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a616112ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae590612780565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b396112ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbd90612780565b60405180910390fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60125481565b60106020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610c7f90612698565b80601f0160208091040260200160405190810160405280929190818152602001828054610cab90612698565b8015610cf85780601f10610ccd57610100808354040283529160200191610cf8565b820191906000526020600020905b815481529060010190602001808311610cdb57829003601f168201915b5050505050905090565b6000610dc5610d0f6112ba565b84610dc0856040518060600160405280602581526020016130126025913960026000610d396112ba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bcf9092919063ffffffff16565b6112c2565b6001905092915050565b6000610de3610ddc6112ba565b848461148b565b6001905092915050565b610df56112ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7990612780565b60405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610ee56112ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6990612780565b60405180910390fd5b601160009054906101000a900460ff1615601160006101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61102d6112ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b190612780565b60405180910390fd5b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61111d6112ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a190612780565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611219576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121090612812565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080828461126b9190612861565b9050838110156112b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a7906128e1565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611331576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132890612973565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139790612a05565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161147e9190612494565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f190612a97565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611569576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156090612b29565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ce90612bbb565b60405180910390fd5b600081116115e457600080fd5b60006012541480156116205750600061161e600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610a10565b145b80156116795750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b1561168657426012819055505b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117275750600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561173c57611737838383611c33565b611bca565b61177a60c861176c600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610a10565b611d2c90919063ffffffff16565b61178330610a10565b111561190c57600960149054906101000a900460ff161580156117f457508273ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b801561184e57508173ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156118a75750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80156118bf5750601160009054906101000a900460ff165b1561190b5761190a61190560c86118f7600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610a10565b611d2c90919063ffffffff16565b611d76565b5b5b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119ad5750600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611bbe57601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ab657611a218330611a1c606485611d2c90919063ffffffff16565b611c33565b611a486063611a3a606484611d2c90919063ffffffff16565b611d8290919063ffffffff16565b905069021e19e0c9bab2400000611a7082611a6285610a10565b61125c90919063ffffffff16565b1115611ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa890612c27565b60405180910390fd5b611bbd565b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611b5457611b268330611b21606485611d2c90919063ffffffff16565b611c33565b611b4d6063611b3f606484611d2c90919063ffffffff16565b611d8290919063ffffffff16565b9050611bbc565b69021e19e0c9bab2400000611b7a82611b6c85610a10565b61125c90919063ffffffff16565b1115611bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb290612c27565b60405180910390fd5b5b5b5b611bc9838383611c33565b5b505050565b6000838311158290611c17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0e91906122da565b60405180910390fd5b5060008385611c269190612c47565b9050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ca2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9990612a97565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0890612b29565b60405180910390fd5b611d1c838383611dfc565b611d27838383611e01565b505050565b6000611d6e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611faf565b905092915050565b611d7f81612012565b50565b6000808303611d945760009050611df6565b60008284611da29190612c7b565b9050828482611db19190612cec565b14611df1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de890612d8f565b60405180910390fd5b809150505b92915050565b505050565b611e6d81604051806060016040528060268152602001612fc460269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bcf9092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f0281600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461125c90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fa29190612494565b60405180910390a3505050565b60008083118290611ff6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fed91906122da565b60405180910390fd5b50600083856120059190612cec565b9050809150509392505050565b6000600267ffffffffffffffff81111561202f5761202e612daf565b5b60405190808252806020026020018201604052801561205d5781602001602082028036833780820191505090505b509050308160008151811061207557612074612dde565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561211c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121409190612e22565b8160018151811061215457612153612dde565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401612214959493929190612f69565b600060405180830381600087803b15801561222e57600080fd5b505af1158015612242573d6000803e3d6000fd5b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612284578082015181840152602081019050612269565b60008484015250505050565b6000601f19601f8301169050919050565b60006122ac8261224a565b6122b68185612255565b93506122c6818560208601612266565b6122cf81612290565b840191505092915050565b600060208201905081810360008301526122f481846122a1565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061232c82612301565b9050919050565b61233c81612321565b811461234757600080fd5b50565b60008135905061235981612333565b92915050565b6000819050919050565b6123728161235f565b811461237d57600080fd5b50565b60008135905061238f81612369565b92915050565b600080604083850312156123ac576123ab6122fc565b5b60006123ba8582860161234a565b92505060206123cb85828601612380565b9150509250929050565b60008115159050919050565b6123ea816123d5565b82525050565b600060208201905061240560008301846123e1565b92915050565b6000819050919050565b600061243061242b61242684612301565b61240b565b612301565b9050919050565b600061244282612415565b9050919050565b600061245482612437565b9050919050565b61246481612449565b82525050565b600060208201905061247f600083018461245b565b92915050565b61248e8161235f565b82525050565b60006020820190506124a96000830184612485565b92915050565b6000806000606084860312156124c8576124c76122fc565b5b60006124d68682870161234a565b93505060206124e78682870161234a565b92505060406124f886828701612380565b9150509250925092565b600060ff82169050919050565b61251881612502565b82525050565b6000602082019050612533600083018461250f565b92915050565b60006020828403121561254f5761254e6122fc565b5b600061255d84828501612380565b91505092915050565b61256f81612321565b82525050565b600060208201905061258a6000830184612566565b92915050565b6000602082840312156125a6576125a56122fc565b5b60006125b48482850161234a565b91505092915050565b6125c6816123d5565b81146125d157600080fd5b50565b6000813590506125e3816125bd565b92915050565b60008060408385031215612600576125ff6122fc565b5b600061260e8582860161234a565b925050602061261f858286016125d4565b9150509250929050565b600080604083850312156126405761263f6122fc565b5b600061264e8582860161234a565b925050602061265f8582860161234a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806126b057607f821691505b6020821081036126c3576126c2612669565b5b50919050565b60006040820190506126de6000830185612566565b6126eb6020830184612485565b9392505050565b600081519050612701816125bd565b92915050565b60006020828403121561271d5761271c6122fc565b5b600061272b848285016126f2565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061276a602083612255565b915061277582612734565b602082019050919050565b600060208201905081810360008301526127998161275d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006127fc602683612255565b9150612807826127a0565b604082019050919050565b6000602082019050818103600083015261282b816127ef565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061286c8261235f565b91506128778361235f565b925082820190508082111561288f5761288e612832565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006128cb601b83612255565b91506128d682612895565b602082019050919050565b600060208201905081810360008301526128fa816128be565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061295d602483612255565b915061296882612901565b604082019050919050565b6000602082019050818103600083015261298c81612950565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006129ef602283612255565b91506129fa82612993565b604082019050919050565b60006020820190508181036000830152612a1e816129e2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612a81602583612255565b9150612a8c82612a25565b604082019050919050565b60006020820190508181036000830152612ab081612a74565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612b13602383612255565b9150612b1e82612ab7565b604082019050919050565b60006020820190508181036000830152612b4281612b06565b9050919050565b7f45524332303a207472616e7366657220746f207468652073616d65206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612ba5602383612255565b9150612bb082612b49565b604082019050919050565b60006020820190508181036000830152612bd481612b98565b9050919050565b7f6d61780000000000000000000000000000000000000000000000000000000000600082015250565b6000612c11600383612255565b9150612c1c82612bdb565b602082019050919050565b60006020820190508181036000830152612c4081612c04565b9050919050565b6000612c528261235f565b9150612c5d8361235f565b9250828203905081811115612c7557612c74612832565b5b92915050565b6000612c868261235f565b9150612c918361235f565b9250828202612c9f8161235f565b91508282048414831517612cb657612cb5612832565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612cf78261235f565b9150612d028361235f565b925082612d1257612d11612cbd565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d79602183612255565b9150612d8482612d1d565b604082019050919050565b60006020820190508181036000830152612da881612d6c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612e1c81612333565b92915050565b600060208284031215612e3857612e376122fc565b5b6000612e4684828501612e0d565b91505092915050565b6000819050919050565b6000612e74612e6f612e6a84612e4f565b61240b565b61235f565b9050919050565b612e8481612e59565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ebf81612321565b82525050565b6000612ed18383612eb6565b60208301905092915050565b6000602082019050919050565b6000612ef582612e8a565b612eff8185612e95565b9350612f0a83612ea6565b8060005b83811015612f3b578151612f228882612ec5565b9750612f2d83612edd565b925050600181019050612f0e565b5085935050505092915050565b6000612f5382612437565b9050919050565b612f6381612f48565b82525050565b600060a082019050612f7e6000830188612485565b612f8b6020830187612e7b565b8181036040830152612f9d8186612eea565b9050612fac6060830185612f5a565b612fb96080830184612485565b969550505050505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122011e50d53522c833200d034e3e9d647fbe95e5aaf7350f12fe693e55ba80acf5664736f6c63430008120033

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

000000000000000000000000b16c05d3dee2e5f547ba3d8b8cc969f411790e80

-----Decoded View---------------
Arg [0] : tokenOwner (address): 0xb16c05D3dEe2e5f547BA3d8B8cc969F411790e80

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


Deployed Bytecode Sourcemap

25906:4761:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8167:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10419:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25971:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9287:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11095:454;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9129:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;30018:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11958:288;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27772:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;26177:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26560:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9458:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6869:92;;;;;;;;;;;;;:::i;:::-;;27880:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;26607:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26513:40;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6227:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8386:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12749:388;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9828:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27632:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;28158:118;;;;;;;;;;;;;:::i;:::-;;10091:181;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28006:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7116:227;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8167:100;8221:13;8254:5;8247:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8167:100;:::o;10419:194::-;10522:4;10544:39;10553:12;:10;:12::i;:::-;10567:7;10576:6;10544:8;:39::i;:::-;10601:4;10594:11;;10419:194;;;;:::o;25971:41::-;;;;;;;;;;;;;:::o;9287:108::-;9348:7;9375:12;;9368:19;;9287:108;:::o;11095:454::-;11235:4;11252:36;11262:6;11270:9;11281:6;11252:9;:36::i;:::-;11299:220;11322:6;11343:12;:10;:12::i;:::-;11370:138;11426:6;11370:138;;;;;;;;;;;;;;;;;:11;:19;11382:6;11370:19;;;;;;;;;;;;;;;:33;11390:12;:10;:12::i;:::-;11370:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;11299:8;:220::i;:::-;11537:4;11530:11;;11095:454;;;;;:::o;9129:93::-;9187:5;9212:2;9205:9;;9129:93;:::o;30018:155::-;30093:4;30118:12;30111:29;;;30141:15;;;;;;;;;;;30158:6;30111:54;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30104:61;;30018:155;;;;:::o;11958:288::-;12061:4;12083:133;12106:12;:10;:12::i;:::-;12133:7;12155:50;12194:10;12155:11;:25;12167:12;:10;:12::i;:::-;12155:25;;;;;;;;;;;;;;;:34;12181:7;12155:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;12083:8;:133::i;:::-;12234:4;12227:11;;11958:288;;;;:::o;27772:100::-;6449:12;:10;:12::i;:::-;6439:22;;:6;;;;;;;;;;:22;;;6431:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;27854:10:::1;27842:9;:22;;;;27772:100:::0;:::o;26177:29::-;;;;;;;;;;;;;:::o;26560:40::-;;;;;;;;;;;;;:::o;9458:157::-;9557:7;9589:9;:18;9599:7;9589:18;;;;;;;;;;;;;;;;9582:25;;9458:157;;;:::o;6869:92::-;6449:12;:10;:12::i;:::-;6439:22;;:6;;;;;;;;;;:22;;;6431:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6951:1:::1;6934:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;6869:92::o:0;27880:120::-;6449:12;:10;:12::i;:::-;6439:22;;:6;;;;;;;;;;:22;;;6431:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;27987:5:::1;27963:8;:21;27972:11;27963:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;27880:120:::0;;:::o;26607:24::-;;;;:::o;26513:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;6227:79::-;6265:7;6292:6;;;;;;;;;;;6285:13;;6227:79;:::o;8386:104::-;8442:13;8475:7;8468:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8386:104;:::o;12749:388::-;12857:4;12879:228;12902:12;:10;:12::i;:::-;12929:7;12951:145;13008:15;12951:145;;;;;;;;;;;;;;;;;:11;:25;12963:12;:10;:12::i;:::-;12951:25;;;;;;;;;;;;;;;:34;12977:7;12951:34;;;;;;;;;;;;;;;;:38;;:145;;;;;:::i;:::-;12879:8;:228::i;:::-;13125:4;13118:11;;12749:388;;;;:::o;9828:200::-;9934:4;9956:42;9966:12;:10;:12::i;:::-;9980:9;9991:6;9956:9;:42::i;:::-;10016:4;10009:11;;9828:200;;;;:::o;27632:132::-;6449:12;:10;:12::i;:::-;6439:22;;:6;;;;;;;;;;:22;;;6431:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;27748:8:::1;27717:19;:28;27737:7;27717:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;27632:132:::0;;:::o;28158:118::-;6449:12;:10;:12::i;:::-;6439:22;;:6;;;;;;;;;;:22;;;6431:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;28247:21:::1;;;;;;;;;;;28246:22;28222:21;;:46;;;;;;;;;;;;;;;;;;28158:118::o:0;10091:181::-;10205:7;10237:11;:18;10249:5;10237:18;;;;;;;;;;;;;;;:27;10256:7;10237:27;;;;;;;;;;;;;;;;10230:34;;10091:181;;;;:::o;28006:144::-;6449:12;:10;:12::i;:::-;6439:22;;:6;;;;;;;;;;:22;;;6431:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;28137:5:::1;28099:22;:35;28122:11;28099:35;;;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;28006:144:::0;;:::o;7116:227::-;6449:12;:10;:12::i;:::-;6439:22;;:6;;;;;;;;;;:22;;;6431:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7239:1:::1;7219:22;;:8;:22;;::::0;7197:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;7327:8;7318:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;7116:227:::0;:::o;17745:181::-;17803:7;17823:9;17839:1;17835;:5;;;;:::i;:::-;17823:17;;17864:1;17859;:6;;17851:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;17917:1;17910:8;;;17745:181;;;;:::o;93:98::-;146:7;173:10;166:17;;93:98;:::o;16332:380::-;16485:1;16468:19;;:5;:19;;;16460:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16566:1;16547:21;;:7;:21;;;16539:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16650:6;16620:11;:18;16632:5;16620:18;;;;;;;;;;;;;;;:27;16639:7;16620:27;;;;;;;;;;;;;;;:36;;;;16688:7;16672:32;;16681:5;16672:32;;;16697:6;16672:32;;;;;;:::i;:::-;;;;;;;;16332:380;;;:::o;28288:1617::-;28436:1;28420:18;;:4;:18;;;28412:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;28513:1;28499:16;;:2;:16;;;28491:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;28574:4;28568:10;;:2;:10;;;28560:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;28638:1;28631:6;:8;28623:17;;;;;;28669:1;28656:9;;:14;:53;;;;;28708:1;28674:30;28690:13;;;;;;;;;;;28674:15;:30::i;:::-;:35;28656:53;:76;;;;;28719:13;;;;;;;;;;;28713:19;;:2;:19;;;28656:76;28653:134;;;28760:15;28748:9;:27;;;;28653:134;28796:22;:28;28819:4;28796:28;;;;;;;;;;;;;;;;;;;;;;;;;:58;;;;28828:22;:26;28851:2;28828:26;;;;;;;;;;;;;;;;;;;;;;;;;28796:58;28793:143;;;28870:33;28886:4;28892:2;28896:6;28870:15;:33::i;:::-;28918:7;;28793:143;28986:39;29021:3;28986:30;29002:13;;;;;;;;;;;28986:15;:30::i;:::-;:34;;:39;;;;:::i;:::-;28953:30;28977:4;28953:15;:30::i;:::-;:72;28950:318;;;29043:8;;;;;;;;;;;29042:9;:49;;;;;29087:4;29072:19;;:11;;;;;;;;;;;:19;;;;29042:49;:87;;;;;29127:2;29112:17;;:11;;;;;;;;;;;:17;;;;29042:87;:115;;;;;29144:13;;;;;;;;;;;29138:19;;:2;:19;;;29042:115;:145;;;;;29166:21;;;;;;;;;;;29042:145;29032:231;;;29201:55;29216:39;29251:3;29216:30;29232:13;;;;;;;;;;;29216:15;:30::i;:::-;:34;;:39;;;;:::i;:::-;29201:14;:55::i;:::-;29032:231;28950:318;29296:19;:25;29316:4;29296:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;29325:19;:23;29345:2;29325:23;;;;;;;;;;;;;;;;;;;;;;;;;29296:52;29292:562;;29389:8;:14;29398:4;29389:14;;;;;;;;;;;;;;;;;;;;;;;;;29386:457;;;29423:53;29439:4;29453;29460:15;29471:3;29460:6;:10;;:15;;;;:::i;:::-;29423;:53::i;:::-;29504:23;29524:2;29504:15;29515:3;29504:6;:10;;:15;;;;:::i;:::-;:19;;:23;;;;:::i;:::-;29495:32;;29589:6;29554:31;29578:6;29554:19;29570:2;29554:15;:19::i;:::-;:23;;:31;;;;:::i;:::-;:41;;29546:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;29386:457;;;29617:8;:12;29626:2;29617:12;;;;;;;;;;;;;;;;;;;;;;;;;29614:229;;;29637:53;29653:4;29667;29674:15;29685:3;29674:6;:10;;:15;;;;:::i;:::-;29637;:53::i;:::-;29718:23;29738:2;29718:15;29729:3;29718:6;:10;;:15;;;;:::i;:::-;:19;;:23;;;;:::i;:::-;29709:32;;29614:229;;;29814:6;29779:31;29803:6;29779:19;29795:2;29779:15;:19::i;:::-;:23;;:31;;;;:::i;:::-;:41;;29771:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;29614:229;29386:457;29292:562;29864:33;29880:4;29886:2;29890:6;29864:15;:33::i;:::-;28288:1617;;;;:::o;18648:226::-;18768:7;18801:1;18796;:6;;18804:12;18788:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;18828:9;18844:1;18840;:5;;;;:::i;:::-;18828:17;;18865:1;18858:8;;;18648:226;;;;;:::o;13627:400::-;13785:1;13767:20;;:6;:20;;;13759:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13869:1;13848:23;;:9;:23;;;13840:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13924:47;13945:6;13953:9;13964:6;13924:20;:47::i;:::-;13980:39;13995:6;14002:9;14012:6;13980:14;:39::i;:::-;13627:400;;;:::o;20080:132::-;20138:7;20165:39;20169:1;20172;20165:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;20158:46;;20080:132;;;;:::o;29917:93::-;29974:28;29991:10;29974:16;:28::i;:::-;29917:93;:::o;19133:471::-;19191:7;19441:1;19436;:6;19432:47;;19466:1;19459:8;;;;19432:47;19491:9;19507:1;19503;:5;;;;:::i;:::-;19491:17;;19536:1;19531;19527;:5;;;;:::i;:::-;:10;19519:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;19595:1;19588:8;;;19133:471;;;;;:::o;17345:128::-;;;;:::o;14039:390::-;14196:108;14232:6;14196:108;;;;;;;;;;;;;;;;;:9;:17;14206:6;14196:17;;;;;;;;;;;;;;;;:21;;:108;;;;;:::i;:::-;14176:9;:17;14186:6;14176:17;;;;;;;;;;;;;;;:128;;;;14338:32;14363:6;14338:9;:20;14348:9;14338:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;14315:9;:20;14325:9;14315:20;;;;;;;;;;;;;;;:55;;;;14403:9;14386:35;;14395:6;14386:35;;;14414:6;14386:35;;;;;;:::i;:::-;;;;;;;;14039:390;;;:::o;20708:312::-;20828:7;20860:1;20856;:5;20863:12;20848:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;20887:9;20903:1;20899;:5;;;;:::i;:::-;20887:17;;21011:1;21004:8;;;20708:312;;;;;:::o;30179:485::-;30305:21;30343:1;30329:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30305:40;;30374:4;30356;30361:1;30356:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;30400:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30390:4;30395:1;30390:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;30433:15;;;;;;;;;;;:66;;;30514:11;30540:1;30584:4;30603:12;;;;;;;;;;;30630:15;30433:223;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30234:430;30179:485;:::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:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:153::-;3869:9;3902:37;3933:5;3902:37;:::i;:::-;3889:50;;3792:153;;;:::o;3951:185::-;4065:64;4123:5;4065:64;:::i;:::-;4060:3;4053:77;3951:185;;:::o;4142:276::-;4262:4;4300:2;4289:9;4285:18;4277:26;;4313:98;4408:1;4397:9;4393:17;4384:6;4313:98;:::i;:::-;4142:276;;;;:::o;4424:118::-;4511:24;4529:5;4511:24;:::i;:::-;4506:3;4499:37;4424:118;;:::o;4548:222::-;4641:4;4679:2;4668:9;4664:18;4656:26;;4692:71;4760:1;4749:9;4745:17;4736:6;4692:71;:::i;:::-;4548:222;;;;:::o;4776:619::-;4853:6;4861;4869;4918:2;4906:9;4897:7;4893:23;4889:32;4886:119;;;4924:79;;:::i;:::-;4886:119;5044:1;5069:53;5114:7;5105:6;5094:9;5090:22;5069:53;:::i;:::-;5059:63;;5015:117;5171:2;5197:53;5242:7;5233:6;5222:9;5218:22;5197:53;:::i;:::-;5187:63;;5142:118;5299:2;5325:53;5370:7;5361:6;5350:9;5346:22;5325:53;:::i;:::-;5315:63;;5270:118;4776:619;;;;;:::o;5401:86::-;5436:7;5476:4;5469:5;5465:16;5454:27;;5401:86;;;:::o;5493:112::-;5576:22;5592:5;5576:22;:::i;:::-;5571:3;5564:35;5493:112;;:::o;5611:214::-;5700:4;5738:2;5727:9;5723:18;5715:26;;5751:67;5815:1;5804:9;5800:17;5791:6;5751:67;:::i;:::-;5611:214;;;;:::o;5831:329::-;5890:6;5939:2;5927:9;5918:7;5914:23;5910:32;5907:119;;;5945:79;;:::i;:::-;5907:119;6065:1;6090:53;6135:7;6126:6;6115:9;6111:22;6090:53;:::i;:::-;6080:63;;6036:117;5831:329;;;;:::o;6166:118::-;6253:24;6271:5;6253:24;:::i;:::-;6248:3;6241:37;6166:118;;:::o;6290:222::-;6383:4;6421:2;6410:9;6406:18;6398:26;;6434:71;6502:1;6491:9;6487:17;6478:6;6434:71;:::i;:::-;6290:222;;;;:::o;6518:329::-;6577:6;6626:2;6614:9;6605:7;6601:23;6597:32;6594:119;;;6632:79;;:::i;:::-;6594:119;6752:1;6777:53;6822:7;6813:6;6802:9;6798:22;6777:53;:::i;:::-;6767:63;;6723:117;6518:329;;;;:::o;6853:116::-;6923:21;6938:5;6923:21;:::i;:::-;6916:5;6913:32;6903:60;;6959:1;6956;6949:12;6903:60;6853:116;:::o;6975:133::-;7018:5;7056:6;7043:20;7034:29;;7072:30;7096:5;7072:30;:::i;:::-;6975:133;;;;:::o;7114:468::-;7179:6;7187;7236:2;7224:9;7215:7;7211:23;7207:32;7204:119;;;7242:79;;:::i;:::-;7204:119;7362:1;7387:53;7432:7;7423:6;7412:9;7408:22;7387:53;:::i;:::-;7377:63;;7333:117;7489:2;7515:50;7557:7;7548:6;7537:9;7533:22;7515:50;:::i;:::-;7505:60;;7460:115;7114:468;;;;;:::o;7588:474::-;7656:6;7664;7713:2;7701:9;7692:7;7688:23;7684:32;7681:119;;;7719:79;;:::i;:::-;7681:119;7839:1;7864:53;7909:7;7900:6;7889:9;7885:22;7864:53;:::i;:::-;7854:63;;7810:117;7966:2;7992:53;8037:7;8028:6;8017:9;8013:22;7992:53;:::i;:::-;7982:63;;7937:118;7588:474;;;;;:::o;8068:180::-;8116:77;8113:1;8106:88;8213:4;8210:1;8203:15;8237:4;8234:1;8227:15;8254:320;8298:6;8335:1;8329:4;8325:12;8315:22;;8382:1;8376:4;8372:12;8403:18;8393:81;;8459:4;8451:6;8447:17;8437:27;;8393:81;8521:2;8513:6;8510:14;8490:18;8487:38;8484:84;;8540:18;;:::i;:::-;8484:84;8305:269;8254:320;;;:::o;8580:332::-;8701:4;8739:2;8728:9;8724:18;8716:26;;8752:71;8820:1;8809:9;8805:17;8796:6;8752:71;:::i;:::-;8833:72;8901:2;8890:9;8886:18;8877:6;8833:72;:::i;:::-;8580:332;;;;;:::o;8918:137::-;8972:5;9003:6;8997:13;8988:22;;9019:30;9043:5;9019:30;:::i;:::-;8918:137;;;;:::o;9061:345::-;9128:6;9177:2;9165:9;9156:7;9152:23;9148:32;9145:119;;;9183:79;;:::i;:::-;9145:119;9303:1;9328:61;9381:7;9372:6;9361:9;9357:22;9328:61;:::i;:::-;9318:71;;9274:125;9061:345;;;;:::o;9412:182::-;9552:34;9548:1;9540:6;9536:14;9529:58;9412:182;:::o;9600:366::-;9742:3;9763:67;9827:2;9822:3;9763:67;:::i;:::-;9756:74;;9839:93;9928:3;9839:93;:::i;:::-;9957:2;9952:3;9948:12;9941:19;;9600:366;;;:::o;9972:419::-;10138:4;10176:2;10165:9;10161:18;10153:26;;10225:9;10219:4;10215:20;10211:1;10200:9;10196:17;10189:47;10253:131;10379:4;10253:131;:::i;:::-;10245:139;;9972:419;;;:::o;10397:225::-;10537:34;10533:1;10525:6;10521:14;10514:58;10606:8;10601:2;10593:6;10589:15;10582:33;10397:225;:::o;10628:366::-;10770:3;10791:67;10855:2;10850:3;10791:67;:::i;:::-;10784:74;;10867:93;10956:3;10867:93;:::i;:::-;10985:2;10980:3;10976:12;10969:19;;10628:366;;;:::o;11000:419::-;11166:4;11204:2;11193:9;11189:18;11181:26;;11253:9;11247:4;11243:20;11239:1;11228:9;11224:17;11217:47;11281:131;11407:4;11281:131;:::i;:::-;11273:139;;11000:419;;;:::o;11425:180::-;11473:77;11470:1;11463:88;11570:4;11567:1;11560:15;11594:4;11591:1;11584:15;11611:191;11651:3;11670:20;11688:1;11670:20;:::i;:::-;11665:25;;11704:20;11722:1;11704:20;:::i;:::-;11699:25;;11747:1;11744;11740:9;11733:16;;11768:3;11765:1;11762:10;11759:36;;;11775:18;;:::i;:::-;11759:36;11611:191;;;;:::o;11808:177::-;11948:29;11944:1;11936:6;11932:14;11925:53;11808:177;:::o;11991:366::-;12133:3;12154:67;12218:2;12213:3;12154:67;:::i;:::-;12147:74;;12230:93;12319:3;12230:93;:::i;:::-;12348:2;12343:3;12339:12;12332:19;;11991:366;;;:::o;12363:419::-;12529:4;12567:2;12556:9;12552:18;12544:26;;12616:9;12610:4;12606:20;12602:1;12591:9;12587:17;12580:47;12644:131;12770:4;12644:131;:::i;:::-;12636:139;;12363:419;;;:::o;12788:223::-;12928:34;12924:1;12916:6;12912:14;12905:58;12997:6;12992:2;12984:6;12980:15;12973:31;12788:223;:::o;13017:366::-;13159:3;13180:67;13244:2;13239:3;13180:67;:::i;:::-;13173:74;;13256:93;13345:3;13256:93;:::i;:::-;13374:2;13369:3;13365:12;13358:19;;13017:366;;;:::o;13389:419::-;13555:4;13593:2;13582:9;13578:18;13570:26;;13642:9;13636:4;13632:20;13628:1;13617:9;13613:17;13606:47;13670:131;13796:4;13670:131;:::i;:::-;13662:139;;13389:419;;;:::o;13814:221::-;13954:34;13950:1;13942:6;13938:14;13931:58;14023:4;14018:2;14010:6;14006:15;13999:29;13814:221;:::o;14041:366::-;14183:3;14204:67;14268:2;14263:3;14204:67;:::i;:::-;14197:74;;14280:93;14369:3;14280:93;:::i;:::-;14398:2;14393:3;14389:12;14382:19;;14041:366;;;:::o;14413:419::-;14579:4;14617:2;14606:9;14602:18;14594:26;;14666:9;14660:4;14656:20;14652:1;14641:9;14637:17;14630:47;14694:131;14820:4;14694:131;:::i;:::-;14686:139;;14413:419;;;:::o;14838:224::-;14978:34;14974:1;14966:6;14962:14;14955:58;15047:7;15042:2;15034:6;15030:15;15023:32;14838:224;:::o;15068:366::-;15210:3;15231:67;15295:2;15290:3;15231:67;:::i;:::-;15224:74;;15307:93;15396:3;15307:93;:::i;:::-;15425:2;15420:3;15416:12;15409:19;;15068:366;;;:::o;15440:419::-;15606:4;15644:2;15633:9;15629:18;15621:26;;15693:9;15687:4;15683:20;15679:1;15668:9;15664:17;15657:47;15721:131;15847:4;15721:131;:::i;:::-;15713:139;;15440:419;;;:::o;15865:222::-;16005:34;16001:1;15993:6;15989:14;15982:58;16074:5;16069:2;16061:6;16057:15;16050:30;15865:222;:::o;16093:366::-;16235:3;16256:67;16320:2;16315:3;16256:67;:::i;:::-;16249:74;;16332:93;16421:3;16332:93;:::i;:::-;16450:2;16445:3;16441:12;16434:19;;16093:366;;;:::o;16465:419::-;16631:4;16669:2;16658:9;16654:18;16646:26;;16718:9;16712:4;16708:20;16704:1;16693:9;16689:17;16682:47;16746:131;16872:4;16746:131;:::i;:::-;16738:139;;16465:419;;;:::o;16890:222::-;17030:34;17026:1;17018:6;17014:14;17007:58;17099:5;17094:2;17086:6;17082:15;17075:30;16890:222;:::o;17118:366::-;17260:3;17281:67;17345:2;17340:3;17281:67;:::i;:::-;17274:74;;17357:93;17446:3;17357:93;:::i;:::-;17475:2;17470:3;17466:12;17459:19;;17118:366;;;:::o;17490:419::-;17656:4;17694:2;17683:9;17679:18;17671:26;;17743:9;17737:4;17733:20;17729:1;17718:9;17714:17;17707:47;17771:131;17897:4;17771:131;:::i;:::-;17763:139;;17490:419;;;:::o;17915:153::-;18055:5;18051:1;18043:6;18039:14;18032:29;17915:153;:::o;18074:365::-;18216:3;18237:66;18301:1;18296:3;18237:66;:::i;:::-;18230:73;;18312:93;18401:3;18312:93;:::i;:::-;18430:2;18425:3;18421:12;18414:19;;18074:365;;;:::o;18445:419::-;18611:4;18649:2;18638:9;18634:18;18626:26;;18698:9;18692:4;18688:20;18684:1;18673:9;18669:17;18662:47;18726:131;18852:4;18726:131;:::i;:::-;18718:139;;18445:419;;;:::o;18870:194::-;18910:4;18930:20;18948:1;18930:20;:::i;:::-;18925:25;;18964:20;18982:1;18964:20;:::i;:::-;18959:25;;19008:1;19005;19001:9;18993:17;;19032:1;19026:4;19023:11;19020:37;;;19037:18;;:::i;:::-;19020:37;18870:194;;;;:::o;19070:410::-;19110:7;19133:20;19151:1;19133:20;:::i;:::-;19128:25;;19167:20;19185:1;19167:20;:::i;:::-;19162:25;;19222:1;19219;19215:9;19244:30;19262:11;19244:30;:::i;:::-;19233:41;;19423:1;19414:7;19410:15;19407:1;19404:22;19384:1;19377:9;19357:83;19334:139;;19453:18;;:::i;:::-;19334:139;19118:362;19070:410;;;;:::o;19486:180::-;19534:77;19531:1;19524:88;19631:4;19628:1;19621:15;19655:4;19652:1;19645:15;19672:185;19712:1;19729:20;19747:1;19729:20;:::i;:::-;19724:25;;19763:20;19781:1;19763:20;:::i;:::-;19758:25;;19802:1;19792:35;;19807:18;;:::i;:::-;19792:35;19849:1;19846;19842:9;19837:14;;19672:185;;;;:::o;19863:220::-;20003:34;19999:1;19991:6;19987:14;19980:58;20072:3;20067:2;20059:6;20055:15;20048:28;19863:220;:::o;20089:366::-;20231:3;20252:67;20316:2;20311:3;20252:67;:::i;:::-;20245:74;;20328:93;20417:3;20328:93;:::i;:::-;20446:2;20441:3;20437:12;20430:19;;20089:366;;;:::o;20461:419::-;20627:4;20665:2;20654:9;20650:18;20642:26;;20714:9;20708:4;20704:20;20700:1;20689:9;20685:17;20678:47;20742:131;20868:4;20742:131;:::i;:::-;20734:139;;20461:419;;;:::o;20886:180::-;20934:77;20931:1;20924:88;21031:4;21028:1;21021:15;21055:4;21052:1;21045:15;21072:180;21120:77;21117:1;21110:88;21217:4;21214:1;21207:15;21241:4;21238:1;21231:15;21258:143;21315:5;21346:6;21340:13;21331:22;;21362:33;21389:5;21362:33;:::i;:::-;21258:143;;;;:::o;21407:351::-;21477:6;21526:2;21514:9;21505:7;21501:23;21497:32;21494:119;;;21532:79;;:::i;:::-;21494:119;21652:1;21677:64;21733:7;21724:6;21713:9;21709:22;21677:64;:::i;:::-;21667:74;;21623:128;21407:351;;;;:::o;21764:85::-;21809:7;21838:5;21827:16;;21764:85;;;:::o;21855:158::-;21913:9;21946:61;21964:42;21973:32;21999:5;21973:32;:::i;:::-;21964:42;:::i;:::-;21946:61;:::i;:::-;21933:74;;21855:158;;;:::o;22019:147::-;22114:45;22153:5;22114:45;:::i;:::-;22109:3;22102:58;22019:147;;:::o;22172:114::-;22239:6;22273:5;22267:12;22257:22;;22172:114;;;:::o;22292:184::-;22391:11;22425:6;22420:3;22413:19;22465:4;22460:3;22456:14;22441:29;;22292:184;;;;:::o;22482:132::-;22549:4;22572:3;22564:11;;22602:4;22597:3;22593:14;22585:22;;22482:132;;;:::o;22620:108::-;22697:24;22715:5;22697:24;:::i;:::-;22692:3;22685:37;22620:108;;:::o;22734:179::-;22803:10;22824:46;22866:3;22858:6;22824:46;:::i;:::-;22902:4;22897:3;22893:14;22879:28;;22734:179;;;;:::o;22919:113::-;22989:4;23021;23016:3;23012:14;23004:22;;22919:113;;;:::o;23068:732::-;23187:3;23216:54;23264:5;23216:54;:::i;:::-;23286:86;23365:6;23360:3;23286:86;:::i;:::-;23279:93;;23396:56;23446:5;23396:56;:::i;:::-;23475:7;23506:1;23491:284;23516:6;23513:1;23510:13;23491:284;;;23592:6;23586:13;23619:63;23678:3;23663:13;23619:63;:::i;:::-;23612:70;;23705:60;23758:6;23705:60;:::i;:::-;23695:70;;23551:224;23538:1;23535;23531:9;23526:14;;23491:284;;;23495:14;23791:3;23784:10;;23192:608;;;23068:732;;;;:::o;23806:134::-;23864:9;23897:37;23928:5;23897:37;:::i;:::-;23884:50;;23806:134;;;:::o;23946:147::-;24041:45;24080:5;24041:45;:::i;:::-;24036:3;24029:58;23946:147;;:::o;24099:847::-;24370:4;24408:3;24397:9;24393:19;24385:27;;24422:71;24490:1;24479:9;24475:17;24466:6;24422:71;:::i;:::-;24503:80;24579:2;24568:9;24564:18;24555:6;24503:80;:::i;:::-;24630:9;24624:4;24620:20;24615:2;24604:9;24600:18;24593:48;24658:108;24761:4;24752:6;24658:108;:::i;:::-;24650:116;;24776:80;24852:2;24841:9;24837:18;24828:6;24776:80;:::i;:::-;24866:73;24934:3;24923:9;24919:19;24910:6;24866:73;:::i;:::-;24099:847;;;;;;;;:::o

Swarm Source

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