ETH Price: $3,175.63 (-3.36%)

Token

Matt Fulie (FULIE)
 

Overview

Max Total Supply

1,000,000,000 FULIE

Holders

64

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
10,500,000 FULIE

Value
$0.00
0x4705a0ac065fae2a16d0b4af34897646925e3d28
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:
mattfulie

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 2024-07-26
*/

/**
 *Submitted for verification at Etherscan.io on 2024-01-17
*/

pragma solidity 0.8.20;

// SPDX-License-Identifier: MIT

/*  TELEGRAM:https://t.me/mattfulie
    WEBSITE: https://mattfuliechinese.com
    TWITTER: https://x.com/MattFulie
*/


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

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

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

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

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

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

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

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

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

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

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

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

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

contract 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}.
     *
     * 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 contractEthBalance() external view returns (uint256) {
        return address(this).balance;
    }


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

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

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

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

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, 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}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, 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}.
     *
     * NOTE: Does not update the allowance if the current allowance
     * is the maximum `uint256`.
     *
     * Requirements:
     *
     * - `from` and `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `amount`.
     */
    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, 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) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

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

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, 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;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

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

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

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

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _totalSupply -= amount;
        }

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

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

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

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

    /**
     * @dev Updates `owner` s allowance for `spender` based on spent `amount`.
     *
     * Does not update the allowance amount in case of infinite allowance.
     * Revert if not enough allowance is available.
     *
     * Might emit an {Approval} event.
     */
    function _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - 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 {}

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been 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 _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

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

interface IDexRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
}

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

contract mattfulie is ERC20, Ownable {

    mapping (address => bool) public exemptFromFees;
    mapping (address => bool) public exemptFromLimits;
    mapping(address => bool) public isBlacklisted;

    bool public tradingActive;

    mapping (address => bool) public isAMMPair;

    uint256 public maxTransaction;
    uint256 public maxWallet;

    address public operationsAddress;

    uint256 public buyTax;
    uint256 public sellTax;

    mapping(address => uint256) private _holderLastTransferBlock; // to hold last Transfers temporarily during launch
    bool public transferDelayEnabled = true;
    bool public limitsInEffect = true;

    bool private swapping;
    uint256 public swapTokensAtAmt;

    address public lpPair;
    IDexRouter public dexRouter;

    uint256 public constant FEE_DIVISOR = 10000;

    // events

    event UpdatedMaxTransaction(uint256 newMax);
    event UpdatedMaxWallet(uint256 newMax);
    event SetExemptFromFees(address _address, bool _isExempt);
    event SetExemptFromLimits(address _address, bool _isExempt);
    event RemovedLimits();
    event UpdatedBuyTax(uint256 newAmt);
    event UpdatedSellTax(uint256 newAmt);

    // constructor

    constructor(string memory _name, string memory _symbol)
        ERC20(_name, _symbol)
    {   
        address newOwner = 0x891837a128eAF2594fD95589cF939dF349514d1d;
        _mint(newOwner, 1_000_000_000 * 1e18);
        uint256 _totalSupply = totalSupply();

        address _v2Router;

        // @dev assumes WETH pair
        if(block.chainid == 1){
            _v2Router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
        } else if(block.chainid == 5){
            _v2Router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
        } else {
            revert("Chain not configured");
        }

        dexRouter = IDexRouter(_v2Router);

        maxTransaction = _totalSupply * 15 / 1000;
        maxWallet = _totalSupply * 15 / 1000;
        swapTokensAtAmt = _totalSupply * 25 / 100000;

        operationsAddress = 0x83299593C17F77517696722077AFde4d624ae1D9;

        buyTax = 4900; // 1% = 100
        sellTax = 6000; // 1% = 100

        lpPair = IDexFactory(dexRouter.factory()).createPair(address(this), dexRouter.WETH());

        isAMMPair[lpPair] = true;

        exemptFromLimits[lpPair] = true;
        exemptFromLimits[newOwner] = true;
        exemptFromLimits[address(this)] = true;
        exemptFromLimits[address(dexRouter)] = true;
        

        exemptFromFees[newOwner] = true;
        exemptFromFees[address(this)] = true;
        exemptFromFees[address(dexRouter)] = true;
        
 
        _approve(address(this), address(dexRouter), type(uint256).max);
        transferOwnership(newOwner);
    }

    receive() external payable {}

   function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual override {
        
        // Check if the addresses are blacklisted
        require(!isBlacklisted[from], "Sender is blacklisted");
        require(!isBlacklisted[to], "Recipient is blacklisted");

        if(exemptFromFees[from] || exemptFromFees[to] || swapping){
            super._transfer(from,to,amount);
            return;
        }

        require(tradingActive, "Trading not active");

        if(limitsInEffect){
            checkLimits(from, to, amount);
        }

        amount -= handleTax(from, to, amount);

        super._transfer(from,to,amount);
    }

    function checkLimits(address from, address to, uint256 amount) internal {
        if (transferDelayEnabled){
            if (to != address(dexRouter) && !isAMMPair[to]){
                require(_holderLastTransferBlock[tx.origin] < block.number, "Transfer Delay enabled.");
                _holderLastTransferBlock[tx.origin] = block.number;
            }
        }

        // buy
        if (isAMMPair[from] && !exemptFromLimits[to]) {
            require(amount <= maxTransaction, "Max tx exceeded.");
            require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
        } 
        // sell
        else if (isAMMPair[to] && !exemptFromLimits[from]) {
            require(amount <= maxTransaction, "Max tx exceeded.");
        }
        else if(!exemptFromLimits[to]) {
            require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
        }
    }

    function handleTax(address from, address to, uint256 amount) internal returns (uint256){
        if(balanceOf(address(this)) >= swapTokensAtAmt && !swapping && !isAMMPair[from]) {
            swapping = true;
            swapBack();
            swapping = false;
        }
        
        uint256 tax = 0;

        // on sell
        if (isAMMPair[to] && sellTax > 0){
            tax = amount * sellTax / FEE_DIVISOR;
        }
        // on buy
        else if(isAMMPair[from] && buyTax > 0) {
            tax = amount * buyTax / FEE_DIVISOR;
        }
        
        if(tax > 0){    
            super._transfer(from, address(this), tax);
        }
        
        return tax;
    }

    function swapTokensForETH(uint256 tokenAmt) private {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();

        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmt,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function swapBack() private {

        uint256 contractBalance = balanceOf(address(this));
        
        if(contractBalance == 0) {return;}

        if(contractBalance > swapTokensAtAmt * 40){
            contractBalance = swapTokensAtAmt * 40;
        }
        
        swapTokensForETH(contractBalance);
            
        if(address(this).balance > 0){
            bool success;
            (success, ) = operationsAddress.call{value: address(this).balance}("");
        }
    }

    // owner functions

    function addToBlacklist(address _address) external onlyOwner {
        require(_address != address(0), "Zero Address");
        isBlacklisted[_address] = true;
    }

    function removeFromBlacklist(address _address) external onlyOwner {
        require(_address != address(0), "Zero Address");
        isBlacklisted[_address] = false;
    }

    function setExemptFromFees(address _address, bool _isExempt) external onlyOwner {
        require(_address != address(0), "Zero Address");
        exemptFromFees[_address] = _isExempt;
        emit SetExemptFromFees(_address, _isExempt);
    }

    function setExemptFromLimits(address _address, bool _isExempt) external onlyOwner {
        require(_address != address(0), "Zero Address");
        if(!_isExempt){
            require(_address != lpPair, "Pair");
        }
        exemptFromLimits[_address] = _isExempt;
        emit SetExemptFromLimits(_address, _isExempt);
    }

    function updateMaxTransaction(uint256 newNumInTokens) external onlyOwner {
        require(newNumInTokens >= (totalSupply() * 5 / 1000)/(10**decimals()), "Too low");
        maxTransaction = newNumInTokens * (10**decimals());
        emit UpdatedMaxTransaction(maxTransaction);
    }

    function updateMaxWallet(uint256 newNumInTokens) external onlyOwner {
        require(newNumInTokens >= (totalSupply() * 1 / 100)/(10**decimals()), "Too low");
        maxWallet = newNumInTokens * (10**decimals());
        emit UpdatedMaxWallet(maxWallet);
    }

    function updateTaxes(uint256 _buyTax, uint256 _sellTax) external onlyOwner {
        buyTax = _buyTax;
        emit UpdatedBuyTax(buyTax);
        sellTax = _sellTax;
        emit UpdatedSellTax(sellTax);
    }

    function enableTrading() external onlyOwner {
        require(!tradingActive, "Trading active");
        tradingActive = true;
    }

    function removeLimits() external onlyOwner {
        limitsInEffect = false;
        transferDelayEnabled = false;
        maxTransaction = totalSupply();
        maxWallet = totalSupply();
        emit RemovedLimits();
    }

    function disableTransferDelay() external onlyOwner {
        transferDelayEnabled = false;
    }

    function updateOperationsAddress(address _address) external onlyOwner {
        require(_address != address(0), "zero address");
        operationsAddress = _address;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"RemovedLimits","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"SetExemptFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"SetExemptFromLimits","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":"uint256","name":"newAmt","type":"uint256"}],"name":"UpdatedBuyTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"UpdatedMaxTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"UpdatedMaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmt","type":"uint256"}],"name":"UpdatedSellTax","type":"event"},{"inputs":[],"name":"FEE_DIVISOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"addToBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractEthBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFromLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"","type":"address"}],"name":"isAMMPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"operationsAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"removeFromBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"setExemptFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"setExemptFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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":[{"internalType":"uint256","name":"newNumInTokens","type":"uint256"}],"name":"updateMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNumInTokens","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"updateOperationsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyTax","type":"uint256"},{"internalType":"uint256","name":"_sellTax","type":"uint256"}],"name":"updateTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600160115f6101000a81548160ff0219169083151502179055506001601160016101000a81548160ff02191690831515021790555034801562000045575f80fd5b5060405162005b1938038062005b1983398181016040528101906200006b919062000f42565b818181600390816200007e9190620011fc565b508060049081620000909190620011fc565b5050505f620000a4620008a360201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f73891837a128eaf2594fd95589cf939df349514d1d905062000177816b033b2e3c9fd0803ce8000000620008aa60201b60201c565b5f6200018862000a0f60201b60201c565b90505f60014603620001b157737a250d5630b4cf539739df2c5dacb4c659f2488d905062000215565b60054603620001d757737a250d5630b4cf539739df2c5dacb4c659f2488d905062000214565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200020b906200133e565b60405180910390fd5b5b8060145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103e8600f836200026791906200138b565b62000273919062001402565b600b819055506103e8600f836200028b91906200138b565b62000297919062001402565b600c81905550620186a0601983620002b091906200138b565b620002bc919062001402565b6012819055507383299593c17f77517696722077afde4d624ae1d9600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611324600e81905550611770600f8190555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000393573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003b991906200149a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000440573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200046691906200149a565b6040518363ffffffff1660e01b815260040162000485929190620014db565b6020604051808303815f875af1158015620004a2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004c891906200149a565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a5f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620008873060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62000a1860201b60201c565b620008988362000be360201b60201c565b505050505062001804565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200091b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009129062001554565b60405180910390fd5b6200092e5f838362000db360201b60201c565b8060025f82825462000941919062001574565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620009f09190620015bf565b60405180910390a362000a0b5f838362000db860201b60201c565b5050565b5f600254905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000a89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a80906200164e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000afa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000af190620016e2565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000bd69190620015bf565b60405180910390a3505050565b62000bf3620008a360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000c84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c7b9062001750565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000cf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cec90620017e4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000e1e8262000dd6565b810181811067ffffffffffffffff8211171562000e405762000e3f62000de6565b5b80604052505050565b5f62000e5462000dbd565b905062000e62828262000e13565b919050565b5f67ffffffffffffffff82111562000e845762000e8362000de6565b5b62000e8f8262000dd6565b9050602081019050919050565b5f5b8381101562000ebb57808201518184015260208101905062000e9e565b5f8484015250505050565b5f62000edc62000ed68462000e67565b62000e49565b90508281526020810184848401111562000efb5762000efa62000dd2565b5b62000f0884828562000e9c565b509392505050565b5f82601f83011262000f275762000f2662000dce565b5b815162000f3984826020860162000ec6565b91505092915050565b5f806040838503121562000f5b5762000f5a62000dc6565b5b5f83015167ffffffffffffffff81111562000f7b5762000f7a62000dca565b5b62000f898582860162000f10565b925050602083015167ffffffffffffffff81111562000fad5762000fac62000dca565b5b62000fbb8582860162000f10565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200101457607f821691505b6020821081036200102a576200102962000fcf565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200108e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262001051565b6200109a868362001051565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620010e4620010de620010d884620010b2565b620010bb565b620010b2565b9050919050565b5f819050919050565b620010ff83620010c4565b620011176200110e82620010eb565b8484546200105d565b825550505050565b5f90565b6200112d6200111f565b6200113a818484620010f4565b505050565b5b818110156200116157620011555f8262001123565b60018101905062001140565b5050565b601f821115620011b0576200117a8162001030565b620011858462001042565b8101602085101562001195578190505b620011ad620011a48562001042565b8301826200113f565b50505b505050565b5f82821c905092915050565b5f620011d25f1984600802620011b5565b1980831691505092915050565b5f620011ec8383620011c1565b9150826002028217905092915050565b620012078262000fc5565b67ffffffffffffffff81111562001223576200122262000de6565b5b6200122f825462000ffc565b6200123c82828562001165565b5f60209050601f83116001811462001272575f84156200125d578287015190505b620012698582620011df565b865550620012d8565b601f198416620012828662001030565b5f5b82811015620012ab5784890151825560018201915060208501945060208101905062001284565b86831015620012cb5784890151620012c7601f891682620011c1565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f436861696e206e6f7420636f6e666967757265640000000000000000000000005f82015250565b5f62001326601483620012e0565b91506200133382620012f0565b602082019050919050565b5f6020820190508181035f830152620013578162001318565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6200139782620010b2565b9150620013a483620010b2565b9250828202620013b481620010b2565b91508282048414831517620013ce57620013cd6200135e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200140e82620010b2565b91506200141b83620010b2565b9250826200142e576200142d620013d5565b5b828204905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620014648262001439565b9050919050565b620014768162001458565b811462001481575f80fd5b50565b5f8151905062001494816200146b565b92915050565b5f60208284031215620014b257620014b162000dc6565b5b5f620014c18482850162001484565b91505092915050565b620014d58162001458565b82525050565b5f604082019050620014f05f830185620014ca565b620014ff6020830184620014ca565b9392505050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6200153c601f83620012e0565b9150620015498262001506565b602082019050919050565b5f6020820190508181035f8301526200156d816200152e565b9050919050565b5f6200158082620010b2565b91506200158d83620010b2565b9250828201905080821115620015a857620015a76200135e565b5b92915050565b620015b981620010b2565b82525050565b5f602082019050620015d45f830184620015ae565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f62001636602483620012e0565b91506200164382620015da565b604082019050919050565b5f6020820190508181035f830152620016678162001628565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f620016ca602283620012e0565b9150620016d7826200166e565b604082019050919050565b5f6020820190508181035f830152620016fb81620016bc565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62001738602083620012e0565b9150620017458262001702565b602082019050919050565b5f6020820190508181035f83015262001769816200172a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f620017cc602683620012e0565b9150620017d98262001770565b604082019050919050565b5f6020820190508181035f830152620017fd81620017be565b9050919050565b61430780620018125f395ff3fe608060405260043610610254575f3560e01c80638a8c523c11610138578063c3f70b52116100b5578063e884f26011610079578063e884f260146108b1578063ea4cfe12146108c7578063ea6debd0146108f1578063f2fde38b14610919578063f8b45b0514610941578063fe575a871461096b5761025b565b8063c3f70b52146107cd578063c78d0fa0146107f7578063c876d0b914610821578063cc1776d31461084b578063dd62ed3e146108755761025b565b8063a13d1a2b116100fc578063a13d1a2b146106c7578063a457c2d7146106ef578063a9059cbb1461072b578063b0249cc614610767578063bbc0c742146107a35761025b565b80638a8c523c146105f75780638d3e6e401461060d5780638da5cb5b1461064957806395d89b41146106735780639e93ad8e1461069d5761025b565b806344337ea1116101d15780635a90a49e116101955780635a90a49e146105015780635d58ce361461053d57806370a0823114610567578063715018a6146105a3578063751039fc146105b957806377b27d1f146105cf5761025b565b806344337ea114610433578063452ed4f11461045b5780634a62bb65146104855780634f7041a5146104af578063537df3b6146104d95761025b565b806318160ddd1161021857806318160ddd1461033f5780631c499ab01461036957806323b872dd14610391578063313ce567146103cd57806339509351146103f75761025b565b80630517d13d1461025f57806306fdde03146102875780630758d924146102b1578063095ea7b3146102db5780631006ee0c146103175761025b565b3661025b57005b5f80fd5b34801561026a575f80fd5b5061028560048036038101906102809190613060565b6109a7565b005b348015610292575f80fd5b5061029b610b1f565b6040516102a89190613115565b60405180910390f35b3480156102bc575f80fd5b506102c5610baf565b6040516102d291906131af565b60405180910390f35b3480156102e6575f80fd5b5061030160048036038101906102fc9190613203565b610bd4565b60405161030e919061325b565b60405180910390f35b348015610322575f80fd5b5061033d60048036038101906103389190613274565b610bf6565b005b34801561034a575f80fd5b50610353610d10565b60405161036091906132c1565b60405180910390f35b348015610374575f80fd5b5061038f600480360381019061038a9190613060565b610d19565b005b34801561039c575f80fd5b506103b760048036038101906103b291906132da565b610e90565b6040516103c4919061325b565b60405180910390f35b3480156103d8575f80fd5b506103e1610ebe565b6040516103ee9190613345565b60405180910390f35b348015610402575f80fd5b5061041d60048036038101906104189190613203565b610ec6565b60405161042a919061325b565b60405180910390f35b34801561043e575f80fd5b506104596004803603810190610454919061335e565b610efc565b005b348015610466575f80fd5b5061046f611058565b60405161047c9190613398565b60405180910390f35b348015610490575f80fd5b5061049961107d565b6040516104a6919061325b565b60405180910390f35b3480156104ba575f80fd5b506104c3611090565b6040516104d091906132c1565b60405180910390f35b3480156104e4575f80fd5b506104ff60048036038101906104fa919061335e565b611096565b005b34801561050c575f80fd5b506105276004803603810190610522919061335e565b6111f1565b604051610534919061325b565b60405180910390f35b348015610548575f80fd5b5061055161120e565b60405161055e91906132c1565b60405180910390f35b348015610572575f80fd5b5061058d6004803603810190610588919061335e565b611215565b60405161059a91906132c1565b60405180910390f35b3480156105ae575f80fd5b506105b761125a565b005b3480156105c4575f80fd5b506105cd6113ad565b005b3480156105da575f80fd5b506105f560048036038101906105f091906133db565b6114c0565b005b348015610602575f80fd5b5061060b611655565b005b348015610618575f80fd5b50610633600480360381019061062e919061335e565b611756565b604051610640919061325b565b60405180910390f35b348015610654575f80fd5b5061065d611773565b60405161066a9190613398565b60405180910390f35b34801561067e575f80fd5b5061068761179b565b6040516106949190613115565b60405180910390f35b3480156106a8575f80fd5b506106b161182b565b6040516106be91906132c1565b60405180910390f35b3480156106d2575f80fd5b506106ed60048036038101906106e891906133db565b611831565b005b3480156106fa575f80fd5b5061071560048036038101906107109190613203565b611a5b565b604051610722919061325b565b60405180910390f35b348015610736575f80fd5b50610751600480360381019061074c9190613203565b611ad0565b60405161075e919061325b565b60405180910390f35b348015610772575f80fd5b5061078d6004803603810190610788919061335e565b611af2565b60405161079a919061325b565b60405180910390f35b3480156107ae575f80fd5b506107b7611b0f565b6040516107c4919061325b565b60405180910390f35b3480156107d8575f80fd5b506107e1611b21565b6040516107ee91906132c1565b60405180910390f35b348015610802575f80fd5b5061080b611b27565b60405161081891906132c1565b60405180910390f35b34801561082c575f80fd5b50610835611b2d565b604051610842919061325b565b60405180910390f35b348015610856575f80fd5b5061085f611b3f565b60405161086c91906132c1565b60405180910390f35b348015610880575f80fd5b5061089b60048036038101906108969190613419565b611b45565b6040516108a891906132c1565b60405180910390f35b3480156108bc575f80fd5b506108c5611bc7565b005b3480156108d2575f80fd5b506108db611c78565b6040516108e89190613398565b60405180910390f35b3480156108fc575f80fd5b506109176004803603810190610912919061335e565b611c9d565b005b348015610924575f80fd5b5061093f600480360381019061093a919061335e565b611de4565b005b34801561094c575f80fd5b50610955611fa6565b60405161096291906132c1565b60405180910390f35b348015610976575f80fd5b50610991600480360381019061098c919061335e565b611fac565b60405161099e919061325b565b60405180910390f35b6109af611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a34906134a1565b60405180910390fd5b610a45610ebe565b600a610a51919061361b565b6103e86005610a5e610d10565b610a689190613665565b610a7291906136d3565b610a7c91906136d3565b811015610abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab59061374d565b60405180910390fd5b610ac6610ebe565b600a610ad2919061361b565b81610add9190613665565b600b819055507f76a9278644b7300961aa0e7e86f10934585987f1daf1c6ecc971c18376691574600b54604051610b1491906132c1565b60405180910390a150565b606060038054610b2e90613798565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5a90613798565b8015610ba55780601f10610b7c57610100808354040283529160200191610ba5565b820191905f5260205f20905b815481529060010190602001808311610b8857829003601f168201915b5050505050905090565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80610bde611fc9565b9050610beb818585611fd0565b600191505092915050565b610bfe611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c83906134a1565b60405180910390fd5b81600e819055507f5380a61520019ce8270d583f62f1b2b9f4f4372e1acaaf708f4865cecece0508600e54604051610cc491906132c1565b60405180910390a180600f819055507fa02824f65350567bc405e202b741e7ca6274004a9feeb44149df72b8bd599c97600f54604051610d0491906132c1565b60405180910390a15050565b5f600254905090565b610d21611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610daf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da6906134a1565b60405180910390fd5b610db7610ebe565b600a610dc3919061361b565b60646001610dcf610d10565b610dd99190613665565b610de391906136d3565b610ded91906136d3565b811015610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e269061374d565b60405180910390fd5b610e37610ebe565b600a610e43919061361b565b81610e4e9190613665565b600c819055507f3046ad62de8b70d396246aaed19ff2559ff20df8706520cbde58320766c42762600c54604051610e8591906132c1565b60405180910390a150565b5f80610e9a611fc9565b9050610ea7858285612193565b610eb285858561221e565b60019150509392505050565b5f6012905090565b5f80610ed0611fc9565b9050610ef1818585610ee28589611b45565b610eec91906137c8565b611fd0565b600191505092915050565b610f04611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f89906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff790613845565b60405180910390fd5b600160085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601160019054906101000a900460ff1681565b600e5481565b61109e611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461112c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611123906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361119a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119190613845565b60405180910390fd5b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f47905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611262611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e7906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6113b5611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143a906134a1565b60405180910390fd5b5f601160016101000a81548160ff0219169083151502179055505f60115f6101000a81548160ff02191690831515021790555061147e610d10565b600b8190555061148c610d10565b600c819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b6114c8611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154d906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bb90613845565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f998cce27cbf44405c67eb636a634d5e2f2e6ff248b3d71fbbbb022f3c4c6dd2d8282604051611649929190613863565b60405180910390a15050565b61165d611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e2906134a1565b60405180910390fd5b60095f9054906101000a900460ff161561173a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611731906138d4565b60405180910390fd5b600160095f6101000a81548160ff021916908315150217905550565b6007602052805f5260405f205f915054906101000a900460ff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546117aa90613798565b80601f01602080910402602001604051908101604052809291908181526020018280546117d690613798565b80156118215780601f106117f857610100808354040283529160200191611821565b820191905f5260205f20905b81548152906001019060200180831161180457829003601f168201915b5050505050905090565b61271081565b611839611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118be906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192c90613845565b60405180910390fd5b806119ca5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c09061393c565b60405180910390fd5b5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f8f9f40630a1d139e6cf69b4f447ca47a36f10a017524efaa38252e516fa227ce8282604051611a4f929190613863565b60405180910390a15050565b5f80611a65611fc9565b90505f611a728286611b45565b905083811015611ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aae906139ca565b60405180910390fd5b611ac48286868403611fd0565b60019250505092915050565b5f80611ada611fc9565b9050611ae781858561221e565b600191505092915050565b600a602052805f5260405f205f915054906101000a900460ff1681565b60095f9054906101000a900460ff1681565b600b5481565b60125481565b60115f9054906101000a900460ff1681565b600f5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611bcf611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c54906134a1565b60405180910390fd5b5f60115f6101000a81548160ff021916908315150217905550565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611ca5611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2a906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611da1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9890613a32565b60405180910390fd5b80600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611dec611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e71906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edf90613ac0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c5481565b6008602052805f5260405f205f915054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361203e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203590613b4e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a390613bdc565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161218691906132c1565b60405180910390a3505050565b5f61219e8484611b45565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612218578181101561220a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220190613c44565b60405180910390fd5b6122178484848403611fd0565b5b50505050565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156122a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229f90613cac565b60405180910390fd5b60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232990613d14565b60405180910390fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806123cd575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806123e45750601160029054906101000a900460ff165b156123f9576123f4838383612491565b61248c565b60095f9054906101000a900460ff16612447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243e90613d7c565b60405180910390fd5b601160019054906101000a900460ff1615612468576124678383836126fd565b5b612473838383612b5b565b8161247e9190613d9a565b905061248b838383612491565b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f690613e3d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361256d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256490613ecb565b60405180910390fd5b612578838383612d32565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156125fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f290613f59565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126e491906132c1565b60405180910390a36126f7848484612d37565b50505050565b60115f9054906101000a900460ff161561287d5760145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156127b55750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561287c574360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612839576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283090613fc1565b60405180910390fd5b4360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561291a575060075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156129c157600b54811115612964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295b90614029565b60405180910390fd5b600c5461297083611215565b8261297b91906137c8565b11156129bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b390614091565b60405180910390fd5b612b56565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612a5e575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612aad57600b54811115612aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9f90614029565b60405180910390fd5b612b55565b60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612b5457600c54612b0783611215565b82612b1291906137c8565b1115612b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4a90614091565b60405180910390fd5b5b5b5b505050565b5f601254612b6830611215565b10158015612b835750601160029054906101000a900460ff16155b8015612bd65750600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612c19576001601160026101000a81548160ff021916908315150217905550612bfe612d3c565b5f601160026101000a81548160ff0219169083151502179055505b5f600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612c7157505f600f54115b15612c9857612710600f5484612c879190613665565b612c9191906136d3565b9050612d13565b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612cef57505f600e54115b15612d1257612710600e5484612d059190613665565b612d0f91906136d3565b90505b5b5f811115612d2757612d26853083612491565b5b809150509392505050565b505050565b505050565b5f612d4630611215565b90505f8103612d555750612e1d565b6028601254612d649190613665565b811115612d7d576028601254612d7a9190613665565b90505b612d8681612e1f565b5f471115612e1b575f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612dd4906140dc565b5f6040518083038185875af1925050503d805f8114612e0e576040519150601f19603f3d011682016040523d82523d5f602084013e612e13565b606091505b505080915050505b505b565b5f600267ffffffffffffffff811115612e3b57612e3a6140f0565b5b604051908082528060200260200182016040528015612e695781602001602082028036833780820191505090505b50905030815f81518110612e8057612e7f61411d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f48919061415e565b81600181518110612f5c57612f5b61411d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612ff8959493929190614279565b5f604051808303815f87803b15801561300f575f80fd5b505af1158015613021573d5f803e3d5ffd5b505050505050565b5f80fd5b5f819050919050565b61303f8161302d565b8114613049575f80fd5b50565b5f8135905061305a81613036565b92915050565b5f6020828403121561307557613074613029565b5b5f6130828482850161304c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156130c25780820151818401526020810190506130a7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6130e78261308b565b6130f18185613095565b93506131018185602086016130a5565b61310a816130cd565b840191505092915050565b5f6020820190508181035f83015261312d81846130dd565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61317761317261316d84613135565b613154565b613135565b9050919050565b5f6131888261315d565b9050919050565b5f6131998261317e565b9050919050565b6131a98161318f565b82525050565b5f6020820190506131c25f8301846131a0565b92915050565b5f6131d282613135565b9050919050565b6131e2816131c8565b81146131ec575f80fd5b50565b5f813590506131fd816131d9565b92915050565b5f806040838503121561321957613218613029565b5b5f613226858286016131ef565b92505060206132378582860161304c565b9150509250929050565b5f8115159050919050565b61325581613241565b82525050565b5f60208201905061326e5f83018461324c565b92915050565b5f806040838503121561328a57613289613029565b5b5f6132978582860161304c565b92505060206132a88582860161304c565b9150509250929050565b6132bb8161302d565b82525050565b5f6020820190506132d45f8301846132b2565b92915050565b5f805f606084860312156132f1576132f0613029565b5b5f6132fe868287016131ef565b935050602061330f868287016131ef565b92505060406133208682870161304c565b9150509250925092565b5f60ff82169050919050565b61333f8161332a565b82525050565b5f6020820190506133585f830184613336565b92915050565b5f6020828403121561337357613372613029565b5b5f613380848285016131ef565b91505092915050565b613392816131c8565b82525050565b5f6020820190506133ab5f830184613389565b92915050565b6133ba81613241565b81146133c4575f80fd5b50565b5f813590506133d5816133b1565b92915050565b5f80604083850312156133f1576133f0613029565b5b5f6133fe858286016131ef565b925050602061340f858286016133c7565b9150509250929050565b5f806040838503121561342f5761342e613029565b5b5f61343c858286016131ef565b925050602061344d858286016131ef565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61348b602083613095565b915061349682613457565b602082019050919050565b5f6020820190508181035f8301526134b88161347f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156135415780860481111561351d5761351c6134bf565b5b600185161561352c5780820291505b808102905061353a856134ec565b9450613501565b94509492505050565b5f826135595760019050613614565b81613566575f9050613614565b816001811461357c5760028114613586576135b5565b6001915050613614565b60ff841115613598576135976134bf565b5b8360020a9150848211156135af576135ae6134bf565b5b50613614565b5060208310610133831016604e8410600b84101617156135ea5782820a9050838111156135e5576135e46134bf565b5b613614565b6135f784848460016134f8565b9250905081840481111561360e5761360d6134bf565b5b81810290505b9392505050565b5f6136258261302d565b91506136308361332a565b925061365d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461354a565b905092915050565b5f61366f8261302d565b915061367a8361302d565b92508282026136888161302d565b9150828204841483151761369f5761369e6134bf565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6136dd8261302d565b91506136e88361302d565b9250826136f8576136f76136a6565b5b828204905092915050565b7f546f6f206c6f77000000000000000000000000000000000000000000000000005f82015250565b5f613737600783613095565b915061374282613703565b602082019050919050565b5f6020820190508181035f8301526137648161372b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806137af57607f821691505b6020821081036137c2576137c161376b565b5b50919050565b5f6137d28261302d565b91506137dd8361302d565b92508282019050808211156137f5576137f46134bf565b5b92915050565b7f5a65726f204164647265737300000000000000000000000000000000000000005f82015250565b5f61382f600c83613095565b915061383a826137fb565b602082019050919050565b5f6020820190508181035f83015261385c81613823565b9050919050565b5f6040820190506138765f830185613389565b613883602083018461324c565b9392505050565b7f54726164696e67206163746976650000000000000000000000000000000000005f82015250565b5f6138be600e83613095565b91506138c98261388a565b602082019050919050565b5f6020820190508181035f8301526138eb816138b2565b9050919050565b7f50616972000000000000000000000000000000000000000000000000000000005f82015250565b5f613926600483613095565b9150613931826138f2565b602082019050919050565b5f6020820190508181035f8301526139538161391a565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6139b4602583613095565b91506139bf8261395a565b604082019050919050565b5f6020820190508181035f8301526139e1816139a8565b9050919050565b7f7a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f613a1c600c83613095565b9150613a27826139e8565b602082019050919050565b5f6020820190508181035f830152613a4981613a10565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613aaa602683613095565b9150613ab582613a50565b604082019050919050565b5f6020820190508181035f830152613ad781613a9e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613b38602483613095565b9150613b4382613ade565b604082019050919050565b5f6020820190508181035f830152613b6581613b2c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613bc6602283613095565b9150613bd182613b6c565b604082019050919050565b5f6020820190508181035f830152613bf381613bba565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613c2e601d83613095565b9150613c3982613bfa565b602082019050919050565b5f6020820190508181035f830152613c5b81613c22565b9050919050565b7f53656e64657220697320626c61636b6c697374656400000000000000000000005f82015250565b5f613c96601583613095565b9150613ca182613c62565b602082019050919050565b5f6020820190508181035f830152613cc381613c8a565b9050919050565b7f526563697069656e7420697320626c61636b6c697374656400000000000000005f82015250565b5f613cfe601883613095565b9150613d0982613cca565b602082019050919050565b5f6020820190508181035f830152613d2b81613cf2565b9050919050565b7f54726164696e67206e6f742061637469766500000000000000000000000000005f82015250565b5f613d66601283613095565b9150613d7182613d32565b602082019050919050565b5f6020820190508181035f830152613d9381613d5a565b9050919050565b5f613da48261302d565b9150613daf8361302d565b9250828203905081811115613dc757613dc66134bf565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613e27602583613095565b9150613e3282613dcd565b604082019050919050565b5f6020820190508181035f830152613e5481613e1b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613eb5602383613095565b9150613ec082613e5b565b604082019050919050565b5f6020820190508181035f830152613ee281613ea9565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613f43602683613095565b9150613f4e82613ee9565b604082019050919050565b5f6020820190508181035f830152613f7081613f37565b9050919050565b7f5472616e736665722044656c617920656e61626c65642e0000000000000000005f82015250565b5f613fab601783613095565b9150613fb682613f77565b602082019050919050565b5f6020820190508181035f830152613fd881613f9f565b9050919050565b7f4d61782074782065786365656465642e000000000000000000000000000000005f82015250565b5f614013601083613095565b915061401e82613fdf565b602082019050919050565b5f6020820190508181035f83015261404081614007565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f61407b601383613095565b915061408682614047565b602082019050919050565b5f6020820190508181035f8301526140a88161406f565b9050919050565b5f81905092915050565b50565b5f6140c75f836140af565b91506140d2826140b9565b5f82019050919050565b5f6140e6826140bc565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050614158816131d9565b92915050565b5f6020828403121561417357614172613029565b5b5f6141808482850161414a565b91505092915050565b5f819050919050565b5f6141ac6141a76141a284614189565b613154565b61302d565b9050919050565b6141bc81614192565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6141f4816131c8565b82525050565b5f61420583836141eb565b60208301905092915050565b5f602082019050919050565b5f614227826141c2565b61423181856141cc565b935061423c836141dc565b805f5b8381101561426c57815161425388826141fa565b975061425e83614211565b92505060018101905061423f565b5085935050505092915050565b5f60a08201905061428c5f8301886132b2565b61429960208301876141b3565b81810360408301526142ab818661421d565b90506142ba6060830185613389565b6142c760808301846132b2565b969550505050505056fea26469706673582212205f3f316271027d8d57dd634f972e7bdeffcae4cee4b651f7808131d5850e0db864736f6c6343000814003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000a4d6174742046756c696500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000546554c4945000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405260043610610254575f3560e01c80638a8c523c11610138578063c3f70b52116100b5578063e884f26011610079578063e884f260146108b1578063ea4cfe12146108c7578063ea6debd0146108f1578063f2fde38b14610919578063f8b45b0514610941578063fe575a871461096b5761025b565b8063c3f70b52146107cd578063c78d0fa0146107f7578063c876d0b914610821578063cc1776d31461084b578063dd62ed3e146108755761025b565b8063a13d1a2b116100fc578063a13d1a2b146106c7578063a457c2d7146106ef578063a9059cbb1461072b578063b0249cc614610767578063bbc0c742146107a35761025b565b80638a8c523c146105f75780638d3e6e401461060d5780638da5cb5b1461064957806395d89b41146106735780639e93ad8e1461069d5761025b565b806344337ea1116101d15780635a90a49e116101955780635a90a49e146105015780635d58ce361461053d57806370a0823114610567578063715018a6146105a3578063751039fc146105b957806377b27d1f146105cf5761025b565b806344337ea114610433578063452ed4f11461045b5780634a62bb65146104855780634f7041a5146104af578063537df3b6146104d95761025b565b806318160ddd1161021857806318160ddd1461033f5780631c499ab01461036957806323b872dd14610391578063313ce567146103cd57806339509351146103f75761025b565b80630517d13d1461025f57806306fdde03146102875780630758d924146102b1578063095ea7b3146102db5780631006ee0c146103175761025b565b3661025b57005b5f80fd5b34801561026a575f80fd5b5061028560048036038101906102809190613060565b6109a7565b005b348015610292575f80fd5b5061029b610b1f565b6040516102a89190613115565b60405180910390f35b3480156102bc575f80fd5b506102c5610baf565b6040516102d291906131af565b60405180910390f35b3480156102e6575f80fd5b5061030160048036038101906102fc9190613203565b610bd4565b60405161030e919061325b565b60405180910390f35b348015610322575f80fd5b5061033d60048036038101906103389190613274565b610bf6565b005b34801561034a575f80fd5b50610353610d10565b60405161036091906132c1565b60405180910390f35b348015610374575f80fd5b5061038f600480360381019061038a9190613060565b610d19565b005b34801561039c575f80fd5b506103b760048036038101906103b291906132da565b610e90565b6040516103c4919061325b565b60405180910390f35b3480156103d8575f80fd5b506103e1610ebe565b6040516103ee9190613345565b60405180910390f35b348015610402575f80fd5b5061041d60048036038101906104189190613203565b610ec6565b60405161042a919061325b565b60405180910390f35b34801561043e575f80fd5b506104596004803603810190610454919061335e565b610efc565b005b348015610466575f80fd5b5061046f611058565b60405161047c9190613398565b60405180910390f35b348015610490575f80fd5b5061049961107d565b6040516104a6919061325b565b60405180910390f35b3480156104ba575f80fd5b506104c3611090565b6040516104d091906132c1565b60405180910390f35b3480156104e4575f80fd5b506104ff60048036038101906104fa919061335e565b611096565b005b34801561050c575f80fd5b506105276004803603810190610522919061335e565b6111f1565b604051610534919061325b565b60405180910390f35b348015610548575f80fd5b5061055161120e565b60405161055e91906132c1565b60405180910390f35b348015610572575f80fd5b5061058d6004803603810190610588919061335e565b611215565b60405161059a91906132c1565b60405180910390f35b3480156105ae575f80fd5b506105b761125a565b005b3480156105c4575f80fd5b506105cd6113ad565b005b3480156105da575f80fd5b506105f560048036038101906105f091906133db565b6114c0565b005b348015610602575f80fd5b5061060b611655565b005b348015610618575f80fd5b50610633600480360381019061062e919061335e565b611756565b604051610640919061325b565b60405180910390f35b348015610654575f80fd5b5061065d611773565b60405161066a9190613398565b60405180910390f35b34801561067e575f80fd5b5061068761179b565b6040516106949190613115565b60405180910390f35b3480156106a8575f80fd5b506106b161182b565b6040516106be91906132c1565b60405180910390f35b3480156106d2575f80fd5b506106ed60048036038101906106e891906133db565b611831565b005b3480156106fa575f80fd5b5061071560048036038101906107109190613203565b611a5b565b604051610722919061325b565b60405180910390f35b348015610736575f80fd5b50610751600480360381019061074c9190613203565b611ad0565b60405161075e919061325b565b60405180910390f35b348015610772575f80fd5b5061078d6004803603810190610788919061335e565b611af2565b60405161079a919061325b565b60405180910390f35b3480156107ae575f80fd5b506107b7611b0f565b6040516107c4919061325b565b60405180910390f35b3480156107d8575f80fd5b506107e1611b21565b6040516107ee91906132c1565b60405180910390f35b348015610802575f80fd5b5061080b611b27565b60405161081891906132c1565b60405180910390f35b34801561082c575f80fd5b50610835611b2d565b604051610842919061325b565b60405180910390f35b348015610856575f80fd5b5061085f611b3f565b60405161086c91906132c1565b60405180910390f35b348015610880575f80fd5b5061089b60048036038101906108969190613419565b611b45565b6040516108a891906132c1565b60405180910390f35b3480156108bc575f80fd5b506108c5611bc7565b005b3480156108d2575f80fd5b506108db611c78565b6040516108e89190613398565b60405180910390f35b3480156108fc575f80fd5b506109176004803603810190610912919061335e565b611c9d565b005b348015610924575f80fd5b5061093f600480360381019061093a919061335e565b611de4565b005b34801561094c575f80fd5b50610955611fa6565b60405161096291906132c1565b60405180910390f35b348015610976575f80fd5b50610991600480360381019061098c919061335e565b611fac565b60405161099e919061325b565b60405180910390f35b6109af611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a34906134a1565b60405180910390fd5b610a45610ebe565b600a610a51919061361b565b6103e86005610a5e610d10565b610a689190613665565b610a7291906136d3565b610a7c91906136d3565b811015610abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab59061374d565b60405180910390fd5b610ac6610ebe565b600a610ad2919061361b565b81610add9190613665565b600b819055507f76a9278644b7300961aa0e7e86f10934585987f1daf1c6ecc971c18376691574600b54604051610b1491906132c1565b60405180910390a150565b606060038054610b2e90613798565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5a90613798565b8015610ba55780601f10610b7c57610100808354040283529160200191610ba5565b820191905f5260205f20905b815481529060010190602001808311610b8857829003601f168201915b5050505050905090565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80610bde611fc9565b9050610beb818585611fd0565b600191505092915050565b610bfe611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c83906134a1565b60405180910390fd5b81600e819055507f5380a61520019ce8270d583f62f1b2b9f4f4372e1acaaf708f4865cecece0508600e54604051610cc491906132c1565b60405180910390a180600f819055507fa02824f65350567bc405e202b741e7ca6274004a9feeb44149df72b8bd599c97600f54604051610d0491906132c1565b60405180910390a15050565b5f600254905090565b610d21611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610daf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da6906134a1565b60405180910390fd5b610db7610ebe565b600a610dc3919061361b565b60646001610dcf610d10565b610dd99190613665565b610de391906136d3565b610ded91906136d3565b811015610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e269061374d565b60405180910390fd5b610e37610ebe565b600a610e43919061361b565b81610e4e9190613665565b600c819055507f3046ad62de8b70d396246aaed19ff2559ff20df8706520cbde58320766c42762600c54604051610e8591906132c1565b60405180910390a150565b5f80610e9a611fc9565b9050610ea7858285612193565b610eb285858561221e565b60019150509392505050565b5f6012905090565b5f80610ed0611fc9565b9050610ef1818585610ee28589611b45565b610eec91906137c8565b611fd0565b600191505092915050565b610f04611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f89906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff790613845565b60405180910390fd5b600160085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601160019054906101000a900460ff1681565b600e5481565b61109e611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461112c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611123906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361119a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119190613845565b60405180910390fd5b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f47905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611262611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e7906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6113b5611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143a906134a1565b60405180910390fd5b5f601160016101000a81548160ff0219169083151502179055505f60115f6101000a81548160ff02191690831515021790555061147e610d10565b600b8190555061148c610d10565b600c819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b6114c8611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154d906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bb90613845565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f998cce27cbf44405c67eb636a634d5e2f2e6ff248b3d71fbbbb022f3c4c6dd2d8282604051611649929190613863565b60405180910390a15050565b61165d611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e2906134a1565b60405180910390fd5b60095f9054906101000a900460ff161561173a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611731906138d4565b60405180910390fd5b600160095f6101000a81548160ff021916908315150217905550565b6007602052805f5260405f205f915054906101000a900460ff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546117aa90613798565b80601f01602080910402602001604051908101604052809291908181526020018280546117d690613798565b80156118215780601f106117f857610100808354040283529160200191611821565b820191905f5260205f20905b81548152906001019060200180831161180457829003601f168201915b5050505050905090565b61271081565b611839611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118be906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192c90613845565b60405180910390fd5b806119ca5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c09061393c565b60405180910390fd5b5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f8f9f40630a1d139e6cf69b4f447ca47a36f10a017524efaa38252e516fa227ce8282604051611a4f929190613863565b60405180910390a15050565b5f80611a65611fc9565b90505f611a728286611b45565b905083811015611ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aae906139ca565b60405180910390fd5b611ac48286868403611fd0565b60019250505092915050565b5f80611ada611fc9565b9050611ae781858561221e565b600191505092915050565b600a602052805f5260405f205f915054906101000a900460ff1681565b60095f9054906101000a900460ff1681565b600b5481565b60125481565b60115f9054906101000a900460ff1681565b600f5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611bcf611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c54906134a1565b60405180910390fd5b5f60115f6101000a81548160ff021916908315150217905550565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611ca5611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2a906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611da1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9890613a32565b60405180910390fd5b80600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611dec611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e71906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edf90613ac0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c5481565b6008602052805f5260405f205f915054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361203e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203590613b4e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a390613bdc565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161218691906132c1565b60405180910390a3505050565b5f61219e8484611b45565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612218578181101561220a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220190613c44565b60405180910390fd5b6122178484848403611fd0565b5b50505050565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156122a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229f90613cac565b60405180910390fd5b60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232990613d14565b60405180910390fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806123cd575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806123e45750601160029054906101000a900460ff165b156123f9576123f4838383612491565b61248c565b60095f9054906101000a900460ff16612447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243e90613d7c565b60405180910390fd5b601160019054906101000a900460ff1615612468576124678383836126fd565b5b612473838383612b5b565b8161247e9190613d9a565b905061248b838383612491565b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f690613e3d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361256d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256490613ecb565b60405180910390fd5b612578838383612d32565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156125fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f290613f59565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126e491906132c1565b60405180910390a36126f7848484612d37565b50505050565b60115f9054906101000a900460ff161561287d5760145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156127b55750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561287c574360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612839576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283090613fc1565b60405180910390fd5b4360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561291a575060075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156129c157600b54811115612964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295b90614029565b60405180910390fd5b600c5461297083611215565b8261297b91906137c8565b11156129bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b390614091565b60405180910390fd5b612b56565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612a5e575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612aad57600b54811115612aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9f90614029565b60405180910390fd5b612b55565b60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612b5457600c54612b0783611215565b82612b1291906137c8565b1115612b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4a90614091565b60405180910390fd5b5b5b5b505050565b5f601254612b6830611215565b10158015612b835750601160029054906101000a900460ff16155b8015612bd65750600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612c19576001601160026101000a81548160ff021916908315150217905550612bfe612d3c565b5f601160026101000a81548160ff0219169083151502179055505b5f600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612c7157505f600f54115b15612c9857612710600f5484612c879190613665565b612c9191906136d3565b9050612d13565b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612cef57505f600e54115b15612d1257612710600e5484612d059190613665565b612d0f91906136d3565b90505b5b5f811115612d2757612d26853083612491565b5b809150509392505050565b505050565b505050565b5f612d4630611215565b90505f8103612d555750612e1d565b6028601254612d649190613665565b811115612d7d576028601254612d7a9190613665565b90505b612d8681612e1f565b5f471115612e1b575f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612dd4906140dc565b5f6040518083038185875af1925050503d805f8114612e0e576040519150601f19603f3d011682016040523d82523d5f602084013e612e13565b606091505b505080915050505b505b565b5f600267ffffffffffffffff811115612e3b57612e3a6140f0565b5b604051908082528060200260200182016040528015612e695781602001602082028036833780820191505090505b50905030815f81518110612e8057612e7f61411d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f48919061415e565b81600181518110612f5c57612f5b61411d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612ff8959493929190614279565b5f604051808303815f87803b15801561300f575f80fd5b505af1158015613021573d5f803e3d5ffd5b505050505050565b5f80fd5b5f819050919050565b61303f8161302d565b8114613049575f80fd5b50565b5f8135905061305a81613036565b92915050565b5f6020828403121561307557613074613029565b5b5f6130828482850161304c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156130c25780820151818401526020810190506130a7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6130e78261308b565b6130f18185613095565b93506131018185602086016130a5565b61310a816130cd565b840191505092915050565b5f6020820190508181035f83015261312d81846130dd565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61317761317261316d84613135565b613154565b613135565b9050919050565b5f6131888261315d565b9050919050565b5f6131998261317e565b9050919050565b6131a98161318f565b82525050565b5f6020820190506131c25f8301846131a0565b92915050565b5f6131d282613135565b9050919050565b6131e2816131c8565b81146131ec575f80fd5b50565b5f813590506131fd816131d9565b92915050565b5f806040838503121561321957613218613029565b5b5f613226858286016131ef565b92505060206132378582860161304c565b9150509250929050565b5f8115159050919050565b61325581613241565b82525050565b5f60208201905061326e5f83018461324c565b92915050565b5f806040838503121561328a57613289613029565b5b5f6132978582860161304c565b92505060206132a88582860161304c565b9150509250929050565b6132bb8161302d565b82525050565b5f6020820190506132d45f8301846132b2565b92915050565b5f805f606084860312156132f1576132f0613029565b5b5f6132fe868287016131ef565b935050602061330f868287016131ef565b92505060406133208682870161304c565b9150509250925092565b5f60ff82169050919050565b61333f8161332a565b82525050565b5f6020820190506133585f830184613336565b92915050565b5f6020828403121561337357613372613029565b5b5f613380848285016131ef565b91505092915050565b613392816131c8565b82525050565b5f6020820190506133ab5f830184613389565b92915050565b6133ba81613241565b81146133c4575f80fd5b50565b5f813590506133d5816133b1565b92915050565b5f80604083850312156133f1576133f0613029565b5b5f6133fe858286016131ef565b925050602061340f858286016133c7565b9150509250929050565b5f806040838503121561342f5761342e613029565b5b5f61343c858286016131ef565b925050602061344d858286016131ef565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61348b602083613095565b915061349682613457565b602082019050919050565b5f6020820190508181035f8301526134b88161347f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156135415780860481111561351d5761351c6134bf565b5b600185161561352c5780820291505b808102905061353a856134ec565b9450613501565b94509492505050565b5f826135595760019050613614565b81613566575f9050613614565b816001811461357c5760028114613586576135b5565b6001915050613614565b60ff841115613598576135976134bf565b5b8360020a9150848211156135af576135ae6134bf565b5b50613614565b5060208310610133831016604e8410600b84101617156135ea5782820a9050838111156135e5576135e46134bf565b5b613614565b6135f784848460016134f8565b9250905081840481111561360e5761360d6134bf565b5b81810290505b9392505050565b5f6136258261302d565b91506136308361332a565b925061365d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461354a565b905092915050565b5f61366f8261302d565b915061367a8361302d565b92508282026136888161302d565b9150828204841483151761369f5761369e6134bf565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6136dd8261302d565b91506136e88361302d565b9250826136f8576136f76136a6565b5b828204905092915050565b7f546f6f206c6f77000000000000000000000000000000000000000000000000005f82015250565b5f613737600783613095565b915061374282613703565b602082019050919050565b5f6020820190508181035f8301526137648161372b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806137af57607f821691505b6020821081036137c2576137c161376b565b5b50919050565b5f6137d28261302d565b91506137dd8361302d565b92508282019050808211156137f5576137f46134bf565b5b92915050565b7f5a65726f204164647265737300000000000000000000000000000000000000005f82015250565b5f61382f600c83613095565b915061383a826137fb565b602082019050919050565b5f6020820190508181035f83015261385c81613823565b9050919050565b5f6040820190506138765f830185613389565b613883602083018461324c565b9392505050565b7f54726164696e67206163746976650000000000000000000000000000000000005f82015250565b5f6138be600e83613095565b91506138c98261388a565b602082019050919050565b5f6020820190508181035f8301526138eb816138b2565b9050919050565b7f50616972000000000000000000000000000000000000000000000000000000005f82015250565b5f613926600483613095565b9150613931826138f2565b602082019050919050565b5f6020820190508181035f8301526139538161391a565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6139b4602583613095565b91506139bf8261395a565b604082019050919050565b5f6020820190508181035f8301526139e1816139a8565b9050919050565b7f7a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f613a1c600c83613095565b9150613a27826139e8565b602082019050919050565b5f6020820190508181035f830152613a4981613a10565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613aaa602683613095565b9150613ab582613a50565b604082019050919050565b5f6020820190508181035f830152613ad781613a9e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613b38602483613095565b9150613b4382613ade565b604082019050919050565b5f6020820190508181035f830152613b6581613b2c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613bc6602283613095565b9150613bd182613b6c565b604082019050919050565b5f6020820190508181035f830152613bf381613bba565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613c2e601d83613095565b9150613c3982613bfa565b602082019050919050565b5f6020820190508181035f830152613c5b81613c22565b9050919050565b7f53656e64657220697320626c61636b6c697374656400000000000000000000005f82015250565b5f613c96601583613095565b9150613ca182613c62565b602082019050919050565b5f6020820190508181035f830152613cc381613c8a565b9050919050565b7f526563697069656e7420697320626c61636b6c697374656400000000000000005f82015250565b5f613cfe601883613095565b9150613d0982613cca565b602082019050919050565b5f6020820190508181035f830152613d2b81613cf2565b9050919050565b7f54726164696e67206e6f742061637469766500000000000000000000000000005f82015250565b5f613d66601283613095565b9150613d7182613d32565b602082019050919050565b5f6020820190508181035f830152613d9381613d5a565b9050919050565b5f613da48261302d565b9150613daf8361302d565b9250828203905081811115613dc757613dc66134bf565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613e27602583613095565b9150613e3282613dcd565b604082019050919050565b5f6020820190508181035f830152613e5481613e1b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613eb5602383613095565b9150613ec082613e5b565b604082019050919050565b5f6020820190508181035f830152613ee281613ea9565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613f43602683613095565b9150613f4e82613ee9565b604082019050919050565b5f6020820190508181035f830152613f7081613f37565b9050919050565b7f5472616e736665722044656c617920656e61626c65642e0000000000000000005f82015250565b5f613fab601783613095565b9150613fb682613f77565b602082019050919050565b5f6020820190508181035f830152613fd881613f9f565b9050919050565b7f4d61782074782065786365656465642e000000000000000000000000000000005f82015250565b5f614013601083613095565b915061401e82613fdf565b602082019050919050565b5f6020820190508181035f83015261404081614007565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f61407b601383613095565b915061408682614047565b602082019050919050565b5f6020820190508181035f8301526140a88161406f565b9050919050565b5f81905092915050565b50565b5f6140c75f836140af565b91506140d2826140b9565b5f82019050919050565b5f6140e6826140bc565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050614158816131d9565b92915050565b5f6020828403121561417357614172613029565b5b5f6141808482850161414a565b91505092915050565b5f819050919050565b5f6141ac6141a76141a284614189565b613154565b61302d565b9050919050565b6141bc81614192565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6141f4816131c8565b82525050565b5f61420583836141eb565b60208301905092915050565b5f602082019050919050565b5f614227826141c2565b61423181856141cc565b935061423c836141dc565b805f5b8381101561426c57815161425388826141fa565b975061425e83614211565b92505060018101905061423f565b5085935050505092915050565b5f60a08201905061428c5f8301886132b2565b61429960208301876141b3565b81810360408301526142ab818661421d565b90506142ba6060830185613389565b6142c760808301846132b2565b969550505050505056fea26469706673582212205f3f316271027d8d57dd634f972e7bdeffcae4cee4b651f7808131d5850e0db864736f6c63430008140033

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

00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000a4d6174742046756c696500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000546554c4945000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): Matt Fulie
Arg [1] : _symbol (string): FULIE

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [3] : 4d6174742046756c696500000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [5] : 46554c4945000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

16866:8552:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23960:287;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4386:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17632:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6865:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24529:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5634:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24255:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7646:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5476:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8316:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23000:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17604:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17495:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17271:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23176:174;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16912:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4494:109;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5805:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16036:150;;;;;;;;;;;;;:::i;:::-;;24895:231;;;;;;;;;;;;;:::i;:::-;;23358:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24752:135;;;;;;;;;;;;;:::i;:::-;;16966:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15822:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4724:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17668:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23613:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9057:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6138:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17110:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17076:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17161:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17565:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17449:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17299:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6394:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25134:98;;;;;;;;;;;;;:::i;:::-;;17230:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25240:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16194:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17197:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17022:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23960:287;15959:12;:10;:12::i;:::-;15949:22;;:6;;;;;;;;;;;:22;;;15941:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24102:10:::1;:8;:10::i;:::-;24098:2;:14;;;;:::i;:::-;24091:4;24087:1;24071:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:24;;;;:::i;:::-;24070:43;;;;:::i;:::-;24052:14;:61;;24044:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;24175:10;:8;:10::i;:::-;24171:2;:14;;;;:::i;:::-;24153;:33;;;;:::i;:::-;24136:14;:50;;;;24202:37;24224:14;;24202:37;;;;;;:::i;:::-;;;;;;;;23960:287:::0;:::o;4386:100::-;4440:13;4473:5;4466:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4386:100;:::o;17632:27::-;;;;;;;;;;;;;:::o;6865:201::-;6948:4;6965:13;6981:12;:10;:12::i;:::-;6965:28;;7004:32;7013:5;7020:7;7029:6;7004:8;:32::i;:::-;7054:4;7047:11;;;6865:201;;;;:::o;24529:215::-;15959:12;:10;:12::i;:::-;15949:22;;:6;;;;;;;;;;;:22;;;15941:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24624:7:::1;24615:6;:16;;;;24647:21;24661:6;;24647:21;;;;;;:::i;:::-;;;;;;;;24689:8;24679:7;:18;;;;24713:23;24728:7;;24713:23;;;;;;:::i;:::-;;;;;;;;24529:215:::0;;:::o;5634:108::-;5695:7;5722:12;;5715:19;;5634:108;:::o;24255:266::-;15959:12;:10;:12::i;:::-;15949:22;;:6;;;;;;;;;;;:22;;;15941:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24391:10:::1;:8;:10::i;:::-;24387:2;:14;;;;:::i;:::-;24381:3;24377:1;24361:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:23;;;;:::i;:::-;24360:42;;;;:::i;:::-;24342:14;:60;;24334:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;24459:10;:8;:10::i;:::-;24455:2;:14;;;;:::i;:::-;24437;:33;;;;:::i;:::-;24425:9;:45;;;;24486:27;24503:9;;24486:27;;;;;;:::i;:::-;;;;;;;;24255:266:::0;:::o;7646:261::-;7743:4;7760:15;7778:12;:10;:12::i;:::-;7760:30;;7801:38;7817:4;7823:7;7832:6;7801:15;:38::i;:::-;7850:27;7860:4;7866:2;7870:6;7850:9;:27::i;:::-;7895:4;7888:11;;;7646:261;;;;;:::o;5476:93::-;5534:5;5559:2;5552:9;;5476:93;:::o;8316:238::-;8404:4;8421:13;8437:12;:10;:12::i;:::-;8421:28;;8460:64;8469:5;8476:7;8513:10;8485:25;8495:5;8502:7;8485:9;:25::i;:::-;:38;;;;:::i;:::-;8460:8;:64::i;:::-;8542:4;8535:11;;;8316:238;;;;:::o;23000:168::-;15959:12;:10;:12::i;:::-;15949:22;;:6;;;;;;;;;;;:22;;;15941:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23100:1:::1;23080:22;;:8;:22;;::::0;23072:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23156:4;23130:13;:23;23144:8;23130:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;23000:168:::0;:::o;17604:21::-;;;;;;;;;;;;;:::o;17495:33::-;;;;;;;;;;;;;:::o;17271:21::-;;;;:::o;23176:174::-;15959:12;:10;:12::i;:::-;15949:22;;:6;;;;;;;;;;;:22;;;15941:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23281:1:::1;23261:22;;:8;:22;;::::0;23253:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23337:5;23311:13;:23;23325:8;23311:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;23176:174:::0;:::o;16912:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;4494:109::-;4547:7;4574:21;4567:28;;4494:109;:::o;5805:127::-;5879:7;5906:9;:18;5916:7;5906:18;;;;;;;;;;;;;;;;5899:25;;5805:127;;;:::o;16036:150::-;15959:12;:10;:12::i;:::-;15949:22;;:6;;;;;;;;;;;:22;;;15941:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16145:1:::1;16108:40;;16129:6;;;;;;;;;;;16108:40;;;;;;;;;;;;16176:1;16159:6;;:19;;;;;;;;;;;;;;;;;;16036:150::o:0;24895:231::-;15959:12;:10;:12::i;:::-;15949:22;;:6;;;;;;;;;;;:22;;;15941:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24966:5:::1;24949:14;;:22;;;;;;;;;;;;;;;;;;25005:5;24982:20;;:28;;;;;;;;;;;;;;;;;;25038:13;:11;:13::i;:::-;25021:14;:30;;;;25074:13;:11;:13::i;:::-;25062:9;:25;;;;25103:15;;;;;;;;;;24895:231::o:0;23358:247::-;15959:12;:10;:12::i;:::-;15949:22;;:6;;;;;;;;;;;:22;;;15941:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23477:1:::1;23457:22;;:8;:22;;::::0;23449:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23534:9;23507:14;:24;23522:8;23507:24;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;23559:38;23577:8;23587:9;23559:38;;;;;;;:::i;:::-;;;;;;;;23358:247:::0;;:::o;24752:135::-;15959:12;:10;:12::i;:::-;15949:22;;:6;;;;;;;;;;;:22;;;15941:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24816:13:::1;;;;;;;;;;;24815:14;24807:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;24875:4;24859:13;;:20;;;;;;;;;;;;;;;;;;24752:135::o:0;16966:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;15822:79::-;15860:7;15887:6;;;;;;;;;;;15880:13;;15822:79;:::o;4724:104::-;4780:13;4813:7;4806:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4724:104;:::o;17668:43::-;17706:5;17668:43;:::o;23613:339::-;15959:12;:10;:12::i;:::-;15949:22;;:6;;;;;;;;;;;:22;;;15941:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23734:1:::1;23714:22;;:8;:22;;::::0;23706:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23768:9;23764:76;;23813:6;;;;;;;;;;;23801:18;;:8;:18;;::::0;23793:35:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23764:76;23879:9;23850:16;:26;23867:8;23850:26;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;23904:40;23924:8;23934:9;23904:40;;;;;;;:::i;:::-;;;;;;;;23613:339:::0;;:::o;9057:436::-;9150:4;9167:13;9183:12;:10;:12::i;:::-;9167:28;;9206:24;9233:25;9243:5;9250:7;9233:9;:25::i;:::-;9206:52;;9297:15;9277:16;:35;;9269:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9390:60;9399:5;9406:7;9434:15;9415:16;:34;9390:8;:60::i;:::-;9481:4;9474:11;;;;9057:436;;;;:::o;6138:193::-;6217:4;6234:13;6250:12;:10;:12::i;:::-;6234:28;;6273;6283:5;6290:2;6294:6;6273:9;:28::i;:::-;6319:4;6312:11;;;6138:193;;;;:::o;17110:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;17076:25::-;;;;;;;;;;;;;:::o;17161:29::-;;;;:::o;17565:30::-;;;;:::o;17449:39::-;;;;;;;;;;;;;:::o;17299:22::-;;;;:::o;6394:151::-;6483:7;6510:11;:18;6522:5;6510:18;;;;;;;;;;;;;;;:27;6529:7;6510:27;;;;;;;;;;;;;;;;6503:34;;6394:151;;;;:::o;25134:98::-;15959:12;:10;:12::i;:::-;15949:22;;:6;;;;;;;;;;;:22;;;15941:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;25219:5:::1;25196:20;;:28;;;;;;;;;;;;;;;;;;25134:98::o:0;17230:32::-;;;;;;;;;;;;;:::o;25240:175::-;15959:12;:10;:12::i;:::-;15949:22;;:6;;;;;;;;;;;:22;;;15941:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;25349:1:::1;25329:22;;:8;:22;;::::0;25321:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;25399:8;25379:17;;:28;;;;;;;;;;;;;;;;;;25240:175:::0;:::o;16194:244::-;15959:12;:10;:12::i;:::-;15949:22;;:6;;;;;;;;;;;:22;;;15941:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16303:1:::1;16283:22;;:8;:22;;::::0;16275:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;16393:8;16364:38;;16385:6;;;;;;;;;;;16364:38;;;;;;;;;;;;16422:8;16413:6;;:17;;;;;;;;;;;;;;;;;;16194:244:::0;:::o;17197:24::-;;;;:::o;17022:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;292:98::-;345:7;372:10;365:17;;292:98;:::o;13050:346::-;13169:1;13152:19;;:5;:19;;;13144:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13250:1;13231:21;;:7;:21;;;13223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13334:6;13304:11;:18;13316:5;13304:18;;;;;;;;;;;;;;;:27;13323:7;13304:27;;;;;;;;;;;;;;;:36;;;;13372:7;13356:32;;13365:5;13356:32;;;13381:6;13356:32;;;;;;:::i;:::-;;;;;;;;13050:346;;;:::o;13687:419::-;13788:24;13815:25;13825:5;13832:7;13815:9;:25::i;:::-;13788:52;;13875:17;13855:16;:37;13851:248;;13937:6;13917:16;:26;;13909:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14021:51;14030:5;14037:7;14065:6;14046:16;:25;14021:8;:51::i;:::-;13851:248;13777:329;13687:419;;;:::o;19720:707::-;19922:13;:19;19936:4;19922:19;;;;;;;;;;;;;;;;;;;;;;;;;19921:20;19913:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;19987:13;:17;20001:2;19987:17;;;;;;;;;;;;;;;;;;;;;;;;;19986:18;19978:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;20049:14;:20;20064:4;20049:20;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;20073:14;:18;20088:2;20073:18;;;;;;;;;;;;;;;;;;;;;;;;;20049:42;:54;;;;20095:8;;;;;;;;;;;20049:54;20046:137;;;20119:31;20135:4;20140:2;20143:6;20119:15;:31::i;:::-;20165:7;;20046:137;20203:13;;;;;;;;;;;20195:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;20255:14;;;;;;;;;;;20252:74;;;20285:29;20297:4;20303:2;20307:6;20285:11;:29::i;:::-;20252:74;20348:27;20358:4;20364:2;20368:6;20348:9;:27::i;:::-;20338:37;;;;;:::i;:::-;;;20388:31;20404:4;20409:2;20412:6;20388:15;:31::i;:::-;19720:707;;;;:::o;9963:806::-;10076:1;10060:18;;:4;:18;;;10052:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10153:1;10139:16;;:2;:16;;;10131:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10208:38;10229:4;10235:2;10239:6;10208:20;:38::i;:::-;10259:19;10281:9;:15;10291:4;10281:15;;;;;;;;;;;;;;;;10259:37;;10330:6;10315:11;:21;;10307:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10447:6;10433:11;:20;10415:9;:15;10425:4;10415:15;;;;;;;;;;;;;;;:38;;;;10650:6;10633:9;:13;10643:2;10633:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;10700:2;10685:26;;10694:4;10685:26;;;10704:6;10685:26;;;;;;:::i;:::-;;;;;;;;10724:37;10744:4;10750:2;10754:6;10724:19;:37::i;:::-;10041:728;9963:806;;;:::o;20435:908::-;20522:20;;;;;;;;;;;20518:288;;;20576:9;;;;;;;;;;;20562:24;;:2;:24;;;;:42;;;;;20591:9;:13;20601:2;20591:13;;;;;;;;;;;;;;;;;;;;;;;;;20590:14;20562:42;20558:237;;;20670:12;20632:24;:35;20657:9;20632:35;;;;;;;;;;;;;;;;:50;20624:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;20767:12;20729:24;:35;20754:9;20729:35;;;;;;;;;;;;;;;:50;;;;20558:237;20518:288;20838:9;:15;20848:4;20838:15;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;20858:16;:20;20875:2;20858:20;;;;;;;;;;;;;;;;;;;;;;;;;20857:21;20838:40;20834:502;;;20913:14;;20903:6;:24;;20895:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;20997:9;;20980:13;20990:2;20980:9;:13::i;:::-;20971:6;:22;;;;:::i;:::-;:35;;20963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20834:502;;;21079:9;:13;21089:2;21079:13;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;21097:16;:22;21114:4;21097:22;;;;;;;;;;;;;;;;;;;;;;;;;21096:23;21079:40;21075:261;;;21154:14;;21144:6;:24;;21136:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;21075:261;;;21220:16;:20;21237:2;21220:20;;;;;;;;;;;;;;;;;;;;;;;;;21216:120;;21291:9;;21274:13;21284:2;21274:9;:13::i;:::-;21265:6;:22;;;;:::i;:::-;:35;;21257:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21216:120;21075:261;20834:502;20435:908;;;:::o;21351:712::-;21430:7;21480:15;;21452:24;21470:4;21452:9;:24::i;:::-;:43;;:56;;;;;21500:8;;;;;;;;;;;21499:9;21452:56;:76;;;;;21513:9;:15;21523:4;21513:15;;;;;;;;;;;;;;;;;;;;;;;;;21512:16;21452:76;21449:179;;;21556:4;21545:8;;:15;;;;;;;;;;;;;;;;;;21575:10;:8;:10::i;:::-;21611:5;21600:8;;:16;;;;;;;;;;;;;;;;;;21449:179;21648:11;21700:9;:13;21710:2;21700:13;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;;;21727:1;21717:7;;:11;21700:28;21696:226;;;17706:5;21759:7;;21750:6;:16;;;;:::i;:::-;:30;;;;:::i;:::-;21744:36;;21696:226;;;21829:9;:15;21839:4;21829:15;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;;;21857:1;21848:6;;:10;21829:29;21826:96;;;17706:5;21890:6;;21881;:15;;;;:::i;:::-;:29;;;;:::i;:::-;21875:35;;21826:96;21696:226;21951:1;21945:3;:7;21942:83;;;21972:41;21988:4;22002;22009:3;21972:15;:41::i;:::-;21942:83;22052:3;22045:10;;;21351:712;;;;;:::o;14706:91::-;;;;:::o;15401:90::-;;;;:::o;22463:503::-;22504:23;22530:24;22548:4;22530:9;:24::i;:::-;22504:50;;22597:1;22578:15;:20;22575:34;;22601:7;;;22575:34;22660:2;22642:15;;:20;;;;:::i;:::-;22624:15;:38;22621:107;;;22714:2;22696:15;;:20;;;;:::i;:::-;22678:38;;22621:107;22748:33;22765:15;22748:16;:33::i;:::-;22833:1;22809:21;:25;22806:153;;;22850:12;22891:17;;;;;;;;;;;:22;;22921:21;22891:56;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22877:70;;;;;22835:124;22806:153;22491:475;22463:503;:::o;22071:384::-;22136:21;22174:1;22160:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22136:40;;22205:4;22187;22192:1;22187:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22231:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22221:4;22226:1;22221:7;;;;;;;;:::i;:::-;;;;;;;:26;;;;;;;;;;;22260:9;;;;;;;;;;;:60;;;22335:8;22358:1;22374:4;22401;22421:15;22260:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22123:332;22071:384;:::o;88:117:1:-;197:1;194;187: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:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:246::-;1386:1;1396:113;1410:6;1407:1;1404:13;1396:113;;;1495:1;1490:3;1486:11;1480:18;1476:1;1471:3;1467:11;1460:39;1432:2;1429:1;1425:10;1420:15;;1396:113;;;1543:1;1534:6;1529:3;1525:16;1518:27;1367:184;1305:246;;;:::o;1557:102::-;1598:6;1649:2;1645:7;1640:2;1633:5;1629:14;1625:28;1615:38;;1557:102;;;:::o;1665:377::-;1753:3;1781:39;1814:5;1781:39;:::i;:::-;1836:71;1900:6;1895:3;1836:71;:::i;:::-;1829:78;;1916:65;1974:6;1969:3;1962:4;1955:5;1951:16;1916:65;:::i;:::-;2006:29;2028:6;2006:29;:::i;:::-;2001:3;1997:39;1990:46;;1757:285;1665:377;;;;:::o;2048:313::-;2161:4;2199:2;2188:9;2184:18;2176:26;;2248:9;2242:4;2238:20;2234:1;2223:9;2219:17;2212:47;2276:78;2349:4;2340:6;2276:78;:::i;:::-;2268:86;;2048:313;;;;:::o;2367:126::-;2404:7;2444:42;2437:5;2433:54;2422:65;;2367:126;;;:::o;2499:60::-;2527:3;2548:5;2541:12;;2499:60;;;:::o;2565:142::-;2615:9;2648:53;2666:34;2675:24;2693:5;2675:24;:::i;:::-;2666:34;:::i;:::-;2648:53;:::i;:::-;2635:66;;2565:142;;;:::o;2713:126::-;2763:9;2796:37;2827:5;2796:37;:::i;:::-;2783:50;;2713:126;;;:::o;2845:144::-;2913:9;2946:37;2977:5;2946:37;:::i;:::-;2933:50;;2845:144;;;:::o;2995:167::-;3100:55;3149:5;3100:55;:::i;:::-;3095:3;3088:68;2995:167;;:::o;3168:258::-;3279:4;3317:2;3306:9;3302:18;3294:26;;3330:89;3416:1;3405:9;3401:17;3392:6;3330:89;:::i;:::-;3168:258;;;;:::o;3432:96::-;3469:7;3498:24;3516:5;3498:24;:::i;:::-;3487:35;;3432:96;;;:::o;3534:122::-;3607:24;3625:5;3607:24;:::i;:::-;3600:5;3597:35;3587:63;;3646:1;3643;3636:12;3587:63;3534:122;:::o;3662:139::-;3708:5;3746:6;3733:20;3724:29;;3762:33;3789:5;3762:33;:::i;:::-;3662:139;;;;:::o;3807:474::-;3875:6;3883;3932:2;3920:9;3911:7;3907:23;3903:32;3900:119;;;3938:79;;:::i;:::-;3900:119;4058:1;4083:53;4128:7;4119:6;4108:9;4104:22;4083:53;:::i;:::-;4073:63;;4029:117;4185:2;4211:53;4256:7;4247:6;4236:9;4232:22;4211:53;:::i;:::-;4201:63;;4156:118;3807:474;;;;;:::o;4287:90::-;4321:7;4364:5;4357:13;4350:21;4339:32;;4287:90;;;:::o;4383:109::-;4464:21;4479:5;4464:21;:::i;:::-;4459:3;4452:34;4383:109;;:::o;4498:210::-;4585:4;4623:2;4612:9;4608:18;4600:26;;4636:65;4698:1;4687:9;4683:17;4674:6;4636:65;:::i;:::-;4498:210;;;;:::o;4714:474::-;4782:6;4790;4839:2;4827:9;4818:7;4814:23;4810:32;4807:119;;;4845:79;;:::i;:::-;4807:119;4965:1;4990:53;5035:7;5026:6;5015:9;5011:22;4990:53;:::i;:::-;4980:63;;4936:117;5092:2;5118:53;5163:7;5154:6;5143:9;5139:22;5118:53;:::i;:::-;5108:63;;5063:118;4714:474;;;;;:::o;5194:118::-;5281:24;5299:5;5281:24;:::i;:::-;5276:3;5269:37;5194:118;;:::o;5318:222::-;5411:4;5449:2;5438:9;5434:18;5426:26;;5462:71;5530:1;5519:9;5515:17;5506:6;5462:71;:::i;:::-;5318:222;;;;:::o;5546:619::-;5623:6;5631;5639;5688:2;5676:9;5667:7;5663:23;5659:32;5656:119;;;5694:79;;:::i;:::-;5656:119;5814:1;5839:53;5884:7;5875:6;5864:9;5860:22;5839:53;:::i;:::-;5829:63;;5785:117;5941:2;5967:53;6012:7;6003:6;5992:9;5988:22;5967:53;:::i;:::-;5957:63;;5912:118;6069:2;6095:53;6140:7;6131:6;6120:9;6116:22;6095:53;:::i;:::-;6085:63;;6040:118;5546:619;;;;;:::o;6171:86::-;6206:7;6246:4;6239:5;6235:16;6224:27;;6171:86;;;:::o;6263:112::-;6346:22;6362:5;6346:22;:::i;:::-;6341:3;6334:35;6263:112;;:::o;6381:214::-;6470:4;6508:2;6497:9;6493:18;6485:26;;6521:67;6585:1;6574:9;6570:17;6561:6;6521:67;:::i;:::-;6381:214;;;;:::o;6601:329::-;6660:6;6709:2;6697:9;6688:7;6684:23;6680:32;6677:119;;;6715:79;;:::i;:::-;6677:119;6835:1;6860:53;6905:7;6896:6;6885:9;6881:22;6860:53;:::i;:::-;6850:63;;6806:117;6601:329;;;;:::o;6936:118::-;7023:24;7041:5;7023:24;:::i;:::-;7018:3;7011:37;6936:118;;:::o;7060:222::-;7153:4;7191:2;7180:9;7176:18;7168:26;;7204:71;7272:1;7261:9;7257:17;7248:6;7204:71;:::i;:::-;7060:222;;;;:::o;7288:116::-;7358:21;7373:5;7358:21;:::i;:::-;7351:5;7348:32;7338:60;;7394:1;7391;7384:12;7338:60;7288:116;:::o;7410:133::-;7453:5;7491:6;7478:20;7469:29;;7507:30;7531:5;7507:30;:::i;:::-;7410:133;;;;:::o;7549:468::-;7614:6;7622;7671:2;7659:9;7650:7;7646:23;7642:32;7639:119;;;7677:79;;:::i;:::-;7639:119;7797:1;7822:53;7867:7;7858:6;7847:9;7843:22;7822:53;:::i;:::-;7812:63;;7768:117;7924:2;7950:50;7992:7;7983:6;7972:9;7968:22;7950:50;:::i;:::-;7940:60;;7895:115;7549:468;;;;;:::o;8023:474::-;8091:6;8099;8148:2;8136:9;8127:7;8123:23;8119:32;8116:119;;;8154:79;;:::i;:::-;8116:119;8274:1;8299:53;8344:7;8335:6;8324:9;8320:22;8299:53;:::i;:::-;8289:63;;8245:117;8401:2;8427:53;8472:7;8463:6;8452:9;8448:22;8427:53;:::i;:::-;8417:63;;8372:118;8023:474;;;;;:::o;8503:182::-;8643:34;8639:1;8631:6;8627:14;8620:58;8503:182;:::o;8691:366::-;8833:3;8854:67;8918:2;8913:3;8854:67;:::i;:::-;8847:74;;8930:93;9019:3;8930:93;:::i;:::-;9048:2;9043:3;9039:12;9032:19;;8691:366;;;:::o;9063:419::-;9229:4;9267:2;9256:9;9252:18;9244:26;;9316:9;9310:4;9306:20;9302:1;9291:9;9287:17;9280:47;9344:131;9470:4;9344:131;:::i;:::-;9336:139;;9063:419;;;:::o;9488:180::-;9536:77;9533:1;9526:88;9633:4;9630:1;9623:15;9657:4;9654:1;9647:15;9674:102;9716:8;9763:5;9760:1;9756:13;9735:34;;9674:102;;;:::o;9782:848::-;9843:5;9850:4;9874:6;9865:15;;9898:5;9889:14;;9912:712;9933:1;9923:8;9920:15;9912:712;;;10028:4;10023:3;10019:14;10013:4;10010:24;10007:50;;;10037:18;;:::i;:::-;10007:50;10087:1;10077:8;10073:16;10070:451;;;10502:4;10495:5;10491:16;10482:25;;10070:451;10552:4;10546;10542:15;10534:23;;10582:32;10605:8;10582:32;:::i;:::-;10570:44;;9912:712;;;9782:848;;;;;;;:::o;10636:1073::-;10690:5;10881:8;10871:40;;10902:1;10893:10;;10904:5;;10871:40;10930:4;10920:36;;10947:1;10938:10;;10949:5;;10920:36;11016:4;11064:1;11059:27;;;;11100:1;11095:191;;;;11009:277;;11059:27;11077:1;11068:10;;11079:5;;;11095:191;11140:3;11130:8;11127:17;11124:43;;;11147:18;;:::i;:::-;11124:43;11196:8;11193:1;11189:16;11180:25;;11231:3;11224:5;11221:14;11218:40;;;11238:18;;:::i;:::-;11218:40;11271:5;;;11009:277;;11395:2;11385:8;11382:16;11376:3;11370:4;11367:13;11363:36;11345:2;11335:8;11332:16;11327:2;11321:4;11318:12;11314:35;11298:111;11295:246;;;11451:8;11445:4;11441:19;11432:28;;11486:3;11479:5;11476:14;11473:40;;;11493:18;;:::i;:::-;11473:40;11526:5;;11295:246;11566:42;11604:3;11594:8;11588:4;11585:1;11566:42;:::i;:::-;11551:57;;;;11640:4;11635:3;11631:14;11624:5;11621:25;11618:51;;;11649:18;;:::i;:::-;11618:51;11698:4;11691:5;11687:16;11678:25;;10636:1073;;;;;;:::o;11715:281::-;11773:5;11797:23;11815:4;11797:23;:::i;:::-;11789:31;;11841:25;11857:8;11841:25;:::i;:::-;11829:37;;11885:104;11922:66;11912:8;11906:4;11885:104;:::i;:::-;11876:113;;11715:281;;;;:::o;12002:410::-;12042:7;12065:20;12083:1;12065:20;:::i;:::-;12060:25;;12099:20;12117:1;12099:20;:::i;:::-;12094:25;;12154:1;12151;12147:9;12176:30;12194:11;12176:30;:::i;:::-;12165:41;;12355:1;12346:7;12342:15;12339:1;12336:22;12316:1;12309:9;12289:83;12266:139;;12385:18;;:::i;:::-;12266:139;12050:362;12002:410;;;;:::o;12418:180::-;12466:77;12463:1;12456:88;12563:4;12560:1;12553:15;12587:4;12584:1;12577:15;12604:185;12644:1;12661:20;12679:1;12661:20;:::i;:::-;12656:25;;12695:20;12713:1;12695:20;:::i;:::-;12690:25;;12734:1;12724:35;;12739:18;;:::i;:::-;12724:35;12781:1;12778;12774:9;12769:14;;12604:185;;;;:::o;12795:157::-;12935:9;12931:1;12923:6;12919:14;12912:33;12795:157;:::o;12958:365::-;13100:3;13121:66;13185:1;13180:3;13121:66;:::i;:::-;13114:73;;13196:93;13285:3;13196:93;:::i;:::-;13314:2;13309:3;13305:12;13298:19;;12958:365;;;:::o;13329:419::-;13495:4;13533:2;13522:9;13518:18;13510:26;;13582:9;13576:4;13572:20;13568:1;13557:9;13553:17;13546:47;13610:131;13736:4;13610:131;:::i;:::-;13602:139;;13329:419;;;:::o;13754:180::-;13802:77;13799:1;13792:88;13899:4;13896:1;13889:15;13923:4;13920:1;13913:15;13940:320;13984:6;14021:1;14015:4;14011:12;14001:22;;14068:1;14062:4;14058:12;14089:18;14079:81;;14145:4;14137:6;14133:17;14123:27;;14079:81;14207:2;14199:6;14196:14;14176:18;14173:38;14170:84;;14226:18;;:::i;:::-;14170:84;13991:269;13940:320;;;:::o;14266:191::-;14306:3;14325:20;14343:1;14325:20;:::i;:::-;14320:25;;14359:20;14377:1;14359:20;:::i;:::-;14354:25;;14402:1;14399;14395:9;14388:16;;14423:3;14420:1;14417:10;14414:36;;;14430:18;;:::i;:::-;14414:36;14266:191;;;;:::o;14463:162::-;14603:14;14599:1;14591:6;14587:14;14580:38;14463:162;:::o;14631:366::-;14773:3;14794:67;14858:2;14853:3;14794:67;:::i;:::-;14787:74;;14870:93;14959:3;14870:93;:::i;:::-;14988:2;14983:3;14979:12;14972:19;;14631:366;;;:::o;15003:419::-;15169:4;15207:2;15196:9;15192:18;15184:26;;15256:9;15250:4;15246:20;15242:1;15231:9;15227:17;15220:47;15284:131;15410:4;15284:131;:::i;:::-;15276:139;;15003:419;;;:::o;15428:320::-;15543:4;15581:2;15570:9;15566:18;15558:26;;15594:71;15662:1;15651:9;15647:17;15638:6;15594:71;:::i;:::-;15675:66;15737:2;15726:9;15722:18;15713:6;15675:66;:::i;:::-;15428:320;;;;;:::o;15754:164::-;15894:16;15890:1;15882:6;15878:14;15871:40;15754:164;:::o;15924:366::-;16066:3;16087:67;16151:2;16146:3;16087:67;:::i;:::-;16080:74;;16163:93;16252:3;16163:93;:::i;:::-;16281:2;16276:3;16272:12;16265:19;;15924:366;;;:::o;16296:419::-;16462:4;16500:2;16489:9;16485:18;16477:26;;16549:9;16543:4;16539:20;16535:1;16524:9;16520:17;16513:47;16577:131;16703:4;16577:131;:::i;:::-;16569:139;;16296:419;;;:::o;16721:154::-;16861:6;16857:1;16849:6;16845:14;16838:30;16721:154;:::o;16881:365::-;17023:3;17044:66;17108:1;17103:3;17044:66;:::i;:::-;17037:73;;17119:93;17208:3;17119:93;:::i;:::-;17237:2;17232:3;17228:12;17221:19;;16881:365;;;:::o;17252:419::-;17418:4;17456:2;17445:9;17441:18;17433:26;;17505:9;17499:4;17495:20;17491:1;17480:9;17476:17;17469:47;17533:131;17659:4;17533:131;:::i;:::-;17525:139;;17252:419;;;:::o;17677:224::-;17817:34;17813:1;17805:6;17801:14;17794:58;17886:7;17881:2;17873:6;17869:15;17862:32;17677:224;:::o;17907:366::-;18049:3;18070:67;18134:2;18129:3;18070:67;:::i;:::-;18063:74;;18146:93;18235:3;18146:93;:::i;:::-;18264:2;18259:3;18255:12;18248:19;;17907:366;;;:::o;18279:419::-;18445:4;18483:2;18472:9;18468:18;18460:26;;18532:9;18526:4;18522:20;18518:1;18507:9;18503:17;18496:47;18560:131;18686:4;18560:131;:::i;:::-;18552:139;;18279:419;;;:::o;18704:162::-;18844:14;18840:1;18832:6;18828:14;18821:38;18704:162;:::o;18872:366::-;19014:3;19035:67;19099:2;19094:3;19035:67;:::i;:::-;19028:74;;19111:93;19200:3;19111:93;:::i;:::-;19229:2;19224:3;19220:12;19213:19;;18872:366;;;:::o;19244:419::-;19410:4;19448:2;19437:9;19433:18;19425:26;;19497:9;19491:4;19487:20;19483:1;19472:9;19468:17;19461:47;19525:131;19651:4;19525:131;:::i;:::-;19517:139;;19244:419;;;:::o;19669:225::-;19809:34;19805:1;19797:6;19793:14;19786:58;19878:8;19873:2;19865:6;19861:15;19854:33;19669:225;:::o;19900:366::-;20042:3;20063:67;20127:2;20122:3;20063:67;:::i;:::-;20056:74;;20139:93;20228:3;20139:93;:::i;:::-;20257:2;20252:3;20248:12;20241:19;;19900:366;;;:::o;20272:419::-;20438:4;20476:2;20465:9;20461:18;20453:26;;20525:9;20519:4;20515:20;20511:1;20500:9;20496:17;20489:47;20553:131;20679:4;20553:131;:::i;:::-;20545:139;;20272:419;;;:::o;20697:223::-;20837:34;20833:1;20825:6;20821:14;20814:58;20906:6;20901:2;20893:6;20889:15;20882:31;20697:223;:::o;20926:366::-;21068:3;21089:67;21153:2;21148:3;21089:67;:::i;:::-;21082:74;;21165:93;21254:3;21165:93;:::i;:::-;21283:2;21278:3;21274:12;21267:19;;20926:366;;;:::o;21298:419::-;21464:4;21502:2;21491:9;21487:18;21479:26;;21551:9;21545:4;21541:20;21537:1;21526:9;21522:17;21515:47;21579:131;21705:4;21579:131;:::i;:::-;21571:139;;21298:419;;;:::o;21723:221::-;21863:34;21859:1;21851:6;21847:14;21840:58;21932:4;21927:2;21919:6;21915:15;21908:29;21723:221;:::o;21950:366::-;22092:3;22113:67;22177:2;22172:3;22113:67;:::i;:::-;22106:74;;22189:93;22278:3;22189:93;:::i;:::-;22307:2;22302:3;22298:12;22291:19;;21950:366;;;:::o;22322:419::-;22488:4;22526:2;22515:9;22511:18;22503:26;;22575:9;22569:4;22565:20;22561:1;22550:9;22546:17;22539:47;22603:131;22729:4;22603:131;:::i;:::-;22595:139;;22322:419;;;:::o;22747:179::-;22887:31;22883:1;22875:6;22871:14;22864:55;22747:179;:::o;22932:366::-;23074:3;23095:67;23159:2;23154:3;23095:67;:::i;:::-;23088:74;;23171:93;23260:3;23171:93;:::i;:::-;23289:2;23284:3;23280:12;23273:19;;22932:366;;;:::o;23304:419::-;23470:4;23508:2;23497:9;23493:18;23485:26;;23557:9;23551:4;23547:20;23543:1;23532:9;23528:17;23521:47;23585:131;23711:4;23585:131;:::i;:::-;23577:139;;23304:419;;;:::o;23729:171::-;23869:23;23865:1;23857:6;23853:14;23846:47;23729:171;:::o;23906:366::-;24048:3;24069:67;24133:2;24128:3;24069:67;:::i;:::-;24062:74;;24145:93;24234:3;24145:93;:::i;:::-;24263:2;24258:3;24254:12;24247:19;;23906:366;;;:::o;24278:419::-;24444:4;24482:2;24471:9;24467:18;24459:26;;24531:9;24525:4;24521:20;24517:1;24506:9;24502:17;24495:47;24559:131;24685:4;24559:131;:::i;:::-;24551:139;;24278:419;;;:::o;24703:174::-;24843:26;24839:1;24831:6;24827:14;24820:50;24703:174;:::o;24883:366::-;25025:3;25046:67;25110:2;25105:3;25046:67;:::i;:::-;25039:74;;25122:93;25211:3;25122:93;:::i;:::-;25240:2;25235:3;25231:12;25224:19;;24883:366;;;:::o;25255:419::-;25421:4;25459:2;25448:9;25444:18;25436:26;;25508:9;25502:4;25498:20;25494:1;25483:9;25479:17;25472:47;25536:131;25662:4;25536:131;:::i;:::-;25528:139;;25255:419;;;:::o;25680:168::-;25820:20;25816:1;25808:6;25804:14;25797:44;25680:168;:::o;25854:366::-;25996:3;26017:67;26081:2;26076:3;26017:67;:::i;:::-;26010:74;;26093:93;26182:3;26093:93;:::i;:::-;26211:2;26206:3;26202:12;26195:19;;25854:366;;;:::o;26226:419::-;26392:4;26430:2;26419:9;26415:18;26407:26;;26479:9;26473:4;26469:20;26465:1;26454:9;26450:17;26443:47;26507:131;26633:4;26507:131;:::i;:::-;26499:139;;26226:419;;;:::o;26651:194::-;26691:4;26711:20;26729:1;26711:20;:::i;:::-;26706:25;;26745:20;26763:1;26745:20;:::i;:::-;26740:25;;26789:1;26786;26782:9;26774:17;;26813:1;26807:4;26804:11;26801:37;;;26818:18;;:::i;:::-;26801:37;26651:194;;;;:::o;26851:224::-;26991:34;26987:1;26979:6;26975:14;26968:58;27060:7;27055:2;27047:6;27043:15;27036:32;26851:224;:::o;27081:366::-;27223:3;27244:67;27308:2;27303:3;27244:67;:::i;:::-;27237:74;;27320:93;27409:3;27320:93;:::i;:::-;27438:2;27433:3;27429:12;27422:19;;27081:366;;;:::o;27453:419::-;27619:4;27657:2;27646:9;27642:18;27634:26;;27706:9;27700:4;27696:20;27692:1;27681:9;27677:17;27670:47;27734:131;27860:4;27734:131;:::i;:::-;27726:139;;27453:419;;;:::o;27878:222::-;28018:34;28014:1;28006:6;28002:14;27995:58;28087:5;28082:2;28074:6;28070:15;28063:30;27878:222;:::o;28106:366::-;28248:3;28269:67;28333:2;28328:3;28269:67;:::i;:::-;28262:74;;28345:93;28434:3;28345:93;:::i;:::-;28463:2;28458:3;28454:12;28447:19;;28106:366;;;:::o;28478:419::-;28644:4;28682:2;28671:9;28667:18;28659:26;;28731:9;28725:4;28721:20;28717:1;28706:9;28702:17;28695:47;28759:131;28885:4;28759:131;:::i;:::-;28751:139;;28478:419;;;:::o;28903:225::-;29043:34;29039:1;29031:6;29027:14;29020:58;29112:8;29107:2;29099:6;29095:15;29088:33;28903:225;:::o;29134:366::-;29276:3;29297:67;29361:2;29356:3;29297:67;:::i;:::-;29290:74;;29373:93;29462:3;29373:93;:::i;:::-;29491:2;29486:3;29482:12;29475:19;;29134:366;;;:::o;29506:419::-;29672:4;29710:2;29699:9;29695:18;29687:26;;29759:9;29753:4;29749:20;29745:1;29734:9;29730:17;29723:47;29787:131;29913:4;29787:131;:::i;:::-;29779:139;;29506:419;;;:::o;29931:173::-;30071:25;30067:1;30059:6;30055:14;30048:49;29931:173;:::o;30110:366::-;30252:3;30273:67;30337:2;30332:3;30273:67;:::i;:::-;30266:74;;30349:93;30438:3;30349:93;:::i;:::-;30467:2;30462:3;30458:12;30451:19;;30110:366;;;:::o;30482:419::-;30648:4;30686:2;30675:9;30671:18;30663:26;;30735:9;30729:4;30725:20;30721:1;30710:9;30706:17;30699:47;30763:131;30889:4;30763:131;:::i;:::-;30755:139;;30482:419;;;:::o;30907:166::-;31047:18;31043:1;31035:6;31031:14;31024:42;30907:166;:::o;31079:366::-;31221:3;31242:67;31306:2;31301:3;31242:67;:::i;:::-;31235:74;;31318:93;31407:3;31318:93;:::i;:::-;31436:2;31431:3;31427:12;31420:19;;31079:366;;;:::o;31451:419::-;31617:4;31655:2;31644:9;31640:18;31632:26;;31704:9;31698:4;31694:20;31690:1;31679:9;31675:17;31668:47;31732:131;31858:4;31732:131;:::i;:::-;31724:139;;31451:419;;;:::o;31876:169::-;32016:21;32012:1;32004:6;32000:14;31993:45;31876:169;:::o;32051:366::-;32193:3;32214:67;32278:2;32273:3;32214:67;:::i;:::-;32207:74;;32290:93;32379:3;32290:93;:::i;:::-;32408:2;32403:3;32399:12;32392:19;;32051:366;;;:::o;32423:419::-;32589:4;32627:2;32616:9;32612:18;32604:26;;32676:9;32670:4;32666:20;32662:1;32651:9;32647:17;32640:47;32704:131;32830:4;32704:131;:::i;:::-;32696:139;;32423:419;;;:::o;32848:147::-;32949:11;32986:3;32971:18;;32848:147;;;;:::o;33001:114::-;;:::o;33121:398::-;33280:3;33301:83;33382:1;33377:3;33301:83;:::i;:::-;33294:90;;33393:93;33482:3;33393:93;:::i;:::-;33511:1;33506:3;33502:11;33495:18;;33121:398;;;:::o;33525:379::-;33709:3;33731:147;33874:3;33731:147;:::i;:::-;33724:154;;33895:3;33888:10;;33525:379;;;:::o;33910:180::-;33958:77;33955:1;33948:88;34055:4;34052:1;34045:15;34079:4;34076:1;34069:15;34096:180;34144:77;34141:1;34134:88;34241:4;34238:1;34231:15;34265:4;34262:1;34255:15;34282:143;34339:5;34370:6;34364:13;34355:22;;34386:33;34413:5;34386:33;:::i;:::-;34282:143;;;;:::o;34431:351::-;34501:6;34550:2;34538:9;34529:7;34525:23;34521:32;34518:119;;;34556:79;;:::i;:::-;34518:119;34676:1;34701:64;34757:7;34748:6;34737:9;34733:22;34701:64;:::i;:::-;34691:74;;34647:128;34431:351;;;;:::o;34788:85::-;34833:7;34862:5;34851:16;;34788:85;;;:::o;34879:158::-;34937:9;34970:61;34988:42;34997:32;35023:5;34997:32;:::i;:::-;34988:42;:::i;:::-;34970:61;:::i;:::-;34957:74;;34879:158;;;:::o;35043:147::-;35138:45;35177:5;35138:45;:::i;:::-;35133:3;35126:58;35043:147;;:::o;35196:114::-;35263:6;35297:5;35291:12;35281:22;;35196:114;;;:::o;35316:184::-;35415:11;35449:6;35444:3;35437:19;35489:4;35484:3;35480:14;35465:29;;35316:184;;;;:::o;35506:132::-;35573:4;35596:3;35588:11;;35626:4;35621:3;35617:14;35609:22;;35506:132;;;:::o;35644:108::-;35721:24;35739:5;35721:24;:::i;:::-;35716:3;35709:37;35644:108;;:::o;35758:179::-;35827:10;35848:46;35890:3;35882:6;35848:46;:::i;:::-;35926:4;35921:3;35917:14;35903:28;;35758:179;;;;:::o;35943:113::-;36013:4;36045;36040:3;36036:14;36028:22;;35943:113;;;:::o;36092:732::-;36211:3;36240:54;36288:5;36240:54;:::i;:::-;36310:86;36389:6;36384:3;36310:86;:::i;:::-;36303:93;;36420:56;36470:5;36420:56;:::i;:::-;36499:7;36530:1;36515:284;36540:6;36537:1;36534:13;36515:284;;;36616:6;36610:13;36643:63;36702:3;36687:13;36643:63;:::i;:::-;36636:70;;36729:60;36782:6;36729:60;:::i;:::-;36719:70;;36575:224;36562:1;36559;36555:9;36550:14;;36515:284;;;36519:14;36815:3;36808:10;;36216:608;;;36092:732;;;;:::o;36830:831::-;37093:4;37131:3;37120:9;37116:19;37108:27;;37145:71;37213:1;37202:9;37198:17;37189:6;37145:71;:::i;:::-;37226:80;37302:2;37291:9;37287:18;37278:6;37226:80;:::i;:::-;37353:9;37347:4;37343:20;37338:2;37327:9;37323:18;37316:48;37381:108;37484:4;37475:6;37381:108;:::i;:::-;37373:116;;37499:72;37567:2;37556:9;37552:18;37543:6;37499:72;:::i;:::-;37581:73;37649:3;37638:9;37634:19;37625:6;37581:73;:::i;:::-;36830:831;;;;;;;;:::o

Swarm Source

ipfs://5f3f316271027d8d57dd634f972e7bdeffcae4cee4b651f7808131d5850e0db8
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.