ETH Price: $1,432.99 (-9.92%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve219400142025-02-27 20:18:1140 days ago1740687491IN
0xA0ada3a8...B74ae58B4
0 ETH0.000079541.68630372
Approve218021312025-02-08 13:35:5959 days ago1739021759IN
0xA0ada3a8...B74ae58B4
0 ETH0.000071391.5115697
Approve216414172025-01-17 3:06:1181 days ago1737083171IN
0xA0ada3a8...B74ae58B4
0 ETH0.00019774.19111094
Approve216315892025-01-15 18:11:1183 days ago1736964671IN
0xA0ada3a8...B74ae58B4
0 ETH0.0011522224.425506
Approve216315872025-01-15 18:10:4783 days ago1736964647IN
0xA0ada3a8...B74ae58B4
0 ETH0.001050522.26919953
Approve215989512025-01-11 4:47:3587 days ago1736570855IN
0xA0ada3a8...B74ae58B4
0 ETH0.000078352.60539835
Approve215989452025-01-11 4:46:2387 days ago1736570783IN
0xA0ada3a8...B74ae58B4
0 ETH0.000134812.87464785
Approve215938622025-01-10 11:45:3588 days ago1736509535IN
0xA0ada3a8...B74ae58B4
0 ETH0.000307076.50945516
Approve215938562025-01-10 11:44:2388 days ago1736509463IN
0xA0ada3a8...B74ae58B4
0 ETH0.000255235.41195545
Transfer215440752025-01-03 12:51:5995 days ago1735908719IN
0xA0ada3a8...B74ae58B4
0 ETH0.001759589.99286322
Approve215370792025-01-02 13:27:2396 days ago1735824443IN
0xA0ada3a8...B74ae58B4
0 ETH0.0006786214.38586008
Approve215366972025-01-02 12:10:5996 days ago1735819859IN
0xA0ada3a8...B74ae58B4
0 ETH0.0006122312.97852562
Approve215366672025-01-02 12:04:5996 days ago1735819499IN
0xA0ada3a8...B74ae58B4
0 ETH0.0006220313.18621572
Approve215366142025-01-02 11:54:1196 days ago1735818851IN
0xA0ada3a8...B74ae58B4
0 ETH0.0005306311.24874361
Approve215365562025-01-02 11:42:3596 days ago1735818155IN
0xA0ada3a8...B74ae58B4
0 ETH0.0006015812.75275438
Approve215348912025-01-02 6:07:5996 days ago1735798079IN
0xA0ada3a8...B74ae58B4
0 ETH0.0010768322.79841583
Transfer215348772025-01-02 6:05:1196 days ago1735797911IN
0xA0ada3a8...B74ae58B4
0 ETH0.0014212925.55002829
Transfer215348732025-01-02 6:04:2396 days ago1735797863IN
0xA0ada3a8...B74ae58B4
0 ETH0.0013972425.11757518
Transfer215348692025-01-02 6:03:3596 days ago1735797815IN
0xA0ada3a8...B74ae58B4
0 ETH0.001606328.88201256
Transfer215348642025-01-02 6:02:3596 days ago1735797755IN
0xA0ada3a8...B74ae58B4
0 ETH0.0016210929.14806802
Transfer215348532025-01-02 6:00:2396 days ago1735797623IN
0xA0ada3a8...B74ae58B4
0 ETH0.0017903332.19093709
Transfer215324012025-01-01 21:47:5997 days ago1735768079IN
0xA0ada3a8...B74ae58B4
0 ETH0.0073497541.15572767
Approve215313142025-01-01 18:09:3597 days ago1735754975IN
0xA0ada3a8...B74ae58B4
0 ETH0.0013755329.12226545
Transfer215293032025-01-01 11:25:3597 days ago1735730735IN
0xA0ada3a8...B74ae58B4
0 ETH0.000621898.02530514
Transfer215292632025-01-01 11:17:3597 days ago1735730255IN
0xA0ada3a8...B74ae58B4
0 ETH0.001589318.12034292
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer219400252025-02-27 20:20:2340 days ago1740687623
0xA0ada3a8...B74ae58B4
0.00059585 ETH
Transfer219400252025-02-27 20:20:2340 days ago1740687623
0xA0ada3a8...B74ae58B4
0.00059585 ETH
Transfer218903202025-02-20 21:43:2347 days ago1740087803
0xA0ada3a8...B74ae58B4
0.00060535 ETH
Transfer218903202025-02-20 21:43:2347 days ago1740087803
0xA0ada3a8...B74ae58B4
0.00060535 ETH
Transfer218021332025-02-08 13:36:2359 days ago1739021783
0xA0ada3a8...B74ae58B4
0.00061145 ETH
Transfer218021332025-02-08 13:36:2359 days ago1739021783
0xA0ada3a8...B74ae58B4
0.00061145 ETH
Transfer217219192025-01-28 8:46:2370 days ago1738053983
0xA0ada3a8...B74ae58B4
0.00066722 ETH
Transfer217219192025-01-28 8:46:2370 days ago1738053983
0xA0ada3a8...B74ae58B4
0.00066722 ETH
Transfer216414282025-01-17 3:08:2381 days ago1737083303
0xA0ada3a8...B74ae58B4
0.00067848 ETH
Transfer216414282025-01-17 3:08:2381 days ago1737083303
0xA0ada3a8...B74ae58B4
0.00067848 ETH
Transfer216414282025-01-17 3:08:2381 days ago1737083303
0xA0ada3a8...B74ae58B4
0.00068055 ETH
Transfer216414282025-01-17 3:08:2381 days ago1737083303
0xA0ada3a8...B74ae58B4
0.00068055 ETH
Transfer215989562025-01-11 4:48:3587 days ago1736570915
0xA0ada3a8...B74ae58B4
0.00070282 ETH
Transfer215989562025-01-11 4:48:3587 days ago1736570915
0xA0ada3a8...B74ae58B4
0.00070282 ETH
Transfer215938642025-01-10 11:45:5988 days ago1736509559
0xA0ada3a8...B74ae58B4
0.00075748 ETH
Transfer215938642025-01-10 11:45:5988 days ago1736509559
0xA0ada3a8...B74ae58B4
0.00075748 ETH
Transfer215440752025-01-03 12:51:5995 days ago1735908719
0xA0ada3a8...B74ae58B4
0.00075993 ETH
Transfer215440752025-01-03 12:51:5995 days ago1735908719
0xA0ada3a8...B74ae58B4
0.00075993 ETH
Transfer215367002025-01-02 12:11:3596 days ago1735819895
0xA0ada3a8...B74ae58B4
0.00092494 ETH
Transfer215367002025-01-02 12:11:3596 days ago1735819895
0xA0ada3a8...B74ae58B4
0.00092494 ETH
Transfer215366712025-01-02 12:05:4796 days ago1735819547
0xA0ada3a8...B74ae58B4
0.00118931 ETH
Transfer215366712025-01-02 12:05:4796 days ago1735819547
0xA0ada3a8...B74ae58B4
0.00118931 ETH
Transfer215366252025-01-02 11:56:2396 days ago1735818983
0xA0ada3a8...B74ae58B4
0.0018301 ETH
Transfer215366252025-01-02 11:56:2396 days ago1735818983
0xA0ada3a8...B74ae58B4
0.0018301 ETH
Transfer215365582025-01-02 11:42:5996 days ago1735818179
0xA0ada3a8...B74ae58B4
0.00187717 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
POPKITTY

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*
 /\_/\  
( o.o ) 
 > ^ < POPKITTY ~ ~


// https://popkitty.io/
// https://x.com/Popular__kitty
// https://t.me/popularkitty
*/
// SPDX-License-Identifier:MIT
pragma solidity 0.8.20;

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

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

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

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

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

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

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

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


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

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


contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = payable(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;
    }
}
abstract contract ReentrancyGuard {
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    /**
     * @dev Unauthorized reentrant call.
     */
    error ReentrancyGuardReentrantCall();

    constructor() {
        _status = _NOT_ENTERED;
    }

    modifier nonReentrant() {
        _nonReentrantBefore();
        _;
        _nonReentrantAfter();
    }

    function _nonReentrantBefore() private {
        // On the first call to nonReentrant, _status will be _NOT_ENTERED
        if (_status == _ENTERED) {
            revert ReentrancyGuardReentrantCall();
        }

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;
    }

    function _nonReentrantAfter() private {
        _status = _NOT_ENTERED;
    }

    function _reentrancyGuardEntered() internal view returns (bool) {
        return _status == _ENTERED;
    }
}

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

// Dex Router contract interface
interface IDexRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);

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

