ETH Price: $2,881.10 (-10.58%)
Gas: 18 Gwei

Token

BENDER (BENDER)
 

Overview

Max Total Supply

1,000,000,000 BENDER

Holders

290

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
456,252.164141120212917901 BENDER

Value
$0.00
0xd415775452150bafdc9175db17431846a21a2830
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:
BENDERETH

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-13
*/

// SPDX-License-Identifier: MIT


pragma solidity ^0.8.20;


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

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

   
    function transfer(address recipient, uint256 amount) external returns (bool);

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

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

   
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

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

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


interface IERC20Metadata is IERC20 {

    function name() external view returns (string memory);

  
    function symbol() external view returns (string memory);

   
    function decimals() external view returns (uint8);
}


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

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


contract ERC20 is Context, IERC20, IERC20Metadata {
    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;
    }

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

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

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        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] + addedValue);
        return true;
    }

    
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

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

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(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 += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

   
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

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

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    
    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 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].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

   
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}


abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual 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 {
        _setOwner(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");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) internal {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


abstract contract Pausable is Context {
    /**
     * @dev Emitted when the pause is triggered by `account`.
     */
    event Paused(address account);

    /**
     * @dev Emitted when the pause is lifted by `account`.
     */
    event Unpaused(address account);

    bool private _paused;

    /**
     * @dev Initializes the contract in unpaused state.
     */
    constructor() {
        _paused = false;
    }

    /**
     * @dev Returns true if the contract is paused, and false otherwise.
     */
    function paused() public view virtual returns (bool) {
        return _paused;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    modifier whenNotPaused() {
        require(!paused(), "Pausable: paused");
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    modifier whenPaused() {
        require(paused(), "Pausable: not paused");
        _;
    }

  
    function _pause() internal virtual whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

   
    function _unpause() internal virtual whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

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

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

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

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

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

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

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

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

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

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

contract BENDERETH is ERC20, Ownable, Pausable {

    // variables
    
    uint256 private initialSupply;
   
    uint256 private denominator = 100;

    uint256 private swapThreshold = 0.0000009 ether; // The contract will only swap to ETH, once the fee tokens reach the specified threshold
    
    uint256 private devTaxBuy;
    uint256 private liquidityTaxBuy;
   
    
    uint256 private devTaxSell;
    uint256 private liquidityTaxSell;
    uint256 public maxWallet;
    
    address private devTaxWallet;
    address private liquidityTaxWallet;
    
    
    // Mappings
    

    mapping (address => bool) private excludeList;
   
    
    mapping (string => uint256) private buyTaxes;
    mapping (string => uint256) private sellTaxes;
    mapping (string => address) private taxWallets;
    
    bool public taxStatus = true;
    
    IUniswapV2Router02 private uniswapV2Router02;
    IUniswapV2Factory private uniswapV2Factory;
    IUniswapV2Pair private uniswapV2Pair;
    
    constructor(string memory _tokenName,string memory _tokenSymbol,uint256 _supply) ERC20(_tokenName, _tokenSymbol) payable
    {
        initialSupply =_supply * (10**18);
        maxWallet = initialSupply * 2 / 100; 
        _setOwner(msg.sender);
        uniswapV2Router02 = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Factory = IUniswapV2Factory(uniswapV2Router02.factory());
        uniswapV2Pair = IUniswapV2Pair(uniswapV2Factory.createPair(address(this), uniswapV2Router02.WETH()));
        taxWallets["liquidity"] = address(0);
        setBuyTax(0,0); //dev tax, liquidity tax
        setSellTax(1,98); //dev tax, liquidity tax
        setTaxWallets(0x5fEAaD69B6c9F3C9F6291f4f8A2BE56f436D09Db); 
        exclude(msg.sender);
        exclude(address(this));
        exclude(devTaxWallet);
        _mint(msg.sender, initialSupply);
    }
    
    
    uint256 private devTokens;
    uint256 private liquidityTokens;
    
    
    function handleTax(address from, address to, uint256 amount) private returns (uint256) {
        address[] memory sellPath = new address[](2);
        sellPath[0] = address(this);
        sellPath[1] = uniswapV2Router02.WETH();
        
        if(!isExcluded(from) && !isExcluded(to)) {
            uint256 tax;
            uint256 baseUnit = amount / denominator;
            if(from == address(uniswapV2Pair)) {
                tax += baseUnit * buyTaxes["dev"];
                tax += baseUnit * buyTaxes["liquidity"];
               
                
                if(tax > 0) {
                    _transfer(from, address(this), tax);   
                }
                
                
                devTokens += baseUnit * buyTaxes["dev"];
                liquidityTokens += baseUnit * buyTaxes["liquidity"];

            } else if(to == address(uniswapV2Pair)) {
                
                tax += baseUnit * sellTaxes["dev"];
                tax += baseUnit * sellTaxes["liquidity"];
                
                
                if(tax > 0) {
                    _transfer(from, address(this), tax);   
                }
                
               
                devTokens += baseUnit * sellTaxes["dev"];
                liquidityTokens += baseUnit * sellTaxes["liquidity"];
                
                
                uint256 taxSum =  devTokens + liquidityTokens;
                
                if(taxSum == 0) return amount;
                
                uint256 ethValue = uniswapV2Router02.getAmountsOut( devTokens + liquidityTokens, sellPath)[1];
                
                if(ethValue >= swapThreshold) {
                    uint256 startBalance = address(this).balance;

                    uint256 toSell = devTokens + liquidityTokens / 2 ;
                    
                    _approve(address(this), address(uniswapV2Router02), toSell);
            
                    uniswapV2Router02.swapExactTokensForETH(
                        toSell,
                        0,
                        sellPath,
                        address(this),
                        block.timestamp
                    );
                    
                    uint256 ethGained = address(this).balance - startBalance;
                    
                    uint256 liquidityToken = liquidityTokens / 2;
                    uint256 liquidityETH = (ethGained * ((liquidityTokens / 2 * 10**18) / taxSum)) / 10**18;
                    
                    
                    uint256 devETH = (ethGained * ((devTokens * 10**18) / taxSum)) / 10**18;
                   
                    
                    _approve(address(this), address(uniswapV2Router02), liquidityToken);
                    
                    uniswapV2Router02.addLiquidityETH{value: liquidityETH}(
                        address(this),
                        liquidityToken,
                        0,
                        0,
                        taxWallets["liquidity"],
                        block.timestamp
                    );
                    
                    uint256 remainingTokens = (devTokens + liquidityTokens) - (toSell + liquidityToken);
                    
                    if(remainingTokens > 0) {
                        _transfer(address(this), taxWallets["dev"], remainingTokens);
                    }
                    
                    
                   (bool success,) = taxWallets["dev"].call{value: devETH}("");
                   require(success, "transfer to  dev wallet failed");
                    
                    
                    if(ethGained - ( devETH + liquidityETH) > 0) {
                       (bool success1,) = taxWallets["dev"].call{value: ethGained - (devETH + liquidityETH)}("");
                        require(success1, "transfer to  dev wallet failed");
                    }

                    
                    
                    
                    devTokens = 0;
                    liquidityTokens = 0;
                    
                }
                
            }
            
            amount -= tax;
            if (to != address(uniswapV2Pair)){
                require(balanceOf(to) + amount <= maxWallet, "maxWallet limit exceeded");
            }
           
        }
        
        return amount;
    }
    
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal override virtual {
        require(!paused(), "ERC20: token transfer while paused");
        
        if(taxStatus) {
            amount = handleTax(sender, recipient, amount);   
        }

        super._transfer(sender, recipient, amount);
    }
    
    /**
     * @dev Triggers the tax handling functionality
     */
    function triggerTax() public onlyOwner {
        handleTax(address(0), address(uniswapV2Pair), 0);
    }
    
    /**
     * @dev Pauses transfers on the token.
     */
    function pause() public onlyOwner {
        require(!paused(), "ERC20: Contract is already paused");
        _pause();
    }

    /**
     * @dev Unpauses transfers on the token.
     */
    function unpause() public onlyOwner {
        require(paused(), "ERC20: Contract is not paused");
        _unpause();
    }

     /**
     * @dev set max wallet limit per address.
     */

    function setMaxWallet (uint256 amount) external onlyOwner {
        require (amount > 10000, "NO rug pull");
        maxWallet = amount * 10**18;
    }
    
    /**
     * @dev Burns tokens from caller address.
     */
    function burn(uint256 amount) public onlyOwner {
        _burn(msg.sender, amount);
    }
    
   
    
    
    
    /**
     * @dev Excludes the specified account from tax.
     */
    function exclude(address account) public onlyOwner {
        require(!isExcluded(account), "ERC20: Account is already excluded");
        excludeList[account] = true;
    }
    
    /**
     * @dev Re-enables tax on the specified account.
     */
    function removeExclude(address account) public onlyOwner {
        require(isExcluded(account), "ERC20: Account is not excluded");
        excludeList[account] = false;
    }
    
    /**
     * @dev Sets tax for buys.
     */
    function setBuyTax(uint256 dev,uint256 liquidity) public onlyOwner {
        buyTaxes["dev"] = dev;
        buyTaxes["liquidity"] = liquidity;
       
    }
    
    /**
     * @dev Sets tax for sells.
     */
    function setSellTax(uint256 dev, uint256 liquidity) public onlyOwner {

        sellTaxes["dev"] = dev;
        sellTaxes["liquidity"] = liquidity;
        
    }
    
    /**
     * @dev Sets wallets for taxes.
     */
    function setTaxWallets(address dev) public onlyOwner {
        taxWallets["dev"] = dev;
        
    }

    function claimStuckTokens(address _token) external onlyOwner {
 
        if (_token == address(0x0)) {
            payable(owner()).transfer(address(this).balance);
            return;
        }
        IERC20 erc20token = IERC20(_token);
        uint256 balance = erc20token.balanceOf(address(this));
        erc20token.transfer(owner(), balance);
    }
    
    /**
     * @dev Enables tax globally.
     */
    function enableTax() public onlyOwner {
        require(!taxStatus, "ERC20: Tax is already enabled");
        taxStatus = true;
    }
    
    /**
     * @dev Disables tax globally.
     */
    function disableTax() public onlyOwner {
        require(taxStatus, "ERC20: Tax is already disabled");
        taxStatus = false;
    }
    
   
    
    /**
     * @dev Returns true if the account is excluded, and false otherwise.
     */
    function isExcluded(address account) public view returns (bool) {
        return excludeList[account];
    }
    
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"uint256","name":"_supply","type":"uint256"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"claimStuckTokens","outputs":[],"stateMutability":"nonpayable","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":[],"name":"disableTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"exclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeExclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dev","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"setBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dev","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"setSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"dev","type":"address"}],"name":"setTaxWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"triggerTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052606460075564d18c2e2800600855600160145f6101000a81548160ff0219169083151502179055506040516200592e3803806200592e833981810160405281019062000051919062000cea565b8282816003908162000064919062000faf565b50806004908162000076919062000faf565b5050505f600560146101000a81548160ff021916908315150217905550670de0b6b3a764000081620000a99190620010c0565b60068190555060646002600654620000c29190620010c0565b620000ce919062001137565b600d81905550620000e5336200049460201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d601460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001cc9190620011cf565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002db9190620011cf565b6040518363ffffffff1660e01b8152600401620002fa92919062001210565b6020604051808303815f875af115801562000317573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200033d9190620011cf565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60136040516200038d9062001293565b90815260200160405180910390205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003ea5f806200055760201b60201c565b620003fe600160626200063060201b60201c565b62000423735feaad69b6c9f3c9f6291f4f8a2be56f436d09db6200070960201b60201c565b6200043433620007f760201b60201c565b6200044530620007f760201b60201c565b62000477600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620007f760201b60201c565b6200048b336006546200093260201b60201c565b505050620014f3565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200056762000aa260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200058d62000aa960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620005e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005dd9062001307565b60405180910390fd5b816011604051620005f79062001375565b9081526020016040518091039020819055508060116040516200061a9062001293565b9081526020016040518091039020819055505050565b6200064062000aa260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200066662000aa960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620006bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006b69062001307565b60405180910390fd5b816012604051620006d09062001375565b908152602001604051809103902081905550806012604051620006f39062001293565b9081526020016040518091039020819055505050565b6200071962000aa260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200073f62000aa960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000798576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200078f9062001307565b60405180910390fd5b806013604051620007a99062001375565b90815260200160405180910390205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6200080762000aa260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200082d62000aa960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000886576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200087d9062001307565b60405180910390fd5b620008978162000ad160201b60201c565b15620008da576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008d190620013ff565b60405180910390fd5b600160105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620009a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200099a906200146d565b60405180910390fd5b620009b65f838362000b2360201b60201c565b8060025f828254620009c991906200148d565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000a1d91906200148d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000a839190620014d8565b60405180910390a362000a9e5f838362000b2860201b60201c565b5050565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000b8e8262000b46565b810181811067ffffffffffffffff8211171562000bb05762000baf62000b56565b5b80604052505050565b5f62000bc462000b2d565b905062000bd2828262000b83565b919050565b5f67ffffffffffffffff82111562000bf45762000bf362000b56565b5b62000bff8262000b46565b9050602081019050919050565b5f5b8381101562000c2b57808201518184015260208101905062000c0e565b5f8484015250505050565b5f62000c4c62000c468462000bd7565b62000bb9565b90508281526020810184848401111562000c6b5762000c6a62000b42565b5b62000c7884828562000c0c565b509392505050565b5f82601f83011262000c975762000c9662000b3e565b5b815162000ca984826020860162000c36565b91505092915050565b5f819050919050565b62000cc68162000cb2565b811462000cd1575f80fd5b50565b5f8151905062000ce48162000cbb565b92915050565b5f805f6060848603121562000d045762000d0362000b36565b5b5f84015167ffffffffffffffff81111562000d245762000d2362000b3a565b5b62000d328682870162000c80565b935050602084015167ffffffffffffffff81111562000d565762000d5562000b3a565b5b62000d648682870162000c80565b925050604062000d778682870162000cd4565b9150509250925092565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000dd057607f821691505b60208210810362000de65762000de562000d8b565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000e4a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000e0d565b62000e56868362000e0d565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000e9762000e9162000e8b8462000cb2565b62000e6e565b62000cb2565b9050919050565b5f819050919050565b62000eb28362000e77565b62000eca62000ec18262000e9e565b84845462000e19565b825550505050565b5f90565b62000ee062000ed2565b62000eed81848462000ea7565b505050565b5b8181101562000f145762000f085f8262000ed6565b60018101905062000ef3565b5050565b601f82111562000f635762000f2d8162000dec565b62000f388462000dfe565b8101602085101562000f48578190505b62000f6062000f578562000dfe565b83018262000ef2565b50505b505050565b5f82821c905092915050565b5f62000f855f198460080262000f68565b1980831691505092915050565b5f62000f9f838362000f74565b9150826002028217905092915050565b62000fba8262000d81565b67ffffffffffffffff81111562000fd65762000fd562000b56565b5b62000fe2825462000db8565b62000fef82828562000f18565b5f60209050601f83116001811462001025575f841562001010578287015190505b6200101c858262000f92565b8655506200108b565b601f198416620010358662000dec565b5f5b828110156200105e5784890151825560018201915060208501945060208101905062001037565b868310156200107e57848901516200107a601f89168262000f74565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620010cc8262000cb2565b9150620010d98362000cb2565b9250828202620010e98162000cb2565b9150828204841483151762001103576200110262001093565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620011438262000cb2565b9150620011508362000cb2565b9250826200116357620011626200110a565b5b828204905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62001199826200116e565b9050919050565b620011ab816200118d565b8114620011b6575f80fd5b50565b5f81519050620011c981620011a0565b92915050565b5f60208284031215620011e757620011e662000b36565b5b5f620011f684828501620011b9565b91505092915050565b6200120a816200118d565b82525050565b5f604082019050620012255f830185620011ff565b620012346020830184620011ff565b9392505050565b5f81905092915050565b7f6c697175696469747900000000000000000000000000000000000000000000005f82015250565b5f6200127b6009836200123b565b9150620012888262001245565b600982019050919050565b5f6200129f826200126d565b9150819050919050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f620012ef602083620012a9565b9150620012fc82620012b9565b602082019050919050565b5f6020820190508181035f8301526200132081620012e1565b9050919050565b7f64657600000000000000000000000000000000000000000000000000000000005f82015250565b5f6200135d6003836200123b565b91506200136a8262001327565b600382019050919050565b5f62001381826200134f565b9150819050919050565b7f45524332303a204163636f756e7420697320616c7265616479206578636c75645f8201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b5f620013e7602283620012a9565b9150620013f4826200138b565b604082019050919050565b5f6020820190508181035f8301526200141881620013d9565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62001455601f83620012a9565b915062001462826200141f565b602082019050919050565b5f6020820190508181035f830152620014868162001447565b9050919050565b5f620014998262000cb2565b9150620014a68362000cb2565b9250828201905080821115620014c157620014c062001093565b5b92915050565b620014d28162000cb2565b82525050565b5f602082019050620014ed5f830184620014c7565b92915050565b61442d80620015015f395ff3fe6080604052600436106101db575f3560e01c80635d0044ca11610101578063abe4f11d11610094578063dd62ed3e11610063578063dd62ed3e1461064c578063f2fde38b14610688578063f8b45b05146106b0578063f9d0831a146106da576101e2565b8063abe4f11d146105aa578063cba0e996146105d2578063ced695a41461060e578063d01dc84b14610624576101e2565b80638da5cb5b116100d05780638da5cb5b146104de57806395d89b4114610508578063a457c2d714610532578063a9059cbb1461056e576101e2565b80635d0044ca1461044e57806370a0823114610476578063715018a6146104b25780638456cb59146104c8576101e2565b80632c32abc21161017957806342966c681161014857806342966c68146103be5780634febf53d146103e657806353eb3bcf1461040e5780635c975abb14610424576101e2565b80632c32abc21461032c578063313ce56714610342578063395093511461036c5780633f4ba83a146103a8576101e2565b806318160ddd116101b557806318160ddd1461027457806323a38a381461029e57806323b872dd146102c8578063247b912d14610304576101e2565b806305a1f36d146101e657806306fdde031461020e578063095ea7b314610238576101e2565b366101e257005b5f80fd5b3480156101f1575f80fd5b5061020c60048036038101906102079190612e25565b610702565b005b348015610219575f80fd5b506102226107c4565b60405161022f9190612eed565b60405180910390f35b348015610243575f80fd5b5061025e60048036038101906102599190612f67565b610854565b60405161026b9190612fbf565b60405180910390f35b34801561027f575f80fd5b50610288610871565b6040516102959190612fe7565b60405180910390f35b3480156102a9575f80fd5b506102b261087a565b6040516102bf9190612fbf565b60405180910390f35b3480156102d3575f80fd5b506102ee60048036038101906102e99190613000565b61088c565b6040516102fb9190612fbf565b60405180910390f35b34801561030f575f80fd5b5061032a60048036038101906103259190612e25565b61097e565b005b348015610337575f80fd5b50610340610a40565b005b34801561034d575f80fd5b50610356610aeb565b604051610363919061306b565b60405180910390f35b348015610377575f80fd5b50610392600480360381019061038d9190612f67565b610af3565b60405161039f9190612fbf565b60405180910390f35b3480156103b3575f80fd5b506103bc610b9a565b005b3480156103c9575f80fd5b506103e460048036038101906103df9190613084565b610c67565b005b3480156103f1575f80fd5b5061040c600480360381019061040791906130af565b610cf0565b005b348015610419575f80fd5b50610422610e0d565b005b34801561042f575f80fd5b50610438610ef4565b6040516104459190612fbf565b60405180910390f35b348015610459575f80fd5b50610474600480360381019061046f9190613084565b610f0a565b005b348015610481575f80fd5b5061049c600480360381019061049791906130af565b610fe7565b6040516104a99190612fe7565b60405180910390f35b3480156104bd575f80fd5b506104c661102c565b005b3480156104d3575f80fd5b506104dc6110b3565b005b3480156104e9575f80fd5b506104f2611181565b6040516104ff91906130e9565b60405180910390f35b348015610513575f80fd5b5061051c6111a9565b6040516105299190612eed565b60405180910390f35b34801561053d575f80fd5b5061055860048036038101906105539190612f67565b611239565b6040516105659190612fbf565b60405180910390f35b348015610579575f80fd5b50610594600480360381019061058f9190612f67565b61131f565b6040516105a19190612fbf565b60405180910390f35b3480156105b5575f80fd5b506105d060048036038101906105cb91906130af565b61133c565b005b3480156105dd575f80fd5b506105f860048036038101906105f391906130af565b611457565b6040516106059190612fbf565b60405180910390f35b348015610619575f80fd5b506106226114a9565b005b34801561062f575f80fd5b5061064a600480360381019061064591906130af565b61158e565b005b348015610657575f80fd5b50610672600480360381019061066d9190613102565b611667565b60405161067f9190612fe7565b60405180910390f35b348015610693575f80fd5b506106ae60048036038101906106a991906130af565b6116e9565b005b3480156106bb575f80fd5b506106c46117df565b6040516106d19190612fe7565b60405180910390f35b3480156106e5575f80fd5b5061070060048036038101906106fb91906130af565b6117e5565b005b61070a6119ec565b73ffffffffffffffffffffffffffffffffffffffff16610728611181565b73ffffffffffffffffffffffffffffffffffffffff161461077e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107759061318a565b60405180910390fd5b81601160405161078d906131fc565b9081526020016040518091039020819055508060116040516107ae9061325a565b9081526020016040518091039020819055505050565b6060600380546107d39061329b565b80601f01602080910402602001604051908101604052809291908181526020018280546107ff9061329b565b801561084a5780601f106108215761010080835404028352916020019161084a565b820191905f5260205f20905b81548152906001019060200180831161082d57829003601f168201915b5050505050905090565b5f6108676108606119ec565b84846119f3565b6001905092915050565b5f600254905090565b60145f9054906101000a900460ff1681565b5f610898848484611bb6565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6108df6119ec565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561095e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109559061333b565b60405180910390fd5b6109728561096a6119ec565b8584036119f3565b60019150509392505050565b6109866119ec565b73ffffffffffffffffffffffffffffffffffffffff166109a4611181565b73ffffffffffffffffffffffffffffffffffffffff16146109fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f19061318a565b60405180910390fd5b816012604051610a09906131fc565b908152602001604051809103902081905550806012604051610a2a9061325a565b9081526020016040518091039020819055505050565b610a486119ec565b73ffffffffffffffffffffffffffffffffffffffff16610a66611181565b73ffffffffffffffffffffffffffffffffffffffff1614610abc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab39061318a565b60405180910390fd5b610ae85f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f611c30565b50565b5f6012905090565b5f610b90610aff6119ec565b848460015f610b0c6119ec565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610b8b9190613386565b6119f3565b6001905092915050565b610ba26119ec565b73ffffffffffffffffffffffffffffffffffffffff16610bc0611181565b73ffffffffffffffffffffffffffffffffffffffff1614610c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0d9061318a565b60405180910390fd5b610c1e610ef4565b610c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5490613403565b60405180910390fd5b610c6561278f565b565b610c6f6119ec565b73ffffffffffffffffffffffffffffffffffffffff16610c8d611181565b73ffffffffffffffffffffffffffffffffffffffff1614610ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cda9061318a565b60405180910390fd5b610ced3382612830565b50565b610cf86119ec565b73ffffffffffffffffffffffffffffffffffffffff16610d16611181565b73ffffffffffffffffffffffffffffffffffffffff1614610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d639061318a565b60405180910390fd5b610d7581611457565b15610db5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dac90613491565b60405180910390fd5b600160105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610e156119ec565b73ffffffffffffffffffffffffffffffffffffffff16610e33611181565b73ffffffffffffffffffffffffffffffffffffffff1614610e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e809061318a565b60405180910390fd5b60145f9054906101000a900460ff1615610ed8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecf906134f9565b60405180910390fd5b600160145f6101000a81548160ff021916908315150217905550565b5f600560149054906101000a900460ff16905090565b610f126119ec565b73ffffffffffffffffffffffffffffffffffffffff16610f30611181565b73ffffffffffffffffffffffffffffffffffffffff1614610f86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7d9061318a565b60405180910390fd5b6127108111610fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc190613561565b60405180910390fd5b670de0b6b3a764000081610fde919061357f565b600d8190555050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6110346119ec565b73ffffffffffffffffffffffffffffffffffffffff16611052611181565b73ffffffffffffffffffffffffffffffffffffffff16146110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109f9061318a565b60405180910390fd5b6110b15f6129fc565b565b6110bb6119ec565b73ffffffffffffffffffffffffffffffffffffffff166110d9611181565b73ffffffffffffffffffffffffffffffffffffffff161461112f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111269061318a565b60405180910390fd5b611137610ef4565b15611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e90613630565b60405180910390fd5b61117f612abf565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546111b89061329b565b80601f01602080910402602001604051908101604052809291908181526020018280546111e49061329b565b801561122f5780601f106112065761010080835404028352916020019161122f565b820191905f5260205f20905b81548152906001019060200180831161121257829003601f168201915b5050505050905090565b5f8060015f6112466119ec565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611300576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f7906136be565b60405180910390fd5b61131461130b6119ec565b858584036119f3565b600191505092915050565b5f61133261132b6119ec565b8484611bb6565b6001905092915050565b6113446119ec565b73ffffffffffffffffffffffffffffffffffffffff16611362611181565b73ffffffffffffffffffffffffffffffffffffffff16146113b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113af9061318a565b60405180910390fd5b6113c181611457565b611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f790613726565b60405180910390fd5b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b6114b16119ec565b73ffffffffffffffffffffffffffffffffffffffff166114cf611181565b73ffffffffffffffffffffffffffffffffffffffff1614611525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151c9061318a565b60405180910390fd5b60145f9054906101000a900460ff16611573576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156a9061378e565b60405180910390fd5b5f60145f6101000a81548160ff021916908315150217905550565b6115966119ec565b73ffffffffffffffffffffffffffffffffffffffff166115b4611181565b73ffffffffffffffffffffffffffffffffffffffff161461160a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116019061318a565b60405180910390fd5b806013604051611619906131fc565b90815260200160405180910390205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6116f16119ec565b73ffffffffffffffffffffffffffffffffffffffff1661170f611181565b73ffffffffffffffffffffffffffffffffffffffff1614611765576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175c9061318a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ca9061381c565b60405180910390fd5b6117dc816129fc565b50565b600d5481565b6117ed6119ec565b73ffffffffffffffffffffffffffffffffffffffff1661180b611181565b73ffffffffffffffffffffffffffffffffffffffff1614611861576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118589061318a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118e45761189c611181565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156118de573d5f803e3d5ffd5b506119e9565b5f8190505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161192291906130e9565b602060405180830381865afa15801561193d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611961919061384e565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb611987611181565b836040518363ffffffff1660e01b81526004016119a5929190613879565b6020604051808303815f875af11580156119c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119e591906138ca565b5050505b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5890613965565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac6906139f3565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ba99190612fe7565b60405180910390a3505050565b611bbe610ef4565b15611bfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf590613a81565b60405180910390fd5b60145f9054906101000a900460ff1615611c2057611c1d838383611c30565b90505b611c2b838383612b62565b505050565b5f80600267ffffffffffffffff811115611c4d57611c4c613a9f565b5b604051908082528060200260200182016040528015611c7b5781602001602082028036833780820191505090505b50905030815f81518110611c9257611c91613acc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d5b9190613b0d565b81600181518110611d6f57611d6e613acc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611db285611457565b158015611dc55750611dc384611457565b155b15612783575f8060075485611dda9190613b65565b905060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611f31576011604051611e3e906131fc565b90815260200160405180910390205481611e58919061357f565b82611e639190613386565b91506011604051611e739061325a565b90815260200160405180910390205481611e8d919061357f565b82611e989190613386565b91505f821115611eae57611ead873084611bb6565b5b6011604051611ebc906131fc565b90815260200160405180910390205481611ed6919061357f565b60175f828254611ee69190613386565b925050819055506011604051611efb9061325a565b90815260200160405180910390205481611f15919061357f565b60185f828254611f259190613386565b925050819055506126c5565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036126c4576012604051611f93906131fc565b90815260200160405180910390205481611fad919061357f565b82611fb89190613386565b91506012604051611fc89061325a565b90815260200160405180910390205481611fe2919061357f565b82611fed9190613386565b91505f82111561200357612002873084611bb6565b5b6012604051612011906131fc565b9081526020016040518091039020548161202b919061357f565b60175f82825461203b9190613386565b9250508190555060126040516120509061325a565b9081526020016040518091039020548161206a919061357f565b60185f82825461207a9190613386565b925050819055505f6018546017546120929190613386565b90505f81036120a75785945050505050612788565b5f601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f6018546017546120f69190613386565b876040518363ffffffff1660e01b8152600401612114929190613c4c565b5f60405180830381865afa15801561212e573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906121569190613d8d565b60018151811061216957612168613acc565b5b6020026020010151905060085481106126c1575f4790505f60026018546121909190613b65565b60175461219d9190613386565b90506121cc30601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836119f3565b601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318cbafe5825f8a30426040518663ffffffff1660e01b815260040161222f959493929190613e16565b5f604051808303815f875af115801561224a573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906122729190613d8d565b505f82476122809190613e6e565b90505f60026018546122929190613b65565b90505f670de0b6b3a764000087670de0b6b3a764000060026018546122b79190613b65565b6122c1919061357f565b6122cb9190613b65565b846122d6919061357f565b6122e09190613b65565b90505f670de0b6b3a764000088670de0b6b3a7640000601754612303919061357f565b61230d9190613b65565b85612318919061357f565b6123229190613b65565b905061235130601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856119f3565b601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198330865f8060136040516123a29061325a565b90815260200160405180910390205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016123f296959493929190613ea1565b60606040518083038185885af115801561240e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906124339190613f00565b5050505f83866124439190613386565b6018546017546124539190613386565b61245d9190613e6e565b90505f8111156124ae576124ad306013604051612479906131fc565b90815260200160405180910390205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611bb6565b5b5f60136040516124bd906131fc565b90815260200160405180910390205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360405161250e90613f7d565b5f6040518083038185875af1925050503d805f8114612548576040519150601f19603f3d011682016040523d82523d5f602084013e61254d565b606091505b5050905080612591576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258890613fdb565b60405180910390fd5b5f848461259e9190613386565b876125a99190613e6e565b11156126aa575f60136040516125be906131fc565b90815260200160405180910390205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16858561260e9190613386565b886126199190613e6e565b60405161262590613f7d565b5f6040518083038185875af1925050503d805f811461265f576040519150601f19603f3d011682016040523d82523d5f602084013e612664565b606091505b50509050806126a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161269f90613fdb565b60405180910390fd5b505b5f6017819055505f60188190555050505050505050505b50505b5b81856126d19190613e6e565b945060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461278057600d548561273488610fe7565b61273e9190613386565b111561277f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277690614043565b60405180910390fd5b5b50505b829150505b9392505050565b612797610ef4565b6127d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127cd906140ab565b60405180910390fd5b5f600560146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6128196119ec565b60405161282691906130e9565b60405180910390a1565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361289e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289590614139565b60405180910390fd5b6128a9825f83612dd7565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561292c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612923906141c7565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f8282546129809190613e6e565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129e49190612fe7565b60405180910390a36129f7835f84612ddc565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612ac7610ef4565b15612b07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612afe9061422f565b60405180910390fd5b6001600560146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612b4b6119ec565b604051612b5891906130e9565b60405180910390a1565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612bd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bc7906142bd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612c3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c359061434b565b60405180910390fd5b612c49838383612dd7565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612ccc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cc3906143d9565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612d5a9190613386565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612dbe9190612fe7565b60405180910390a3612dd1848484612ddc565b50505050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b612e0481612df2565b8114612e0e575f80fd5b50565b5f81359050612e1f81612dfb565b92915050565b5f8060408385031215612e3b57612e3a612dea565b5b5f612e4885828601612e11565b9250506020612e5985828601612e11565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612e9a578082015181840152602081019050612e7f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612ebf82612e63565b612ec98185612e6d565b9350612ed9818560208601612e7d565b612ee281612ea5565b840191505092915050565b5f6020820190508181035f830152612f058184612eb5565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612f3682612f0d565b9050919050565b612f4681612f2c565b8114612f50575f80fd5b50565b5f81359050612f6181612f3d565b92915050565b5f8060408385031215612f7d57612f7c612dea565b5b5f612f8a85828601612f53565b9250506020612f9b85828601612e11565b9150509250929050565b5f8115159050919050565b612fb981612fa5565b82525050565b5f602082019050612fd25f830184612fb0565b92915050565b612fe181612df2565b82525050565b5f602082019050612ffa5f830184612fd8565b92915050565b5f805f6060848603121561301757613016612dea565b5b5f61302486828701612f53565b935050602061303586828701612f53565b925050604061304686828701612e11565b9150509250925092565b5f60ff82169050919050565b61306581613050565b82525050565b5f60208201905061307e5f83018461305c565b92915050565b5f6020828403121561309957613098612dea565b5b5f6130a684828501612e11565b91505092915050565b5f602082840312156130c4576130c3612dea565b5b5f6130d184828501612f53565b91505092915050565b6130e381612f2c565b82525050565b5f6020820190506130fc5f8301846130da565b92915050565b5f806040838503121561311857613117612dea565b5b5f61312585828601612f53565b925050602061313685828601612f53565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613174602083612e6d565b915061317f82613140565b602082019050919050565b5f6020820190508181035f8301526131a181613168565b9050919050565b5f81905092915050565b7f64657600000000000000000000000000000000000000000000000000000000005f82015250565b5f6131e66003836131a8565b91506131f1826131b2565b600382019050919050565b5f613206826131da565b9150819050919050565b7f6c697175696469747900000000000000000000000000000000000000000000005f82015250565b5f6132446009836131a8565b915061324f82613210565b600982019050919050565b5f61326482613238565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806132b257607f821691505b6020821081036132c5576132c461326e565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f613325602883612e6d565b9150613330826132cb565b604082019050919050565b5f6020820190508181035f83015261335281613319565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61339082612df2565b915061339b83612df2565b92508282019050808211156133b3576133b2613359565b5b92915050565b7f45524332303a20436f6e7472616374206973206e6f74207061757365640000005f82015250565b5f6133ed601d83612e6d565b91506133f8826133b9565b602082019050919050565b5f6020820190508181035f83015261341a816133e1565b9050919050565b7f45524332303a204163636f756e7420697320616c7265616479206578636c75645f8201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b5f61347b602283612e6d565b915061348682613421565b604082019050919050565b5f6020820190508181035f8301526134a88161346f565b9050919050565b7f45524332303a2054617820697320616c726561647920656e61626c65640000005f82015250565b5f6134e3601d83612e6d565b91506134ee826134af565b602082019050919050565b5f6020820190508181035f830152613510816134d7565b9050919050565b7f4e4f207275672070756c6c0000000000000000000000000000000000000000005f82015250565b5f61354b600b83612e6d565b915061355682613517565b602082019050919050565b5f6020820190508181035f8301526135788161353f565b9050919050565b5f61358982612df2565b915061359483612df2565b92508282026135a281612df2565b915082820484148315176135b9576135b8613359565b5b5092915050565b7f45524332303a20436f6e747261637420697320616c72656164792070617573655f8201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b5f61361a602183612e6d565b9150613625826135c0565b604082019050919050565b5f6020820190508181035f8301526136478161360e565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6136a8602583612e6d565b91506136b38261364e565b604082019050919050565b5f6020820190508181035f8301526136d58161369c565b9050919050565b7f45524332303a204163636f756e74206973206e6f74206578636c7564656400005f82015250565b5f613710601e83612e6d565b915061371b826136dc565b602082019050919050565b5f6020820190508181035f83015261373d81613704565b9050919050565b7f45524332303a2054617820697320616c72656164792064697361626c656400005f82015250565b5f613778601e83612e6d565b915061378382613744565b602082019050919050565b5f6020820190508181035f8301526137a58161376c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613806602683612e6d565b9150613811826137ac565b604082019050919050565b5f6020820190508181035f830152613833816137fa565b9050919050565b5f8151905061384881612dfb565b92915050565b5f6020828403121561386357613862612dea565b5b5f6138708482850161383a565b91505092915050565b5f60408201905061388c5f8301856130da565b6138996020830184612fd8565b9392505050565b6138a981612fa5565b81146138b3575f80fd5b50565b5f815190506138c4816138a0565b92915050565b5f602082840312156138df576138de612dea565b5b5f6138ec848285016138b6565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61394f602483612e6d565b915061395a826138f5565b604082019050919050565b5f6020820190508181035f83015261397c81613943565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6139dd602283612e6d565b91506139e882613983565b604082019050919050565b5f6020820190508181035f830152613a0a816139d1565b9050919050565b7f45524332303a20746f6b656e207472616e73666572207768696c6520706175735f8201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b5f613a6b602283612e6d565b9150613a7682613a11565b604082019050919050565b5f6020820190508181035f830152613a9881613a5f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613b0781612f3d565b92915050565b5f60208284031215613b2257613b21612dea565b5b5f613b2f84828501613af9565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613b6f82612df2565b9150613b7a83612df2565b925082613b8a57613b89613b38565b5b828204905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613bc781612f2c565b82525050565b5f613bd88383613bbe565b60208301905092915050565b5f602082019050919050565b5f613bfa82613b95565b613c048185613b9f565b9350613c0f83613baf565b805f5b83811015613c3f578151613c268882613bcd565b9750613c3183613be4565b925050600181019050613c12565b5085935050505092915050565b5f604082019050613c5f5f830185612fd8565b8181036020830152613c718184613bf0565b90509392505050565b5f80fd5b613c8782612ea5565b810181811067ffffffffffffffff82111715613ca657613ca5613a9f565b5b80604052505050565b5f613cb8612de1565b9050613cc48282613c7e565b919050565b5f67ffffffffffffffff821115613ce357613ce2613a9f565b5b602082029050602081019050919050565b5f80fd5b5f613d0a613d0584613cc9565b613caf565b90508083825260208201905060208402830185811115613d2d57613d2c613cf4565b5b835b81811015613d565780613d42888261383a565b845260208401935050602081019050613d2f565b5050509392505050565b5f82601f830112613d7457613d73613c7a565b5b8151613d84848260208601613cf8565b91505092915050565b5f60208284031215613da257613da1612dea565b5b5f82015167ffffffffffffffff811115613dbf57613dbe612dee565b5b613dcb84828501613d60565b91505092915050565b5f819050919050565b5f819050919050565b5f613e00613dfb613df684613dd4565b613ddd565b612df2565b9050919050565b613e1081613de6565b82525050565b5f60a082019050613e295f830188612fd8565b613e366020830187613e07565b8181036040830152613e488186613bf0565b9050613e5760608301856130da565b613e646080830184612fd8565b9695505050505050565b5f613e7882612df2565b9150613e8383612df2565b9250828203905081811115613e9b57613e9a613359565b5b92915050565b5f60c082019050613eb45f8301896130da565b613ec16020830188612fd8565b613ece6040830187613e07565b613edb6060830186613e07565b613ee860808301856130da565b613ef560a0830184612fd8565b979650505050505050565b5f805f60608486031215613f1757613f16612dea565b5b5f613f248682870161383a565b9350506020613f358682870161383a565b9250506040613f468682870161383a565b9150509250925092565b5f81905092915050565b50565b5f613f685f83613f50565b9150613f7382613f5a565b5f82019050919050565b5f613f8782613f5d565b9150819050919050565b7f7472616e7366657220746f20206465762077616c6c6574206661696c656400005f82015250565b5f613fc5601e83612e6d565b9150613fd082613f91565b602082019050919050565b5f6020820190508181035f830152613ff281613fb9565b9050919050565b7f6d617857616c6c6574206c696d697420657863656564656400000000000000005f82015250565b5f61402d601883612e6d565b915061403882613ff9565b602082019050919050565b5f6020820190508181035f83015261405a81614021565b9050919050565b7f5061757361626c653a206e6f74207061757365640000000000000000000000005f82015250565b5f614095601483612e6d565b91506140a082614061565b602082019050919050565b5f6020820190508181035f8301526140c281614089565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f614123602183612e6d565b915061412e826140c9565b604082019050919050565b5f6020820190508181035f83015261415081614117565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f6141b1602283612e6d565b91506141bc82614157565b604082019050919050565b5f6020820190508181035f8301526141de816141a5565b9050919050565b7f5061757361626c653a20706175736564000000000000000000000000000000005f82015250565b5f614219601083612e6d565b9150614224826141e5565b602082019050919050565b5f6020820190508181035f8301526142468161420d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6142a7602583612e6d565b91506142b28261424d565b604082019050919050565b5f6020820190508181035f8301526142d48161429b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f614335602383612e6d565b9150614340826142db565b604082019050919050565b5f6020820190508181035f83015261436281614329565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6143c3602683612e6d565b91506143ce82614369565b604082019050919050565b5f6020820190508181035f8301526143f0816143b7565b905091905056fea26469706673582212203b00f41f8a47ebb5c21d4163eb88de34429d4de68a5b5390c22842361ea20ebd64736f6c63430008140033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000000642454e4445520000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000642454e4445520000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101db575f3560e01c80635d0044ca11610101578063abe4f11d11610094578063dd62ed3e11610063578063dd62ed3e1461064c578063f2fde38b14610688578063f8b45b05146106b0578063f9d0831a146106da576101e2565b8063abe4f11d146105aa578063cba0e996146105d2578063ced695a41461060e578063d01dc84b14610624576101e2565b80638da5cb5b116100d05780638da5cb5b146104de57806395d89b4114610508578063a457c2d714610532578063a9059cbb1461056e576101e2565b80635d0044ca1461044e57806370a0823114610476578063715018a6146104b25780638456cb59146104c8576101e2565b80632c32abc21161017957806342966c681161014857806342966c68146103be5780634febf53d146103e657806353eb3bcf1461040e5780635c975abb14610424576101e2565b80632c32abc21461032c578063313ce56714610342578063395093511461036c5780633f4ba83a146103a8576101e2565b806318160ddd116101b557806318160ddd1461027457806323a38a381461029e57806323b872dd146102c8578063247b912d14610304576101e2565b806305a1f36d146101e657806306fdde031461020e578063095ea7b314610238576101e2565b366101e257005b5f80fd5b3480156101f1575f80fd5b5061020c60048036038101906102079190612e25565b610702565b005b348015610219575f80fd5b506102226107c4565b60405161022f9190612eed565b60405180910390f35b348015610243575f80fd5b5061025e60048036038101906102599190612f67565b610854565b60405161026b9190612fbf565b60405180910390f35b34801561027f575f80fd5b50610288610871565b6040516102959190612fe7565b60405180910390f35b3480156102a9575f80fd5b506102b261087a565b6040516102bf9190612fbf565b60405180910390f35b3480156102d3575f80fd5b506102ee60048036038101906102e99190613000565b61088c565b6040516102fb9190612fbf565b60405180910390f35b34801561030f575f80fd5b5061032a60048036038101906103259190612e25565b61097e565b005b348015610337575f80fd5b50610340610a40565b005b34801561034d575f80fd5b50610356610aeb565b604051610363919061306b565b60405180910390f35b348015610377575f80fd5b50610392600480360381019061038d9190612f67565b610af3565b60405161039f9190612fbf565b60405180910390f35b3480156103b3575f80fd5b506103bc610b9a565b005b3480156103c9575f80fd5b506103e460048036038101906103df9190613084565b610c67565b005b3480156103f1575f80fd5b5061040c600480360381019061040791906130af565b610cf0565b005b348015610419575f80fd5b50610422610e0d565b005b34801561042f575f80fd5b50610438610ef4565b6040516104459190612fbf565b60405180910390f35b348015610459575f80fd5b50610474600480360381019061046f9190613084565b610f0a565b005b348015610481575f80fd5b5061049c600480360381019061049791906130af565b610fe7565b6040516104a99190612fe7565b60405180910390f35b3480156104bd575f80fd5b506104c661102c565b005b3480156104d3575f80fd5b506104dc6110b3565b005b3480156104e9575f80fd5b506104f2611181565b6040516104ff91906130e9565b60405180910390f35b348015610513575f80fd5b5061051c6111a9565b6040516105299190612eed565b60405180910390f35b34801561053d575f80fd5b5061055860048036038101906105539190612f67565b611239565b6040516105659190612fbf565b60405180910390f35b348015610579575f80fd5b50610594600480360381019061058f9190612f67565b61131f565b6040516105a19190612fbf565b60405180910390f35b3480156105b5575f80fd5b506105d060048036038101906105cb91906130af565b61133c565b005b3480156105dd575f80fd5b506105f860048036038101906105f391906130af565b611457565b6040516106059190612fbf565b60405180910390f35b348015610619575f80fd5b506106226114a9565b005b34801561062f575f80fd5b5061064a600480360381019061064591906130af565b61158e565b005b348015610657575f80fd5b50610672600480360381019061066d9190613102565b611667565b60405161067f9190612fe7565b60405180910390f35b348015610693575f80fd5b506106ae60048036038101906106a991906130af565b6116e9565b005b3480156106bb575f80fd5b506106c46117df565b6040516106d19190612fe7565b60405180910390f35b3480156106e5575f80fd5b5061070060048036038101906106fb91906130af565b6117e5565b005b61070a6119ec565b73ffffffffffffffffffffffffffffffffffffffff16610728611181565b73ffffffffffffffffffffffffffffffffffffffff161461077e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107759061318a565b60405180910390fd5b81601160405161078d906131fc565b9081526020016040518091039020819055508060116040516107ae9061325a565b9081526020016040518091039020819055505050565b6060600380546107d39061329b565b80601f01602080910402602001604051908101604052809291908181526020018280546107ff9061329b565b801561084a5780601f106108215761010080835404028352916020019161084a565b820191905f5260205f20905b81548152906001019060200180831161082d57829003601f168201915b5050505050905090565b5f6108676108606119ec565b84846119f3565b6001905092915050565b5f600254905090565b60145f9054906101000a900460ff1681565b5f610898848484611bb6565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6108df6119ec565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561095e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109559061333b565b60405180910390fd5b6109728561096a6119ec565b8584036119f3565b60019150509392505050565b6109866119ec565b73ffffffffffffffffffffffffffffffffffffffff166109a4611181565b73ffffffffffffffffffffffffffffffffffffffff16146109fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f19061318a565b60405180910390fd5b816012604051610a09906131fc565b908152602001604051809103902081905550806012604051610a2a9061325a565b9081526020016040518091039020819055505050565b610a486119ec565b73ffffffffffffffffffffffffffffffffffffffff16610a66611181565b73ffffffffffffffffffffffffffffffffffffffff1614610abc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab39061318a565b60405180910390fd5b610ae85f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f611c30565b50565b5f6012905090565b5f610b90610aff6119ec565b848460015f610b0c6119ec565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610b8b9190613386565b6119f3565b6001905092915050565b610ba26119ec565b73ffffffffffffffffffffffffffffffffffffffff16610bc0611181565b73ffffffffffffffffffffffffffffffffffffffff1614610c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0d9061318a565b60405180910390fd5b610c1e610ef4565b610c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5490613403565b60405180910390fd5b610c6561278f565b565b610c6f6119ec565b73ffffffffffffffffffffffffffffffffffffffff16610c8d611181565b73ffffffffffffffffffffffffffffffffffffffff1614610ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cda9061318a565b60405180910390fd5b610ced3382612830565b50565b610cf86119ec565b73ffffffffffffffffffffffffffffffffffffffff16610d16611181565b73ffffffffffffffffffffffffffffffffffffffff1614610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d639061318a565b60405180910390fd5b610d7581611457565b15610db5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dac90613491565b60405180910390fd5b600160105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610e156119ec565b73ffffffffffffffffffffffffffffffffffffffff16610e33611181565b73ffffffffffffffffffffffffffffffffffffffff1614610e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e809061318a565b60405180910390fd5b60145f9054906101000a900460ff1615610ed8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecf906134f9565b60405180910390fd5b600160145f6101000a81548160ff021916908315150217905550565b5f600560149054906101000a900460ff16905090565b610f126119ec565b73ffffffffffffffffffffffffffffffffffffffff16610f30611181565b73ffffffffffffffffffffffffffffffffffffffff1614610f86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7d9061318a565b60405180910390fd5b6127108111610fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc190613561565b60405180910390fd5b670de0b6b3a764000081610fde919061357f565b600d8190555050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6110346119ec565b73ffffffffffffffffffffffffffffffffffffffff16611052611181565b73ffffffffffffffffffffffffffffffffffffffff16146110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109f9061318a565b60405180910390fd5b6110b15f6129fc565b565b6110bb6119ec565b73ffffffffffffffffffffffffffffffffffffffff166110d9611181565b73ffffffffffffffffffffffffffffffffffffffff161461112f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111269061318a565b60405180910390fd5b611137610ef4565b15611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e90613630565b60405180910390fd5b61117f612abf565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546111b89061329b565b80601f01602080910402602001604051908101604052809291908181526020018280546111e49061329b565b801561122f5780601f106112065761010080835404028352916020019161122f565b820191905f5260205f20905b81548152906001019060200180831161121257829003601f168201915b5050505050905090565b5f8060015f6112466119ec565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611300576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f7906136be565b60405180910390fd5b61131461130b6119ec565b858584036119f3565b600191505092915050565b5f61133261132b6119ec565b8484611bb6565b6001905092915050565b6113446119ec565b73ffffffffffffffffffffffffffffffffffffffff16611362611181565b73ffffffffffffffffffffffffffffffffffffffff16146113b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113af9061318a565b60405180910390fd5b6113c181611457565b611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f790613726565b60405180910390fd5b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b6114b16119ec565b73ffffffffffffffffffffffffffffffffffffffff166114cf611181565b73ffffffffffffffffffffffffffffffffffffffff1614611525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151c9061318a565b60405180910390fd5b60145f9054906101000a900460ff16611573576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156a9061378e565b60405180910390fd5b5f60145f6101000a81548160ff021916908315150217905550565b6115966119ec565b73ffffffffffffffffffffffffffffffffffffffff166115b4611181565b73ffffffffffffffffffffffffffffffffffffffff161461160a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116019061318a565b60405180910390fd5b806013604051611619906131fc565b90815260200160405180910390205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6116f16119ec565b73ffffffffffffffffffffffffffffffffffffffff1661170f611181565b73ffffffffffffffffffffffffffffffffffffffff1614611765576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175c9061318a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ca9061381c565b60405180910390fd5b6117dc816129fc565b50565b600d5481565b6117ed6119ec565b73ffffffffffffffffffffffffffffffffffffffff1661180b611181565b73ffffffffffffffffffffffffffffffffffffffff1614611861576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118589061318a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118e45761189c611181565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156118de573d5f803e3d5ffd5b506119e9565b5f8190505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161192291906130e9565b602060405180830381865afa15801561193d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611961919061384e565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb611987611181565b836040518363ffffffff1660e01b81526004016119a5929190613879565b6020604051808303815f875af11580156119c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119e591906138ca565b5050505b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5890613965565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac6906139f3565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ba99190612fe7565b60405180910390a3505050565b611bbe610ef4565b15611bfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf590613a81565b60405180910390fd5b60145f9054906101000a900460ff1615611c2057611c1d838383611c30565b90505b611c2b838383612b62565b505050565b5f80600267ffffffffffffffff811115611c4d57611c4c613a9f565b5b604051908082528060200260200182016040528015611c7b5781602001602082028036833780820191505090505b50905030815f81518110611c9257611c91613acc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d5b9190613b0d565b81600181518110611d6f57611d6e613acc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611db285611457565b158015611dc55750611dc384611457565b155b15612783575f8060075485611dda9190613b65565b905060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611f31576011604051611e3e906131fc565b90815260200160405180910390205481611e58919061357f565b82611e639190613386565b91506011604051611e739061325a565b90815260200160405180910390205481611e8d919061357f565b82611e989190613386565b91505f821115611eae57611ead873084611bb6565b5b6011604051611ebc906131fc565b90815260200160405180910390205481611ed6919061357f565b60175f828254611ee69190613386565b925050819055506011604051611efb9061325a565b90815260200160405180910390205481611f15919061357f565b60185f828254611f259190613386565b925050819055506126c5565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036126c4576012604051611f93906131fc565b90815260200160405180910390205481611fad919061357f565b82611fb89190613386565b91506012604051611fc89061325a565b90815260200160405180910390205481611fe2919061357f565b82611fed9190613386565b91505f82111561200357612002873084611bb6565b5b6012604051612011906131fc565b9081526020016040518091039020548161202b919061357f565b60175f82825461203b9190613386565b9250508190555060126040516120509061325a565b9081526020016040518091039020548161206a919061357f565b60185f82825461207a9190613386565b925050819055505f6018546017546120929190613386565b90505f81036120a75785945050505050612788565b5f601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f6018546017546120f69190613386565b876040518363ffffffff1660e01b8152600401612114929190613c4c565b5f60405180830381865afa15801561212e573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906121569190613d8d565b60018151811061216957612168613acc565b5b6020026020010151905060085481106126c1575f4790505f60026018546121909190613b65565b60175461219d9190613386565b90506121cc30601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836119f3565b601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318cbafe5825f8a30426040518663ffffffff1660e01b815260040161222f959493929190613e16565b5f604051808303815f875af115801561224a573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906122729190613d8d565b505f82476122809190613e6e565b90505f60026018546122929190613b65565b90505f670de0b6b3a764000087670de0b6b3a764000060026018546122b79190613b65565b6122c1919061357f565b6122cb9190613b65565b846122d6919061357f565b6122e09190613b65565b90505f670de0b6b3a764000088670de0b6b3a7640000601754612303919061357f565b61230d9190613b65565b85612318919061357f565b6123229190613b65565b905061235130601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856119f3565b601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198330865f8060136040516123a29061325a565b90815260200160405180910390205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016123f296959493929190613ea1565b60606040518083038185885af115801561240e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906124339190613f00565b5050505f83866124439190613386565b6018546017546124539190613386565b61245d9190613e6e565b90505f8111156124ae576124ad306013604051612479906131fc565b90815260200160405180910390205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611bb6565b5b5f60136040516124bd906131fc565b90815260200160405180910390205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360405161250e90613f7d565b5f6040518083038185875af1925050503d805f8114612548576040519150601f19603f3d011682016040523d82523d5f602084013e61254d565b606091505b5050905080612591576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258890613fdb565b60405180910390fd5b5f848461259e9190613386565b876125a99190613e6e565b11156126aa575f60136040516125be906131fc565b90815260200160405180910390205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16858561260e9190613386565b886126199190613e6e565b60405161262590613f7d565b5f6040518083038185875af1925050503d805f811461265f576040519150601f19603f3d011682016040523d82523d5f602084013e612664565b606091505b50509050806126a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161269f90613fdb565b60405180910390fd5b505b5f6017819055505f60188190555050505050505050505b50505b5b81856126d19190613e6e565b945060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461278057600d548561273488610fe7565b61273e9190613386565b111561277f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277690614043565b60405180910390fd5b5b50505b829150505b9392505050565b612797610ef4565b6127d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127cd906140ab565b60405180910390fd5b5f600560146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6128196119ec565b60405161282691906130e9565b60405180910390a1565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361289e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289590614139565b60405180910390fd5b6128a9825f83612dd7565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561292c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612923906141c7565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f8282546129809190613e6e565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129e49190612fe7565b60405180910390a36129f7835f84612ddc565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612ac7610ef4565b15612b07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612afe9061422f565b60405180910390fd5b6001600560146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612b4b6119ec565b604051612b5891906130e9565b60405180910390a1565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612bd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bc7906142bd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612c3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c359061434b565b60405180910390fd5b612c49838383612dd7565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612ccc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cc3906143d9565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612d5a9190613386565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612dbe9190612fe7565b60405180910390a3612dd1848484612ddc565b50505050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b612e0481612df2565b8114612e0e575f80fd5b50565b5f81359050612e1f81612dfb565b92915050565b5f8060408385031215612e3b57612e3a612dea565b5b5f612e4885828601612e11565b9250506020612e5985828601612e11565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612e9a578082015181840152602081019050612e7f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612ebf82612e63565b612ec98185612e6d565b9350612ed9818560208601612e7d565b612ee281612ea5565b840191505092915050565b5f6020820190508181035f830152612f058184612eb5565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612f3682612f0d565b9050919050565b612f4681612f2c565b8114612f50575f80fd5b50565b5f81359050612f6181612f3d565b92915050565b5f8060408385031215612f7d57612f7c612dea565b5b5f612f8a85828601612f53565b9250506020612f9b85828601612e11565b9150509250929050565b5f8115159050919050565b612fb981612fa5565b82525050565b5f602082019050612fd25f830184612fb0565b92915050565b612fe181612df2565b82525050565b5f602082019050612ffa5f830184612fd8565b92915050565b5f805f6060848603121561301757613016612dea565b5b5f61302486828701612f53565b935050602061303586828701612f53565b925050604061304686828701612e11565b9150509250925092565b5f60ff82169050919050565b61306581613050565b82525050565b5f60208201905061307e5f83018461305c565b92915050565b5f6020828403121561309957613098612dea565b5b5f6130a684828501612e11565b91505092915050565b5f602082840312156130c4576130c3612dea565b5b5f6130d184828501612f53565b91505092915050565b6130e381612f2c565b82525050565b5f6020820190506130fc5f8301846130da565b92915050565b5f806040838503121561311857613117612dea565b5b5f61312585828601612f53565b925050602061313685828601612f53565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613174602083612e6d565b915061317f82613140565b602082019050919050565b5f6020820190508181035f8301526131a181613168565b9050919050565b5f81905092915050565b7f64657600000000000000000000000000000000000000000000000000000000005f82015250565b5f6131e66003836131a8565b91506131f1826131b2565b600382019050919050565b5f613206826131da565b9150819050919050565b7f6c697175696469747900000000000000000000000000000000000000000000005f82015250565b5f6132446009836131a8565b915061324f82613210565b600982019050919050565b5f61326482613238565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806132b257607f821691505b6020821081036132c5576132c461326e565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f613325602883612e6d565b9150613330826132cb565b604082019050919050565b5f6020820190508181035f83015261335281613319565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61339082612df2565b915061339b83612df2565b92508282019050808211156133b3576133b2613359565b5b92915050565b7f45524332303a20436f6e7472616374206973206e6f74207061757365640000005f82015250565b5f6133ed601d83612e6d565b91506133f8826133b9565b602082019050919050565b5f6020820190508181035f83015261341a816133e1565b9050919050565b7f45524332303a204163636f756e7420697320616c7265616479206578636c75645f8201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b5f61347b602283612e6d565b915061348682613421565b604082019050919050565b5f6020820190508181035f8301526134a88161346f565b9050919050565b7f45524332303a2054617820697320616c726561647920656e61626c65640000005f82015250565b5f6134e3601d83612e6d565b91506134ee826134af565b602082019050919050565b5f6020820190508181035f830152613510816134d7565b9050919050565b7f4e4f207275672070756c6c0000000000000000000000000000000000000000005f82015250565b5f61354b600b83612e6d565b915061355682613517565b602082019050919050565b5f6020820190508181035f8301526135788161353f565b9050919050565b5f61358982612df2565b915061359483612df2565b92508282026135a281612df2565b915082820484148315176135b9576135b8613359565b5b5092915050565b7f45524332303a20436f6e747261637420697320616c72656164792070617573655f8201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b5f61361a602183612e6d565b9150613625826135c0565b604082019050919050565b5f6020820190508181035f8301526136478161360e565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6136a8602583612e6d565b91506136b38261364e565b604082019050919050565b5f6020820190508181035f8301526136d58161369c565b9050919050565b7f45524332303a204163636f756e74206973206e6f74206578636c7564656400005f82015250565b5f613710601e83612e6d565b915061371b826136dc565b602082019050919050565b5f6020820190508181035f83015261373d81613704565b9050919050565b7f45524332303a2054617820697320616c72656164792064697361626c656400005f82015250565b5f613778601e83612e6d565b915061378382613744565b602082019050919050565b5f6020820190508181035f8301526137a58161376c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613806602683612e6d565b9150613811826137ac565b604082019050919050565b5f6020820190508181035f830152613833816137fa565b9050919050565b5f8151905061384881612dfb565b92915050565b5f6020828403121561386357613862612dea565b5b5f6138708482850161383a565b91505092915050565b5f60408201905061388c5f8301856130da565b6138996020830184612fd8565b9392505050565b6138a981612fa5565b81146138b3575f80fd5b50565b5f815190506138c4816138a0565b92915050565b5f602082840312156138df576138de612dea565b5b5f6138ec848285016138b6565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61394f602483612e6d565b915061395a826138f5565b604082019050919050565b5f6020820190508181035f83015261397c81613943565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6139dd602283612e6d565b91506139e882613983565b604082019050919050565b5f6020820190508181035f830152613a0a816139d1565b9050919050565b7f45524332303a20746f6b656e207472616e73666572207768696c6520706175735f8201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b5f613a6b602283612e6d565b9150613a7682613a11565b604082019050919050565b5f6020820190508181035f830152613a9881613a5f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613b0781612f3d565b92915050565b5f60208284031215613b2257613b21612dea565b5b5f613b2f84828501613af9565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613b6f82612df2565b9150613b7a83612df2565b925082613b8a57613b89613b38565b5b828204905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613bc781612f2c565b82525050565b5f613bd88383613bbe565b60208301905092915050565b5f602082019050919050565b5f613bfa82613b95565b613c048185613b9f565b9350613c0f83613baf565b805f5b83811015613c3f578151613c268882613bcd565b9750613c3183613be4565b925050600181019050613c12565b5085935050505092915050565b5f604082019050613c5f5f830185612fd8565b8181036020830152613c718184613bf0565b90509392505050565b5f80fd5b613c8782612ea5565b810181811067ffffffffffffffff82111715613ca657613ca5613a9f565b5b80604052505050565b5f613cb8612de1565b9050613cc48282613c7e565b919050565b5f67ffffffffffffffff821115613ce357613ce2613a9f565b5b602082029050602081019050919050565b5f80fd5b5f613d0a613d0584613cc9565b613caf565b90508083825260208201905060208402830185811115613d2d57613d2c613cf4565b5b835b81811015613d565780613d42888261383a565b845260208401935050602081019050613d2f565b5050509392505050565b5f82601f830112613d7457613d73613c7a565b5b8151613d84848260208601613cf8565b91505092915050565b5f60208284031215613da257613da1612dea565b5b5f82015167ffffffffffffffff811115613dbf57613dbe612dee565b5b613dcb84828501613d60565b91505092915050565b5f819050919050565b5f819050919050565b5f613e00613dfb613df684613dd4565b613ddd565b612df2565b9050919050565b613e1081613de6565b82525050565b5f60a082019050613e295f830188612fd8565b613e366020830187613e07565b8181036040830152613e488186613bf0565b9050613e5760608301856130da565b613e646080830184612fd8565b9695505050505050565b5f613e7882612df2565b9150613e8383612df2565b9250828203905081811115613e9b57613e9a613359565b5b92915050565b5f60c082019050613eb45f8301896130da565b613ec16020830188612fd8565b613ece6040830187613e07565b613edb6060830186613e07565b613ee860808301856130da565b613ef560a0830184612fd8565b979650505050505050565b5f805f60608486031215613f1757613f16612dea565b5b5f613f248682870161383a565b9350506020613f358682870161383a565b9250506040613f468682870161383a565b9150509250925092565b5f81905092915050565b50565b5f613f685f83613f50565b9150613f7382613f5a565b5f82019050919050565b5f613f8782613f5d565b9150819050919050565b7f7472616e7366657220746f20206465762077616c6c6574206661696c656400005f82015250565b5f613fc5601e83612e6d565b9150613fd082613f91565b602082019050919050565b5f6020820190508181035f830152613ff281613fb9565b9050919050565b7f6d617857616c6c6574206c696d697420657863656564656400000000000000005f82015250565b5f61402d601883612e6d565b915061403882613ff9565b602082019050919050565b5f6020820190508181035f83015261405a81614021565b9050919050565b7f5061757361626c653a206e6f74207061757365640000000000000000000000005f82015250565b5f614095601483612e6d565b91506140a082614061565b602082019050919050565b5f6020820190508181035f8301526140c281614089565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f614123602183612e6d565b915061412e826140c9565b604082019050919050565b5f6020820190508181035f83015261415081614117565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f6141b1602283612e6d565b91506141bc82614157565b604082019050919050565b5f6020820190508181035f8301526141de816141a5565b9050919050565b7f5061757361626c653a20706175736564000000000000000000000000000000005f82015250565b5f614219601083612e6d565b9150614224826141e5565b602082019050919050565b5f6020820190508181035f8301526142468161420d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6142a7602583612e6d565b91506142b28261424d565b604082019050919050565b5f6020820190508181035f8301526142d48161429b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f614335602383612e6d565b9150614340826142db565b604082019050919050565b5f6020820190508181035f83015261436281614329565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6143c3602683612e6d565b91506143ce82614369565b604082019050919050565b5f6020820190508181035f8301526143f0816143b7565b905091905056fea26469706673582212203b00f41f8a47ebb5c21d4163eb88de34429d4de68a5b5390c22842361ea20ebd64736f6c63430008140033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000000642454e4445520000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000642454e4445520000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _tokenName (string): BENDER
Arg [1] : _tokenSymbol (string): BENDER
Arg [2] : _supply (uint256): 1000000000

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 000000000000000000000000000000000000000000000000000000003b9aca00
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [4] : 42454e4445520000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [6] : 42454e4445520000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

20107:10064:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28563:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2101:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3538:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2491:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20947:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4189:492;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28786:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;27055:106;;;;;;;;;;;;;:::i;:::-;;2333:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5090:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27434:126;;;;;;;;;;;;;:::i;:::-;;27867:91;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;28065:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;29561:136;;;;;;;;;;;;;:::i;:::-;;11218:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27636:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2662:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10052:94;;;;;;;;;;;;;:::i;:::-;;27235:127;;;;;;;;;;;;;:::i;:::-;;9401:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2215:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5319:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3002:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28324:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;30017:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29763:138;;;;;;;;;;;;;:::i;:::-;;29020:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3240:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10301:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20572:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29133:363;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;28563:160;9632:12;:10;:12::i;:::-;9621:23;;:7;:5;:7::i;:::-;:23;;;9613:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;28659:3:::1;28641:8;:15;;;;;:::i;:::-;;;;;;;;;;;;;:21;;;;28697:9;28673:8;:21;;;;;:::i;:::-;;;;;;;;;;;;;:33;;;;28563:160:::0;;:::o;2101:100::-;2155:13;2188:5;2181:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2101:100;:::o;3538:169::-;3621:4;3638:39;3647:12;:10;:12::i;:::-;3661:7;3670:6;3638:8;:39::i;:::-;3695:4;3688:11;;3538:169;;;;:::o;2491:108::-;2552:7;2579:12;;2572:19;;2491:108;:::o;20947:28::-;;;;;;;;;;;;;:::o;4189:492::-;4329:4;4346:36;4356:6;4364:9;4375:6;4346:9;:36::i;:::-;4395:24;4422:11;:19;4434:6;4422:19;;;;;;;;;;;;;;;:33;4442:12;:10;:12::i;:::-;4422:33;;;;;;;;;;;;;;;;4395:60;;4494:6;4474:16;:26;;4466:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;4581:57;4590:6;4598:12;:10;:12::i;:::-;4631:6;4612:16;:25;4581:8;:57::i;:::-;4669:4;4662:11;;;4189:492;;;;;:::o;28786:167::-;9632:12;:10;:12::i;:::-;9621:23;;:7;:5;:7::i;:::-;:23;;;9613:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;28887:3:::1;28868:9;:16;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;;28926:9;28901;:22;;;;;:::i;:::-;;;;;;;;;;;;;:34;;;;28786:167:::0;;:::o;27055:106::-;9632:12;:10;:12::i;:::-;9621:23;;:7;:5;:7::i;:::-;:23;;;9613:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27105:48:::1;27123:1;27135:13;;;;;;;;;;;27151:1;27105:9;:48::i;:::-;;27055:106::o:0;2333:93::-;2391:5;2416:2;2409:9;;2333:93;:::o;5090:215::-;5178:4;5195:80;5204:12;:10;:12::i;:::-;5218:7;5264:10;5227:11;:25;5239:12;:10;:12::i;:::-;5227:25;;;;;;;;;;;;;;;:34;5253:7;5227:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5195:8;:80::i;:::-;5293:4;5286:11;;5090:215;;;;:::o;27434:126::-;9632:12;:10;:12::i;:::-;9621:23;;:7;:5;:7::i;:::-;:23;;;9613:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27489:8:::1;:6;:8::i;:::-;27481:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;27542:10;:8;:10::i;:::-;27434:126::o:0;27867:91::-;9632:12;:10;:12::i;:::-;9621:23;;:7;:5;:7::i;:::-;:23;;;9613:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27925:25:::1;27931:10;27943:6;27925:5;:25::i;:::-;27867:91:::0;:::o;28065:175::-;9632:12;:10;:12::i;:::-;9621:23;;:7;:5;:7::i;:::-;:23;;;9613:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;28136:19:::1;28147:7;28136:10;:19::i;:::-;28135:20;28127:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;28228:4;28205:11;:20;28217:7;28205:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;28065:175:::0;:::o;29561:136::-;9632:12;:10;:12::i;:::-;9621:23;;:7;:5;:7::i;:::-;:23;;;9613:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;29619:9:::1;;;;;;;;;;;29618:10;29610:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;29685:4;29673:9;;:16;;;;;;;;;;;;;;;;;;29561:136::o:0;11218:86::-;11265:4;11289:7;;;;;;;;;;;11282:14;;11218:86;:::o;27636:154::-;9632:12;:10;:12::i;:::-;9621:23;;:7;:5;:7::i;:::-;:23;;;9613:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27723:5:::1;27714:6;:14;27705:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;27776:6;27767;:15;;;;:::i;:::-;27755:9;:27;;;;27636:154:::0;:::o;2662:127::-;2736:7;2763:9;:18;2773:7;2763:18;;;;;;;;;;;;;;;;2756:25;;2662:127;;;:::o;10052:94::-;9632:12;:10;:12::i;:::-;9621:23;;:7;:5;:7::i;:::-;:23;;;9613:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10117:21:::1;10135:1;10117:9;:21::i;:::-;10052:94::o:0;27235:127::-;9632:12;:10;:12::i;:::-;9621:23;;:7;:5;:7::i;:::-;:23;;;9613:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27289:8:::1;:6;:8::i;:::-;27288:9;27280:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;27346:8;:6;:8::i;:::-;27235:127::o:0;9401:87::-;9447:7;9474:6;;;;;;;;;;;9467:13;;9401:87;:::o;2215:104::-;2271:13;2304:7;2297:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2215:104;:::o;5319:413::-;5412:4;5429:24;5456:11;:25;5468:12;:10;:12::i;:::-;5456:25;;;;;;;;;;;;;;;:34;5482:7;5456:34;;;;;;;;;;;;;;;;5429:61;;5529:15;5509:16;:35;;5501:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;5622:67;5631:12;:10;:12::i;:::-;5645:7;5673:15;5654:16;:34;5622:8;:67::i;:::-;5720:4;5713:11;;;5319:413;;;;:::o;3002:175::-;3088:4;3105:42;3115:12;:10;:12::i;:::-;3129:9;3140:6;3105:9;:42::i;:::-;3165:4;3158:11;;3002:175;;;;:::o;28324:177::-;9632:12;:10;:12::i;:::-;9621:23;;:7;:5;:7::i;:::-;:23;;;9613:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;28400:19:::1;28411:7;28400:10;:19::i;:::-;28392:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;28488:5;28465:11;:20;28477:7;28465:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;28324:177:::0;:::o;30017:110::-;30075:4;30099:11;:20;30111:7;30099:20;;;;;;;;;;;;;;;;;;;;;;;;;30092:27;;30017:110;;;:::o;29763:138::-;9632:12;:10;:12::i;:::-;9621:23;;:7;:5;:7::i;:::-;:23;;;9613:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;29821:9:::1;;;;;;;;;;;29813:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;29888:5;29876:9;;:17;;;;;;;;;;;;;;;;;;29763:138::o:0;29020:105::-;9632:12;:10;:12::i;:::-;9621:23;;:7;:5;:7::i;:::-;:23;;;9613:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;29104:3:::1;29084:10;:17;;;;;:::i;:::-;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;29020:105:::0;:::o;3240:151::-;3329:7;3356:11;:18;3368:5;3356:18;;;;;;;;;;;;;;;:27;3375:7;3356:27;;;;;;;;;;;;;;;;3349:34;;3240:151;;;;:::o;10301:192::-;9632:12;:10;:12::i;:::-;9621:23;;:7;:5;:7::i;:::-;:23;;;9613:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10410:1:::1;10390:22;;:8;:22;;::::0;10382:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10466:19;10476:8;10466:9;:19::i;:::-;10301:192:::0;:::o;20572:24::-;;;;:::o;29133:363::-;9632:12;:10;:12::i;:::-;9621:23;;:7;:5;:7::i;:::-;:23;;;9613:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;29230:3:::1;29212:22;;:6;:22;;::::0;29208:124:::1;;29259:7;:5;:7::i;:::-;29251:25;;:48;29277:21;29251:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;29314:7;;29208:124;29342:17;29369:6;29342:34;;29387:15;29405:10;:20;;;29434:4;29405:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29387:53;;29451:10;:19;;;29471:7;:5;:7::i;:::-;29480;29451:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;29194:302;;9692:1;29133:363:::0;:::o;1105:98::-;1158:7;1185:10;1178:17;;1105:98;:::o;7781:380::-;7934:1;7917:19;;:5;:19;;;7909:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8015:1;7996:21;;:7;:21;;;7988:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8099:6;8069:11;:18;8081:5;8069:18;;;;;;;;;;;;;;;:27;8088:7;8069:27;;;;;;;;;;;;;;;:36;;;;8137:7;8121:32;;8130:5;8121:32;;;8146:6;8121:32;;;;;;:::i;:::-;;;;;;;;7781:380;;;:::o;26603:369::-;26753:8;:6;:8::i;:::-;26752:9;26744:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;26824:9;;;;;;;;;;;26821:89;;;26859:36;26869:6;26877:9;26888:6;26859:9;:36::i;:::-;26850:45;;26821:89;26922:42;26938:6;26946:9;26957:6;26922:15;:42::i;:::-;26603:369;;;:::o;22130:4461::-;22208:7;22228:25;22270:1;22256:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22228:44;;22305:4;22283:8;22292:1;22283:11;;;;;;;;:::i;:::-;;;;;;;:27;;;;;;;;;;;22335:17;;;;;;;;;;;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22321:8;22330:1;22321:11;;;;;;;;:::i;:::-;;;;;;;:38;;;;;;;;;;;22384:16;22395:4;22384:10;:16::i;:::-;22383:17;:36;;;;;22405:14;22416:2;22405:10;:14::i;:::-;22404:15;22383:36;22380:4170;;;22436:11;22462:16;22490:11;;22481:6;:20;;;;:::i;:::-;22462:39;;22535:13;;;;;;;;;;;22519:30;;:4;:30;;;22516:3814;;22588:8;:15;;;;;:::i;:::-;;;;;;;;;;;;;;22577:8;:26;;;;:::i;:::-;22570:33;;;;;:::i;:::-;;;22640:8;:21;;;;;:::i;:::-;;;;;;;;;;;;;;22629:8;:32;;;;:::i;:::-;22622:39;;;;;:::i;:::-;;;22724:1;22718:3;:7;22715:93;;;22750:35;22760:4;22774;22781:3;22750:9;:35::i;:::-;22715:93;22886:8;:15;;;;;:::i;:::-;;;;;;;;;;;;;;22875:8;:26;;;;:::i;:::-;22862:9;;:39;;;;;;;:::i;:::-;;;;;;;;22950:8;:21;;;;;:::i;:::-;;;;;;;;;;;;;;22939:8;:32;;;;:::i;:::-;22920:15;;:51;;;;;;;:::i;:::-;;;;;;;;22516:3814;;;23012:13;;;;;;;;;;;22998:28;;:2;:28;;;22995:3335;;23083:9;:16;;;;;:::i;:::-;;;;;;;;;;;;;;23072:8;:27;;;;:::i;:::-;23065:34;;;;;:::i;:::-;;;23136:9;:22;;;;;:::i;:::-;;;;;;;;;;;;;;23125:8;:33;;;;:::i;:::-;23118:40;;;;;:::i;:::-;;;23222:1;23216:3;:7;23213:93;;;23248:35;23258:4;23272;23279:3;23248:9;:35::i;:::-;23213:93;23383:9;:16;;;;;:::i;:::-;;;;;;;;;;;;;;23372:8;:27;;;;:::i;:::-;23359:9;;:40;;;;;;;:::i;:::-;;;;;;;;23448:9;:22;;;;;:::i;:::-;;;;;;;;;;;;;;23437:8;:33;;;;:::i;:::-;23418:15;;:52;;;;;;;:::i;:::-;;;;;;;;23525:14;23555:15;;23543:9;;:27;;;;:::i;:::-;23525:45;;23620:1;23610:6;:11;23607:29;;23630:6;23623:13;;;;;;;;23607:29;23673:16;23692:17;;;;;;;;;;;:31;;;23737:15;;23725:9;;:27;;;;:::i;:::-;23754:8;23692:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23764:1;23692:74;;;;;;;;:::i;:::-;;;;;;;;23673:93;;23818:13;;23806:8;:25;23803:2494;;23856:20;23879:21;23856:44;;23925:14;23972:1;23954:15;;:19;;;;:::i;:::-;23942:9;;:31;;;;:::i;:::-;23925:48;;24019:59;24036:4;24051:17;;;;;;;;;;;24071:6;24019:8;:59::i;:::-;24115:17;;;;;;;;;;;:39;;;24181:6;24214:1;24242:8;24285:4;24317:15;24115:240;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;24400:17;24444:12;24420:21;:36;;;;:::i;:::-;24400:56;;24501:22;24544:1;24526:15;;:19;;;;:::i;:::-;24501:44;;24568:20;24649:6;24638;24628;24624:1;24606:15;;:19;;;;:::i;:::-;:28;;;;:::i;:::-;24605:39;;;;:::i;:::-;24592:9;:53;;;;:::i;:::-;24591:64;;;;:::i;:::-;24568:87;;24722:14;24787:6;24776;24766;24754:9;;:18;;;;:::i;:::-;24753:29;;;;:::i;:::-;24740:9;:43;;;;:::i;:::-;24739:54;;;;:::i;:::-;24722:71;;24859:67;24876:4;24891:17;;;;;;;;;;;24911:14;24859:8;:67::i;:::-;24971:17;;;;;;;;;;;:33;;;25012:12;25060:4;25092:14;25133:1;25161;25189:10;:23;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;25239:15;24971:306;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;25322:23;25390:14;25381:6;:23;;;;:::i;:::-;25361:15;;25349:9;;:27;;;;:::i;:::-;25348:57;;;;:::i;:::-;25322:83;;25471:1;25453:15;:19;25450:135;;;25501:60;25519:4;25526:10;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;25545:15;25501:9;:60::i;:::-;25450:135;25651:12;25668:10;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:22;;25698:6;25668:41;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25650:59;;;25739:7;25731:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;25890:1;25874:12;25865:6;:21;;;;:::i;:::-;25851:9;:36;;;;:::i;:::-;:40;25848:262;;;25920:13;25938:10;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:22;;25990:12;25981:6;:21;;;;:::i;:::-;25968:9;:35;;;;:::i;:::-;25938:70;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25919:89;;;26043:8;26035:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;25893:217;25848:262;26212:1;26200:9;:13;;;;26254:1;26236:15;:19;;;;23833:2464;;;;;;;;23803:2494;23028:3302;;22995:3335;22516:3814;26368:3;26358:13;;;;;:::i;:::-;;;26404;;;;;;;;;;;26390:28;;:2;:28;;;26386:140;;26472:9;;26462:6;26446:13;26456:2;26446:9;:13::i;:::-;:22;;;;:::i;:::-;:35;;26438:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;26386:140;22421:4129;;22380:4170;26577:6;26570:13;;;22130:4461;;;;;;:::o;12017:120::-;11821:8;:6;:8::i;:::-;11813:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;12086:5:::1;12076:7;;:15;;;;;;;;;;;;;;;;;;12107:22;12116:12;:10;:12::i;:::-;12107:22;;;;;;:::i;:::-;;;;;;;;12017:120::o:0;7176:591::-;7279:1;7260:21;;:7;:21;;;7252:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7332:49;7353:7;7370:1;7374:6;7332:20;:49::i;:::-;7394:22;7419:9;:18;7429:7;7419:18;;;;;;;;;;;;;;;;7394:43;;7474:6;7456:14;:24;;7448:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7593:6;7576:14;:23;7555:9;:18;7565:7;7555:18;;;;;;;;;;;;;;;:44;;;;7637:6;7621:12;;:22;;;;;;;:::i;:::-;;;;;;;;7687:1;7661:37;;7670:7;7661:37;;;7691:6;7661:37;;;;;;:::i;:::-;;;;;;;;7711:48;7731:7;7748:1;7752:6;7711:19;:48::i;:::-;7241:526;7176:591;;:::o;10501:174::-;10558:16;10577:6;;;;;;;;;;;10558:25;;10603:8;10594:6;;:17;;;;;;;;;;;;;;;;;;10658:8;10627:40;;10648:8;10627:40;;;;;;;;;;;;10547:128;10501:174;:::o;11886:118::-;11544:8;:6;:8::i;:::-;11543:9;11535:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11956:4:::1;11946:7;;:14;;;;;;;;;;;;;;;;;;11976:20;11983:12;:10;:12::i;:::-;11976:20;;;;;;:::i;:::-;;;;;;;;11886:118::o:0;5744:733::-;5902:1;5884:20;;:6;:20;;;5876:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5986:1;5965:23;;:9;:23;;;5957:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6041:47;6062:6;6070:9;6081:6;6041:20;:47::i;:::-;6101:21;6125:9;:17;6135:6;6125:17;;;;;;;;;;;;;;;;6101:41;;6178:6;6161:13;:23;;6153:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;6299:6;6283:13;:22;6263:9;:17;6273:6;6263:17;;;;;;;;;;;;;;;:42;;;;6351:6;6327:9;:20;6337:9;6327:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;6392:9;6375:35;;6384:6;6375:35;;;6403:6;6375:35;;;;;;:::i;:::-;;;;;;;;6423:46;6443:6;6451:9;6462:6;6423:19;:46::i;:::-;5865:612;5744:733;;;:::o;8761:125::-;;;;:::o;8899:124::-;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:474::-;758:6;766;815:2;803:9;794:7;790:23;786:32;783:119;;;821:79;;:::i;:::-;783:119;941:1;966:53;1011:7;1002:6;991:9;987:22;966:53;:::i;:::-;956:63;;912:117;1068:2;1094:53;1139:7;1130:6;1119:9;1115:22;1094:53;:::i;:::-;1084:63;;1039:118;690:474;;;;;:::o;1170:99::-;1222:6;1256:5;1250:12;1240:22;;1170:99;;;:::o;1275:169::-;1359:11;1393:6;1388:3;1381:19;1433:4;1428:3;1424:14;1409:29;;1275:169;;;;:::o;1450:246::-;1531:1;1541:113;1555:6;1552:1;1549:13;1541:113;;;1640:1;1635:3;1631:11;1625:18;1621:1;1616:3;1612:11;1605:39;1577:2;1574:1;1570:10;1565:15;;1541:113;;;1688:1;1679:6;1674:3;1670:16;1663:27;1512:184;1450:246;;;:::o;1702:102::-;1743:6;1794:2;1790:7;1785:2;1778:5;1774:14;1770:28;1760:38;;1702:102;;;:::o;1810:377::-;1898:3;1926:39;1959:5;1926:39;:::i;:::-;1981:71;2045:6;2040:3;1981:71;:::i;:::-;1974:78;;2061:65;2119:6;2114:3;2107:4;2100:5;2096:16;2061:65;:::i;:::-;2151:29;2173:6;2151:29;:::i;:::-;2146:3;2142:39;2135:46;;1902:285;1810:377;;;;:::o;2193:313::-;2306:4;2344:2;2333:9;2329:18;2321:26;;2393:9;2387:4;2383:20;2379:1;2368:9;2364:17;2357:47;2421:78;2494:4;2485:6;2421:78;:::i;:::-;2413:86;;2193:313;;;;:::o;2512:126::-;2549:7;2589:42;2582:5;2578:54;2567:65;;2512:126;;;:::o;2644:96::-;2681:7;2710:24;2728:5;2710:24;:::i;:::-;2699:35;;2644:96;;;:::o;2746:122::-;2819:24;2837:5;2819:24;:::i;:::-;2812:5;2809:35;2799:63;;2858:1;2855;2848:12;2799:63;2746:122;:::o;2874:139::-;2920:5;2958:6;2945:20;2936:29;;2974:33;3001:5;2974:33;:::i;:::-;2874:139;;;;:::o;3019:474::-;3087:6;3095;3144:2;3132:9;3123:7;3119:23;3115:32;3112:119;;;3150:79;;:::i;:::-;3112:119;3270:1;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3241:117;3397:2;3423:53;3468:7;3459:6;3448:9;3444:22;3423:53;:::i;:::-;3413:63;;3368:118;3019:474;;;;;:::o;3499:90::-;3533:7;3576:5;3569:13;3562:21;3551:32;;3499:90;;;:::o;3595:109::-;3676:21;3691:5;3676:21;:::i;:::-;3671:3;3664:34;3595:109;;:::o;3710:210::-;3797:4;3835:2;3824:9;3820:18;3812:26;;3848:65;3910:1;3899:9;3895:17;3886:6;3848:65;:::i;:::-;3710:210;;;;:::o;3926:118::-;4013:24;4031:5;4013:24;:::i;:::-;4008:3;4001:37;3926:118;;:::o;4050:222::-;4143:4;4181:2;4170:9;4166:18;4158:26;;4194:71;4262:1;4251:9;4247:17;4238:6;4194:71;:::i;:::-;4050:222;;;;:::o;4278:619::-;4355:6;4363;4371;4420:2;4408:9;4399:7;4395:23;4391:32;4388:119;;;4426:79;;:::i;:::-;4388:119;4546:1;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4517:117;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4801:2;4827:53;4872:7;4863:6;4852:9;4848:22;4827:53;:::i;:::-;4817:63;;4772:118;4278:619;;;;;:::o;4903:86::-;4938:7;4978:4;4971:5;4967:16;4956:27;;4903:86;;;:::o;4995:112::-;5078:22;5094:5;5078:22;:::i;:::-;5073:3;5066:35;4995:112;;:::o;5113:214::-;5202:4;5240:2;5229:9;5225:18;5217:26;;5253:67;5317:1;5306:9;5302:17;5293:6;5253:67;:::i;:::-;5113:214;;;;:::o;5333:329::-;5392:6;5441:2;5429:9;5420:7;5416:23;5412:32;5409:119;;;5447:79;;:::i;:::-;5409:119;5567:1;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5538:117;5333:329;;;;:::o;5668:::-;5727:6;5776:2;5764:9;5755:7;5751:23;5747:32;5744:119;;;5782:79;;:::i;:::-;5744:119;5902:1;5927:53;5972:7;5963:6;5952:9;5948:22;5927:53;:::i;:::-;5917:63;;5873:117;5668:329;;;;:::o;6003:118::-;6090:24;6108:5;6090:24;:::i;:::-;6085:3;6078:37;6003:118;;:::o;6127:222::-;6220:4;6258:2;6247:9;6243:18;6235:26;;6271:71;6339:1;6328:9;6324:17;6315:6;6271:71;:::i;:::-;6127:222;;;;:::o;6355:474::-;6423:6;6431;6480:2;6468:9;6459:7;6455:23;6451:32;6448:119;;;6486:79;;:::i;:::-;6448:119;6606:1;6631:53;6676:7;6667:6;6656:9;6652:22;6631:53;:::i;:::-;6621:63;;6577:117;6733:2;6759:53;6804:7;6795:6;6784:9;6780:22;6759:53;:::i;:::-;6749:63;;6704:118;6355:474;;;;;:::o;6835:182::-;6975:34;6971:1;6963:6;6959:14;6952:58;6835:182;:::o;7023:366::-;7165:3;7186:67;7250:2;7245:3;7186:67;:::i;:::-;7179:74;;7262:93;7351:3;7262:93;:::i;:::-;7380:2;7375:3;7371:12;7364:19;;7023:366;;;:::o;7395:419::-;7561:4;7599:2;7588:9;7584:18;7576:26;;7648:9;7642:4;7638:20;7634:1;7623:9;7619:17;7612:47;7676:131;7802:4;7676:131;:::i;:::-;7668:139;;7395:419;;;:::o;7820:148::-;7922:11;7959:3;7944:18;;7820:148;;;;:::o;7974:153::-;8114:5;8110:1;8102:6;8098:14;8091:29;7974:153;:::o;8133:400::-;8293:3;8314:84;8396:1;8391:3;8314:84;:::i;:::-;8307:91;;8407:93;8496:3;8407:93;:::i;:::-;8525:1;8520:3;8516:11;8509:18;;8133:400;;;:::o;8539:381::-;8724:3;8746:148;8890:3;8746:148;:::i;:::-;8739:155;;8911:3;8904:10;;8539:381;;;:::o;8926:159::-;9066:11;9062:1;9054:6;9050:14;9043:35;8926:159;:::o;9091:400::-;9251:3;9272:84;9354:1;9349:3;9272:84;:::i;:::-;9265:91;;9365:93;9454:3;9365:93;:::i;:::-;9483:1;9478:3;9474:11;9467:18;;9091:400;;;:::o;9497:381::-;9682:3;9704:148;9848:3;9704:148;:::i;:::-;9697:155;;9869:3;9862:10;;9497:381;;;:::o;9884:180::-;9932:77;9929:1;9922:88;10029:4;10026:1;10019:15;10053:4;10050:1;10043:15;10070:320;10114:6;10151:1;10145:4;10141:12;10131:22;;10198:1;10192:4;10188:12;10219:18;10209:81;;10275:4;10267:6;10263:17;10253:27;;10209:81;10337:2;10329:6;10326:14;10306:18;10303:38;10300:84;;10356:18;;:::i;:::-;10300:84;10121:269;10070:320;;;:::o;10396:227::-;10536:34;10532:1;10524:6;10520:14;10513:58;10605:10;10600:2;10592:6;10588:15;10581:35;10396:227;:::o;10629:366::-;10771:3;10792:67;10856:2;10851:3;10792:67;:::i;:::-;10785:74;;10868:93;10957:3;10868:93;:::i;:::-;10986:2;10981:3;10977:12;10970:19;;10629:366;;;:::o;11001:419::-;11167:4;11205:2;11194:9;11190:18;11182:26;;11254:9;11248:4;11244:20;11240:1;11229:9;11225:17;11218:47;11282:131;11408:4;11282:131;:::i;:::-;11274:139;;11001:419;;;:::o;11426:180::-;11474:77;11471:1;11464:88;11571:4;11568:1;11561:15;11595:4;11592:1;11585:15;11612:191;11652:3;11671:20;11689:1;11671:20;:::i;:::-;11666:25;;11705:20;11723:1;11705:20;:::i;:::-;11700:25;;11748:1;11745;11741:9;11734:16;;11769:3;11766:1;11763:10;11760:36;;;11776:18;;:::i;:::-;11760:36;11612:191;;;;:::o;11809:179::-;11949:31;11945:1;11937:6;11933:14;11926:55;11809:179;:::o;11994:366::-;12136:3;12157:67;12221:2;12216:3;12157:67;:::i;:::-;12150:74;;12233:93;12322:3;12233:93;:::i;:::-;12351:2;12346:3;12342:12;12335:19;;11994:366;;;:::o;12366:419::-;12532:4;12570:2;12559:9;12555:18;12547:26;;12619:9;12613:4;12609:20;12605:1;12594:9;12590:17;12583:47;12647:131;12773:4;12647:131;:::i;:::-;12639:139;;12366:419;;;:::o;12791:221::-;12931:34;12927:1;12919:6;12915:14;12908:58;13000:4;12995:2;12987:6;12983:15;12976:29;12791:221;:::o;13018:366::-;13160:3;13181:67;13245:2;13240:3;13181:67;:::i;:::-;13174:74;;13257:93;13346:3;13257:93;:::i;:::-;13375:2;13370:3;13366:12;13359:19;;13018:366;;;:::o;13390:419::-;13556:4;13594:2;13583:9;13579:18;13571:26;;13643:9;13637:4;13633:20;13629:1;13618:9;13614:17;13607:47;13671:131;13797:4;13671:131;:::i;:::-;13663:139;;13390:419;;;:::o;13815:179::-;13955:31;13951:1;13943:6;13939:14;13932:55;13815:179;:::o;14000:366::-;14142:3;14163:67;14227:2;14222:3;14163:67;:::i;:::-;14156:74;;14239:93;14328:3;14239:93;:::i;:::-;14357:2;14352:3;14348:12;14341:19;;14000:366;;;:::o;14372:419::-;14538:4;14576:2;14565:9;14561:18;14553:26;;14625:9;14619:4;14615:20;14611:1;14600:9;14596:17;14589:47;14653:131;14779:4;14653:131;:::i;:::-;14645:139;;14372:419;;;:::o;14797:161::-;14937:13;14933:1;14925:6;14921:14;14914:37;14797:161;:::o;14964:366::-;15106:3;15127:67;15191:2;15186:3;15127:67;:::i;:::-;15120:74;;15203:93;15292:3;15203:93;:::i;:::-;15321:2;15316:3;15312:12;15305:19;;14964:366;;;:::o;15336:419::-;15502:4;15540:2;15529:9;15525:18;15517:26;;15589:9;15583:4;15579:20;15575:1;15564:9;15560:17;15553:47;15617:131;15743:4;15617:131;:::i;:::-;15609:139;;15336:419;;;:::o;15761:410::-;15801:7;15824:20;15842:1;15824:20;:::i;:::-;15819:25;;15858:20;15876:1;15858:20;:::i;:::-;15853:25;;15913:1;15910;15906:9;15935:30;15953:11;15935:30;:::i;:::-;15924:41;;16114:1;16105:7;16101:15;16098:1;16095:22;16075:1;16068:9;16048:83;16025:139;;16144:18;;:::i;:::-;16025:139;15809:362;15761:410;;;;:::o;16177:220::-;16317:34;16313:1;16305:6;16301:14;16294:58;16386:3;16381:2;16373:6;16369:15;16362:28;16177:220;:::o;16403:366::-;16545:3;16566:67;16630:2;16625:3;16566:67;:::i;:::-;16559:74;;16642:93;16731:3;16642:93;:::i;:::-;16760:2;16755:3;16751:12;16744:19;;16403:366;;;:::o;16775:419::-;16941:4;16979:2;16968:9;16964:18;16956:26;;17028:9;17022:4;17018:20;17014:1;17003:9;16999:17;16992:47;17056:131;17182:4;17056:131;:::i;:::-;17048:139;;16775:419;;;:::o;17200:224::-;17340:34;17336:1;17328:6;17324:14;17317:58;17409:7;17404:2;17396:6;17392:15;17385:32;17200:224;:::o;17430:366::-;17572:3;17593:67;17657:2;17652:3;17593:67;:::i;:::-;17586:74;;17669:93;17758:3;17669:93;:::i;:::-;17787:2;17782:3;17778:12;17771:19;;17430:366;;;:::o;17802:419::-;17968:4;18006:2;17995:9;17991:18;17983:26;;18055:9;18049:4;18045:20;18041:1;18030:9;18026:17;18019:47;18083:131;18209:4;18083:131;:::i;:::-;18075:139;;17802:419;;;:::o;18227:180::-;18367:32;18363:1;18355:6;18351:14;18344:56;18227:180;:::o;18413:366::-;18555:3;18576:67;18640:2;18635:3;18576:67;:::i;:::-;18569:74;;18652:93;18741:3;18652:93;:::i;:::-;18770:2;18765:3;18761:12;18754:19;;18413:366;;;:::o;18785:419::-;18951:4;18989:2;18978:9;18974:18;18966:26;;19038:9;19032:4;19028:20;19024:1;19013:9;19009:17;19002:47;19066:131;19192:4;19066:131;:::i;:::-;19058:139;;18785:419;;;:::o;19210:180::-;19350:32;19346:1;19338:6;19334:14;19327:56;19210:180;:::o;19396:366::-;19538:3;19559:67;19623:2;19618:3;19559:67;:::i;:::-;19552:74;;19635:93;19724:3;19635:93;:::i;:::-;19753:2;19748:3;19744:12;19737:19;;19396:366;;;:::o;19768:419::-;19934:4;19972:2;19961:9;19957:18;19949:26;;20021:9;20015:4;20011:20;20007:1;19996:9;19992:17;19985:47;20049:131;20175:4;20049:131;:::i;:::-;20041:139;;19768:419;;;:::o;20193:225::-;20333:34;20329:1;20321:6;20317:14;20310:58;20402:8;20397:2;20389:6;20385:15;20378:33;20193:225;:::o;20424:366::-;20566:3;20587:67;20651:2;20646:3;20587:67;:::i;:::-;20580:74;;20663:93;20752:3;20663:93;:::i;:::-;20781:2;20776:3;20772:12;20765:19;;20424:366;;;:::o;20796:419::-;20962:4;21000:2;20989:9;20985:18;20977:26;;21049:9;21043:4;21039:20;21035:1;21024:9;21020:17;21013:47;21077:131;21203:4;21077:131;:::i;:::-;21069:139;;20796:419;;;:::o;21221:143::-;21278:5;21309:6;21303:13;21294:22;;21325:33;21352:5;21325:33;:::i;:::-;21221:143;;;;:::o;21370:351::-;21440:6;21489:2;21477:9;21468:7;21464:23;21460:32;21457:119;;;21495:79;;:::i;:::-;21457:119;21615:1;21640:64;21696:7;21687:6;21676:9;21672:22;21640:64;:::i;:::-;21630:74;;21586:128;21370:351;;;;:::o;21727:332::-;21848:4;21886:2;21875:9;21871:18;21863:26;;21899:71;21967:1;21956:9;21952:17;21943:6;21899:71;:::i;:::-;21980:72;22048:2;22037:9;22033:18;22024:6;21980:72;:::i;:::-;21727:332;;;;;:::o;22065:116::-;22135:21;22150:5;22135:21;:::i;:::-;22128:5;22125:32;22115:60;;22171:1;22168;22161:12;22115:60;22065:116;:::o;22187:137::-;22241:5;22272:6;22266:13;22257:22;;22288:30;22312:5;22288:30;:::i;:::-;22187:137;;;;:::o;22330:345::-;22397:6;22446:2;22434:9;22425:7;22421:23;22417:32;22414:119;;;22452:79;;:::i;:::-;22414:119;22572:1;22597:61;22650:7;22641:6;22630:9;22626:22;22597:61;:::i;:::-;22587:71;;22543:125;22330:345;;;;:::o;22681:223::-;22821:34;22817:1;22809:6;22805:14;22798:58;22890:6;22885:2;22877:6;22873:15;22866:31;22681:223;:::o;22910:366::-;23052:3;23073:67;23137:2;23132:3;23073:67;:::i;:::-;23066:74;;23149:93;23238:3;23149:93;:::i;:::-;23267:2;23262:3;23258:12;23251:19;;22910:366;;;:::o;23282:419::-;23448:4;23486:2;23475:9;23471:18;23463:26;;23535:9;23529:4;23525:20;23521:1;23510:9;23506:17;23499:47;23563:131;23689:4;23563:131;:::i;:::-;23555:139;;23282:419;;;:::o;23707:221::-;23847:34;23843:1;23835:6;23831:14;23824:58;23916:4;23911:2;23903:6;23899:15;23892:29;23707:221;:::o;23934:366::-;24076:3;24097:67;24161:2;24156:3;24097:67;:::i;:::-;24090:74;;24173:93;24262:3;24173:93;:::i;:::-;24291:2;24286:3;24282:12;24275:19;;23934:366;;;:::o;24306:419::-;24472:4;24510:2;24499:9;24495:18;24487:26;;24559:9;24553:4;24549:20;24545:1;24534:9;24530:17;24523:47;24587:131;24713:4;24587:131;:::i;:::-;24579:139;;24306:419;;;:::o;24731:221::-;24871:34;24867:1;24859:6;24855:14;24848:58;24940:4;24935:2;24927:6;24923:15;24916:29;24731:221;:::o;24958:366::-;25100:3;25121:67;25185:2;25180:3;25121:67;:::i;:::-;25114:74;;25197:93;25286:3;25197:93;:::i;:::-;25315:2;25310:3;25306:12;25299:19;;24958:366;;;:::o;25330:419::-;25496:4;25534:2;25523:9;25519:18;25511:26;;25583:9;25577:4;25573:20;25569:1;25558:9;25554:17;25547:47;25611:131;25737:4;25611:131;:::i;:::-;25603:139;;25330:419;;;:::o;25755:180::-;25803:77;25800:1;25793:88;25900:4;25897:1;25890:15;25924:4;25921:1;25914:15;25941:180;25989:77;25986:1;25979:88;26086:4;26083:1;26076:15;26110:4;26107:1;26100:15;26127:143;26184:5;26215:6;26209:13;26200:22;;26231:33;26258:5;26231:33;:::i;:::-;26127:143;;;;:::o;26276:351::-;26346:6;26395:2;26383:9;26374:7;26370:23;26366:32;26363:119;;;26401:79;;:::i;:::-;26363:119;26521:1;26546:64;26602:7;26593:6;26582:9;26578:22;26546:64;:::i;:::-;26536:74;;26492:128;26276:351;;;;:::o;26633:180::-;26681:77;26678:1;26671:88;26778:4;26775:1;26768:15;26802:4;26799:1;26792:15;26819:185;26859:1;26876:20;26894:1;26876:20;:::i;:::-;26871:25;;26910:20;26928:1;26910:20;:::i;:::-;26905:25;;26949:1;26939:35;;26954:18;;:::i;:::-;26939:35;26996:1;26993;26989:9;26984:14;;26819:185;;;;:::o;27010:114::-;27077:6;27111:5;27105:12;27095:22;;27010:114;;;:::o;27130:184::-;27229:11;27263:6;27258:3;27251:19;27303:4;27298:3;27294:14;27279:29;;27130:184;;;;:::o;27320:132::-;27387:4;27410:3;27402:11;;27440:4;27435:3;27431:14;27423:22;;27320:132;;;:::o;27458:108::-;27535:24;27553:5;27535:24;:::i;:::-;27530:3;27523:37;27458:108;;:::o;27572:179::-;27641:10;27662:46;27704:3;27696:6;27662:46;:::i;:::-;27740:4;27735:3;27731:14;27717:28;;27572:179;;;;:::o;27757:113::-;27827:4;27859;27854:3;27850:14;27842:22;;27757:113;;;:::o;27906:732::-;28025:3;28054:54;28102:5;28054:54;:::i;:::-;28124:86;28203:6;28198:3;28124:86;:::i;:::-;28117:93;;28234:56;28284:5;28234:56;:::i;:::-;28313:7;28344:1;28329:284;28354:6;28351:1;28348:13;28329:284;;;28430:6;28424:13;28457:63;28516:3;28501:13;28457:63;:::i;:::-;28450:70;;28543:60;28596:6;28543:60;:::i;:::-;28533:70;;28389:224;28376:1;28373;28369:9;28364:14;;28329:284;;;28333:14;28629:3;28622:10;;28030:608;;;27906:732;;;;:::o;28644:483::-;28815:4;28853:2;28842:9;28838:18;28830:26;;28866:71;28934:1;28923:9;28919:17;28910:6;28866:71;:::i;:::-;28984:9;28978:4;28974:20;28969:2;28958:9;28954:18;28947:48;29012:108;29115:4;29106:6;29012:108;:::i;:::-;29004:116;;28644:483;;;;;:::o;29133:117::-;29242:1;29239;29232:12;29256:281;29339:27;29361:4;29339:27;:::i;:::-;29331:6;29327:40;29469:6;29457:10;29454:22;29433:18;29421:10;29418:34;29415:62;29412:88;;;29480:18;;:::i;:::-;29412:88;29520:10;29516:2;29509:22;29299:238;29256:281;;:::o;29543:129::-;29577:6;29604:20;;:::i;:::-;29594:30;;29633:33;29661:4;29653:6;29633:33;:::i;:::-;29543:129;;;:::o;29678:311::-;29755:4;29845:18;29837:6;29834:30;29831:56;;;29867:18;;:::i;:::-;29831:56;29917:4;29909:6;29905:17;29897:25;;29977:4;29971;29967:15;29959:23;;29678:311;;;:::o;29995:117::-;30104:1;30101;30094:12;30135:732;30242:5;30267:81;30283:64;30340:6;30283:64;:::i;:::-;30267:81;:::i;:::-;30258:90;;30368:5;30397:6;30390:5;30383:21;30431:4;30424:5;30420:16;30413:23;;30484:4;30476:6;30472:17;30464:6;30460:30;30513:3;30505:6;30502:15;30499:122;;;30532:79;;:::i;:::-;30499:122;30647:6;30630:231;30664:6;30659:3;30656:15;30630:231;;;30739:3;30768:48;30812:3;30800:10;30768:48;:::i;:::-;30763:3;30756:61;30846:4;30841:3;30837:14;30830:21;;30706:155;30690:4;30685:3;30681:14;30674:21;;30630:231;;;30634:21;30248:619;;30135:732;;;;;:::o;30890:385::-;30972:5;31021:3;31014:4;31006:6;31002:17;30998:27;30988:122;;31029:79;;:::i;:::-;30988:122;31139:6;31133:13;31164:105;31265:3;31257:6;31250:4;31242:6;31238:17;31164:105;:::i;:::-;31155:114;;30978:297;30890:385;;;;:::o;31281:554::-;31376:6;31425:2;31413:9;31404:7;31400:23;31396:32;31393:119;;;31431:79;;:::i;:::-;31393:119;31572:1;31561:9;31557:17;31551:24;31602:18;31594:6;31591:30;31588:117;;;31624:79;;:::i;:::-;31588:117;31729:89;31810:7;31801:6;31790:9;31786:22;31729:89;:::i;:::-;31719:99;;31522:306;31281:554;;;;:::o;31841:85::-;31886:7;31915:5;31904:16;;31841:85;;;:::o;31932:60::-;31960:3;31981:5;31974:12;;31932:60;;;:::o;31998:158::-;32056:9;32089:61;32107:42;32116:32;32142:5;32116:32;:::i;:::-;32107:42;:::i;:::-;32089:61;:::i;:::-;32076:74;;31998:158;;;:::o;32162:147::-;32257:45;32296:5;32257:45;:::i;:::-;32252:3;32245:58;32162:147;;:::o;32315:831::-;32578:4;32616:3;32605:9;32601:19;32593:27;;32630:71;32698:1;32687:9;32683:17;32674:6;32630:71;:::i;:::-;32711:80;32787:2;32776:9;32772:18;32763:6;32711:80;:::i;:::-;32838:9;32832:4;32828:20;32823:2;32812:9;32808:18;32801:48;32866:108;32969:4;32960:6;32866:108;:::i;:::-;32858:116;;32984:72;33052:2;33041:9;33037:18;33028:6;32984:72;:::i;:::-;33066:73;33134:3;33123:9;33119:19;33110:6;33066:73;:::i;:::-;32315:831;;;;;;;;:::o;33152:194::-;33192:4;33212:20;33230:1;33212:20;:::i;:::-;33207:25;;33246:20;33264:1;33246:20;:::i;:::-;33241:25;;33290:1;33287;33283:9;33275:17;;33314:1;33308:4;33305:11;33302:37;;;33319:18;;:::i;:::-;33302:37;33152:194;;;;:::o;33352:807::-;33601:4;33639:3;33628:9;33624:19;33616:27;;33653:71;33721:1;33710:9;33706:17;33697:6;33653:71;:::i;:::-;33734:72;33802:2;33791:9;33787:18;33778:6;33734:72;:::i;:::-;33816:80;33892:2;33881:9;33877:18;33868:6;33816:80;:::i;:::-;33906;33982:2;33971:9;33967:18;33958:6;33906:80;:::i;:::-;33996:73;34064:3;34053:9;34049:19;34040:6;33996:73;:::i;:::-;34079;34147:3;34136:9;34132:19;34123:6;34079:73;:::i;:::-;33352:807;;;;;;;;;:::o;34165:663::-;34253:6;34261;34269;34318:2;34306:9;34297:7;34293:23;34289:32;34286:119;;;34324:79;;:::i;:::-;34286:119;34444:1;34469:64;34525:7;34516:6;34505:9;34501:22;34469:64;:::i;:::-;34459:74;;34415:128;34582:2;34608:64;34664:7;34655:6;34644:9;34640:22;34608:64;:::i;:::-;34598:74;;34553:129;34721:2;34747:64;34803:7;34794:6;34783:9;34779:22;34747:64;:::i;:::-;34737:74;;34692:129;34165:663;;;;;:::o;34834:147::-;34935:11;34972:3;34957:18;;34834:147;;;;:::o;34987:114::-;;:::o;35107:398::-;35266:3;35287:83;35368:1;35363:3;35287:83;:::i;:::-;35280:90;;35379:93;35468:3;35379:93;:::i;:::-;35497:1;35492:3;35488:11;35481:18;;35107:398;;;:::o;35511:379::-;35695:3;35717:147;35860:3;35717:147;:::i;:::-;35710:154;;35881:3;35874:10;;35511:379;;;:::o;35896:180::-;36036:32;36032:1;36024:6;36020:14;36013:56;35896:180;:::o;36082:366::-;36224:3;36245:67;36309:2;36304:3;36245:67;:::i;:::-;36238:74;;36321:93;36410:3;36321:93;:::i;:::-;36439:2;36434:3;36430:12;36423:19;;36082:366;;;:::o;36454:419::-;36620:4;36658:2;36647:9;36643:18;36635:26;;36707:9;36701:4;36697:20;36693:1;36682:9;36678:17;36671:47;36735:131;36861:4;36735:131;:::i;:::-;36727:139;;36454:419;;;:::o;36879:174::-;37019:26;37015:1;37007:6;37003:14;36996:50;36879:174;:::o;37059:366::-;37201:3;37222:67;37286:2;37281:3;37222:67;:::i;:::-;37215:74;;37298:93;37387:3;37298:93;:::i;:::-;37416:2;37411:3;37407:12;37400:19;;37059:366;;;:::o;37431:419::-;37597:4;37635:2;37624:9;37620:18;37612:26;;37684:9;37678:4;37674:20;37670:1;37659:9;37655:17;37648:47;37712:131;37838:4;37712:131;:::i;:::-;37704:139;;37431:419;;;:::o;37856:170::-;37996:22;37992:1;37984:6;37980:14;37973:46;37856:170;:::o;38032:366::-;38174:3;38195:67;38259:2;38254:3;38195:67;:::i;:::-;38188:74;;38271:93;38360:3;38271:93;:::i;:::-;38389:2;38384:3;38380:12;38373:19;;38032:366;;;:::o;38404:419::-;38570:4;38608:2;38597:9;38593:18;38585:26;;38657:9;38651:4;38647:20;38643:1;38632:9;38628:17;38621:47;38685:131;38811:4;38685:131;:::i;:::-;38677:139;;38404:419;;;:::o;38829:220::-;38969:34;38965:1;38957:6;38953:14;38946:58;39038:3;39033:2;39025:6;39021:15;39014:28;38829:220;:::o;39055:366::-;39197:3;39218:67;39282:2;39277:3;39218:67;:::i;:::-;39211:74;;39294:93;39383:3;39294:93;:::i;:::-;39412:2;39407:3;39403:12;39396:19;;39055:366;;;:::o;39427:419::-;39593:4;39631:2;39620:9;39616:18;39608:26;;39680:9;39674:4;39670:20;39666:1;39655:9;39651:17;39644:47;39708:131;39834:4;39708:131;:::i;:::-;39700:139;;39427:419;;;:::o;39852:221::-;39992:34;39988:1;39980:6;39976:14;39969:58;40061:4;40056:2;40048:6;40044:15;40037:29;39852:221;:::o;40079:366::-;40221:3;40242:67;40306:2;40301:3;40242:67;:::i;:::-;40235:74;;40318:93;40407:3;40318:93;:::i;:::-;40436:2;40431:3;40427:12;40420:19;;40079:366;;;:::o;40451:419::-;40617:4;40655:2;40644:9;40640:18;40632:26;;40704:9;40698:4;40694:20;40690:1;40679:9;40675:17;40668:47;40732:131;40858:4;40732:131;:::i;:::-;40724:139;;40451:419;;;:::o;40876:166::-;41016:18;41012:1;41004:6;41000:14;40993:42;40876:166;:::o;41048:366::-;41190:3;41211:67;41275:2;41270:3;41211:67;:::i;:::-;41204:74;;41287:93;41376:3;41287:93;:::i;:::-;41405:2;41400:3;41396:12;41389:19;;41048:366;;;:::o;41420:419::-;41586:4;41624:2;41613:9;41609:18;41601:26;;41673:9;41667:4;41663:20;41659:1;41648:9;41644:17;41637:47;41701:131;41827:4;41701:131;:::i;:::-;41693:139;;41420:419;;;:::o;41845:224::-;41985:34;41981:1;41973:6;41969:14;41962:58;42054:7;42049:2;42041:6;42037:15;42030:32;41845:224;:::o;42075:366::-;42217:3;42238:67;42302:2;42297:3;42238:67;:::i;:::-;42231:74;;42314:93;42403:3;42314:93;:::i;:::-;42432:2;42427:3;42423:12;42416:19;;42075:366;;;:::o;42447:419::-;42613:4;42651:2;42640:9;42636:18;42628:26;;42700:9;42694:4;42690:20;42686:1;42675:9;42671:17;42664:47;42728:131;42854:4;42728:131;:::i;:::-;42720:139;;42447:419;;;:::o;42872:222::-;43012:34;43008:1;43000:6;42996:14;42989:58;43081:5;43076:2;43068:6;43064:15;43057:30;42872:222;:::o;43100:366::-;43242:3;43263:67;43327:2;43322:3;43263:67;:::i;:::-;43256:74;;43339:93;43428:3;43339:93;:::i;:::-;43457:2;43452:3;43448:12;43441:19;;43100:366;;;:::o;43472:419::-;43638:4;43676:2;43665:9;43661:18;43653:26;;43725:9;43719:4;43715:20;43711:1;43700:9;43696:17;43689:47;43753:131;43879:4;43753:131;:::i;:::-;43745:139;;43472:419;;;:::o;43897:225::-;44037:34;44033:1;44025:6;44021:14;44014:58;44106:8;44101:2;44093:6;44089:15;44082:33;43897:225;:::o;44128:366::-;44270:3;44291:67;44355:2;44350:3;44291:67;:::i;:::-;44284:74;;44367:93;44456:3;44367:93;:::i;:::-;44485:2;44480:3;44476:12;44469:19;;44128:366;;;:::o;44500:419::-;44666:4;44704:2;44693:9;44689:18;44681:26;;44753:9;44747:4;44743:20;44739:1;44728:9;44724:17;44717:47;44781:131;44907:4;44781:131;:::i;:::-;44773:139;;44500:419;;;:::o

Swarm Source

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