ETH Price: $2,580.62 (-2.48%)

Token

DogeFork ($DORK)
 

Overview

Max Total Supply

420,690,000,000,000 $DORK

Holders

100

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
7,000 $DORK

Value
$0.00
0x5b741DE78f9B78AD841f240F3d9eec88b9Cdf3e2
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:
Token

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*
$DORK
The Official Fork of $DOGE, but wait a second! Let's talk about our master $PORK!
If you've ever held $PORK, there is a FairDrop claim waiting for you!

https://dork.vip
*/

pragma solidity 0.8.20;

// SPDX-License-Identifier: MIT

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

    /**
     * @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 Token is ERC20, Ownable {

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

    bool public tradingActive;

    uint256 public initialTaxDuration = 2 minutes;

    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 = 0xb29BcEEfD6F555897dc1b861E6C6DC67e18EC596;
        _mint(newOwner, 420_690_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 * 1 / 100;
        maxWallet = _totalSupply * 1 / 100; // 1%
        swapTokensAtAmt = _totalSupply * 1 / 100; // 1%

        operationsAddress = msg.sender; // update

        buyTax = 20; // 1% = 100
        sellTax = 20; // 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 {

        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 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 updateTax(uint256 _buyTax, uint256 _sellTax) external onlyOwner {
        require(_buyTax <= buyTax || buyTax <= 200, "Can only reduce tax above 2%");
        buyTax = _buyTax;
        emit UpdatedBuyTax(buyTax);
        require(_sellTax <= sellTax || sellTax <= 200, "Can only reduce tax above 2%");
        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":"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":"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":[],"name":"initialTaxDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isAMMPair","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":[],"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":"updateTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526078600955600160115f6101000a81548160ff0219169083151502179055506001601160016101000a81548160ff0219169083151502179055503480156200004a575f80fd5b50604051620056ae380380620056ae833981810160405281019062000070919062000f2f565b81818160039081620000839190620011e9565b508060049081620000959190620011e9565b5050505f620000a96200089060201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f73b29bceefd6f555897dc1b861e6c6dc67e18ec59690506200017e816d14bddab3e51a57cff87a500000006200089760201b60201c565b5f6200018f620009fc60201b60201c565b90505f60014603620001b857737a250d5630b4cf539739df2c5dacb4c659f2488d90506200021c565b60054603620001de57737a250d5630b4cf539739df2c5dacb4c659f2488d90506200021b565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000212906200132b565b60405180910390fd5b5b8060145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060646001836200026d919062001378565b620002799190620013ef565b600b81905550606460018362000290919062001378565b6200029c9190620013ef565b600c819055506064600183620002b3919062001378565b620002bf9190620013ef565b60128190555033600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506014600e819055506014600f8190555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000380573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003a6919062001487565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200042d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000453919062001487565b6040518363ffffffff1660e01b815260040162000472929190620014c8565b6020604051808303815f875af11580156200048f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004b5919062001487565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a5f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620008743060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62000a0560201b60201c565b620008858362000bd060201b60201c565b5050505050620017f1565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000908576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008ff9062001541565b60405180910390fd5b6200091b5f838362000da060201b60201c565b8060025f8282546200092e919062001561565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620009dd9190620015ac565b60405180910390a3620009f85f838362000da560201b60201c565b5050565b5f600254905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000a76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a6d906200163b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000ae7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ade90620016cf565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000bc39190620015ac565b60405180910390a3505050565b62000be06200089060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000c71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c68906200173d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000ce2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cd990620017d1565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000e0b8262000dc3565b810181811067ffffffffffffffff8211171562000e2d5762000e2c62000dd3565b5b80604052505050565b5f62000e4162000daa565b905062000e4f828262000e00565b919050565b5f67ffffffffffffffff82111562000e715762000e7062000dd3565b5b62000e7c8262000dc3565b9050602081019050919050565b5f5b8381101562000ea857808201518184015260208101905062000e8b565b5f8484015250505050565b5f62000ec962000ec38462000e54565b62000e36565b90508281526020810184848401111562000ee85762000ee762000dbf565b5b62000ef584828562000e89565b509392505050565b5f82601f83011262000f145762000f1362000dbb565b5b815162000f2684826020860162000eb3565b91505092915050565b5f806040838503121562000f485762000f4762000db3565b5b5f83015167ffffffffffffffff81111562000f685762000f6762000db7565b5b62000f768582860162000efd565b925050602083015167ffffffffffffffff81111562000f9a5762000f9962000db7565b5b62000fa88582860162000efd565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200100157607f821691505b60208210810362001017576200101662000fbc565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200107b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200103e565b6200108786836200103e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620010d1620010cb620010c5846200109f565b620010a8565b6200109f565b9050919050565b5f819050919050565b620010ec83620010b1565b62001104620010fb82620010d8565b8484546200104a565b825550505050565b5f90565b6200111a6200110c565b62001127818484620010e1565b505050565b5b818110156200114e57620011425f8262001110565b6001810190506200112d565b5050565b601f8211156200119d5762001167816200101d565b62001172846200102f565b8101602085101562001182578190505b6200119a62001191856200102f565b8301826200112c565b50505b505050565b5f82821c905092915050565b5f620011bf5f1984600802620011a2565b1980831691505092915050565b5f620011d98383620011ae565b9150826002028217905092915050565b620011f48262000fb2565b67ffffffffffffffff81111562001210576200120f62000dd3565b5b6200121c825462000fe9565b6200122982828562001152565b5f60209050601f8311600181146200125f575f84156200124a578287015190505b620012568582620011cc565b865550620012c5565b601f1984166200126f866200101d565b5f5b82811015620012985784890151825560018201915060208501945060208101905062001271565b86831015620012b85784890151620012b4601f891682620011ae565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f436861696e206e6f7420636f6e666967757265640000000000000000000000005f82015250565b5f62001313601483620012cd565b91506200132082620012dd565b602082019050919050565b5f6020820190508181035f830152620013448162001305565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62001384826200109f565b915062001391836200109f565b9250828202620013a1816200109f565b91508282048414831517620013bb57620013ba6200134b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620013fb826200109f565b915062001408836200109f565b9250826200141b576200141a620013c2565b5b828204905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620014518262001426565b9050919050565b620014638162001445565b81146200146e575f80fd5b50565b5f81519050620014818162001458565b92915050565b5f602082840312156200149f576200149e62000db3565b5b5f620014ae8482850162001471565b91505092915050565b620014c28162001445565b82525050565b5f604082019050620014dd5f830185620014b7565b620014ec6020830184620014b7565b9392505050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62001529601f83620012cd565b91506200153682620014f3565b602082019050919050565b5f6020820190508181035f8301526200155a816200151b565b9050919050565b5f6200156d826200109f565b91506200157a836200109f565b92508282019050808211156200159557620015946200134b565b5b92915050565b620015a6816200109f565b82525050565b5f602082019050620015c15f8301846200159b565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f62001623602483620012cd565b91506200163082620015c7565b604082019050919050565b5f6020820190508181035f830152620016548162001615565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f620016b7602283620012cd565b9150620016c4826200165b565b604082019050919050565b5f6020820190508181035f830152620016e881620016a9565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62001725602083620012cd565b91506200173282620016ef565b602082019050919050565b5f6020820190508181035f830152620017568162001717565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f620017b9602683620012cd565b9150620017c6826200175d565b604082019050919050565b5f6020820190508181035f830152620017ea81620017ab565b9050919050565b613eaf80620017ff5f395ff3fe608060405260043610610233575f3560e01c80638a8c523c1161012d578063c3f70b52116100aa578063e884f2601161006e578063e884f26014610840578063ea4cfe1214610856578063ea6debd014610880578063f2fde38b146108a8578063f8b45b05146108d05761023a565b8063c3f70b521461075c578063c78d0fa014610786578063c876d0b9146107b0578063cc1776d3146107da578063dd62ed3e146108045761023a565b8063a13d1a2b116100f1578063a13d1a2b14610656578063a457c2d71461067e578063a9059cbb146106ba578063b0249cc6146106f6578063bbc0c742146107325761023a565b80638a8c523c146105865780638d3e6e401461059c5780638da5cb5b146105d857806395d89b41146106025780639e93ad8e1461062c5761023a565b8063313ce567116101bb5780635a90a49e1161017f5780635a90a49e146104ba57806370a08231146104f6578063715018a614610532578063751039fc1461054857806377b27d1f1461055e5761023a565b8063313ce567146103d65780633950935114610400578063452ed4f11461043c5780634a62bb65146104665780634f7041a5146104905761023a565b806318160ddd1161020257806318160ddd146102f65780631c499ab01461032057806323b872dd1461034857806327d17d5b146103845780632f37aa6d146103ae5761023a565b80630517d13d1461023e57806306fdde03146102665780630758d92414610290578063095ea7b3146102ba5761023a565b3661023a57005b5f80fd5b348015610249575f80fd5b50610264600480360381019061025f9190612c70565b6108fa565b005b348015610271575f80fd5b5061027a610a72565b6040516102879190612d25565b60405180910390f35b34801561029b575f80fd5b506102a4610b02565b6040516102b19190612dbf565b60405180910390f35b3480156102c5575f80fd5b506102e060048036038101906102db9190612e13565b610b27565b6040516102ed9190612e6b565b60405180910390f35b348015610301575f80fd5b5061030a610b49565b6040516103179190612e93565b60405180910390f35b34801561032b575f80fd5b5061034660048036038101906103419190612c70565b610b52565b005b348015610353575f80fd5b5061036e60048036038101906103699190612eac565b610cc9565b60405161037b9190612e6b565b60405180910390f35b34801561038f575f80fd5b50610398610cf7565b6040516103a59190612e93565b60405180910390f35b3480156103b9575f80fd5b506103d460048036038101906103cf9190612efc565b610cfd565b005b3480156103e1575f80fd5b506103ea610ebd565b6040516103f79190612f55565b60405180910390f35b34801561040b575f80fd5b5061042660048036038101906104219190612e13565b610ec5565b6040516104339190612e6b565b60405180910390f35b348015610447575f80fd5b50610450610efb565b60405161045d9190612f7d565b60405180910390f35b348015610471575f80fd5b5061047a610f20565b6040516104879190612e6b565b60405180910390f35b34801561049b575f80fd5b506104a4610f33565b6040516104b19190612e93565b60405180910390f35b3480156104c5575f80fd5b506104e060048036038101906104db9190612f96565b610f39565b6040516104ed9190612e6b565b60405180910390f35b348015610501575f80fd5b5061051c60048036038101906105179190612f96565b610f56565b6040516105299190612e93565b60405180910390f35b34801561053d575f80fd5b50610546610f9b565b005b348015610553575f80fd5b5061055c6110ee565b005b348015610569575f80fd5b50610584600480360381019061057f9190612feb565b611201565b005b348015610591575f80fd5b5061059a611396565b005b3480156105a7575f80fd5b506105c260048036038101906105bd9190612f96565b611497565b6040516105cf9190612e6b565b60405180910390f35b3480156105e3575f80fd5b506105ec6114b4565b6040516105f99190612f7d565b60405180910390f35b34801561060d575f80fd5b506106166114dc565b6040516106239190612d25565b60405180910390f35b348015610637575f80fd5b5061064061156c565b60405161064d9190612e93565b60405180910390f35b348015610661575f80fd5b5061067c60048036038101906106779190612feb565b611572565b005b348015610689575f80fd5b506106a4600480360381019061069f9190612e13565b61179c565b6040516106b19190612e6b565b60405180910390f35b3480156106c5575f80fd5b506106e060048036038101906106db9190612e13565b611811565b6040516106ed9190612e6b565b60405180910390f35b348015610701575f80fd5b5061071c60048036038101906107179190612f96565b611833565b6040516107299190612e6b565b60405180910390f35b34801561073d575f80fd5b50610746611850565b6040516107539190612e6b565b60405180910390f35b348015610767575f80fd5b50610770611862565b60405161077d9190612e93565b60405180910390f35b348015610791575f80fd5b5061079a611868565b6040516107a79190612e93565b60405180910390f35b3480156107bb575f80fd5b506107c461186e565b6040516107d19190612e6b565b60405180910390f35b3480156107e5575f80fd5b506107ee611880565b6040516107fb9190612e93565b60405180910390f35b34801561080f575f80fd5b5061082a60048036038101906108259190613029565b611886565b6040516108379190612e93565b60405180910390f35b34801561084b575f80fd5b50610854611908565b005b348015610861575f80fd5b5061086a6119b9565b6040516108779190612f7d565b60405180910390f35b34801561088b575f80fd5b506108a660048036038101906108a19190612f96565b6119de565b005b3480156108b3575f80fd5b506108ce60048036038101906108c99190612f96565b611b25565b005b3480156108db575f80fd5b506108e4611ce7565b6040516108f19190612e93565b60405180910390f35b610902611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610990576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610987906130b1565b60405180910390fd5b610998610ebd565b600a6109a4919061322b565b6103e860056109b1610b49565b6109bb9190613275565b6109c591906132e3565b6109cf91906132e3565b811015610a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a089061335d565b60405180910390fd5b610a19610ebd565b600a610a25919061322b565b81610a309190613275565b600b819055507f76a9278644b7300961aa0e7e86f10934585987f1daf1c6ecc971c18376691574600b54604051610a679190612e93565b60405180910390a150565b606060038054610a81906133a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610aad906133a8565b8015610af85780601f10610acf57610100808354040283529160200191610af8565b820191905f5260205f20905b815481529060010190602001808311610adb57829003601f168201915b5050505050905090565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80610b31611ced565b9050610b3e818585611cf4565b600191505092915050565b5f600254905090565b610b5a611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf906130b1565b60405180910390fd5b610bf0610ebd565b600a610bfc919061322b565b60646001610c08610b49565b610c129190613275565b610c1c91906132e3565b610c2691906132e3565b811015610c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5f9061335d565b60405180910390fd5b610c70610ebd565b600a610c7c919061322b565b81610c879190613275565b600c819055507f3046ad62de8b70d396246aaed19ff2559ff20df8706520cbde58320766c42762600c54604051610cbe9190612e93565b60405180910390a150565b5f80610cd3611ced565b9050610ce0858285611eb7565b610ceb858585611f42565b60019150509392505050565b60095481565b610d05611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8a906130b1565b60405180910390fd5b600e5482111580610da7575060c8600e5411155b610de6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddd90613422565b60405180910390fd5b81600e819055507f5380a61520019ce8270d583f62f1b2b9f4f4372e1acaaf708f4865cecece0508600e54604051610e1e9190612e93565b60405180910390a1600f5481111580610e3a575060c8600f5411155b610e79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7090613422565b60405180910390fd5b80600f819055507fa02824f65350567bc405e202b741e7ca6274004a9feeb44149df72b8bd599c97600f54604051610eb19190612e93565b60405180910390a15050565b5f6012905090565b5f80610ecf611ced565b9050610ef0818585610ee18589611886565b610eeb9190613440565b611cf4565b600191505092915050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601160019054906101000a900460ff1681565b600e5481565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610fa3611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611031576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611028906130b1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6110f6611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117b906130b1565b60405180910390fd5b5f601160016101000a81548160ff0219169083151502179055505f60115f6101000a81548160ff0219169083151502179055506111bf610b49565b600b819055506111cd610b49565b600c819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b611209611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611297576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128e906130b1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc906134bd565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f998cce27cbf44405c67eb636a634d5e2f2e6ff248b3d71fbbbb022f3c4c6dd2d828260405161138a9291906134db565b60405180910390a15050565b61139e611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461142c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611423906130b1565b60405180910390fd5b60085f9054906101000a900460ff161561147b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114729061354c565b60405180910390fd5b600160085f6101000a81548160ff021916908315150217905550565b6007602052805f5260405f205f915054906101000a900460ff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546114eb906133a8565b80601f0160208091040260200160405190810160405280929190818152602001828054611517906133a8565b80156115625780601f1061153957610100808354040283529160200191611562565b820191905f5260205f20905b81548152906001019060200180831161154557829003601f168201915b5050505050905090565b61271081565b61157a611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ff906130b1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d906134bd565b60405180910390fd5b8061170b5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361170a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611701906135b4565b60405180910390fd5b5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f8f9f40630a1d139e6cf69b4f447ca47a36f10a017524efaa38252e516fa227ce82826040516117909291906134db565b60405180910390a15050565b5f806117a6611ced565b90505f6117b38286611886565b9050838110156117f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ef90613642565b60405180910390fd5b6118058286868403611cf4565b60019250505092915050565b5f8061181b611ced565b9050611828818585611f42565b600191505092915050565b600a602052805f5260405f205f915054906101000a900460ff1681565b60085f9054906101000a900460ff1681565b600b5481565b60125481565b60115f9054906101000a900460ff1681565b600f5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611910611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461199e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611995906130b1565b60405180910390fd5b5f60115f6101000a81548160ff021916908315150217905550565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6119e6611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6b906130b1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ae2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad9906136aa565b60405180910390fd5b80600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611b2d611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb2906130b1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2090613738565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d59906137c6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc790613854565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611eaa9190612e93565b60405180910390a3505050565b5f611ec28484611886565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611f3c5781811015611f2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f25906138bc565b60405180910390fd5b611f3b8484848403611cf4565b5b50505050565b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611fdd575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611ff45750601160029054906101000a900460ff165b15612009576120048383836120a1565b61209c565b60085f9054906101000a900460ff16612057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204e90613924565b60405180910390fd5b601160019054906101000a900460ff16156120785761207783838361230d565b5b61208383838361276b565b8161208e9190613942565b905061209b8383836120a1565b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361210f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612106906139e5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361217d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217490613a73565b60405180910390fd5b612188838383612942565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561220b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220290613b01565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122f49190612e93565b60405180910390a3612307848484612947565b50505050565b60115f9054906101000a900460ff161561248d5760145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156123c55750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561248c574360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612449576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244090613b69565b60405180910390fd5b4360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561252a575060075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156125d157600b54811115612574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256b90613bd1565b60405180910390fd5b600c5461258083610f56565b8261258b9190613440565b11156125cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c390613c39565b60405180910390fd5b612766565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561266e575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156126bd57600b548111156126b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126af90613bd1565b60405180910390fd5b612765565b60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661276457600c5461271783610f56565b826127229190613440565b1115612763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275a90613c39565b60405180910390fd5b5b5b5b505050565b5f60125461277830610f56565b101580156127935750601160029054906101000a900460ff16155b80156127e65750600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612829576001601160026101000a81548160ff02191690831515021790555061280e61294c565b5f601160026101000a81548160ff0219169083151502179055505b5f600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561288157505f600f54115b156128a857612710600f54846128979190613275565b6128a191906132e3565b9050612923565b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156128ff57505f600e54115b1561292257612710600e54846129159190613275565b61291f91906132e3565b90505b5b5f811115612937576129368530836120a1565b5b809150509392505050565b505050565b505050565b5f61295630610f56565b90505f81036129655750612a2d565b60286012546129749190613275565b81111561298d57602860125461298a9190613275565b90505b61299681612a2f565b5f471115612a2b575f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516129e490613c84565b5f6040518083038185875af1925050503d805f8114612a1e576040519150601f19603f3d011682016040523d82523d5f602084013e612a23565b606091505b505080915050505b505b565b5f600267ffffffffffffffff811115612a4b57612a4a613c98565b5b604051908082528060200260200182016040528015612a795781602001602082028036833780820191505090505b50905030815f81518110612a9057612a8f613cc5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b589190613d06565b81600181518110612b6c57612b6b613cc5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612c08959493929190613e21565b5f604051808303815f87803b158015612c1f575f80fd5b505af1158015612c31573d5f803e3d5ffd5b505050505050565b5f80fd5b5f819050919050565b612c4f81612c3d565b8114612c59575f80fd5b50565b5f81359050612c6a81612c46565b92915050565b5f60208284031215612c8557612c84612c39565b5b5f612c9284828501612c5c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612cd2578082015181840152602081019050612cb7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612cf782612c9b565b612d018185612ca5565b9350612d11818560208601612cb5565b612d1a81612cdd565b840191505092915050565b5f6020820190508181035f830152612d3d8184612ced565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f612d87612d82612d7d84612d45565b612d64565b612d45565b9050919050565b5f612d9882612d6d565b9050919050565b5f612da982612d8e565b9050919050565b612db981612d9f565b82525050565b5f602082019050612dd25f830184612db0565b92915050565b5f612de282612d45565b9050919050565b612df281612dd8565b8114612dfc575f80fd5b50565b5f81359050612e0d81612de9565b92915050565b5f8060408385031215612e2957612e28612c39565b5b5f612e3685828601612dff565b9250506020612e4785828601612c5c565b9150509250929050565b5f8115159050919050565b612e6581612e51565b82525050565b5f602082019050612e7e5f830184612e5c565b92915050565b612e8d81612c3d565b82525050565b5f602082019050612ea65f830184612e84565b92915050565b5f805f60608486031215612ec357612ec2612c39565b5b5f612ed086828701612dff565b9350506020612ee186828701612dff565b9250506040612ef286828701612c5c565b9150509250925092565b5f8060408385031215612f1257612f11612c39565b5b5f612f1f85828601612c5c565b9250506020612f3085828601612c5c565b9150509250929050565b5f60ff82169050919050565b612f4f81612f3a565b82525050565b5f602082019050612f685f830184612f46565b92915050565b612f7781612dd8565b82525050565b5f602082019050612f905f830184612f6e565b92915050565b5f60208284031215612fab57612faa612c39565b5b5f612fb884828501612dff565b91505092915050565b612fca81612e51565b8114612fd4575f80fd5b50565b5f81359050612fe581612fc1565b92915050565b5f806040838503121561300157613000612c39565b5b5f61300e85828601612dff565b925050602061301f85828601612fd7565b9150509250929050565b5f806040838503121561303f5761303e612c39565b5b5f61304c85828601612dff565b925050602061305d85828601612dff565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61309b602083612ca5565b91506130a682613067565b602082019050919050565b5f6020820190508181035f8301526130c88161308f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156131515780860481111561312d5761312c6130cf565b5b600185161561313c5780820291505b808102905061314a856130fc565b9450613111565b94509492505050565b5f826131695760019050613224565b81613176575f9050613224565b816001811461318c5760028114613196576131c5565b6001915050613224565b60ff8411156131a8576131a76130cf565b5b8360020a9150848211156131bf576131be6130cf565b5b50613224565b5060208310610133831016604e8410600b84101617156131fa5782820a9050838111156131f5576131f46130cf565b5b613224565b6132078484846001613108565b9250905081840481111561321e5761321d6130cf565b5b81810290505b9392505050565b5f61323582612c3d565b915061324083612f3a565b925061326d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461315a565b905092915050565b5f61327f82612c3d565b915061328a83612c3d565b925082820261329881612c3d565b915082820484148315176132af576132ae6130cf565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6132ed82612c3d565b91506132f883612c3d565b925082613308576133076132b6565b5b828204905092915050565b7f546f6f206c6f77000000000000000000000000000000000000000000000000005f82015250565b5f613347600783612ca5565b915061335282613313565b602082019050919050565b5f6020820190508181035f8301526133748161333b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806133bf57607f821691505b6020821081036133d2576133d161337b565b5b50919050565b7f43616e206f6e6c7920726564756365207461782061626f7665203225000000005f82015250565b5f61340c601c83612ca5565b9150613417826133d8565b602082019050919050565b5f6020820190508181035f83015261343981613400565b9050919050565b5f61344a82612c3d565b915061345583612c3d565b925082820190508082111561346d5761346c6130cf565b5b92915050565b7f5a65726f204164647265737300000000000000000000000000000000000000005f82015250565b5f6134a7600c83612ca5565b91506134b282613473565b602082019050919050565b5f6020820190508181035f8301526134d48161349b565b9050919050565b5f6040820190506134ee5f830185612f6e565b6134fb6020830184612e5c565b9392505050565b7f54726164696e67206163746976650000000000000000000000000000000000005f82015250565b5f613536600e83612ca5565b915061354182613502565b602082019050919050565b5f6020820190508181035f8301526135638161352a565b9050919050565b7f50616972000000000000000000000000000000000000000000000000000000005f82015250565b5f61359e600483612ca5565b91506135a98261356a565b602082019050919050565b5f6020820190508181035f8301526135cb81613592565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61362c602583612ca5565b9150613637826135d2565b604082019050919050565b5f6020820190508181035f83015261365981613620565b9050919050565b7f7a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f613694600c83612ca5565b915061369f82613660565b602082019050919050565b5f6020820190508181035f8301526136c181613688565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613722602683612ca5565b915061372d826136c8565b604082019050919050565b5f6020820190508181035f83015261374f81613716565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6137b0602483612ca5565b91506137bb82613756565b604082019050919050565b5f6020820190508181035f8301526137dd816137a4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61383e602283612ca5565b9150613849826137e4565b604082019050919050565b5f6020820190508181035f83015261386b81613832565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6138a6601d83612ca5565b91506138b182613872565b602082019050919050565b5f6020820190508181035f8301526138d38161389a565b9050919050565b7f54726164696e67206e6f742061637469766500000000000000000000000000005f82015250565b5f61390e601283612ca5565b9150613919826138da565b602082019050919050565b5f6020820190508181035f83015261393b81613902565b9050919050565b5f61394c82612c3d565b915061395783612c3d565b925082820390508181111561396f5761396e6130cf565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6139cf602583612ca5565b91506139da82613975565b604082019050919050565b5f6020820190508181035f8301526139fc816139c3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613a5d602383612ca5565b9150613a6882613a03565b604082019050919050565b5f6020820190508181035f830152613a8a81613a51565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613aeb602683612ca5565b9150613af682613a91565b604082019050919050565b5f6020820190508181035f830152613b1881613adf565b9050919050565b7f5472616e736665722044656c617920656e61626c65642e0000000000000000005f82015250565b5f613b53601783612ca5565b9150613b5e82613b1f565b602082019050919050565b5f6020820190508181035f830152613b8081613b47565b9050919050565b7f4d61782074782065786365656465642e000000000000000000000000000000005f82015250565b5f613bbb601083612ca5565b9150613bc682613b87565b602082019050919050565b5f6020820190508181035f830152613be881613baf565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613c23601383612ca5565b9150613c2e82613bef565b602082019050919050565b5f6020820190508181035f830152613c5081613c17565b9050919050565b5f81905092915050565b50565b5f613c6f5f83613c57565b9150613c7a82613c61565b5f82019050919050565b5f613c8e82613c64565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613d0081612de9565b92915050565b5f60208284031215613d1b57613d1a612c39565b5b5f613d2884828501613cf2565b91505092915050565b5f819050919050565b5f613d54613d4f613d4a84613d31565b612d64565b612c3d565b9050919050565b613d6481613d3a565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613d9c81612dd8565b82525050565b5f613dad8383613d93565b60208301905092915050565b5f602082019050919050565b5f613dcf82613d6a565b613dd98185613d74565b9350613de483613d84565b805f5b83811015613e14578151613dfb8882613da2565b9750613e0683613db9565b925050600181019050613de7565b5085935050505092915050565b5f60a082019050613e345f830188612e84565b613e416020830187613d5b565b8181036040830152613e538186613dc5565b9050613e626060830185612f6e565b613e6f6080830184612e84565b969550505050505056fea264697066735822122025bd0bec7bb64a0f5899983fe68f0f2db3587f42dfb84cbb8458613a67b0746a64736f6c63430008140033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000008446f6765466f726b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000524444f524b000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405260043610610233575f3560e01c80638a8c523c1161012d578063c3f70b52116100aa578063e884f2601161006e578063e884f26014610840578063ea4cfe1214610856578063ea6debd014610880578063f2fde38b146108a8578063f8b45b05146108d05761023a565b8063c3f70b521461075c578063c78d0fa014610786578063c876d0b9146107b0578063cc1776d3146107da578063dd62ed3e146108045761023a565b8063a13d1a2b116100f1578063a13d1a2b14610656578063a457c2d71461067e578063a9059cbb146106ba578063b0249cc6146106f6578063bbc0c742146107325761023a565b80638a8c523c146105865780638d3e6e401461059c5780638da5cb5b146105d857806395d89b41146106025780639e93ad8e1461062c5761023a565b8063313ce567116101bb5780635a90a49e1161017f5780635a90a49e146104ba57806370a08231146104f6578063715018a614610532578063751039fc1461054857806377b27d1f1461055e5761023a565b8063313ce567146103d65780633950935114610400578063452ed4f11461043c5780634a62bb65146104665780634f7041a5146104905761023a565b806318160ddd1161020257806318160ddd146102f65780631c499ab01461032057806323b872dd1461034857806327d17d5b146103845780632f37aa6d146103ae5761023a565b80630517d13d1461023e57806306fdde03146102665780630758d92414610290578063095ea7b3146102ba5761023a565b3661023a57005b5f80fd5b348015610249575f80fd5b50610264600480360381019061025f9190612c70565b6108fa565b005b348015610271575f80fd5b5061027a610a72565b6040516102879190612d25565b60405180910390f35b34801561029b575f80fd5b506102a4610b02565b6040516102b19190612dbf565b60405180910390f35b3480156102c5575f80fd5b506102e060048036038101906102db9190612e13565b610b27565b6040516102ed9190612e6b565b60405180910390f35b348015610301575f80fd5b5061030a610b49565b6040516103179190612e93565b60405180910390f35b34801561032b575f80fd5b5061034660048036038101906103419190612c70565b610b52565b005b348015610353575f80fd5b5061036e60048036038101906103699190612eac565b610cc9565b60405161037b9190612e6b565b60405180910390f35b34801561038f575f80fd5b50610398610cf7565b6040516103a59190612e93565b60405180910390f35b3480156103b9575f80fd5b506103d460048036038101906103cf9190612efc565b610cfd565b005b3480156103e1575f80fd5b506103ea610ebd565b6040516103f79190612f55565b60405180910390f35b34801561040b575f80fd5b5061042660048036038101906104219190612e13565b610ec5565b6040516104339190612e6b565b60405180910390f35b348015610447575f80fd5b50610450610efb565b60405161045d9190612f7d565b60405180910390f35b348015610471575f80fd5b5061047a610f20565b6040516104879190612e6b565b60405180910390f35b34801561049b575f80fd5b506104a4610f33565b6040516104b19190612e93565b60405180910390f35b3480156104c5575f80fd5b506104e060048036038101906104db9190612f96565b610f39565b6040516104ed9190612e6b565b60405180910390f35b348015610501575f80fd5b5061051c60048036038101906105179190612f96565b610f56565b6040516105299190612e93565b60405180910390f35b34801561053d575f80fd5b50610546610f9b565b005b348015610553575f80fd5b5061055c6110ee565b005b348015610569575f80fd5b50610584600480360381019061057f9190612feb565b611201565b005b348015610591575f80fd5b5061059a611396565b005b3480156105a7575f80fd5b506105c260048036038101906105bd9190612f96565b611497565b6040516105cf9190612e6b565b60405180910390f35b3480156105e3575f80fd5b506105ec6114b4565b6040516105f99190612f7d565b60405180910390f35b34801561060d575f80fd5b506106166114dc565b6040516106239190612d25565b60405180910390f35b348015610637575f80fd5b5061064061156c565b60405161064d9190612e93565b60405180910390f35b348015610661575f80fd5b5061067c60048036038101906106779190612feb565b611572565b005b348015610689575f80fd5b506106a4600480360381019061069f9190612e13565b61179c565b6040516106b19190612e6b565b60405180910390f35b3480156106c5575f80fd5b506106e060048036038101906106db9190612e13565b611811565b6040516106ed9190612e6b565b60405180910390f35b348015610701575f80fd5b5061071c60048036038101906107179190612f96565b611833565b6040516107299190612e6b565b60405180910390f35b34801561073d575f80fd5b50610746611850565b6040516107539190612e6b565b60405180910390f35b348015610767575f80fd5b50610770611862565b60405161077d9190612e93565b60405180910390f35b348015610791575f80fd5b5061079a611868565b6040516107a79190612e93565b60405180910390f35b3480156107bb575f80fd5b506107c461186e565b6040516107d19190612e6b565b60405180910390f35b3480156107e5575f80fd5b506107ee611880565b6040516107fb9190612e93565b60405180910390f35b34801561080f575f80fd5b5061082a60048036038101906108259190613029565b611886565b6040516108379190612e93565b60405180910390f35b34801561084b575f80fd5b50610854611908565b005b348015610861575f80fd5b5061086a6119b9565b6040516108779190612f7d565b60405180910390f35b34801561088b575f80fd5b506108a660048036038101906108a19190612f96565b6119de565b005b3480156108b3575f80fd5b506108ce60048036038101906108c99190612f96565b611b25565b005b3480156108db575f80fd5b506108e4611ce7565b6040516108f19190612e93565b60405180910390f35b610902611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610990576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610987906130b1565b60405180910390fd5b610998610ebd565b600a6109a4919061322b565b6103e860056109b1610b49565b6109bb9190613275565b6109c591906132e3565b6109cf91906132e3565b811015610a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a089061335d565b60405180910390fd5b610a19610ebd565b600a610a25919061322b565b81610a309190613275565b600b819055507f76a9278644b7300961aa0e7e86f10934585987f1daf1c6ecc971c18376691574600b54604051610a679190612e93565b60405180910390a150565b606060038054610a81906133a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610aad906133a8565b8015610af85780601f10610acf57610100808354040283529160200191610af8565b820191905f5260205f20905b815481529060010190602001808311610adb57829003601f168201915b5050505050905090565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80610b31611ced565b9050610b3e818585611cf4565b600191505092915050565b5f600254905090565b610b5a611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf906130b1565b60405180910390fd5b610bf0610ebd565b600a610bfc919061322b565b60646001610c08610b49565b610c129190613275565b610c1c91906132e3565b610c2691906132e3565b811015610c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5f9061335d565b60405180910390fd5b610c70610ebd565b600a610c7c919061322b565b81610c879190613275565b600c819055507f3046ad62de8b70d396246aaed19ff2559ff20df8706520cbde58320766c42762600c54604051610cbe9190612e93565b60405180910390a150565b5f80610cd3611ced565b9050610ce0858285611eb7565b610ceb858585611f42565b60019150509392505050565b60095481565b610d05611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8a906130b1565b60405180910390fd5b600e5482111580610da7575060c8600e5411155b610de6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddd90613422565b60405180910390fd5b81600e819055507f5380a61520019ce8270d583f62f1b2b9f4f4372e1acaaf708f4865cecece0508600e54604051610e1e9190612e93565b60405180910390a1600f5481111580610e3a575060c8600f5411155b610e79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7090613422565b60405180910390fd5b80600f819055507fa02824f65350567bc405e202b741e7ca6274004a9feeb44149df72b8bd599c97600f54604051610eb19190612e93565b60405180910390a15050565b5f6012905090565b5f80610ecf611ced565b9050610ef0818585610ee18589611886565b610eeb9190613440565b611cf4565b600191505092915050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601160019054906101000a900460ff1681565b600e5481565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610fa3611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611031576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611028906130b1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6110f6611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117b906130b1565b60405180910390fd5b5f601160016101000a81548160ff0219169083151502179055505f60115f6101000a81548160ff0219169083151502179055506111bf610b49565b600b819055506111cd610b49565b600c819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b611209611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611297576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128e906130b1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc906134bd565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f998cce27cbf44405c67eb636a634d5e2f2e6ff248b3d71fbbbb022f3c4c6dd2d828260405161138a9291906134db565b60405180910390a15050565b61139e611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461142c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611423906130b1565b60405180910390fd5b60085f9054906101000a900460ff161561147b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114729061354c565b60405180910390fd5b600160085f6101000a81548160ff021916908315150217905550565b6007602052805f5260405f205f915054906101000a900460ff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546114eb906133a8565b80601f0160208091040260200160405190810160405280929190818152602001828054611517906133a8565b80156115625780601f1061153957610100808354040283529160200191611562565b820191905f5260205f20905b81548152906001019060200180831161154557829003601f168201915b5050505050905090565b61271081565b61157a611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ff906130b1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d906134bd565b60405180910390fd5b8061170b5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361170a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611701906135b4565b60405180910390fd5b5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f8f9f40630a1d139e6cf69b4f447ca47a36f10a017524efaa38252e516fa227ce82826040516117909291906134db565b60405180910390a15050565b5f806117a6611ced565b90505f6117b38286611886565b9050838110156117f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ef90613642565b60405180910390fd5b6118058286868403611cf4565b60019250505092915050565b5f8061181b611ced565b9050611828818585611f42565b600191505092915050565b600a602052805f5260405f205f915054906101000a900460ff1681565b60085f9054906101000a900460ff1681565b600b5481565b60125481565b60115f9054906101000a900460ff1681565b600f5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611910611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461199e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611995906130b1565b60405180910390fd5b5f60115f6101000a81548160ff021916908315150217905550565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6119e6611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6b906130b1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ae2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad9906136aa565b60405180910390fd5b80600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611b2d611ced565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb2906130b1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2090613738565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d59906137c6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc790613854565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611eaa9190612e93565b60405180910390a3505050565b5f611ec28484611886565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611f3c5781811015611f2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f25906138bc565b60405180910390fd5b611f3b8484848403611cf4565b5b50505050565b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611fdd575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611ff45750601160029054906101000a900460ff165b15612009576120048383836120a1565b61209c565b60085f9054906101000a900460ff16612057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204e90613924565b60405180910390fd5b601160019054906101000a900460ff16156120785761207783838361230d565b5b61208383838361276b565b8161208e9190613942565b905061209b8383836120a1565b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361210f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612106906139e5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361217d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217490613a73565b60405180910390fd5b612188838383612942565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561220b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220290613b01565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122f49190612e93565b60405180910390a3612307848484612947565b50505050565b60115f9054906101000a900460ff161561248d5760145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156123c55750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561248c574360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612449576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244090613b69565b60405180910390fd5b4360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561252a575060075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156125d157600b54811115612574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256b90613bd1565b60405180910390fd5b600c5461258083610f56565b8261258b9190613440565b11156125cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c390613c39565b60405180910390fd5b612766565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561266e575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156126bd57600b548111156126b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126af90613bd1565b60405180910390fd5b612765565b60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661276457600c5461271783610f56565b826127229190613440565b1115612763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275a90613c39565b60405180910390fd5b5b5b5b505050565b5f60125461277830610f56565b101580156127935750601160029054906101000a900460ff16155b80156127e65750600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612829576001601160026101000a81548160ff02191690831515021790555061280e61294c565b5f601160026101000a81548160ff0219169083151502179055505b5f600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561288157505f600f54115b156128a857612710600f54846128979190613275565b6128a191906132e3565b9050612923565b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156128ff57505f600e54115b1561292257612710600e54846129159190613275565b61291f91906132e3565b90505b5b5f811115612937576129368530836120a1565b5b809150509392505050565b505050565b505050565b5f61295630610f56565b90505f81036129655750612a2d565b60286012546129749190613275565b81111561298d57602860125461298a9190613275565b90505b61299681612a2f565b5f471115612a2b575f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516129e490613c84565b5f6040518083038185875af1925050503d805f8114612a1e576040519150601f19603f3d011682016040523d82523d5f602084013e612a23565b606091505b505080915050505b505b565b5f600267ffffffffffffffff811115612a4b57612a4a613c98565b5b604051908082528060200260200182016040528015612a795781602001602082028036833780820191505090505b50905030815f81518110612a9057612a8f613cc5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b589190613d06565b81600181518110612b6c57612b6b613cc5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612c08959493929190613e21565b5f604051808303815f87803b158015612c1f575f80fd5b505af1158015612c31573d5f803e3d5ffd5b505050505050565b5f80fd5b5f819050919050565b612c4f81612c3d565b8114612c59575f80fd5b50565b5f81359050612c6a81612c46565b92915050565b5f60208284031215612c8557612c84612c39565b5b5f612c9284828501612c5c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612cd2578082015181840152602081019050612cb7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612cf782612c9b565b612d018185612ca5565b9350612d11818560208601612cb5565b612d1a81612cdd565b840191505092915050565b5f6020820190508181035f830152612d3d8184612ced565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f612d87612d82612d7d84612d45565b612d64565b612d45565b9050919050565b5f612d9882612d6d565b9050919050565b5f612da982612d8e565b9050919050565b612db981612d9f565b82525050565b5f602082019050612dd25f830184612db0565b92915050565b5f612de282612d45565b9050919050565b612df281612dd8565b8114612dfc575f80fd5b50565b5f81359050612e0d81612de9565b92915050565b5f8060408385031215612e2957612e28612c39565b5b5f612e3685828601612dff565b9250506020612e4785828601612c5c565b9150509250929050565b5f8115159050919050565b612e6581612e51565b82525050565b5f602082019050612e7e5f830184612e5c565b92915050565b612e8d81612c3d565b82525050565b5f602082019050612ea65f830184612e84565b92915050565b5f805f60608486031215612ec357612ec2612c39565b5b5f612ed086828701612dff565b9350506020612ee186828701612dff565b9250506040612ef286828701612c5c565b9150509250925092565b5f8060408385031215612f1257612f11612c39565b5b5f612f1f85828601612c5c565b9250506020612f3085828601612c5c565b9150509250929050565b5f60ff82169050919050565b612f4f81612f3a565b82525050565b5f602082019050612f685f830184612f46565b92915050565b612f7781612dd8565b82525050565b5f602082019050612f905f830184612f6e565b92915050565b5f60208284031215612fab57612faa612c39565b5b5f612fb884828501612dff565b91505092915050565b612fca81612e51565b8114612fd4575f80fd5b50565b5f81359050612fe581612fc1565b92915050565b5f806040838503121561300157613000612c39565b5b5f61300e85828601612dff565b925050602061301f85828601612fd7565b9150509250929050565b5f806040838503121561303f5761303e612c39565b5b5f61304c85828601612dff565b925050602061305d85828601612dff565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61309b602083612ca5565b91506130a682613067565b602082019050919050565b5f6020820190508181035f8301526130c88161308f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156131515780860481111561312d5761312c6130cf565b5b600185161561313c5780820291505b808102905061314a856130fc565b9450613111565b94509492505050565b5f826131695760019050613224565b81613176575f9050613224565b816001811461318c5760028114613196576131c5565b6001915050613224565b60ff8411156131a8576131a76130cf565b5b8360020a9150848211156131bf576131be6130cf565b5b50613224565b5060208310610133831016604e8410600b84101617156131fa5782820a9050838111156131f5576131f46130cf565b5b613224565b6132078484846001613108565b9250905081840481111561321e5761321d6130cf565b5b81810290505b9392505050565b5f61323582612c3d565b915061324083612f3a565b925061326d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461315a565b905092915050565b5f61327f82612c3d565b915061328a83612c3d565b925082820261329881612c3d565b915082820484148315176132af576132ae6130cf565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6132ed82612c3d565b91506132f883612c3d565b925082613308576133076132b6565b5b828204905092915050565b7f546f6f206c6f77000000000000000000000000000000000000000000000000005f82015250565b5f613347600783612ca5565b915061335282613313565b602082019050919050565b5f6020820190508181035f8301526133748161333b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806133bf57607f821691505b6020821081036133d2576133d161337b565b5b50919050565b7f43616e206f6e6c7920726564756365207461782061626f7665203225000000005f82015250565b5f61340c601c83612ca5565b9150613417826133d8565b602082019050919050565b5f6020820190508181035f83015261343981613400565b9050919050565b5f61344a82612c3d565b915061345583612c3d565b925082820190508082111561346d5761346c6130cf565b5b92915050565b7f5a65726f204164647265737300000000000000000000000000000000000000005f82015250565b5f6134a7600c83612ca5565b91506134b282613473565b602082019050919050565b5f6020820190508181035f8301526134d48161349b565b9050919050565b5f6040820190506134ee5f830185612f6e565b6134fb6020830184612e5c565b9392505050565b7f54726164696e67206163746976650000000000000000000000000000000000005f82015250565b5f613536600e83612ca5565b915061354182613502565b602082019050919050565b5f6020820190508181035f8301526135638161352a565b9050919050565b7f50616972000000000000000000000000000000000000000000000000000000005f82015250565b5f61359e600483612ca5565b91506135a98261356a565b602082019050919050565b5f6020820190508181035f8301526135cb81613592565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61362c602583612ca5565b9150613637826135d2565b604082019050919050565b5f6020820190508181035f83015261365981613620565b9050919050565b7f7a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f613694600c83612ca5565b915061369f82613660565b602082019050919050565b5f6020820190508181035f8301526136c181613688565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613722602683612ca5565b915061372d826136c8565b604082019050919050565b5f6020820190508181035f83015261374f81613716565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6137b0602483612ca5565b91506137bb82613756565b604082019050919050565b5f6020820190508181035f8301526137dd816137a4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61383e602283612ca5565b9150613849826137e4565b604082019050919050565b5f6020820190508181035f83015261386b81613832565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6138a6601d83612ca5565b91506138b182613872565b602082019050919050565b5f6020820190508181035f8301526138d38161389a565b9050919050565b7f54726164696e67206e6f742061637469766500000000000000000000000000005f82015250565b5f61390e601283612ca5565b9150613919826138da565b602082019050919050565b5f6020820190508181035f83015261393b81613902565b9050919050565b5f61394c82612c3d565b915061395783612c3d565b925082820390508181111561396f5761396e6130cf565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6139cf602583612ca5565b91506139da82613975565b604082019050919050565b5f6020820190508181035f8301526139fc816139c3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613a5d602383612ca5565b9150613a6882613a03565b604082019050919050565b5f6020820190508181035f830152613a8a81613a51565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613aeb602683612ca5565b9150613af682613a91565b604082019050919050565b5f6020820190508181035f830152613b1881613adf565b9050919050565b7f5472616e736665722044656c617920656e61626c65642e0000000000000000005f82015250565b5f613b53601783612ca5565b9150613b5e82613b1f565b602082019050919050565b5f6020820190508181035f830152613b8081613b47565b9050919050565b7f4d61782074782065786365656465642e000000000000000000000000000000005f82015250565b5f613bbb601083612ca5565b9150613bc682613b87565b602082019050919050565b5f6020820190508181035f830152613be881613baf565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613c23601383612ca5565b9150613c2e82613bef565b602082019050919050565b5f6020820190508181035f830152613c5081613c17565b9050919050565b5f81905092915050565b50565b5f613c6f5f83613c57565b9150613c7a82613c61565b5f82019050919050565b5f613c8e82613c64565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613d0081612de9565b92915050565b5f60208284031215613d1b57613d1a612c39565b5b5f613d2884828501613cf2565b91505092915050565b5f819050919050565b5f613d54613d4f613d4a84613d31565b612d64565b612c3d565b9050919050565b613d6481613d3a565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613d9c81612dd8565b82525050565b5f613dad8383613d93565b60208301905092915050565b5f602082019050919050565b5f613dcf82613d6a565b613dd98185613d74565b9350613de483613d84565b805f5b83811015613e14578151613dfb8882613da2565b9750613e0683613db9565b925050600181019050613de7565b5085935050505092915050565b5f60a082019050613e345f830188612e84565b613e416020830187613d5b565b8181036040830152613e538186613dc5565b9050613e626060830185612f6e565b613e6f6080830184612e84565b969550505050505056fea264697066735822122025bd0bec7bb64a0f5899983fe68f0f2db3587f42dfb84cbb8458613a67b0746a64736f6c63430008140033

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

000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000008446f6765466f726b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000524444f524b000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): DogeFork
Arg [1] : _symbol (string): $DORK

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [3] : 446f6765466f726b000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [5] : 24444f524b000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

16741:8138:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23246:287;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4380:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17503:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6740:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5509:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23541:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7521:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16929:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23815:388;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5351:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8191:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17475:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17366:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17142:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16783:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5680:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15911:150;;;;;;;;;;;;;:::i;:::-;;24354:231;;;;;;;;;;;;;:::i;:::-;;22644:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24211:135;;;;;;;;;;;;;:::i;:::-;;16837:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15697:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4599:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17539:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22899:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8932:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6013:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16983:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16895:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17032:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17436:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17320:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17170:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6269:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24593:98;;;;;;;;;;;;;:::i;:::-;;17101:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24699:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16069:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17068:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23246:287;15834:12;:10;:12::i;:::-;15824:22;;:6;;;;;;;;;;;:22;;;15816:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23388:10:::1;:8;:10::i;:::-;23384:2;:14;;;;:::i;:::-;23377:4;23373:1;23357:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:24;;;;:::i;:::-;23356:43;;;;:::i;:::-;23338:14;:61;;23330:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;23461:10;:8;:10::i;:::-;23457:2;:14;;;;:::i;:::-;23439;:33;;;;:::i;:::-;23422:14;:50;;;;23488:37;23510:14;;23488:37;;;;;;:::i;:::-;;;;;;;;23246:287:::0;:::o;4380:100::-;4434:13;4467:5;4460:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4380:100;:::o;17503:27::-;;;;;;;;;;;;;:::o;6740:201::-;6823:4;6840:13;6856:12;:10;:12::i;:::-;6840:28;;6879:32;6888:5;6895:7;6904:6;6879:8;:32::i;:::-;6929:4;6922:11;;;6740:201;;;;:::o;5509:108::-;5570:7;5597:12;;5590:19;;5509:108;:::o;23541:266::-;15834:12;:10;:12::i;:::-;15824:22;;:6;;;;;;;;;;;:22;;;15816:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23677:10:::1;:8;:10::i;:::-;23673:2;:14;;;;:::i;:::-;23667:3;23663:1;23647:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:23;;;;:::i;:::-;23646:42;;;;:::i;:::-;23628:14;:60;;23620:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;23745:10;:8;:10::i;:::-;23741:2;:14;;;;:::i;:::-;23723;:33;;;;:::i;:::-;23711:9;:45;;;;23772:27;23789:9;;23772:27;;;;;;:::i;:::-;;;;;;;;23541:266:::0;:::o;7521:261::-;7618:4;7635:15;7653:12;:10;:12::i;:::-;7635:30;;7676:38;7692:4;7698:7;7707:6;7676:15;:38::i;:::-;7725:27;7735:4;7741:2;7745:6;7725:9;:27::i;:::-;7770:4;7763:11;;;7521:261;;;;;:::o;16929:45::-;;;;:::o;23815:388::-;15834:12;:10;:12::i;:::-;15824:22;;:6;;;;;;;;;;;:22;;;15816:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23918:6:::1;;23907:7;:17;;:34;;;;23938:3;23928:6;;:13;;23907:34;23899:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;23994:7;23985:6;:16;;;;24017:21;24031:6;;24017:21;;;;;;:::i;:::-;;;;;;;;24069:7;;24057:8;:19;;:37;;;;24091:3;24080:7;;:14;;24057:37;24049:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;24148:8;24138:7;:18;;;;24172:23;24187:7;;24172:23;;;;;;:::i;:::-;;;;;;;;23815:388:::0;;:::o;5351:93::-;5409:5;5434:2;5427:9;;5351:93;:::o;8191:238::-;8279:4;8296:13;8312:12;:10;:12::i;:::-;8296:28;;8335:64;8344:5;8351:7;8388:10;8360:25;8370:5;8377:7;8360:9;:25::i;:::-;:38;;;;:::i;:::-;8335:8;:64::i;:::-;8417:4;8410:11;;;8191:238;;;;:::o;17475:21::-;;;;;;;;;;;;;:::o;17366:33::-;;;;;;;;;;;;;:::o;17142:21::-;;;;:::o;16783:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;5680:127::-;5754:7;5781:9;:18;5791:7;5781:18;;;;;;;;;;;;;;;;5774:25;;5680:127;;;:::o;15911:150::-;15834:12;:10;:12::i;:::-;15824:22;;:6;;;;;;;;;;;:22;;;15816:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16020:1:::1;15983:40;;16004:6;;;;;;;;;;;15983:40;;;;;;;;;;;;16051:1;16034:6;;:19;;;;;;;;;;;;;;;;;;15911:150::o:0;24354:231::-;15834:12;:10;:12::i;:::-;15824:22;;:6;;;;;;;;;;;:22;;;15816:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24425:5:::1;24408:14;;:22;;;;;;;;;;;;;;;;;;24464:5;24441:20;;:28;;;;;;;;;;;;;;;;;;24497:13;:11;:13::i;:::-;24480:14;:30;;;;24533:13;:11;:13::i;:::-;24521:9;:25;;;;24562:15;;;;;;;;;;24354:231::o:0;22644:247::-;15834:12;:10;:12::i;:::-;15824:22;;:6;;;;;;;;;;;:22;;;15816:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22763:1:::1;22743:22;;:8;:22;;::::0;22735:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;22820:9;22793:14;:24;22808:8;22793:24;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;22845:38;22863:8;22873:9;22845:38;;;;;;;:::i;:::-;;;;;;;;22644:247:::0;;:::o;24211:135::-;15834:12;:10;:12::i;:::-;15824:22;;:6;;;;;;;;;;;:22;;;15816:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24275:13:::1;;;;;;;;;;;24274:14;24266:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;24334:4;24318:13;;:20;;;;;;;;;;;;;;;;;;24211:135::o:0;16837:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;15697:79::-;15735:7;15762:6;;;;;;;;;;;15755:13;;15697:79;:::o;4599:104::-;4655:13;4688:7;4681:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4599:104;:::o;17539:43::-;17577:5;17539:43;:::o;22899:339::-;15834:12;:10;:12::i;:::-;15824:22;;:6;;;;;;;;;;;:22;;;15816:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23020:1:::1;23000:22;;:8;:22;;::::0;22992:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23054:9;23050:76;;23099:6;;;;;;;;;;;23087:18;;:8;:18;;::::0;23079:35:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23050:76;23165:9;23136:16;:26;23153:8;23136:26;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;23190:40;23210:8;23220:9;23190:40;;;;;;;:::i;:::-;;;;;;;;22899:339:::0;;:::o;8932:436::-;9025:4;9042:13;9058:12;:10;:12::i;:::-;9042:28;;9081:24;9108:25;9118:5;9125:7;9108:9;:25::i;:::-;9081:52;;9172:15;9152:16;:35;;9144:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9265:60;9274:5;9281:7;9309:15;9290:16;:34;9265:8;:60::i;:::-;9356:4;9349:11;;;;8932:436;;;;:::o;6013:193::-;6092:4;6109:13;6125:12;:10;:12::i;:::-;6109:28;;6148;6158:5;6165:2;6169:6;6148:9;:28::i;:::-;6194:4;6187:11;;;6013:193;;;;:::o;16983:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;16895:25::-;;;;;;;;;;;;;:::o;17032:29::-;;;;:::o;17436:30::-;;;;:::o;17320:39::-;;;;;;;;;;;;;:::o;17170:22::-;;;;:::o;6269:151::-;6358:7;6385:11;:18;6397:5;6385:18;;;;;;;;;;;;;;;:27;6404:7;6385:27;;;;;;;;;;;;;;;;6378:34;;6269:151;;;;:::o;24593:98::-;15834:12;:10;:12::i;:::-;15824:22;;:6;;;;;;;;;;;:22;;;15816:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24678:5:::1;24655:20;;:28;;;;;;;;;;;;;;;;;;24593:98::o:0;17101:32::-;;;;;;;;;;;;;:::o;24699:175::-;15834:12;:10;:12::i;:::-;15824:22;;:6;;;;;;;;;;;:22;;;15816:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24808:1:::1;24788:22;;:8;:22;;::::0;24780:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;24858:8;24838:17;;:28;;;;;;;;;;;;;;;;;;24699:175:::0;:::o;16069:244::-;15834:12;:10;:12::i;:::-;15824:22;;:6;;;;;;;;;;;:22;;;15816:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16178:1:::1;16158:22;;:8;:22;;::::0;16150:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;16268:8;16239:38;;16260:6;;;;;;;;;;;16239:38;;;;;;;;;;;;16297:8;16288:6;;:17;;;;;;;;;;;;;;;;;;16069:244:::0;:::o;17068:24::-;;;;:::o;286:98::-;339:7;366:10;359:17;;286:98;:::o;12925:346::-;13044:1;13027:19;;:5;:19;;;13019:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13125:1;13106:21;;:7;:21;;;13098:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13209:6;13179:11;:18;13191:5;13179:18;;;;;;;;;;;;;;;:27;13198:7;13179:27;;;;;;;;;;;;;;;:36;;;;13247:7;13231:32;;13240:5;13231:32;;;13256:6;13231:32;;;;;;:::i;:::-;;;;;;;;12925:346;;;:::o;13562:419::-;13663:24;13690:25;13700:5;13707:7;13690:9;:25::i;:::-;13663:52;;13750:17;13730:16;:37;13726:248;;13812:6;13792:16;:26;;13784:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13896:51;13905:5;13912:7;13940:6;13921:16;:25;13896:8;:51::i;:::-;13726:248;13652:329;13562:419;;;:::o;19556:515::-;19693:14;:20;19708:4;19693:20;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;19717:14;:18;19732:2;19717:18;;;;;;;;;;;;;;;;;;;;;;;;;19693:42;:54;;;;19739:8;;;;;;;;;;;19693:54;19690:137;;;19763:31;19779:4;19784:2;19787:6;19763:15;:31::i;:::-;19809:7;;19690:137;19847:13;;;;;;;;;;;19839:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;19899:14;;;;;;;;;;;19896:74;;;19929:29;19941:4;19947:2;19951:6;19929:11;:29::i;:::-;19896:74;19992:27;20002:4;20008:2;20012:6;19992:9;:27::i;:::-;19982:37;;;;;:::i;:::-;;;20032:31;20048:4;20053:2;20056:6;20032:15;:31::i;:::-;19556:515;;;;:::o;9838:806::-;9951:1;9935:18;;:4;:18;;;9927:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10028:1;10014:16;;:2;:16;;;10006:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10083:38;10104:4;10110:2;10114:6;10083:20;:38::i;:::-;10134:19;10156:9;:15;10166:4;10156:15;;;;;;;;;;;;;;;;10134:37;;10205:6;10190:11;:21;;10182:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10322:6;10308:11;:20;10290:9;:15;10300:4;10290:15;;;;;;;;;;;;;;;:38;;;;10525:6;10508:9;:13;10518:2;10508:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;10575:2;10560:26;;10569:4;10560:26;;;10579:6;10560:26;;;;;;:::i;:::-;;;;;;;;10599:37;10619:4;10625:2;10629:6;10599:19;:37::i;:::-;9916:728;9838:806;;;:::o;20079:908::-;20166:20;;;;;;;;;;;20162:288;;;20220:9;;;;;;;;;;;20206:24;;:2;:24;;;;:42;;;;;20235:9;:13;20245:2;20235:13;;;;;;;;;;;;;;;;;;;;;;;;;20234:14;20206:42;20202:237;;;20314:12;20276:24;:35;20301:9;20276:35;;;;;;;;;;;;;;;;:50;20268:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;20411:12;20373:24;:35;20398:9;20373:35;;;;;;;;;;;;;;;:50;;;;20202:237;20162:288;20482:9;:15;20492:4;20482:15;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;20502:16;:20;20519:2;20502:20;;;;;;;;;;;;;;;;;;;;;;;;;20501:21;20482:40;20478:502;;;20557:14;;20547:6;:24;;20539:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;20641:9;;20624:13;20634:2;20624:9;:13::i;:::-;20615:6;:22;;;;:::i;:::-;:35;;20607:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20478:502;;;20723:9;:13;20733:2;20723:13;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;20741:16;:22;20758:4;20741:22;;;;;;;;;;;;;;;;;;;;;;;;;20740:23;20723:40;20719:261;;;20798:14;;20788:6;:24;;20780:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;20719:261;;;20864:16;:20;20881:2;20864:20;;;;;;;;;;;;;;;;;;;;;;;;;20860:120;;20935:9;;20918:13;20928:2;20918:9;:13::i;:::-;20909:6;:22;;;;:::i;:::-;:35;;20901:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20860:120;20719:261;20478:502;20079:908;;;:::o;20995:712::-;21074:7;21124:15;;21096:24;21114:4;21096:9;:24::i;:::-;:43;;:56;;;;;21144:8;;;;;;;;;;;21143:9;21096:56;:76;;;;;21157:9;:15;21167:4;21157:15;;;;;;;;;;;;;;;;;;;;;;;;;21156:16;21096:76;21093:179;;;21200:4;21189:8;;:15;;;;;;;;;;;;;;;;;;21219:10;:8;:10::i;:::-;21255:5;21244:8;;:16;;;;;;;;;;;;;;;;;;21093:179;21292:11;21344:9;:13;21354:2;21344:13;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;;;21371:1;21361:7;;:11;21344:28;21340:230;;;17577:5;21403:7;;21394:6;:16;;;;:::i;:::-;:30;;;;:::i;:::-;21388:36;;21340:230;;;21473:9;:15;21483:4;21473:15;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;;;21501:1;21492:6;;:10;21473:29;21470:100;;;17577:5;21538:6;;21529;:15;;;;:::i;:::-;:29;;;;:::i;:::-;21523:35;;21470:100;21340:230;21599:1;21593:3;:7;21590:79;;;21616:41;21632:4;21646;21653:3;21616:15;:41::i;:::-;21590:79;21696:3;21689:10;;;20995:712;;;;;:::o;14581:91::-;;;;:::o;15276:90::-;;;;:::o;22107:503::-;22148:23;22174:24;22192:4;22174:9;:24::i;:::-;22148:50;;22241:1;22222:15;:20;22219:34;;22245:7;;;22219:34;22304:2;22286:15;;:20;;;;:::i;:::-;22268:15;:38;22265:107;;;22358:2;22340:15;;:20;;;;:::i;:::-;22322:38;;22265:107;22392:33;22409:15;22392:16;:33::i;:::-;22477:1;22453:21;:25;22450:153;;;22494:12;22535:17;;;;;;;;;;;:22;;22565:21;22535:56;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22521:70;;;;;22479:124;22450:153;22135:475;22107:503;:::o;21715:384::-;21780:21;21818:1;21804:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21780:40;;21849:4;21831;21836:1;21831:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;21875:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21865:4;21870:1;21865:7;;;;;;;;:::i;:::-;;;;;;;:26;;;;;;;;;;;21904:9;;;;;;;;;;;:60;;;21979:8;22002:1;22018:4;22045;22065:15;21904:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21767:332;21715: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:118::-;4801:24;4819:5;4801:24;:::i;:::-;4796:3;4789:37;4714:118;;:::o;4838:222::-;4931:4;4969:2;4958:9;4954:18;4946:26;;4982:71;5050:1;5039:9;5035:17;5026:6;4982:71;:::i;:::-;4838:222;;;;:::o;5066:619::-;5143:6;5151;5159;5208:2;5196:9;5187:7;5183:23;5179:32;5176:119;;;5214:79;;:::i;:::-;5176:119;5334:1;5359:53;5404:7;5395:6;5384:9;5380:22;5359:53;:::i;:::-;5349:63;;5305:117;5461:2;5487:53;5532:7;5523:6;5512:9;5508:22;5487:53;:::i;:::-;5477:63;;5432:118;5589:2;5615:53;5660:7;5651:6;5640:9;5636:22;5615:53;:::i;:::-;5605:63;;5560:118;5066:619;;;;;:::o;5691:474::-;5759:6;5767;5816:2;5804:9;5795:7;5791:23;5787:32;5784:119;;;5822:79;;:::i;:::-;5784:119;5942:1;5967:53;6012:7;6003:6;5992:9;5988:22;5967:53;:::i;:::-;5957:63;;5913:117;6069:2;6095:53;6140:7;6131:6;6120:9;6116:22;6095:53;:::i;:::-;6085:63;;6040:118;5691:474;;;;;:::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:118::-;6688:24;6706:5;6688:24;:::i;:::-;6683:3;6676:37;6601:118;;:::o;6725:222::-;6818:4;6856:2;6845:9;6841:18;6833:26;;6869:71;6937:1;6926:9;6922:17;6913:6;6869:71;:::i;:::-;6725:222;;;;:::o;6953:329::-;7012:6;7061:2;7049:9;7040:7;7036:23;7032:32;7029:119;;;7067:79;;:::i;:::-;7029:119;7187:1;7212:53;7257:7;7248:6;7237:9;7233:22;7212:53;:::i;:::-;7202:63;;7158:117;6953:329;;;;:::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:178::-;14406:30;14402:1;14394:6;14390:14;14383:54;14266:178;:::o;14450:366::-;14592:3;14613:67;14677:2;14672:3;14613:67;:::i;:::-;14606:74;;14689:93;14778:3;14689:93;:::i;:::-;14807:2;14802:3;14798:12;14791:19;;14450:366;;;:::o;14822:419::-;14988:4;15026:2;15015:9;15011:18;15003:26;;15075:9;15069:4;15065:20;15061:1;15050:9;15046:17;15039:47;15103:131;15229:4;15103:131;:::i;:::-;15095:139;;14822:419;;;:::o;15247:191::-;15287:3;15306:20;15324:1;15306:20;:::i;:::-;15301:25;;15340:20;15358:1;15340:20;:::i;:::-;15335:25;;15383:1;15380;15376:9;15369:16;;15404:3;15401:1;15398:10;15395:36;;;15411:18;;:::i;:::-;15395:36;15247:191;;;;:::o;15444:162::-;15584:14;15580:1;15572:6;15568:14;15561:38;15444:162;:::o;15612:366::-;15754:3;15775:67;15839:2;15834:3;15775:67;:::i;:::-;15768:74;;15851:93;15940:3;15851:93;:::i;:::-;15969:2;15964:3;15960:12;15953:19;;15612:366;;;:::o;15984:419::-;16150:4;16188:2;16177:9;16173:18;16165:26;;16237:9;16231:4;16227:20;16223:1;16212:9;16208:17;16201:47;16265:131;16391:4;16265:131;:::i;:::-;16257:139;;15984:419;;;:::o;16409:320::-;16524:4;16562:2;16551:9;16547:18;16539:26;;16575:71;16643:1;16632:9;16628:17;16619:6;16575:71;:::i;:::-;16656:66;16718:2;16707:9;16703:18;16694:6;16656:66;:::i;:::-;16409:320;;;;;:::o;16735:164::-;16875:16;16871:1;16863:6;16859:14;16852:40;16735:164;:::o;16905:366::-;17047:3;17068:67;17132:2;17127:3;17068:67;:::i;:::-;17061:74;;17144:93;17233:3;17144:93;:::i;:::-;17262:2;17257:3;17253:12;17246:19;;16905:366;;;:::o;17277:419::-;17443:4;17481:2;17470:9;17466:18;17458:26;;17530:9;17524:4;17520:20;17516:1;17505:9;17501:17;17494:47;17558:131;17684:4;17558:131;:::i;:::-;17550:139;;17277:419;;;:::o;17702:154::-;17842:6;17838:1;17830:6;17826:14;17819:30;17702:154;:::o;17862:365::-;18004:3;18025:66;18089:1;18084:3;18025:66;:::i;:::-;18018:73;;18100:93;18189:3;18100:93;:::i;:::-;18218:2;18213:3;18209:12;18202:19;;17862:365;;;:::o;18233:419::-;18399:4;18437:2;18426:9;18422:18;18414:26;;18486:9;18480:4;18476:20;18472:1;18461:9;18457:17;18450:47;18514:131;18640:4;18514:131;:::i;:::-;18506:139;;18233:419;;;:::o;18658:224::-;18798:34;18794:1;18786:6;18782:14;18775:58;18867:7;18862:2;18854:6;18850:15;18843:32;18658:224;:::o;18888:366::-;19030:3;19051:67;19115:2;19110:3;19051:67;:::i;:::-;19044:74;;19127:93;19216:3;19127:93;:::i;:::-;19245:2;19240:3;19236:12;19229:19;;18888:366;;;:::o;19260:419::-;19426:4;19464:2;19453:9;19449:18;19441:26;;19513:9;19507:4;19503:20;19499:1;19488:9;19484:17;19477:47;19541:131;19667:4;19541:131;:::i;:::-;19533:139;;19260:419;;;:::o;19685:162::-;19825:14;19821:1;19813:6;19809:14;19802:38;19685:162;:::o;19853:366::-;19995:3;20016:67;20080:2;20075:3;20016:67;:::i;:::-;20009:74;;20092:93;20181:3;20092:93;:::i;:::-;20210:2;20205:3;20201:12;20194:19;;19853:366;;;:::o;20225:419::-;20391:4;20429:2;20418:9;20414:18;20406:26;;20478:9;20472:4;20468:20;20464:1;20453:9;20449:17;20442:47;20506:131;20632:4;20506:131;:::i;:::-;20498:139;;20225:419;;;:::o;20650:225::-;20790:34;20786:1;20778:6;20774:14;20767:58;20859:8;20854:2;20846:6;20842:15;20835:33;20650:225;:::o;20881:366::-;21023:3;21044:67;21108:2;21103:3;21044:67;:::i;:::-;21037:74;;21120:93;21209:3;21120:93;:::i;:::-;21238:2;21233:3;21229:12;21222:19;;20881:366;;;:::o;21253:419::-;21419:4;21457:2;21446:9;21442:18;21434:26;;21506:9;21500:4;21496:20;21492:1;21481:9;21477:17;21470:47;21534:131;21660:4;21534:131;:::i;:::-;21526:139;;21253:419;;;:::o;21678:223::-;21818:34;21814:1;21806:6;21802:14;21795:58;21887:6;21882:2;21874:6;21870:15;21863:31;21678:223;:::o;21907:366::-;22049:3;22070:67;22134:2;22129:3;22070:67;:::i;:::-;22063:74;;22146:93;22235:3;22146:93;:::i;:::-;22264:2;22259:3;22255:12;22248:19;;21907:366;;;:::o;22279:419::-;22445:4;22483:2;22472:9;22468:18;22460:26;;22532:9;22526:4;22522:20;22518:1;22507:9;22503:17;22496:47;22560:131;22686:4;22560:131;:::i;:::-;22552:139;;22279:419;;;:::o;22704:221::-;22844:34;22840:1;22832:6;22828:14;22821:58;22913:4;22908:2;22900:6;22896:15;22889:29;22704:221;:::o;22931:366::-;23073:3;23094:67;23158:2;23153:3;23094:67;:::i;:::-;23087:74;;23170:93;23259:3;23170:93;:::i;:::-;23288:2;23283:3;23279:12;23272:19;;22931:366;;;:::o;23303:419::-;23469:4;23507:2;23496:9;23492:18;23484:26;;23556:9;23550:4;23546:20;23542:1;23531:9;23527:17;23520:47;23584:131;23710:4;23584:131;:::i;:::-;23576:139;;23303:419;;;:::o;23728:179::-;23868:31;23864:1;23856:6;23852:14;23845:55;23728:179;:::o;23913:366::-;24055:3;24076:67;24140:2;24135:3;24076:67;:::i;:::-;24069:74;;24152:93;24241:3;24152:93;:::i;:::-;24270:2;24265:3;24261:12;24254:19;;23913:366;;;:::o;24285:419::-;24451:4;24489:2;24478:9;24474:18;24466:26;;24538:9;24532:4;24528:20;24524:1;24513:9;24509:17;24502:47;24566:131;24692:4;24566:131;:::i;:::-;24558:139;;24285:419;;;:::o;24710:168::-;24850:20;24846:1;24838:6;24834:14;24827:44;24710:168;:::o;24884:366::-;25026:3;25047:67;25111:2;25106:3;25047:67;:::i;:::-;25040:74;;25123:93;25212:3;25123:93;:::i;:::-;25241:2;25236:3;25232:12;25225:19;;24884:366;;;:::o;25256:419::-;25422:4;25460:2;25449:9;25445:18;25437:26;;25509:9;25503:4;25499:20;25495:1;25484:9;25480:17;25473:47;25537:131;25663:4;25537:131;:::i;:::-;25529:139;;25256:419;;;:::o;25681:194::-;25721:4;25741:20;25759:1;25741:20;:::i;:::-;25736:25;;25775:20;25793:1;25775:20;:::i;:::-;25770:25;;25819:1;25816;25812:9;25804:17;;25843:1;25837:4;25834:11;25831:37;;;25848:18;;:::i;:::-;25831:37;25681:194;;;;:::o;25881:224::-;26021:34;26017:1;26009:6;26005:14;25998:58;26090:7;26085:2;26077:6;26073:15;26066:32;25881:224;:::o;26111:366::-;26253:3;26274:67;26338:2;26333:3;26274:67;:::i;:::-;26267:74;;26350:93;26439:3;26350:93;:::i;:::-;26468:2;26463:3;26459:12;26452:19;;26111:366;;;:::o;26483:419::-;26649:4;26687:2;26676:9;26672:18;26664:26;;26736:9;26730:4;26726:20;26722:1;26711:9;26707:17;26700:47;26764:131;26890:4;26764:131;:::i;:::-;26756:139;;26483:419;;;:::o;26908:222::-;27048:34;27044:1;27036:6;27032:14;27025:58;27117:5;27112:2;27104:6;27100:15;27093:30;26908:222;:::o;27136:366::-;27278:3;27299:67;27363:2;27358:3;27299:67;:::i;:::-;27292:74;;27375:93;27464:3;27375:93;:::i;:::-;27493:2;27488:3;27484:12;27477:19;;27136:366;;;:::o;27508:419::-;27674:4;27712:2;27701:9;27697:18;27689:26;;27761:9;27755:4;27751:20;27747:1;27736:9;27732:17;27725:47;27789:131;27915:4;27789:131;:::i;:::-;27781:139;;27508:419;;;:::o;27933:225::-;28073:34;28069:1;28061:6;28057:14;28050:58;28142:8;28137:2;28129:6;28125:15;28118:33;27933:225;:::o;28164:366::-;28306:3;28327:67;28391:2;28386:3;28327:67;:::i;:::-;28320:74;;28403:93;28492:3;28403:93;:::i;:::-;28521:2;28516:3;28512:12;28505:19;;28164:366;;;:::o;28536:419::-;28702:4;28740:2;28729:9;28725:18;28717:26;;28789:9;28783:4;28779:20;28775:1;28764:9;28760:17;28753:47;28817:131;28943:4;28817:131;:::i;:::-;28809:139;;28536:419;;;:::o;28961:173::-;29101:25;29097:1;29089:6;29085:14;29078:49;28961:173;:::o;29140:366::-;29282:3;29303:67;29367:2;29362:3;29303:67;:::i;:::-;29296:74;;29379:93;29468:3;29379:93;:::i;:::-;29497:2;29492:3;29488:12;29481:19;;29140:366;;;:::o;29512:419::-;29678:4;29716:2;29705:9;29701:18;29693:26;;29765:9;29759:4;29755:20;29751:1;29740:9;29736:17;29729:47;29793:131;29919:4;29793:131;:::i;:::-;29785:139;;29512:419;;;:::o;29937:166::-;30077:18;30073:1;30065:6;30061:14;30054:42;29937:166;:::o;30109:366::-;30251:3;30272:67;30336:2;30331:3;30272:67;:::i;:::-;30265:74;;30348:93;30437:3;30348:93;:::i;:::-;30466:2;30461:3;30457:12;30450:19;;30109:366;;;:::o;30481:419::-;30647:4;30685:2;30674:9;30670:18;30662:26;;30734:9;30728:4;30724:20;30720:1;30709:9;30705:17;30698:47;30762:131;30888:4;30762:131;:::i;:::-;30754:139;;30481:419;;;:::o;30906:169::-;31046:21;31042:1;31034:6;31030:14;31023:45;30906:169;:::o;31081:366::-;31223:3;31244:67;31308:2;31303:3;31244:67;:::i;:::-;31237:74;;31320:93;31409:3;31320:93;:::i;:::-;31438:2;31433:3;31429:12;31422:19;;31081:366;;;:::o;31453:419::-;31619:4;31657:2;31646:9;31642:18;31634:26;;31706:9;31700:4;31696:20;31692:1;31681:9;31677:17;31670:47;31734:131;31860:4;31734:131;:::i;:::-;31726:139;;31453:419;;;:::o;31878:147::-;31979:11;32016:3;32001:18;;31878:147;;;;:::o;32031:114::-;;:::o;32151:398::-;32310:3;32331:83;32412:1;32407:3;32331:83;:::i;:::-;32324:90;;32423:93;32512:3;32423:93;:::i;:::-;32541:1;32536:3;32532:11;32525:18;;32151:398;;;:::o;32555:379::-;32739:3;32761:147;32904:3;32761:147;:::i;:::-;32754:154;;32925:3;32918:10;;32555:379;;;:::o;32940:180::-;32988:77;32985:1;32978:88;33085:4;33082:1;33075:15;33109:4;33106:1;33099:15;33126:180;33174:77;33171:1;33164:88;33271:4;33268:1;33261:15;33295:4;33292:1;33285:15;33312:143;33369:5;33400:6;33394:13;33385:22;;33416:33;33443:5;33416:33;:::i;:::-;33312:143;;;;:::o;33461:351::-;33531:6;33580:2;33568:9;33559:7;33555:23;33551:32;33548:119;;;33586:79;;:::i;:::-;33548:119;33706:1;33731:64;33787:7;33778:6;33767:9;33763:22;33731:64;:::i;:::-;33721:74;;33677:128;33461:351;;;;:::o;33818:85::-;33863:7;33892:5;33881:16;;33818:85;;;:::o;33909:158::-;33967:9;34000:61;34018:42;34027:32;34053:5;34027:32;:::i;:::-;34018:42;:::i;:::-;34000:61;:::i;:::-;33987:74;;33909:158;;;:::o;34073:147::-;34168:45;34207:5;34168:45;:::i;:::-;34163:3;34156:58;34073:147;;:::o;34226:114::-;34293:6;34327:5;34321:12;34311:22;;34226:114;;;:::o;34346:184::-;34445:11;34479:6;34474:3;34467:19;34519:4;34514:3;34510:14;34495:29;;34346:184;;;;:::o;34536:132::-;34603:4;34626:3;34618:11;;34656:4;34651:3;34647:14;34639:22;;34536:132;;;:::o;34674:108::-;34751:24;34769:5;34751:24;:::i;:::-;34746:3;34739:37;34674:108;;:::o;34788:179::-;34857:10;34878:46;34920:3;34912:6;34878:46;:::i;:::-;34956:4;34951:3;34947:14;34933:28;;34788:179;;;;:::o;34973:113::-;35043:4;35075;35070:3;35066:14;35058:22;;34973:113;;;:::o;35122:732::-;35241:3;35270:54;35318:5;35270:54;:::i;:::-;35340:86;35419:6;35414:3;35340:86;:::i;:::-;35333:93;;35450:56;35500:5;35450:56;:::i;:::-;35529:7;35560:1;35545:284;35570:6;35567:1;35564:13;35545:284;;;35646:6;35640:13;35673:63;35732:3;35717:13;35673:63;:::i;:::-;35666:70;;35759:60;35812:6;35759:60;:::i;:::-;35749:70;;35605:224;35592:1;35589;35585:9;35580:14;;35545:284;;;35549:14;35845:3;35838:10;;35246:608;;;35122:732;;;;:::o;35860:831::-;36123:4;36161:3;36150:9;36146:19;36138:27;;36175:71;36243:1;36232:9;36228:17;36219:6;36175:71;:::i;:::-;36256:80;36332:2;36321:9;36317:18;36308:6;36256:80;:::i;:::-;36383:9;36377:4;36373:20;36368:2;36357:9;36353:18;36346:48;36411:108;36514:4;36505:6;36411:108;:::i;:::-;36403:116;;36529:72;36597:2;36586:9;36582:18;36573:6;36529:72;:::i;:::-;36611:73;36679:3;36668:9;36664:19;36655:6;36611:73;:::i;:::-;35860:831;;;;;;;;:::o

Swarm Source

ipfs://25bd0bec7bb64a0f5899983fe68f0f2db3587f42dfb84cbb8458613a67b0746a
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.