contract POPKITTY is Context, IERC20, Ownable,ReentrancyGuard {
    string private _name;
    string private _symbol;
    uint8 private _decimals = 18;
    uint256 private _totalSupply = 100_000_000 ether;
    uint256 public minSwapAmount;
    uint256 public maxTxnAmount = 250_000 ether;
    uint256 public maxWalletAmount = 250_000 ether; 

    uint256 public taxFeeOnBuy = 25;
    uint256 public taxFeeOnSell = 25;
    uint256 public percentDivider = 100;
    bool public distributeAndLiquifyStatus = true;

    address public feeReceiver; // fee receiver
    bool public feesStatus = true; // enable by default

    IDexRouter public dexRouter; //Uniswap  router declaration
    address public dexPair; //Uniswap  pair address declaration

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public isExcludedFromFee;
    mapping(address => bool) public isLimitExmpt;
    mapping(address => bool) public isWalletExmpt;

    event ExcludeFromFee(address indexed account, bool isExcluded);
    event NewSwapAmount(uint256 newAmount);
    event DistributionStatus(bool Status);
    event FeeStatus(bool Status);
    event FeeUpdated(uint256 amount);

    event feeReceiverUpdated(
        address indexed newWallet,
        address indexed oldWallet
    );

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    constructor(
        string memory __name,
        string memory __symbol,  
        address __feeReceiver,
        address __router
    ) {
        _name = __name;
        _symbol = __symbol; 
        _balances[owner()] = _totalSupply; 
        feeReceiver = __feeReceiver;
        minSwapAmount = _totalSupply / 2000;

        //exclude owner and this contract from fees
        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[address(dexRouter)] = true;

        IDexRouter _dexRouter = IDexRouter(__router);
        // Create a dex pair for this new ERC20
        address _dexPair = IDexFactory(_dexRouter.factory()).createPair(
            address(this),
            _dexRouter.WETH()
        );
        dexPair = _dexPair;

        // set the rest of the contract variables
        dexRouter = _dexRouter;

        isLimitExmpt[owner()] = true;
        isLimitExmpt[dexPair] = true;
        isLimitExmpt[address(this)] = true;
        isLimitExmpt[address(dexRouter)] = true;

        isWalletExmpt[owner()] = true;
        isWalletExmpt[dexPair] = true;
        isWalletExmpt[address(this)] = true;
        isWalletExmpt[address(dexRouter)] = true;

        emit Transfer(address(0), owner(), _totalSupply);
    }

    // Public viewable functions
    function name() public view returns (string memory) {
        return _name;
    }

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

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

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

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

    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    ) public virtual returns (bool) {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] - subtractedValue
        );
        return true;
    }

    function calculateBuyTax(uint256 amount) public view returns (uint256) {
        uint256 fee = (amount * taxFeeOnBuy) / percentDivider;
        return fee;
    }

    function calculateSellTax(uint256 amount) public view returns (uint256) {
        uint256 fee = (amount * taxFeeOnSell) / percentDivider;
        return fee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "Approve from the zero address");
        require(spender != address(0), "Approve to the zero address");

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "Tansfer from the zero address");
        require(to != address(0), "Transfer to the zero address");
        require(amount > 0, " Amount must be greater than zero");
        if (!isLimitExmpt[from] && !isLimitExmpt[to]) {
            require(amount <= maxTxnAmount, "Max txn limit exceeds");

         
        }

        if (!isWalletExmpt[to]) {
            require(
                balanceOf(to) + amount <= maxWalletAmount,
                "Max Wallet limit exceeds"
            );
        }

        // swap and liquify
        distributeAndLiquify(from, to);

        //indicates if fee should be deducted from transfer
        bool takeFee = true;

        //if any account belongs to isExcludedFromFee account then remove the fee
        if (isExcludedFromFee[from] || isExcludedFromFee[to] || !feesStatus) {
            takeFee = false;
        }

        //transfer amount, it will take tax, burn, liquidity fee
        _tokenTransfer(from, to, amount, takeFee);
    }

    //this method is responsible for processing all fee, if takeFee is true
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (dexPair == sender && takeFee) {
            uint256 allFee;
            uint256 tTransferAmount;
            allFee = calculateBuyTax(amount);
            tTransferAmount = amount - allFee;

            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + tTransferAmount;
            emit Transfer(sender, recipient, tTransferAmount);

            takeTokenFee(sender, allFee);
        } else if (dexPair == recipient && takeFee) {
            uint256 allFee = calculateSellTax(amount);
            uint256 tTransferAmount = amount - allFee;
            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + tTransferAmount;
            emit Transfer(sender, recipient, tTransferAmount);

            takeTokenFee(sender, allFee);
        } else {
            _balances[sender] = _balances[sender] - amount;
            _balances[recipient] = _balances[recipient] + (amount);
            emit Transfer(sender, recipient, amount);
        }
    }

    function takeTokenFee(address sender, uint256 amount) private {
        _balances[address(this)] = _balances[address(this)] + amount;

        emit Transfer(sender, address(this), amount);
    }

    // Withdraw stuck ETH
    function removeETH(uint256 _amount) external onlyOwner {
        require(address(this).balance >= _amount, "Invalid Amount");
        payable(msg.sender).transfer(_amount);

        emit Transfer(address(this), msg.sender, _amount);
    }
 

    //callable by contract

    function distributeAndLiquify(address from, address to) private {
        uint256 contractTokenBalance = balanceOf(address(this));

        if (
            contractTokenBalance >= minSwapAmount &&
            from != dexPair &&
            distributeAndLiquifyStatus &&
            !(from == address(this) && to == dexPair) // swap 1 time
        ) {
            // approve contract
            _approve(address(this), address(dexRouter), minSwapAmount);

            // lock into liquidty pool
            Utils.swapTokensForEth(address(dexRouter), minSwapAmount);
            uint256 ethForMarketing = address(this).balance;

            // sending Eth to Marketing wallet
            if (ethForMarketing > 0)
                payable(feeReceiver).transfer(ethForMarketing);
        }
    }
 

    function removeMaxWalletMaxTrxAmount() external onlyOwner {
        maxWalletAmount = _totalSupply;
        maxTxnAmount = _totalSupply;
    }

    // to change buy fee
    function updateBuyTax(uint256 _taxFee) external onlyOwner {
        require(_taxFee <= taxFeeOnBuy, "Buy fee can't be more than current fee.");
        taxFeeOnBuy = _taxFee;

        emit FeeUpdated(taxFeeOnBuy);
    }

    // to change sell fee
    function updateSellTax(uint256 _taxFee) external onlyOwner {
        require(
            _taxFee <= taxFeeOnSell,
            "Sell fee can't be more than current fee."
        );
        taxFeeOnSell = _taxFee;

        emit FeeUpdated(taxFeeOnSell);
    }

    //to change swap fee
    function changeSwapAmount(uint256 _amount) external onlyOwner {
        require(_amount > 0, "min swap amount should be greater than zero");
        minSwapAmount = _amount;
        emit NewSwapAmount(minSwapAmount);
    }

    function setDistributionStatus(bool _value) external onlyOwner {
        // Check if the new value is different from the current state
        require(
            _value != distributeAndLiquifyStatus,
            "Value must be different from current state"
        );
        distributeAndLiquifyStatus = _value;
        emit DistributionStatus(_value);
    } 

    // to change fee receiver wallet
    function changeFeeReceiver(address newfeeReceiver) external onlyOwner {
        require(
            newfeeReceiver != address(0),
            "Ownable: new feeReceiver is the zero address"
        );
        emit feeReceiverUpdated(newfeeReceiver, feeReceiver);
        feeReceiver = newfeeReceiver;
    }

    //to receive ETH from dexRouter when swapping
    receive() external payable {}
}

// Library dex swap
library Utils {
    function swapTokensForEth(
        address routerAddress,
        uint256 tokenAmount
    ) internal {
        IDexRouter dexRouter = IDexRouter(routerAddress);

        // generate the Dex pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();

        // make the swap
        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp + 300
        );
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"__name","type":"string"},{"internalType":"string","name":"__symbol","type":"string"},{"internalType":"address","name":"__feeReceiver","type":"address"},{"internalType":"address","name":"__router","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"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":false,"internalType":"bool","name":"Status","type":"bool"}],"name":"DistributionStatus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"Status","type":"bool"}],"name":"FeeStatus","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"NewSwapAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"feeReceiverUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"calculateBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"calculateSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newfeeReceiver","type":"address"}],"name":"changeFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"changeSwapAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributeAndLiquifyStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feesStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isLimitExmpt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletExmpt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxnAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentDivider","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"removeETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeMaxWalletMaxTrxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"setDistributionStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxFee","type":"uint256"}],"name":"updateBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxFee","type":"uint256"}],"name":"updateSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601260045f6101000a81548160ff021916908360ff1602179055506a52b7d2dcc80cd2e40000006005556934f086f3b33b684000006007556934f086f3b33b6840000060085560196009556019600a556064600b556001600c5f6101000a81548160ff0219169083151502179055506001600c60156101000a81548160ff0219169083151502179055503480156200009a575f80fd5b5060405162004888380380620048888339818101604052810190620000c0919062000b54565b620000d06200094060201b60201c565b5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001808190555083600290816200019f919062000e38565b508260039081620001b1919062000e38565b50600554600f5f620001c86200094760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555081600c60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107d060055462000258919062000f49565b600681905550600160115f620002736200094760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160115f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160115f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f8190505f8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003dc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000402919062000f80565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000468573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200048e919062000f80565b6040518363ffffffff1660e01b8152600401620004ad92919062000fc1565b6020604051808303815f875af1158015620004ca573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004f0919062000f80565b905080600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160125f620005876200094760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160125f600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160125f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160125f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160135f6200072c6200094760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160135f600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160135f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160135f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620008cc6200094760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200092c919062000ffd565b60405180910390a350505050505062001018565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620009cf8262000987565b810181811067ffffffffffffffff82111715620009f157620009f062000997565b5b80604052505050565b5f62000a056200096e565b905062000a138282620009c4565b919050565b5f67ffffffffffffffff82111562000a355762000a3462000997565b5b62000a408262000987565b9050602081019050919050565b5f5b8381101562000a6c57808201518184015260208101905062000a4f565b5f8484015250505050565b5f62000a8d62000a878462000a18565b620009fa565b90508281526020810184848401111562000aac5762000aab62000983565b5b62000ab984828562000a4d565b509392505050565b5f82601f83011262000ad85762000ad76200097f565b5b815162000aea84826020860162000a77565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000b1e8262000af3565b9050919050565b62000b308162000b12565b811462000b3b575f80fd5b50565b5f8151905062000b4e8162000b25565b92915050565b5f805f806080858703121562000b6f5762000b6e62000977565b5b5f85015167ffffffffffffffff81111562000b8f5762000b8e6200097b565b5b62000b9d8782880162000ac1565b945050602085015167ffffffffffffffff81111562000bc15762000bc06200097b565b5b62000bcf8782880162000ac1565b935050604062000be28782880162000b3e565b925050606062000bf58782880162000b3e565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000c5057607f821691505b60208210810362000c665762000c6562000c0b565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000cca7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c8d565b62000cd6868362000c8d565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000d2062000d1a62000d148462000cee565b62000cf7565b62000cee565b9050919050565b5f819050919050565b62000d3b8362000d00565b62000d5362000d4a8262000d27565b84845462000c99565b825550505050565b5f90565b62000d6962000d5b565b62000d7681848462000d30565b505050565b5b8181101562000d9d5762000d915f8262000d5f565b60018101905062000d7c565b5050565b601f82111562000dec5762000db68162000c6c565b62000dc18462000c7e565b8101602085101562000dd1578190505b62000de962000de08562000c7e565b83018262000d7b565b50505b505050565b5f82821c905092915050565b5f62000e0e5f198460080262000df1565b1980831691505092915050565b5f62000e28838362000dfd565b9150826002028217905092915050565b62000e438262000c01565b67ffffffffffffffff81111562000e5f5762000e5e62000997565b5b62000e6b825462000c38565b62000e7882828562000da1565b5f60209050601f83116001811462000eae575f841562000e99578287015190505b62000ea5858262000e1b565b86555062000f14565b601f19841662000ebe8662000c6c565b5f5b8281101562000ee75784890151825560018201915060208501945060208101905062000ec0565b8683101562000f07578489015162000f03601f89168262000dfd565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000f558262000cee565b915062000f628362000cee565b92508262000f755762000f7462000f1c565b5b828204905092915050565b5f6020828403121562000f985762000f9762000977565b5b5f62000fa78482850162000b3e565b91505092915050565b62000fbb8162000b12565b82525050565b5f60408201905062000fd65f83018562000fb0565b62000fe5602083018462000fb0565b9392505050565b62000ff78162000cee565b82525050565b5f602082019050620010125f83018462000fec565b92915050565b61386280620010265f395ff3fe60806040526004361061021d575f3560e01c806379777b4e11610122578063a9059cbb116100aa578063dd62ed3e1161006e578063dd62ed3e146107e8578063ede50eb814610824578063f242ab4114610860578063f2fde38b1461088a578063fe6f1b05146108b257610224565b8063a9059cbb14610704578063aa4bde2814610740578063ab4ebc1e1461076a578063b3f0067414610794578063cf46f24c146107be57610224565b80638bae9480116100f15780638bae94801461060e5780638da5cb5b1461064a57806395d89b41146106745780639c0b9d741461069e578063a457c2d7146106c857610224565b806379777b4e146105565780637c08b9641461058057806386cb8fb1146105a8578063879dd3c5146105e457610224565b8063313ce567116101a55780635342acb4116101745780635342acb414610476578063540b8a27146104b25780636fd0cfb3146104ee57806370a0823114610504578063715018a61461054057610224565b8063313ce567146103be578063338246e2146103e85780633950935114610412578063436d33401461044e57610224565b80630ce5fd36116101ec5780630ce5fd36146102e057806312185a391461030857806318160ddd146103305780631e9b197e1461035a57806323b872dd1461038257610224565b806306fdde03146102285780630758d92414610252578063095ea7b31461027c5780630a2d140c146102b857610224565b3661022457005b5f80fd5b348015610233575f80fd5b5061023c6108dc565b6040516102499190612a48565b60405180910390f35b34801561025d575f80fd5b5061026661096c565b6040516102739190612ae2565b60405180910390f35b348015610287575f80fd5b506102a2600480360381019061029d9190612b6d565b610991565b6040516102af9190612bc5565b60405180910390f35b3480156102c3575f80fd5b506102de60048036038101906102d99190612c08565b6109ae565b005b3480156102eb575f80fd5b5061030660048036038101906103019190612c33565b610ae9565b005b348015610313575f80fd5b5061032e60048036038101906103299190612c33565b610c02565b005b34801561033b575f80fd5b50610344610d1e565b6040516103519190612c6d565b60405180910390f35b348015610365575f80fd5b50610380600480360381019061037b9190612c33565b610d27565b005b34801561038d575f80fd5b506103a860048036038101906103a39190612c86565b610eaa565b6040516103b59190612bc5565b60405180910390f35b3480156103c9575f80fd5b506103d2610f5d565b6040516103df9190612cf1565b60405180910390f35b3480156103f3575f80fd5b506103fc610f72565b6040516104099190612c6d565b60405180910390f35b34801561041d575f80fd5b5061043860048036038101906104339190612b6d565b610f78565b6040516104459190612bc5565b60405180910390f35b348015610459575f80fd5b50610474600480360381019061046f9190612c33565b61101f565b005b348015610481575f80fd5b5061049c60048036038101906104979190612d0a565b61113b565b6040516104a99190612bc5565b60405180910390f35b3480156104bd575f80fd5b506104d860048036038101906104d39190612d0a565b611158565b6040516104e59190612bc5565b60405180910390f35b3480156104f9575f80fd5b50610502611175565b005b34801561050f575f80fd5b5061052a60048036038101906105259190612d0a565b61121d565b6040516105379190612c6d565b60405180910390f35b34801561054b575f80fd5b50610554611263565b005b348015610561575f80fd5b5061056a6113b1565b6040516105779190612bc5565b60405180910390f35b34801561058b575f80fd5b506105a660048036038101906105a19190612d0a565b6113c3565b005b3480156105b3575f80fd5b506105ce60048036038101906105c99190612d0a565b611585565b6040516105db9190612bc5565b60405180910390f35b3480156105ef575f80fd5b506105f86115a2565b6040516106059190612bc5565b60405180910390f35b348015610619575f80fd5b50610634600480360381019061062f9190612c33565b6115b5565b6040516106419190612c6d565b60405180910390f35b348015610655575f80fd5b5061065e6115dd565b60405161066b9190612d44565b60405180910390f35b34801561067f575f80fd5b50610688611604565b6040516106959190612a48565b60405180910390f35b3480156106a9575f80fd5b506106b2611694565b6040516106bf9190612c6d565b60405180910390f35b3480156106d3575f80fd5b506106ee60048036038101906106e99190612b6d565b61169a565b6040516106fb9190612bc5565b60405180910390f35b34801561070f575f80fd5b5061072a60048036038101906107259190612b6d565b611741565b6040516107379190612bc5565b60405180910390f35b34801561074b575f80fd5b5061075461175e565b6040516107619190612c6d565b60405180910390f35b348015610775575f80fd5b5061077e611764565b60405161078b9190612c6d565b60405180910390f35b34801561079f575f80fd5b506107a861176a565b6040516107b59190612d44565b60405180910390f35b3480156107c9575f80fd5b506107d2611790565b6040516107df9190612c6d565b60405180910390f35b3480156107f3575f80fd5b5061080e60048036038101906108099190612d5d565b611796565b60405161081b9190612c6d565b60405180910390f35b34801561082f575f80fd5b5061084a60048036038101906108459190612c33565b611818565b6040516108579190612c6d565b60405180910390f35b34801561086b575f80fd5b50610874611840565b6040516108819190612d44565b60405180910390f35b348015610895575f80fd5b506108b060048036038101906108ab9190612d0a565b611865565b005b3480156108bd575f80fd5b506108c6611a22565b6040516108d39190612c6d565b60405180910390f35b6060600280546108eb90612dc8565b80601f016020809104026020016040519081016040528092919081815260200182805461091790612dc8565b80156109625780601f1061093957610100808354040283529160200191610962565b820191905f5260205f20905b81548152906001019060200180831161094557829003601f168201915b5050505050905090565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6109a461099d611a28565b8484611a2f565b6001905092915050565b6109b6611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3990612e42565b60405180910390fd5b600c5f9054906101000a900460ff16151581151503610a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8d90612ed0565b60405180910390fd5b80600c5f6101000a81548160ff0219169083151502179055507f0ff846c521f32cbf9b5885504ef4a918e437ceb78c26a4b3bdde29162fc36dd381604051610ade9190612bc5565b60405180910390a150565b610af1611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7490612e42565b60405180910390fd5b5f8111610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb690612f5e565b60405180910390fd5b806006819055507f2e6bb606f8e40581f3aead29e6b2d80455a891e6b1a8cee3624f74a93f015593600654604051610bf79190612c6d565b60405180910390a150565b610c0a611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8d90612e42565b60405180910390fd5b600a54811115610cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd290612fec565b60405180910390fd5b80600a819055507f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c76600a54604051610d139190612c6d565b60405180910390a150565b5f600554905090565b610d2f611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db290612e42565b60405180910390fd5b80471015610dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df590613054565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610e41573d5f803e3d5ffd5b503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e9f9190612c6d565b60405180910390a350565b5f610eb6848484611bf2565b610f5284610ec2611a28565b8460105f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610f09611a28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f4d919061309f565b611a2f565b600190509392505050565b5f60045f9054906101000a900460ff16905090565b60065481565b5f611015610f84611a28565b848460105f610f91611a28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461101091906130d2565b611a2f565b6001905092915050565b611027611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110aa90612e42565b60405180910390fd5b6009548111156110f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ef90613175565b60405180910390fd5b806009819055507f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c766009546040516111309190612c6d565b60405180910390a150565b6011602052805f5260405f205f915054906101000a900460ff1681565b6012602052805f5260405f205f915054906101000a900460ff1681565b61117d611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611209576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120090612e42565b60405180910390fd5b600554600881905550600554600781905550565b5f600f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61126b611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ee90612e42565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c5f9054906101000a900460ff1681565b6113cb611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611457576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144e90612e42565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bc90613203565b60405180910390fd5b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f94223efa5e0ef633fcdce676def839a7ea220f7f45a1c693a4540846bc1ee14d60405160405180910390a380600c60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6013602052805f5260405f205f915054906101000a900460ff1681565b600c60159054906101000a900460ff1681565b5f80600b54600954846115c89190613221565b6115d2919061328f565b905080915050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606003805461161390612dc8565b80601f016020809104026020016040519081016040528092919081815260200182805461163f90612dc8565b801561168a5780601f106116615761010080835404028352916020019161168a565b820191905f5260205f20905b81548152906001019060200180831161166d57829003601f168201915b5050505050905090565b600a5481565b5f6117376116a6611a28565b848460105f6116b3611a28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611732919061309f565b611a2f565b6001905092915050565b5f61175461174d611a28565b8484611bf2565b6001905092915050565b60085481565b60095481565b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b5f60105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f80600b54600a548461182b9190613221565b611835919061328f565b905080915050919050565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61186d611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f090612e42565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195e9061332f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9490613397565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b02906133ff565b60405180910390fd5b8060105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611be59190612c6d565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5790613467565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc5906134cf565b60405180910390fd5b5f8111611d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d079061355d565b60405180910390fd5b60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611dae575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611df957600754811115611df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611def906135c5565b60405180910390fd5b5b60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611ea05760085481611e548461121d565b611e5e91906130d2565b1115611e9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e969061362d565b60405180910390fd5b5b611eaa8383611f7d565b5f6001905060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611f4a575060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611f625750600c60159054906101000a900460ff16155b15611f6b575f90505b611f7784848484612169565b50505050565b5f611f873061121d565b90506006548110158015611fe85750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611fff5750600c5f9054906101000a900460ff165b801561208f57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561208d5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b155b15612164576120c230600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600654611a2f565b6120ef600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006546126f0565b5f4790505f81111561216257600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612160573d5f803e3d5ffd5b505b505b505050565b8373ffffffffffffffffffffffffffffffffffffffff16600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156121c25750805b1561236c575f806121d2846115b5565b915081846121e0919061309f565b905083600f5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461222b919061309f565b600f5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080600f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122b591906130d2565b600f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123539190612c6d565b60405180910390a361236586836128cb565b50506126ea565b8273ffffffffffffffffffffffffffffffffffffffff16600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156123c55750805b1561256f575f6123d483611818565b90505f81846123e3919061309f565b905083600f5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242e919061309f565b600f5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080600f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124b891906130d2565b600f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125569190612c6d565b60405180910390a361256886836128cb565b50506126e9565b81600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125b8919061309f565b600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555081600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461264291906130d2565b600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126e09190612c6d565b60405180910390a35b5b50505050565b5f8290505f600267ffffffffffffffff8111156127105761270f61364b565b5b60405190808252806020026020018201604052801561273e5781602001602082028036833780820191505090505b50905030815f8151811061275557612754613678565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127fc91906136b9565b816001815181106128105761280f613678565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663791ac947845f843061012c4261287891906130d2565b6040518663ffffffff1660e01b81526004016128989594939291906137d4565b5f604051808303815f87803b1580156128af575f80fd5b505af11580156128c1573d5f803e3d5ffd5b5050505050505050565b80600f5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461291491906130d2565b600f5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516129b29190612c6d565b60405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156129f55780820151818401526020810190506129da565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612a1a826129be565b612a2481856129c8565b9350612a348185602086016129d8565b612a3d81612a00565b840191505092915050565b5f6020820190508181035f830152612a608184612a10565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f612aaa612aa5612aa084612a68565b612a87565b612a68565b9050919050565b5f612abb82612a90565b9050919050565b5f612acc82612ab1565b9050919050565b612adc81612ac2565b82525050565b5f602082019050612af55f830184612ad3565b92915050565b5f80fd5b5f612b0982612a68565b9050919050565b612b1981612aff565b8114612b23575f80fd5b50565b5f81359050612b3481612b10565b92915050565b5f819050919050565b612b4c81612b3a565b8114612b56575f80fd5b50565b5f81359050612b6781612b43565b92915050565b5f8060408385031215612b8357612b82612afb565b5b5f612b9085828601612b26565b9250506020612ba185828601612b59565b9150509250929050565b5f8115159050919050565b612bbf81612bab565b82525050565b5f602082019050612bd85f830184612bb6565b92915050565b612be781612bab565b8114612bf1575f80fd5b50565b5f81359050612c0281612bde565b92915050565b5f60208284031215612c1d57612c1c612afb565b5b5f612c2a84828501612bf4565b91505092915050565b5f60208284031215612c4857612c47612afb565b5b5f612c5584828501612b59565b91505092915050565b612c6781612b3a565b82525050565b5f602082019050612c805f830184612c5e565b92915050565b5f805f60608486031215612c9d57612c9c612afb565b5b5f612caa86828701612b26565b9350506020612cbb86828701612b26565b9250506040612ccc86828701612b59565b9150509250925092565b5f60ff82169050919050565b612ceb81612cd6565b82525050565b5f602082019050612d045f830184612ce2565b92915050565b5f60208284031215612d1f57612d1e612afb565b5b5f612d2c84828501612b26565b91505092915050565b612d3e81612aff565b82525050565b5f602082019050612d575f830184612d35565b92915050565b5f8060408385031215612d7357612d72612afb565b5b5f612d8085828601612b26565b9250506020612d9185828601612b26565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612ddf57607f821691505b602082108103612df257612df1612d9b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612e2c6020836129c8565b9150612e3782612df8565b602082019050919050565b5f6020820190508181035f830152612e5981612e20565b9050919050565b7f56616c7565206d75737420626520646966666572656e742066726f6d206375725f8201527f72656e7420737461746500000000000000000000000000000000000000000000602082015250565b5f612eba602a836129c8565b9150612ec582612e60565b604082019050919050565b5f6020820190508181035f830152612ee781612eae565b9050919050565b7f6d696e207377617020616d6f756e742073686f756c64206265206772656174655f8201527f72207468616e207a65726f000000000000000000000000000000000000000000602082015250565b5f612f48602b836129c8565b9150612f5382612eee565b604082019050919050565b5f6020820190508181035f830152612f7581612f3c565b9050919050565b7f53656c6c206665652063616e2774206265206d6f7265207468616e20637572725f8201527f656e74206665652e000000000000000000000000000000000000000000000000602082015250565b5f612fd66028836129c8565b9150612fe182612f7c565b604082019050919050565b5f6020820190508181035f83015261300381612fca565b9050919050565b7f496e76616c696420416d6f756e740000000000000000000000000000000000005f82015250565b5f61303e600e836129c8565b91506130498261300a565b602082019050919050565b5f6020820190508181035f83015261306b81613032565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6130a982612b3a565b91506130b483612b3a565b92508282039050818111156130cc576130cb613072565b5b92915050565b5f6130dc82612b3a565b91506130e783612b3a565b92508282019050808211156130ff576130fe613072565b5b92915050565b7f427579206665652063616e2774206265206d6f7265207468616e2063757272655f8201527f6e74206665652e00000000000000000000000000000000000000000000000000602082015250565b5f61315f6027836129c8565b915061316a82613105565b604082019050919050565b5f6020820190508181035f83015261318c81613153565b9050919050565b7f4f776e61626c653a206e657720666565526563656976657220697320746865205f8201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b5f6131ed602c836129c8565b91506131f882613193565b604082019050919050565b5f6020820190508181035f83015261321a816131e1565b9050919050565b5f61322b82612b3a565b915061323683612b3a565b925082820261324481612b3a565b9150828204841483151761325b5761325a613072565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61329982612b3a565b91506132a483612b3a565b9250826132b4576132b3613262565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6133196026836129c8565b9150613324826132bf565b604082019050919050565b5f6020820190508181035f8301526133468161330d565b9050919050565b7f417070726f76652066726f6d20746865207a65726f20616464726573730000005f82015250565b5f613381601d836129c8565b915061338c8261334d565b602082019050919050565b5f6020820190508181035f8301526133ae81613375565b9050919050565b7f417070726f766520746f20746865207a65726f206164647265737300000000005f82015250565b5f6133e9601b836129c8565b91506133f4826133b5565b602082019050919050565b5f6020820190508181035f830152613416816133dd565b9050919050565b7f54616e736665722066726f6d20746865207a65726f20616464726573730000005f82015250565b5f613451601d836129c8565b915061345c8261341d565b602082019050919050565b5f6020820190508181035f83015261347e81613445565b9050919050565b7f5472616e7366657220746f20746865207a65726f2061646472657373000000005f82015250565b5f6134b9601c836129c8565b91506134c482613485565b602082019050919050565b5f6020820190508181035f8301526134e6816134ad565b9050919050565b7f20416d6f756e74206d7573742062652067726561746572207468616e207a65725f8201527f6f00000000000000000000000000000000000000000000000000000000000000602082015250565b5f6135476021836129c8565b9150613552826134ed565b604082019050919050565b5f6020820190508181035f8301526135748161353b565b9050919050565b7f4d61782074786e206c696d6974206578636565647300000000000000000000005f82015250565b5f6135af6015836129c8565b91506135ba8261357b565b602082019050919050565b5f6020820190508181035f8301526135dc816135a3565b9050919050565b7f4d61782057616c6c6574206c696d6974206578636565647300000000000000005f82015250565b5f6136176018836129c8565b9150613622826135e3565b602082019050919050565b5f6020820190508181035f8301526136448161360b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506136b381612b10565b92915050565b5f602082840312156136ce576136cd612afb565b5b5f6136db848285016136a5565b91505092915050565b5f819050919050565b5f6137076137026136fd846136e4565b612a87565b612b3a565b9050919050565b613717816136ed565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61374f81612aff565b82525050565b5f6137608383613746565b60208301905092915050565b5f602082019050919050565b5f6137828261371d565b61378c8185613727565b935061379783613737565b805f5b838110156137c75781516137ae8882613755565b97506137b98361376c565b92505060018101905061379a565b5085935050505092915050565b5f60a0820190506137e75f830188612c5e565b6137f4602083018761370e565b81810360408301526138068186613778565b90506138156060830185612d35565b6138226080830184612c5e565b969550505050505056fea2646970667358221220a1379d710cf1cde1732847b34637e1b67a4ae9cb1703d18284dae831ed757b8d64736f6c63430008140033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000004ed2d84a05db7212039b4290507762da79d4ceb70000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000000000000000000000000000000000000000000008506f704b697474790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005504f504b49000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061021d575f3560e01c806379777b4e11610122578063a9059cbb116100aa578063dd62ed3e1161006e578063dd62ed3e146107e8578063ede50eb814610824578063f242ab4114610860578063f2fde38b1461088a578063fe6f1b05146108b257610224565b8063a9059cbb14610704578063aa4bde2814610740578063ab4ebc1e1461076a578063b3f0067414610794578063cf46f24c146107be57610224565b80638bae9480116100f15780638bae94801461060e5780638da5cb5b1461064a57806395d89b41146106745780639c0b9d741461069e578063a457c2d7146106c857610224565b806379777b4e146105565780637c08b9641461058057806386cb8fb1146105a8578063879dd3c5146105e457610224565b8063313ce567116101a55780635342acb4116101745780635342acb414610476578063540b8a27146104b25780636fd0cfb3146104ee57806370a0823114610504578063715018a61461054057610224565b8063313ce567146103be578063338246e2146103e85780633950935114610412578063436d33401461044e57610224565b80630ce5fd36116101ec5780630ce5fd36146102e057806312185a391461030857806318160ddd146103305780631e9b197e1461035a57806323b872dd1461038257610224565b806306fdde03146102285780630758d92414610252578063095ea7b31461027c5780630a2d140c146102b857610224565b3661022457005b5f80fd5b348015610233575f80fd5b5061023c6108dc565b6040516102499190612a48565b60405180910390f35b34801561025d575f80fd5b5061026661096c565b6040516102739190612ae2565b60405180910390f35b348015610287575f80fd5b506102a2600480360381019061029d9190612b6d565b610991565b6040516102af9190612bc5565b60405180910390f35b3480156102c3575f80fd5b506102de60048036038101906102d99190612c08565b6109ae565b005b3480156102eb575f80fd5b5061030660048036038101906103019190612c33565b610ae9565b005b348015610313575f80fd5b5061032e60048036038101906103299190612c33565b610c02565b005b34801561033b575f80fd5b50610344610d1e565b6040516103519190612c6d565b60405180910390f35b348015610365575f80fd5b50610380600480360381019061037b9190612c33565b610d27565b005b34801561038d575f80fd5b506103a860048036038101906103a39190612c86565b610eaa565b6040516103b59190612bc5565b60405180910390f35b3480156103c9575f80fd5b506103d2610f5d565b6040516103df9190612cf1565b60405180910390f35b3480156103f3575f80fd5b506103fc610f72565b6040516104099190612c6d565b60405180910390f35b34801561041d575f80fd5b5061043860048036038101906104339190612b6d565b610f78565b6040516104459190612bc5565b60405180910390f35b348015610459575f80fd5b50610474600480360381019061046f9190612c33565b61101f565b005b348015610481575f80fd5b5061049c60048036038101906104979190612d0a565b61113b565b6040516104a99190612bc5565b60405180910390f35b3480156104bd575f80fd5b506104d860048036038101906104d39190612d0a565b611158565b6040516104e59190612bc5565b60405180910390f35b3480156104f9575f80fd5b50610502611175565b005b34801561050f575f80fd5b5061052a60048036038101906105259190612d0a565b61121d565b6040516105379190612c6d565b60405180910390f35b34801561054b575f80fd5b50610554611263565b005b348015610561575f80fd5b5061056a6113b1565b6040516105779190612bc5565b60405180910390f35b34801561058b575f80fd5b506105a660048036038101906105a19190612d0a565b6113c3565b005b3480156105b3575f80fd5b506105ce60048036038101906105c99190612d0a565b611585565b6040516105db9190612bc5565b60405180910390f35b3480156105ef575f80fd5b506105f86115a2565b6040516106059190612bc5565b60405180910390f35b348015610619575f80fd5b50610634600480360381019061062f9190612c33565b6115b5565b6040516106419190612c6d565b60405180910390f35b348015610655575f80fd5b5061065e6115dd565b60405161066b9190612d44565b60405180910390f35b34801561067f575f80fd5b50610688611604565b6040516106959190612a48565b60405180910390f35b3480156106a9575f80fd5b506106b2611694565b6040516106bf9190612c6d565b60405180910390f35b3480156106d3575f80fd5b506106ee60048036038101906106e99190612b6d565b61169a565b6040516106fb9190612bc5565b60405180910390f35b34801561070f575f80fd5b5061072a60048036038101906107259190612b6d565b611741565b6040516107379190612bc5565b60405180910390f35b34801561074b575f80fd5b5061075461175e565b6040516107619190612c6d565b60405180910390f35b348015610775575f80fd5b5061077e611764565b60405161078b9190612c6d565b60405180910390f35b34801561079f575f80fd5b506107a861176a565b6040516107b59190612d44565b60405180910390f35b3480156107c9575f80fd5b506107d2611790565b6040516107df9190612c6d565b60405180910390f35b3480156107f3575f80fd5b5061080e60048036038101906108099190612d5d565b611796565b60405161081b9190612c6d565b60405180910390f35b34801561082f575f80fd5b5061084a60048036038101906108459190612c33565b611818565b6040516108579190612c6d565b60405180910390f35b34801561086b575f80fd5b50610874611840565b6040516108819190612d44565b60405180910390f35b348015610895575f80fd5b506108b060048036038101906108ab9190612d0a565b611865565b005b3480156108bd575f80fd5b506108c6611a22565b6040516108d39190612c6d565b60405180910390f35b6060600280546108eb90612dc8565b80601f016020809104026020016040519081016040528092919081815260200182805461091790612dc8565b80156109625780601f1061093957610100808354040283529160200191610962565b820191905f5260205f20905b81548152906001019060200180831161094557829003601f168201915b5050505050905090565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6109a461099d611a28565b8484611a2f565b6001905092915050565b6109b6611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3990612e42565b60405180910390fd5b600c5f9054906101000a900460ff16151581151503610a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8d90612ed0565b60405180910390fd5b80600c5f6101000a81548160ff0219169083151502179055507f0ff846c521f32cbf9b5885504ef4a918e437ceb78c26a4b3bdde29162fc36dd381604051610ade9190612bc5565b60405180910390a150565b610af1611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7490612e42565b60405180910390fd5b5f8111610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb690612f5e565b60405180910390fd5b806006819055507f2e6bb606f8e40581f3aead29e6b2d80455a891e6b1a8cee3624f74a93f015593600654604051610bf79190612c6d565b60405180910390a150565b610c0a611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8d90612e42565b60405180910390fd5b600a54811115610cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd290612fec565b60405180910390fd5b80600a819055507f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c76600a54604051610d139190612c6d565b60405180910390a150565b5f600554905090565b610d2f611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db290612e42565b60405180910390fd5b80471015610dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df590613054565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610e41573d5f803e3d5ffd5b503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e9f9190612c6d565b60405180910390a350565b5f610eb6848484611bf2565b610f5284610ec2611a28565b8460105f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610f09611a28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f4d919061309f565b611a2f565b600190509392505050565b5f60045f9054906101000a900460ff16905090565b60065481565b5f611015610f84611a28565b848460105f610f91611a28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461101091906130d2565b611a2f565b6001905092915050565b611027611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110aa90612e42565b60405180910390fd5b6009548111156110f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ef90613175565b60405180910390fd5b806009819055507f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c766009546040516111309190612c6d565b60405180910390a150565b6011602052805f5260405f205f915054906101000a900460ff1681565b6012602052805f5260405f205f915054906101000a900460ff1681565b61117d611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611209576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120090612e42565b60405180910390fd5b600554600881905550600554600781905550565b5f600f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61126b611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ee90612e42565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c5f9054906101000a900460ff1681565b6113cb611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611457576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144e90612e42565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bc90613203565b60405180910390fd5b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f94223efa5e0ef633fcdce676def839a7ea220f7f45a1c693a4540846bc1ee14d60405160405180910390a380600c60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6013602052805f5260405f205f915054906101000a900460ff1681565b600c60159054906101000a900460ff1681565b5f80600b54600954846115c89190613221565b6115d2919061328f565b905080915050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606003805461161390612dc8565b80601f016020809104026020016040519081016040528092919081815260200182805461163f90612dc8565b801561168a5780601f106116615761010080835404028352916020019161168a565b820191905f5260205f20905b81548152906001019060200180831161166d57829003601f168201915b5050505050905090565b600a5481565b5f6117376116a6611a28565b848460105f6116b3611a28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611732919061309f565b611a2f565b6001905092915050565b5f61175461174d611a28565b8484611bf2565b6001905092915050565b60085481565b60095481565b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b5f60105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f80600b54600a548461182b9190613221565b611835919061328f565b905080915050919050565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61186d611a28565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f090612e42565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195e9061332f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9490613397565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b02906133ff565b60405180910390fd5b8060105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611be59190612c6d565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5790613467565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc5906134cf565b60405180910390fd5b5f8111611d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d079061355d565b60405180910390fd5b60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611dae575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611df957600754811115611df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611def906135c5565b60405180910390fd5b5b60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611ea05760085481611e548461121d565b611e5e91906130d2565b1115611e9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e969061362d565b60405180910390fd5b5b611eaa8383611f7d565b5f6001905060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611f4a575060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611f625750600c60159054906101000a900460ff16155b15611f6b575f90505b611f7784848484612169565b50505050565b5f611f873061121d565b90506006548110158015611fe85750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611fff5750600c5f9054906101000a900460ff165b801561208f57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561208d5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b155b15612164576120c230600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600654611a2f565b6120ef600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006546126f0565b5f4790505f81111561216257600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612160573d5f803e3d5ffd5b505b505b505050565b8373ffffffffffffffffffffffffffffffffffffffff16600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156121c25750805b1561236c575f806121d2846115b5565b915081846121e0919061309f565b905083600f5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461222b919061309f565b600f5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080600f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122b591906130d2565b600f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123539190612c6d565b60405180910390a361236586836128cb565b50506126ea565b8273ffffffffffffffffffffffffffffffffffffffff16600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156123c55750805b1561256f575f6123d483611818565b90505f81846123e3919061309f565b905083600f5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242e919061309f565b600f5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080600f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124b891906130d2565b600f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125569190612c6d565b60405180910390a361256886836128cb565b50506126e9565b81600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125b8919061309f565b600f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555081600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461264291906130d2565b600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126e09190612c6d565b60405180910390a35b5b50505050565b5f8290505f600267ffffffffffffffff8111156127105761270f61364b565b5b60405190808252806020026020018201604052801561273e5781602001602082028036833780820191505090505b50905030815f8151811061275557612754613678565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127fc91906136b9565b816001815181106128105761280f613678565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663791ac947845f843061012c4261287891906130d2565b6040518663ffffffff1660e01b81526004016128989594939291906137d4565b5f604051808303815f87803b1580156128af575f80fd5b505af11580156128c1573d5f803e3d5ffd5b5050505050505050565b80600f5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461291491906130d2565b600f5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516129b29190612c6d565b60405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156129f55780820151818401526020810190506129da565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612a1a826129be565b612a2481856129c8565b9350612a348185602086016129d8565b612a3d81612a00565b840191505092915050565b5f6020820190508181035f830152612a608184612a10565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f612aaa612aa5612aa084612a68565b612a87565b612a68565b9050919050565b5f612abb82612a90565b9050919050565b5f612acc82612ab1565b9050919050565b612adc81612ac2565b82525050565b5f602082019050612af55f830184612ad3565b92915050565b5f80fd5b5f612b0982612a68565b9050919050565b612b1981612aff565b8114612b23575f80fd5b50565b5f81359050612b3481612b10565b92915050565b5f819050919050565b612b4c81612b3a565b8114612b56575f80fd5b50565b5f81359050612b6781612b43565b92915050565b5f8060408385031215612b8357612b82612afb565b5b5f612b9085828601612b26565b9250506020612ba185828601612b59565b9150509250929050565b5f8115159050919050565b612bbf81612bab565b82525050565b5f602082019050612bd85f830184612bb6565b92915050565b612be781612bab565b8114612bf1575f80fd5b50565b5f81359050612c0281612bde565b92915050565b5f60208284031215612c1d57612c1c612afb565b5b5f612c2a84828501612bf4565b91505092915050565b5f60208284031215612c4857612c47612afb565b5b5f612c5584828501612b59565b91505092915050565b612c6781612b3a565b82525050565b5f602082019050612c805f830184612c5e565b92915050565b5f805f60608486031215612c9d57612c9c612afb565b5b5f612caa86828701612b26565b9350506020612cbb86828701612b26565b9250506040612ccc86828701612b59565b9150509250925092565b5f60ff82169050919050565b612ceb81612cd6565b82525050565b5f602082019050612d045f830184612ce2565b92915050565b5f60208284031215612d1f57612d1e612afb565b5b5f612d2c84828501612b26565b91505092915050565b612d3e81612aff565b82525050565b5f602082019050612d575f830184612d35565b92915050565b5f8060408385031215612d7357612d72612afb565b5b5f612d8085828601612b26565b9250506020612d9185828601612b26565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612ddf57607f821691505b602082108103612df257612df1612d9b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612e2c6020836129c8565b9150612e3782612df8565b602082019050919050565b5f6020820190508181035f830152612e5981612e20565b9050919050565b7f56616c7565206d75737420626520646966666572656e742066726f6d206375725f8201527f72656e7420737461746500000000000000000000000000000000000000000000602082015250565b5f612eba602a836129c8565b9150612ec582612e60565b604082019050919050565b5f6020820190508181035f830152612ee781612eae565b9050919050565b7f6d696e207377617020616d6f756e742073686f756c64206265206772656174655f8201527f72207468616e207a65726f000000000000000000000000000000000000000000602082015250565b5f612f48602b836129c8565b9150612f5382612eee565b604082019050919050565b5f6020820190508181035f830152612f7581612f3c565b9050919050565b7f53656c6c206665652063616e2774206265206d6f7265207468616e20637572725f8201527f656e74206665652e000000000000000000000000000000000000000000000000602082015250565b5f612fd66028836129c8565b9150612fe182612f7c565b604082019050919050565b5f6020820190508181035f83015261300381612fca565b9050919050565b7f496e76616c696420416d6f756e740000000000000000000000000000000000005f82015250565b5f61303e600e836129c8565b91506130498261300a565b602082019050919050565b5f6020820190508181035f83015261306b81613032565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6130a982612b3a565b91506130b483612b3a565b92508282039050818111156130cc576130cb613072565b5b92915050565b5f6130dc82612b3a565b91506130e783612b3a565b92508282019050808211156130ff576130fe613072565b5b92915050565b7f427579206665652063616e2774206265206d6f7265207468616e2063757272655f8201527f6e74206665652e00000000000000000000000000000000000000000000000000602082015250565b5f61315f6027836129c8565b915061316a82613105565b604082019050919050565b5f6020820190508181035f83015261318c81613153565b9050919050565b7f4f776e61626c653a206e657720666565526563656976657220697320746865205f8201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b5f6131ed602c836129c8565b91506131f882613193565b604082019050919050565b5f6020820190508181035f83015261321a816131e1565b9050919050565b5f61322b82612b3a565b915061323683612b3a565b925082820261324481612b3a565b9150828204841483151761325b5761325a613072565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61329982612b3a565b91506132a483612b3a565b9250826132b4576132b3613262565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6133196026836129c8565b9150613324826132bf565b604082019050919050565b5f6020820190508181035f8301526133468161330d565b9050919050565b7f417070726f76652066726f6d20746865207a65726f20616464726573730000005f82015250565b5f613381601d836129c8565b915061338c8261334d565b602082019050919050565b5f6020820190508181035f8301526133ae81613375565b9050919050565b7f417070726f766520746f20746865207a65726f206164647265737300000000005f82015250565b5f6133e9601b836129c8565b91506133f4826133b5565b602082019050919050565b5f6020820190508181035f830152613416816133dd565b9050919050565b7f54616e736665722066726f6d20746865207a65726f20616464726573730000005f82015250565b5f613451601d836129c8565b915061345c8261341d565b602082019050919050565b5f6020820190508181035f83015261347e81613445565b9050919050565b7f5472616e7366657220746f20746865207a65726f2061646472657373000000005f82015250565b5f6134b9601c836129c8565b91506134c482613485565b602082019050919050565b5f6020820190508181035f8301526134e6816134ad565b9050919050565b7f20416d6f756e74206d7573742062652067726561746572207468616e207a65725f8201527f6f00000000000000000000000000000000000000000000000000000000000000602082015250565b5f6135476021836129c8565b9150613552826134ed565b604082019050919050565b5f6020820190508181035f8301526135748161353b565b9050919050565b7f4d61782074786e206c696d6974206578636565647300000000000000000000005f82015250565b5f6135af6015836129c8565b91506135ba8261357b565b602082019050919050565b5f6020820190508181035f8301526135dc816135a3565b9050919050565b7f4d61782057616c6c6574206c696d6974206578636565647300000000000000005f82015250565b5f6136176018836129c8565b9150613622826135e3565b602082019050919050565b5f6020820190508181035f8301526136448161360b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506136b381612b10565b92915050565b5f602082840312156136ce576136cd612afb565b5b5f6136db848285016136a5565b91505092915050565b5f819050919050565b5f6137076137026136fd846136e4565b612a87565b612b3a565b9050919050565b613717816136ed565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61374f81612aff565b82525050565b5f6137608383613746565b60208301905092915050565b5f602082019050919050565b5f6137828261371d565b61378c8185613727565b935061379783613737565b805f5b838110156137c75781516137ae8882613755565b97506137b98361376c565b92505060018101905061379a565b5085935050505092915050565b5f60a0820190506137e75f830188612c5e565b6137f4602083018761370e565b81810360408301526138068186613778565b90506138156060830185612d35565b6138226080830184612c5e565b969550505050505056fea2646970667358221220a1379d710cf1cde1732847b34637e1b67a4ae9cb1703d18284dae831ed757b8d64736f6c63430008140033

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000004ed2d84a05db7212039b4290507762da79d4ceb70000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000000000000000000000000000000000000000000008506f704b697474790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005504f504b49000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : __name (string): PopKitty
Arg [1] : __symbol (string): POPKI
Arg [2] : __feeReceiver (address): 0x4ed2D84a05DB7212039B4290507762Da79D4Ceb7
Arg [3] : __router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000004ed2d84a05db7212039b4290507762da79d4ceb7
Arg [3] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [5] : 506f704b69747479000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [7] : 504f504b49000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

4259:11195:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7158:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4896:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8046:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14634:369;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14400:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14100:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7435:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12555:243;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8240:350;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7344:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4474:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8598:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13841:224;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5153:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5209:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13662:145;;;;;;;;;;;;;:::i;:::-;;7543:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1924:157;;;;;;;;;;;;;:::i;:::-;;4734:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15050:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5260:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4837:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9206:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1710:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7249:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4653:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8898:300;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7670:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4559:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4615:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4788:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4509:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7870:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9378:166;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4960:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2089:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4692:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7158:83;7195:13;7228:5;7221:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7158:83;:::o;4896:27::-;;;;;;;;;;;;;:::o;8046:186::-;8146:4;8163:39;8172:12;:10;:12::i;:::-;8186:7;8195:6;8163:8;:39::i;:::-;8220:4;8213:11;;8046:186;;;;:::o;14634:369::-;1847:12;:10;:12::i;:::-;1837:22;;:6;;;;;;;;;;:22;;;1829:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14811:26:::1;;;;;;;;;;;14801:36;;:6;:36;;::::0;14779:128:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;14947:6;14918:26;;:35;;;;;;;;;;;;;;;;;;14969:26;14988:6;14969:26;;;;;;:::i;:::-;;;;;;;;14634:369:::0;:::o;14400:226::-;1847:12;:10;:12::i;:::-;1837:22;;:6;;;;;;;;;;:22;;;1829:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14491:1:::1;14481:7;:11;14473:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14567:7;14551:13;:23;;;;14590:28;14604:13;;14590:28;;;;;;:::i;:::-;;;;;;;;14400:226:::0;:::o;14100:266::-;1847:12;:10;:12::i;:::-;1837:22;;:6;;;;;;;;;;:22;;;1829:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14203:12:::1;;14192:7;:23;;14170:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;14309:7;14294:12;:22;;;;14334:24;14345:12;;14334:24;;;;;;:::i;:::-;;;;;;;;14100:266:::0;:::o;7435:100::-;7488:7;7515:12;;7508:19;;7435:100;:::o;12555:243::-;1847:12;:10;:12::i;:::-;1837:22;;:6;;;;;;;;;;:22;;;1829:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12654:7:::1;12629:21;:32;;12621:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;12699:10;12691:28;;:37;12720:7;12691:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;12770:10;12746:44;;12763:4;12746:44;;;12782:7;12746:44;;;;;;:::i;:::-;;;;;;;;12555:243:::0;:::o;8240:350::-;8372:4;8389:36;8399:6;8407:9;8418:6;8389:9;:36::i;:::-;8436:124;8459:6;8480:12;:10;:12::i;:::-;8543:6;8507:11;:19;8519:6;8507:19;;;;;;;;;;;;;;;:33;8527:12;:10;:12::i;:::-;8507:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;8436:8;:124::i;:::-;8578:4;8571:11;;8240:350;;;;;:::o;7344:83::-;7385:5;7410:9;;;;;;;;;;;7403:16;;7344:83;:::o;4474:28::-;;;;:::o;8598:292::-;8711:4;8728:132;8751:12;:10;:12::i;:::-;8778:7;8838:10;8800:11;:25;8812:12;:10;:12::i;:::-;8800:25;;;;;;;;;;;;;;;:34;8826:7;8800:34;;;;;;;;;;;;;;;;:49;;;;:::i;:::-;8728:8;:132::i;:::-;8878:4;8871:11;;8598:292;;;;:::o;13841:224::-;1847:12;:10;:12::i;:::-;1837:22;;:6;;;;;;;;;;:22;;;1829:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13929:11:::1;;13918:7;:22;;13910:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14009:7;13995:11;:21;;;;14034:23;14045:11;;14034:23;;;;;;:::i;:::-;;;;;;;;13841:224:::0;:::o;5153:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;5209:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;13662:145::-;1847:12;:10;:12::i;:::-;1837:22;;:6;;;;;;;;;;:22;;;1829:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13749:12:::1;;13731:15;:30;;;;13787:12;;13772;:27;;;;13662:145::o:0;7543:119::-;7609:7;7636:9;:18;7646:7;7636:18;;;;;;;;;;;;;;;;7629:25;;7543:119;;;:::o;1924:157::-;1847:12;:10;:12::i;:::-;1837:22;;:6;;;;;;;;;;:22;;;1829:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2031:1:::1;1994:40;;2015:6;::::0;::::1;;;;;;;;1994:40;;;;;;;;;;;;2070:1;2045:6:::0;::::1;:28;;;;;;;;;;;;;;;;;;1924:157::o:0;4734:45::-;;;;;;;;;;;;;:::o;15050:313::-;1847:12;:10;:12::i;:::-;1837:22;;:6;;;;;;;;;;:22;;;1829:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15179:1:::1;15153:28;;:14;:28;;::::0;15131:122:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15304:11;;;;;;;;;;;15269:47;;15288:14;15269:47;;;;;;;;;;;;15341:14;15327:11;;:28;;;;;;;;;;;;;;;;;;15050:313:::0;:::o;5260:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;4837:29::-;;;;;;;;;;;;;:::o;9206:164::-;9268:7;9288:11;9327:14;;9312:11;;9303:6;:20;;;;:::i;:::-;9302:39;;;;:::i;:::-;9288:53;;9359:3;9352:10;;;9206:164;;;:::o;1710:79::-;1748:7;1775:6;;;;;;;;;;;1768:13;;1710:79;:::o;7249:87::-;7288:13;7321:7;7314:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7249:87;:::o;4653:32::-;;;;:::o;8898:300::-;9016:4;9033:135;9056:12;:10;:12::i;:::-;9083:7;9142:15;9105:11;:25;9117:12;:10;:12::i;:::-;9105:25;;;;;;;;;;;;;;;:34;9131:7;9105:34;;;;;;;;;;;;;;;;:52;;;;:::i;:::-;9033:8;:135::i;:::-;9186:4;9179:11;;8898:300;;;;:::o;7670:192::-;7773:4;7790:42;7800:12;:10;:12::i;:::-;7814:9;7825:6;7790:9;:42::i;:::-;7850:4;7843:11;;7670:192;;;;:::o;4559:46::-;;;;:::o;4615:31::-;;;;:::o;4788:26::-;;;;;;;;;;;;;:::o;4509:43::-;;;;:::o;7870:168::-;7976:7;8003:11;:18;8015:5;8003:18;;;;;;;;;;;;;;;:27;8022:7;8003:27;;;;;;;;;;;;;;;;7996:34;;7870:168;;;;:::o;9378:166::-;9441:7;9461:11;9501:14;;9485:12;;9476:6;:21;;;;:::i;:::-;9475:40;;;;:::i;:::-;9461:54;;9533:3;9526:10;;;9378:166;;;:::o;4960:22::-;;;;;;;;;;;;;:::o;2089:281::-;1847:12;:10;:12::i;:::-;1837:22;;:6;;;;;;;;;;:22;;;1829:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2212:1:::1;2192:22;;:8;:22;;::::0;2170:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2325:8;2296:38;;2317:6;::::0;::::1;;;;;;;;2296:38;;;;;;;;;;;;2354:8;2345:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2089:281:::0;:::o;4692:35::-;;;;:::o;1044:115::-;1097:15;1140:10;1125:26;;1044:115;:::o;9552:323::-;9662:1;9645:19;;:5;:19;;;9637:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9736:1;9717:21;;:7;:21;;;9709:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9813:6;9783:11;:18;9795:5;9783:18;;;;;;;;;;;;;;;:27;9802:7;9783:27;;;;;;;;;;;;;;;:36;;;;9851:7;9835:32;;9844:5;9835:32;;;9860:6;9835:32;;;;;;:::i;:::-;;;;;;;;9552:323;;;:::o;9883:1116::-;9987:1;9971:18;;:4;:18;;;9963:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;10056:1;10042:16;;:2;:16;;;10034:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;10119:1;10110:6;:10;10102:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;10174:12;:18;10187:4;10174:18;;;;;;;;;;;;;;;;;;;;;;;;;10173:19;:40;;;;;10197:12;:16;10210:2;10197:16;;;;;;;;;;;;;;;;;;;;;;;;;10196:17;10173:40;10169:142;;;10248:12;;10238:6;:22;;10230:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;10169:142;10328:13;:17;10342:2;10328:17;;;;;;;;;;;;;;;;;;;;;;;;;10323:178;;10414:15;;10404:6;10388:13;10398:2;10388:9;:13::i;:::-;:22;;;;:::i;:::-;:41;;10362:127;;;;;;;;;;;;:::i;:::-;;;;;;;;;10323:178;10542:30;10563:4;10569:2;10542:20;:30::i;:::-;10646:12;10661:4;10646:19;;10765:17;:23;10783:4;10765:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;10792:17;:21;10810:2;10792:21;;;;;;;;;;;;;;;;;;;;;;;;;10765:48;:63;;;;10818:10;;;;;;;;;;;10817:11;10765:63;10761:111;;;10855:5;10845:15;;10761:111;10950:41;10965:4;10971:2;10975:6;10983:7;10950:14;:41::i;:::-;9952:1047;9883:1116;;;:::o;12839:812::-;12914:28;12945:24;12963:4;12945:9;:24::i;:::-;12914:55;;13024:13;;13000:20;:37;;:69;;;;;13062:7;;;;;;;;;;;13054:15;;:4;:15;;;;13000:69;:112;;;;;13086:26;;;;;;;;;;;13000:112;:170;;;;;13147:4;13131:21;;:4;:21;;;:38;;;;;13162:7;;;;;;;;;;;13156:13;;:2;:13;;;13131:38;13129:41;13000:170;12982:662;;;13245:58;13262:4;13277:9;;;;;;;;;;;13289:13;;13245:8;:58::i;:::-;13360:57;13391:9;;;;;;;;;;;13403:13;;13360:22;:57::i;:::-;13432:23;13458:21;13432:47;;13566:1;13548:15;:19;13544:88;;;13594:11;;;;;;;;;;;13586:29;;:46;13616:15;13586:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13544:88;13197:447;12982:662;12903:748;12839:812;;:::o;11084:1230::-;11250:6;11239:17;;:7;;;;;;;;;;;:17;;;:28;;;;;11260:7;11239:28;11235:1072;;;11284:14;11313:23;11360;11376:6;11360:15;:23::i;:::-;11351:32;;11425:6;11416;:15;;;;:::i;:::-;11398:33;;11488:6;11468:9;:17;11478:6;11468:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;11448:9;:17;11458:6;11448:17;;;;;;;;;;;;;;;:46;;;;11555:15;11532:9;:20;11542:9;11532:20;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;11509:9;:20;11519:9;11509:20;;;;;;;;;;;;;;;:61;;;;11607:9;11590:44;;11599:6;11590:44;;;11618:15;11590:44;;;;;;:::i;:::-;;;;;;;;11651:28;11664:6;11672;11651:12;:28::i;:::-;11269:422;;11235:1072;;;11712:9;11701:20;;:7;;;;;;;;;;;:20;;;:31;;;;;11725:7;11701:31;11697:610;;;11749:14;11766:24;11783:6;11766:16;:24::i;:::-;11749:41;;11805:23;11840:6;11831;:15;;;;:::i;:::-;11805:41;;11901:6;11881:9;:17;11891:6;11881:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;11861:9;:17;11871:6;11861:17;;;;;;;;;;;;;;;:46;;;;11968:15;11945:9;:20;11955:9;11945:20;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;11922:9;:20;11932:9;11922:20;;;;;;;;;;;;;;;:61;;;;12020:9;12003:44;;12012:6;12003:44;;;12031:15;12003:44;;;;;;:::i;:::-;;;;;;;;12064:28;12077:6;12085;12064:12;:28::i;:::-;11734:370;;11697:610;;;12165:6;12145:9;:17;12155:6;12145:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;12125:9;:17;12135:6;12125:17;;;;;;;;;;;;;;;:46;;;;12233:6;12209:9;:20;12219:9;12209:20;;;;;;;;;;;;;;;;:31;;;;:::i;:::-;12186:9;:20;12196:9;12186:20;;;;;;;;;;;;;;;:54;;;;12277:9;12260:35;;12269:6;12260:35;;;12288:6;12260:35;;;;;;:::i;:::-;;;;;;;;11697:610;11235:1072;11084:1230;;;;:::o;15500:614::-;15615:20;15649:13;15615:48;;15732:21;15770:1;15756:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15732:40;;15801:4;15783;15788:1;15783:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;15827:9;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15817:4;15822:1;15817:7;;;;;;;;:::i;:::-;;;;;;;:26;;;;;;;;;;;15882:9;:60;;;15957:11;15983:1;16027:4;16054;16092:3;16074:15;:21;;;;:::i;:::-;15882:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15604:510;;15500:614;;:::o;12322:198::-;12449:6;12422:9;:24;12440:4;12422:24;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;12395:9;:24;12413:4;12395:24;;;;;;;;;;;;;;;:60;;;;12498:4;12473:39;;12482:6;12473:39;;;12505:6;12473:39;;;;;;:::i;:::-;;;;;;;;12322:198;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:126::-;1386:7;1426:42;1419:5;1415:54;1404:65;;1349:126;;;:::o;1481:60::-;1509:3;1530:5;1523:12;;1481:60;;;:::o;1547:142::-;1597:9;1630:53;1648:34;1657:24;1675:5;1657:24;:::i;:::-;1648:34;:::i;:::-;1630:53;:::i;:::-;1617:66;;1547:142;;;:::o;1695:126::-;1745:9;1778:37;1809:5;1778:37;:::i;:::-;1765:50;;1695:126;;;:::o;1827:144::-;1895:9;1928:37;1959:5;1928:37;:::i;:::-;1915:50;;1827:144;;;:::o;1977:167::-;2082:55;2131:5;2082:55;:::i;:::-;2077:3;2070:68;1977:167;;:::o;2150:258::-;2261:4;2299:2;2288:9;2284:18;2276:26;;2312:89;2398:1;2387:9;2383:17;2374:6;2312:89;:::i;:::-;2150:258;;;;:::o;2495:117::-;2604:1;2601;2594:12;2741:96;2778:7;2807:24;2825:5;2807:24;:::i;:::-;2796:35;;2741:96;;;:::o;2843:122::-;2916:24;2934:5;2916:24;:::i;:::-;2909:5;2906:35;2896:63;;2955:1;2952;2945:12;2896:63;2843:122;:::o;2971:139::-;3017:5;3055:6;3042:20;3033:29;;3071:33;3098:5;3071:33;:::i;:::-;2971:139;;;;:::o;3116:77::-;3153:7;3182:5;3171:16;;3116:77;;;:::o;3199:122::-;3272:24;3290:5;3272:24;:::i;:::-;3265:5;3262:35;3252:63;;3311:1;3308;3301:12;3252:63;3199:122;:::o;3327:139::-;3373:5;3411:6;3398:20;3389:29;;3427:33;3454:5;3427:33;:::i;:::-;3327:139;;;;:::o;3472:474::-;3540:6;3548;3597:2;3585:9;3576:7;3572:23;3568:32;3565:119;;;3603:79;;:::i;:::-;3565:119;3723:1;3748:53;3793:7;3784:6;3773:9;3769:22;3748:53;:::i;:::-;3738:63;;3694:117;3850:2;3876:53;3921:7;3912:6;3901:9;3897:22;3876:53;:::i;:::-;3866:63;;3821:118;3472:474;;;;;:::o;3952:90::-;3986:7;4029:5;4022:13;4015:21;4004:32;;3952:90;;;:::o;4048:109::-;4129:21;4144:5;4129:21;:::i;:::-;4124:3;4117:34;4048:109;;:::o;4163:210::-;4250:4;4288:2;4277:9;4273:18;4265:26;;4301:65;4363:1;4352:9;4348:17;4339:6;4301:65;:::i;:::-;4163:210;;;;:::o;4379:116::-;4449:21;4464:5;4449:21;:::i;:::-;4442:5;4439:32;4429:60;;4485:1;4482;4475:12;4429:60;4379:116;:::o;4501:133::-;4544:5;4582:6;4569:20;4560:29;;4598:30;4622:5;4598:30;:::i;:::-;4501:133;;;;:::o;4640:323::-;4696:6;4745:2;4733:9;4724:7;4720:23;4716:32;4713:119;;;4751:79;;:::i;:::-;4713:119;4871:1;4896:50;4938:7;4929:6;4918:9;4914:22;4896:50;:::i;:::-;4886:60;;4842:114;4640:323;;;;:::o;4969:329::-;5028:6;5077:2;5065:9;5056:7;5052:23;5048:32;5045:119;;;5083:79;;:::i;:::-;5045:119;5203:1;5228:53;5273:7;5264:6;5253:9;5249:22;5228:53;:::i;:::-;5218:63;;5174:117;4969:329;;;;:::o;5304:118::-;5391:24;5409:5;5391:24;:::i;:::-;5386:3;5379:37;5304:118;;:::o;5428:222::-;5521:4;5559:2;5548:9;5544:18;5536:26;;5572:71;5640:1;5629:9;5625:17;5616:6;5572:71;:::i;:::-;5428:222;;;;:::o;5656:619::-;5733:6;5741;5749;5798:2;5786:9;5777:7;5773:23;5769:32;5766:119;;;5804:79;;:::i;:::-;5766:119;5924:1;5949:53;5994:7;5985:6;5974:9;5970:22;5949:53;:::i;:::-;5939:63;;5895:117;6051:2;6077:53;6122:7;6113:6;6102:9;6098:22;6077:53;:::i;:::-;6067:63;;6022:118;6179:2;6205:53;6250:7;6241:6;6230:9;6226:22;6205:53;:::i;:::-;6195:63;;6150:118;5656:619;;;;;:::o;6281:86::-;6316:7;6356:4;6349:5;6345:16;6334:27;;6281:86;;;:::o;6373:112::-;6456:22;6472:5;6456:22;:::i;:::-;6451:3;6444:35;6373:112;;:::o;6491:214::-;6580:4;6618:2;6607:9;6603:18;6595:26;;6631:67;6695:1;6684:9;6680:17;6671:6;6631:67;:::i;:::-;6491:214;;;;:::o;6711:329::-;6770:6;6819:2;6807:9;6798:7;6794:23;6790:32;6787:119;;;6825:79;;:::i;:::-;6787:119;6945:1;6970:53;7015:7;7006:6;6995:9;6991:22;6970:53;:::i;:::-;6960:63;;6916:117;6711:329;;;;:::o;7046:118::-;7133:24;7151:5;7133:24;:::i;:::-;7128:3;7121:37;7046:118;;:::o;7170:222::-;7263:4;7301:2;7290:9;7286:18;7278:26;;7314:71;7382:1;7371:9;7367:17;7358:6;7314:71;:::i;:::-;7170:222;;;;:::o;7398:474::-;7466:6;7474;7523:2;7511:9;7502:7;7498:23;7494:32;7491:119;;;7529:79;;:::i;:::-;7491:119;7649:1;7674:53;7719:7;7710:6;7699:9;7695:22;7674:53;:::i;:::-;7664:63;;7620:117;7776:2;7802:53;7847:7;7838:6;7827:9;7823:22;7802:53;:::i;:::-;7792:63;;7747:118;7398:474;;;;;:::o;7878:180::-;7926:77;7923:1;7916:88;8023:4;8020:1;8013:15;8047:4;8044:1;8037:15;8064:320;8108:6;8145:1;8139:4;8135:12;8125:22;;8192:1;8186:4;8182:12;8213:18;8203:81;;8269:4;8261:6;8257:17;8247:27;;8203:81;8331:2;8323:6;8320:14;8300:18;8297:38;8294:84;;8350:18;;:::i;:::-;8294:84;8115:269;8064:320;;;:::o;8390:182::-;8530:34;8526:1;8518:6;8514:14;8507:58;8390:182;:::o;8578:366::-;8720:3;8741:67;8805:2;8800:3;8741:67;:::i;:::-;8734:74;;8817:93;8906:3;8817:93;:::i;:::-;8935:2;8930:3;8926:12;8919:19;;8578:366;;;:::o;8950:419::-;9116:4;9154:2;9143:9;9139:18;9131:26;;9203:9;9197:4;9193:20;9189:1;9178:9;9174:17;9167:47;9231:131;9357:4;9231:131;:::i;:::-;9223:139;;8950:419;;;:::o;9375:229::-;9515:34;9511:1;9503:6;9499:14;9492:58;9584:12;9579:2;9571:6;9567:15;9560:37;9375:229;:::o;9610:366::-;9752:3;9773:67;9837:2;9832:3;9773:67;:::i;:::-;9766:74;;9849:93;9938:3;9849:93;:::i;:::-;9967:2;9962:3;9958:12;9951:19;;9610:366;;;:::o;9982:419::-;10148:4;10186:2;10175:9;10171:18;10163:26;;10235:9;10229:4;10225:20;10221:1;10210:9;10206:17;10199:47;10263:131;10389:4;10263:131;:::i;:::-;10255:139;;9982:419;;;:::o;10407:230::-;10547:34;10543:1;10535:6;10531:14;10524:58;10616:13;10611:2;10603:6;10599:15;10592:38;10407:230;:::o;10643:366::-;10785:3;10806:67;10870:2;10865:3;10806:67;:::i;:::-;10799:74;;10882:93;10971:3;10882:93;:::i;:::-;11000:2;10995:3;10991:12;10984:19;;10643:366;;;:::o;11015:419::-;11181:4;11219:2;11208:9;11204:18;11196:26;;11268:9;11262:4;11258:20;11254:1;11243:9;11239:17;11232:47;11296:131;11422:4;11296:131;:::i;:::-;11288:139;;11015:419;;;:::o;11440:227::-;11580:34;11576:1;11568:6;11564:14;11557:58;11649:10;11644:2;11636:6;11632:15;11625:35;11440:227;:::o;11673:366::-;11815:3;11836:67;11900:2;11895:3;11836:67;:::i;:::-;11829:74;;11912:93;12001:3;11912:93;:::i;:::-;12030:2;12025:3;12021:12;12014:19;;11673:366;;;:::o;12045:419::-;12211:4;12249:2;12238:9;12234:18;12226:26;;12298:9;12292:4;12288:20;12284:1;12273:9;12269:17;12262:47;12326:131;12452:4;12326:131;:::i;:::-;12318:139;;12045:419;;;:::o;12470:164::-;12610:16;12606:1;12598:6;12594:14;12587:40;12470:164;:::o;12640:366::-;12782:3;12803:67;12867:2;12862:3;12803:67;:::i;:::-;12796:74;;12879:93;12968:3;12879:93;:::i;:::-;12997:2;12992:3;12988:12;12981:19;;12640:366;;;:::o;13012:419::-;13178:4;13216:2;13205:9;13201:18;13193:26;;13265:9;13259:4;13255:20;13251:1;13240:9;13236:17;13229:47;13293:131;13419:4;13293:131;:::i;:::-;13285:139;;13012:419;;;:::o;13437:180::-;13485:77;13482:1;13475:88;13582:4;13579:1;13572:15;13606:4;13603:1;13596:15;13623:194;13663:4;13683:20;13701:1;13683:20;:::i;:::-;13678:25;;13717:20;13735:1;13717:20;:::i;:::-;13712:25;;13761:1;13758;13754:9;13746:17;;13785:1;13779:4;13776:11;13773:37;;;13790:18;;:::i;:::-;13773:37;13623:194;;;;:::o;13823:191::-;13863:3;13882:20;13900:1;13882:20;:::i;:::-;13877:25;;13916:20;13934:1;13916:20;:::i;:::-;13911:25;;13959:1;13956;13952:9;13945:16;;13980:3;13977:1;13974:10;13971:36;;;13987:18;;:::i;:::-;13971:36;13823:191;;;;:::o;14020:226::-;14160:34;14156:1;14148:6;14144:14;14137:58;14229:9;14224:2;14216:6;14212:15;14205:34;14020:226;:::o;14252:366::-;14394:3;14415:67;14479:2;14474:3;14415:67;:::i;:::-;14408:74;;14491:93;14580:3;14491:93;:::i;:::-;14609:2;14604:3;14600:12;14593:19;;14252:366;;;:::o;14624:419::-;14790:4;14828:2;14817:9;14813:18;14805:26;;14877:9;14871:4;14867:20;14863:1;14852:9;14848:17;14841:47;14905:131;15031:4;14905:131;:::i;:::-;14897:139;;14624:419;;;:::o;15049:231::-;15189:34;15185:1;15177:6;15173:14;15166:58;15258:14;15253:2;15245:6;15241:15;15234:39;15049:231;:::o;15286:366::-;15428:3;15449:67;15513:2;15508:3;15449:67;:::i;:::-;15442:74;;15525:93;15614:3;15525:93;:::i;:::-;15643:2;15638:3;15634:12;15627:19;;15286:366;;;:::o;15658:419::-;15824:4;15862:2;15851:9;15847:18;15839:26;;15911:9;15905:4;15901:20;15897:1;15886:9;15882:17;15875:47;15939:131;16065:4;15939:131;:::i;:::-;15931:139;;15658:419;;;:::o;16083:410::-;16123:7;16146:20;16164:1;16146:20;:::i;:::-;16141:25;;16180:20;16198:1;16180:20;:::i;:::-;16175:25;;16235:1;16232;16228:9;16257:30;16275:11;16257:30;:::i;:::-;16246:41;;16436:1;16427:7;16423:15;16420:1;16417:22;16397:1;16390:9;16370:83;16347:139;;16466:18;;:::i;:::-;16347:139;16131:362;16083:410;;;;:::o;16499:180::-;16547:77;16544:1;16537:88;16644:4;16641:1;16634:15;16668:4;16665:1;16658:15;16685:185;16725:1;16742:20;16760:1;16742:20;:::i;:::-;16737:25;;16776:20;16794:1;16776:20;:::i;:::-;16771:25;;16815:1;16805:35;;16820:18;;:::i;:::-;16805:35;16862:1;16859;16855:9;16850:14;;16685:185;;;;:::o;16876:225::-;17016:34;17012:1;17004:6;17000:14;16993:58;17085:8;17080:2;17072:6;17068:15;17061:33;16876:225;:::o;17107:366::-;17249:3;17270:67;17334:2;17329:3;17270:67;:::i;:::-;17263:74;;17346:93;17435:3;17346:93;:::i;:::-;17464:2;17459:3;17455:12;17448:19;;17107:366;;;:::o;17479:419::-;17645:4;17683:2;17672:9;17668:18;17660:26;;17732:9;17726:4;17722:20;17718:1;17707:9;17703:17;17696:47;17760:131;17886:4;17760:131;:::i;:::-;17752:139;;17479:419;;;:::o;17904:179::-;18044:31;18040:1;18032:6;18028:14;18021:55;17904:179;:::o;18089:366::-;18231:3;18252:67;18316:2;18311:3;18252:67;:::i;:::-;18245:74;;18328:93;18417:3;18328:93;:::i;:::-;18446:2;18441:3;18437:12;18430:19;;18089:366;;;:::o;18461:419::-;18627:4;18665:2;18654:9;18650:18;18642:26;;18714:9;18708:4;18704:20;18700:1;18689:9;18685:17;18678:47;18742:131;18868:4;18742:131;:::i;:::-;18734:139;;18461:419;;;:::o;18886:177::-;19026:29;19022:1;19014:6;19010:14;19003:53;18886:177;:::o;19069:366::-;19211:3;19232:67;19296:2;19291:3;19232:67;:::i;:::-;19225:74;;19308:93;19397:3;19308:93;:::i;:::-;19426:2;19421:3;19417:12;19410:19;;19069:366;;;:::o;19441:419::-;19607:4;19645:2;19634:9;19630:18;19622:26;;19694:9;19688:4;19684:20;19680:1;19669:9;19665:17;19658:47;19722:131;19848:4;19722:131;:::i;:::-;19714:139;;19441:419;;;:::o;19866:179::-;20006:31;20002:1;19994:6;19990:14;19983:55;19866:179;:::o;20051:366::-;20193:3;20214:67;20278:2;20273:3;20214:67;:::i;:::-;20207:74;;20290:93;20379:3;20290:93;:::i;:::-;20408:2;20403:3;20399:12;20392:19;;20051:366;;;:::o;20423:419::-;20589:4;20627:2;20616:9;20612:18;20604:26;;20676:9;20670:4;20666:20;20662:1;20651:9;20647:17;20640:47;20704:131;20830:4;20704:131;:::i;:::-;20696:139;;20423:419;;;:::o;20848:178::-;20988:30;20984:1;20976:6;20972:14;20965:54;20848:178;:::o;21032:366::-;21174:3;21195:67;21259:2;21254:3;21195:67;:::i;:::-;21188:74;;21271:93;21360:3;21271:93;:::i;:::-;21389:2;21384:3;21380:12;21373:19;;21032:366;;;:::o;21404:419::-;21570:4;21608:2;21597:9;21593:18;21585:26;;21657:9;21651:4;21647:20;21643:1;21632:9;21628:17;21621:47;21685:131;21811:4;21685:131;:::i;:::-;21677:139;;21404:419;;;:::o;21829:220::-;21969:34;21965:1;21957:6;21953:14;21946:58;22038:3;22033:2;22025:6;22021:15;22014:28;21829:220;:::o;22055:366::-;22197:3;22218:67;22282:2;22277:3;22218:67;:::i;:::-;22211:74;;22294:93;22383:3;22294:93;:::i;:::-;22412:2;22407:3;22403:12;22396:19;;22055:366;;;:::o;22427:419::-;22593:4;22631:2;22620:9;22616:18;22608:26;;22680:9;22674:4;22670:20;22666:1;22655:9;22651:17;22644:47;22708:131;22834:4;22708:131;:::i;:::-;22700:139;;22427:419;;;:::o;22852:171::-;22992:23;22988:1;22980:6;22976:14;22969:47;22852:171;:::o;23029:366::-;23171:3;23192:67;23256:2;23251:3;23192:67;:::i;:::-;23185:74;;23268:93;23357:3;23268:93;:::i;:::-;23386:2;23381:3;23377:12;23370:19;;23029:366;;;:::o;23401:419::-;23567:4;23605:2;23594:9;23590:18;23582:26;;23654:9;23648:4;23644:20;23640:1;23629:9;23625:17;23618:47;23682:131;23808:4;23682:131;:::i;:::-;23674:139;;23401:419;;;:::o;23826:174::-;23966:26;23962:1;23954:6;23950:14;23943:50;23826:174;:::o;24006:366::-;24148:3;24169:67;24233:2;24228:3;24169:67;:::i;:::-;24162:74;;24245:93;24334:3;24245:93;:::i;:::-;24363:2;24358:3;24354:12;24347:19;;24006:366;;;:::o;24378:419::-;24544:4;24582:2;24571:9;24567:18;24559:26;;24631:9;24625:4;24621:20;24617:1;24606:9;24602:17;24595:47;24659:131;24785:4;24659:131;:::i;:::-;24651:139;;24378:419;;;:::o;24803:180::-;24851:77;24848:1;24841:88;24948:4;24945:1;24938:15;24972:4;24969:1;24962:15;24989:180;25037:77;25034:1;25027:88;25134:4;25131:1;25124:15;25158:4;25155:1;25148:15;25175:143;25232:5;25263:6;25257:13;25248:22;;25279:33;25306:5;25279:33;:::i;:::-;25175:143;;;;:::o;25324:351::-;25394:6;25443:2;25431:9;25422:7;25418:23;25414:32;25411:119;;;25449:79;;:::i;:::-;25411:119;25569:1;25594:64;25650:7;25641:6;25630:9;25626:22;25594:64;:::i;:::-;25584:74;;25540:128;25324:351;;;;:::o;25681:85::-;25726:7;25755:5;25744:16;;25681:85;;;:::o;25772:158::-;25830:9;25863:61;25881:42;25890:32;25916:5;25890:32;:::i;:::-;25881:42;:::i;:::-;25863:61;:::i;:::-;25850:74;;25772:158;;;:::o;25936:147::-;26031:45;26070:5;26031:45;:::i;:::-;26026:3;26019:58;25936:147;;:::o;26089:114::-;26156:6;26190:5;26184:12;26174:22;;26089:114;;;:::o;26209:184::-;26308:11;26342:6;26337:3;26330:19;26382:4;26377:3;26373:14;26358:29;;26209:184;;;;:::o;26399:132::-;26466:4;26489:3;26481:11;;26519:4;26514:3;26510:14;26502:22;;26399:132;;;:::o;26537:108::-;26614:24;26632:5;26614:24;:::i;:::-;26609:3;26602:37;26537:108;;:::o;26651:179::-;26720:10;26741:46;26783:3;26775:6;26741:46;:::i;:::-;26819:4;26814:3;26810:14;26796:28;;26651:179;;;;:::o;26836:113::-;26906:4;26938;26933:3;26929:14;26921:22;;26836:113;;;:::o;26985:732::-;27104:3;27133:54;27181:5;27133:54;:::i;:::-;27203:86;27282:6;27277:3;27203:86;:::i;:::-;27196:93;;27313:56;27363:5;27313:56;:::i;:::-;27392:7;27423:1;27408:284;27433:6;27430:1;27427:13;27408:284;;;27509:6;27503:13;27536:63;27595:3;27580:13;27536:63;:::i;:::-;27529:70;;27622:60;27675:6;27622:60;:::i;:::-;27612:70;;27468:224;27455:1;27452;27448:9;27443:14;;27408:284;;;27412:14;27708:3;27701:10;;27109:608;;;26985:732;;;;:::o;27723:831::-;27986:4;28024:3;28013:9;28009:19;28001:27;;28038:71;28106:1;28095:9;28091:17;28082:6;28038:71;:::i;:::-;28119:80;28195:2;28184:9;28180:18;28171:6;28119:80;:::i;:::-;28246:9;28240:4;28236:20;28231:2;28220:9;28216:18;28209:48;28274:108;28377:4;28368:6;28274:108;:::i;:::-;28266:116;;28392:72;28460:2;28449:9;28445:18;28436:6;28392:72;:::i;:::-;28474:73;28542:3;28531:9;28527:19;28518:6;28474:73;:::i;:::-;27723:831;;;;;;;;:::o

Swarm Source

ipfs://a1379d710cf1cde1732847b34637e1b67a4ae9cb1703d18284dae831ed757b8d

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.