ETH Price: $3,334.38 (+3.93%)
Gas: 3.82 Gwei

Contract

0x0B4a3d1eaF23e5F4a587bF27AB5AA3370dfaA339
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve204081342024-07-28 22:47:11171 days ago1722206831IN
0x0B4a3d1e...70dfaA339
0 ETH0.000096832.05150589
Approve202742052024-07-10 6:08:11190 days ago1720591691IN
0x0B4a3d1e...70dfaA339
0 ETH0.000238755.05823206
Approve201598552024-06-24 6:48:35206 days ago1719211715IN
0x0B4a3d1e...70dfaA339
0 ETH0.000137022.90306253
Approve198268322024-05-08 17:29:23252 days ago1715189363IN
0x0B4a3d1e...70dfaA339
0 ETH0.000253955.37336443
Transfer198225882024-05-08 3:13:23253 days ago1715138003IN
0x0B4a3d1e...70dfaA339
0 ETH0.000510656.98364004
Transfer198225712024-05-08 3:09:59253 days ago1715137799IN
0x0B4a3d1e...70dfaA339
0 ETH0.000500356.84285523
Approve185712792023-11-14 16:16:47428 days ago1699978607IN
0x0B4a3d1e...70dfaA339
0 ETH0.0028181460.02566061
Approve185712572023-11-14 16:12:23428 days ago1699978343IN
0x0B4a3d1e...70dfaA339
0 ETH0.0031631866.93022536
Approve185712512023-11-14 16:11:11428 days ago1699978271IN
0x0B4a3d1e...70dfaA339
0 ETH0.0029214261.8147969
Approve185712512023-11-14 16:11:11428 days ago1699978271IN
0x0B4a3d1e...70dfaA339
0 ETH0.0029214261.8147969
Approve185712512023-11-14 16:11:11428 days ago1699978271IN
0x0B4a3d1e...70dfaA339
0 ETH0.0029214261.8147969
Approve185712482023-11-14 16:10:35428 days ago1699978235IN
0x0B4a3d1e...70dfaA339
0 ETH0.0028225359.7222658
Approve185712322023-11-14 16:07:23428 days ago1699978043IN
0x0B4a3d1e...70dfaA339
0 ETH0.0025738754.46092149
Approve185712162023-11-14 16:04:11428 days ago1699977851IN
0x0B4a3d1e...70dfaA339
0 ETH0.0024876652.70368887
Approve185712092023-11-14 16:02:47428 days ago1699977767IN
0x0B4a3d1e...70dfaA339
0 ETH0.0025586354.138443
Approve185712082023-11-14 16:02:35428 days ago1699977755IN
0x0B4a3d1e...70dfaA339
0 ETH0.0029615663
Approve185712072023-11-14 16:02:23428 days ago1699977743IN
0x0B4a3d1e...70dfaA339
0 ETH0.00488404103.34207413
Approve185711902023-11-14 15:58:47428 days ago1699977527IN
0x0B4a3d1e...70dfaA339
0 ETH0.0023736450.22407548
Approve185711822023-11-14 15:57:11428 days ago1699977431IN
0x0B4a3d1e...70dfaA339
0 ETH0.0021748646.33590047
Approve185711802023-11-14 15:56:47428 days ago1699977407IN
0x0B4a3d1e...70dfaA339
0 ETH0.0023819550.4
Approve185711762023-11-14 15:55:59428 days ago1699977359IN
0x0B4a3d1e...70dfaA339
0 ETH0.0024004350.79095253
Transfer185711722023-11-14 15:55:11428 days ago1699977311IN
0x0B4a3d1e...70dfaA339
0 ETH0.0035604345.70692939
Approve185711722023-11-14 15:55:11428 days ago1699977311IN
0x0B4a3d1e...70dfaA339
0 ETH0.0023630550
Approve185711712023-11-14 15:54:59428 days ago1699977299IN
0x0B4a3d1e...70dfaA339
0 ETH0.0023565349.8747084
Approve185711672023-11-14 15:54:11428 days ago1699977251IN
0x0B4a3d1e...70dfaA339
0 ETH0.0023989151.05706109
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
185711462023-11-14 15:49:59428 days ago1699976999
0x0B4a3d1e...70dfaA339
0.01321444 ETH
185711462023-11-14 15:49:59428 days ago1699976999
0x0B4a3d1e...70dfaA339
0.01321444 ETH
185711412023-11-14 15:48:59428 days ago1699976939
0x0B4a3d1e...70dfaA339
0.01479538 ETH
185711412023-11-14 15:48:59428 days ago1699976939
0x0B4a3d1e...70dfaA339
0.01479538 ETH
185711392023-11-14 15:48:35428 days ago1699976915
0x0B4a3d1e...70dfaA339
0.01242285 ETH
185711392023-11-14 15:48:35428 days ago1699976915
0x0B4a3d1e...70dfaA339
0.01242285 ETH
185711362023-11-14 15:47:59428 days ago1699976879
0x0B4a3d1e...70dfaA339
0.01618176 ETH
185711362023-11-14 15:47:59428 days ago1699976879
0x0B4a3d1e...70dfaA339
0.01618176 ETH
185711332023-11-14 15:47:23428 days ago1699976843
0x0B4a3d1e...70dfaA339
0.01693993 ETH
185711332023-11-14 15:47:23428 days ago1699976843
0x0B4a3d1e...70dfaA339
0.01693993 ETH
185711262023-11-14 15:45:59428 days ago1699976759
0x0B4a3d1e...70dfaA339
0.01329634 ETH
185711262023-11-14 15:45:59428 days ago1699976759
0x0B4a3d1e...70dfaA339
0.01329634 ETH
185711242023-11-14 15:45:35428 days ago1699976735
0x0B4a3d1e...70dfaA339
0.01479674 ETH
185711242023-11-14 15:45:35428 days ago1699976735
0x0B4a3d1e...70dfaA339
0.01479674 ETH
185711232023-11-14 15:45:23428 days ago1699976723
0x0B4a3d1e...70dfaA339
0.0174123 ETH
185711232023-11-14 15:45:23428 days ago1699976723
0x0B4a3d1e...70dfaA339
0.0174123 ETH
185711202023-11-14 15:44:47428 days ago1699976687
0x0B4a3d1e...70dfaA339
0.01921917 ETH
185711202023-11-14 15:44:47428 days ago1699976687
0x0B4a3d1e...70dfaA339
0.01921917 ETH
185711092023-11-14 15:42:35428 days ago1699976555
0x0B4a3d1e...70dfaA339
0.0201987 ETH
185711092023-11-14 15:42:35428 days ago1699976555
0x0B4a3d1e...70dfaA339
0.0201987 ETH
185711092023-11-14 15:42:35428 days ago1699976555
0x0B4a3d1e...70dfaA339
0.01997821 ETH
185711092023-11-14 15:42:35428 days ago1699976555
0x0B4a3d1e...70dfaA339
0.01997821 ETH
185711082023-11-14 15:42:23428 days ago1699976543
0x0B4a3d1e...70dfaA339
0.02128376 ETH
185711082023-11-14 15:42:23428 days ago1699976543
0x0B4a3d1e...70dfaA339
0.02128376 ETH
185711082023-11-14 15:42:23428 days ago1699976543
0x0B4a3d1e...70dfaA339
0.02200709 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SEAL

Compiler Version
v0.8.8+commit.dddeac2f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier:MIT
/* Website: https://www.freakinsealswithfreakinheadphones.wtf/ 
Twitter: https://twitter.com/freakinseals
Telegram: https://t.me/freakinsealsportal 
*/
pragma solidity ^0.8.8;

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

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

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

contract SEAL is Context, IERC20, Ownable {
    string private _name = "FreakinSealsWithFreakinHeadphones";
    string private _symbol = "SEAL";
    uint8 private _decimals = 18;
    uint256 private _totalSupply = 1000000000 * 1e18;

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

    mapping(address => bool) public isExcludedFromFee;
    mapping(address => bool) public isExcludedFromMaxTxn;
    mapping(address => bool) public isExcludedFromMaxHolding;

    uint256 public minTokenToSwap = (_totalSupply * 5) / (10000); // this amount will trigger swap and distribute
    uint256 public maxHoldLimit = 20000000* 1e18; // this is the max wallet holding limit
    uint256 public maxTxnLimit = 20000000* 1e18; // this is the max transaction limit
    uint256 public percentDivider = 100;
    uint256 public launchedAt;

    bool public distributeAndLiquifyStatus; // should be true to turn on to liquidate the pool
    bool public feesStatus; // enable by default
    bool public trading; // once enable can't be disable afterwards

    IDexRouter public dexRouter; // router declaration

    address public dexPair; // pair address declaration
    address public marketingWallet; // marketing address declaration
    address private constant DEAD = address(0xdead);
    address private constant ZERO = address(0);

    uint256 public marketingFeeOnBuying = 10;

    uint256 public marketingFeeOnSelling = 20;

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

    constructor() {
        _balances[owner()] = _totalSupply;
        marketingWallet = address(0x589e698aC47900D3F984ACb7e2b567bEe20F6f0b);

        dexRouter = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        isExcludedFromFee[address(dexRouter)] = true;
        isExcludedFromMaxTxn[address(dexRouter)] = true;
        isExcludedFromMaxHolding[address(dexRouter)] = true;

        dexPair = IDexFactory(dexRouter.factory()).createPair(
            address(this),
            dexRouter.WETH()
        );
        isExcludedFromMaxHolding[dexPair] = true;
        

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

        //exclude owner and this contract from max Txn
        isExcludedFromMaxTxn[owner()] = true;
        isExcludedFromMaxTxn[address(this)] = true;

        //exclude owner and this contract from max hold limit
        isExcludedFromMaxHolding[owner()] = true;
        isExcludedFromMaxHolding[address(this)] = true;
        isExcludedFromMaxHolding[marketingWallet] = true;

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

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

    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 includeOrExcludeFromFee(
        address account,
        bool value
    ) external onlyOwner {
        isExcludedFromFee[account] = value;
    }

    function includeOrExcludeFromMaxTxn(
        address account,
        bool value
    ) external onlyOwner {
        isExcludedFromMaxTxn[account] = value;
    }

    function includeOrExcludeFromMaxHolding(
        address account,
        bool value
    ) external onlyOwner {
        isExcludedFromMaxHolding[account] = value;
    }

    function setMinTokenToSwap(uint256 _amount) external onlyOwner {
        minTokenToSwap = _amount * 1e18;
    }

    function setMaxHoldLimit(uint256 _amount) external onlyOwner {
        maxHoldLimit = _amount * 1e18;
    }

    function setMaxTxnLimit(uint256 _amount) external onlyOwner {
        maxTxnLimit = _amount * 1e18;
    }

    function setBuyFeePercent(uint256 _marketingFee) external onlyOwner {
        marketingFeeOnBuying = _marketingFee;
    }

    function setSellFeePercent(uint256 _marketingFee) external onlyOwner {
        marketingFeeOnSelling = _marketingFee;
    }

    function setDistributionStatus(bool _value) public onlyOwner {
        distributeAndLiquifyStatus = _value;
    }

    function enableOrDisableFees(bool _value) external onlyOwner {
        feesStatus = _value;
    }

    function updateAddresses(address _marketingWallet) external onlyOwner {
        marketingWallet = _marketingWallet;
    }

    function enableTrading() external onlyOwner {
        require(!trading, ": already enabled");

        trading = true;
        feesStatus = true;
        distributeAndLiquifyStatus = true;
        launchedAt = block.timestamp;
    }

    function removeStuckEth(address _receiver) public onlyOwner {
        payable(_receiver).transfer(address(this).balance);
    }

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

    function totalSellFeePerTx(uint256 amount) public view returns (uint256) {
        uint256 fee = (amount * marketingFeeOnSelling) / (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), "transfer from the zero address");
        require(to != address(0), "transfer to the zero address");
        require(amount > 0, "Amount must be greater than zero");
        if (!isExcludedFromMaxTxn[from] && !isExcludedFromMaxTxn[to]) {
            require(amount <= maxTxnLimit, " max txn limit exceeds");

            // trading disable till launch
            if (!trading) {
                require(
                    dexPair != from && dexPair != to,
                    ": trading is disable"
                );
            }
        }

        if (!isExcludedFromMaxHolding[to]) {
            require(
                (balanceOf(to) + amount) <= maxHoldLimit,
                ": max hold 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 taking all fees, if takeFee is true
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (dexPair == sender && takeFee) {
            uint256 allFee;
            uint256 tTransferAmount;
            allFee = totalBuyFeePerTx(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 = totalSellFeePerTx(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);
    }

    // to withdarw ETH from contract
    function withdrawETH(uint256 _amount) external onlyOwner {
        require(address(this).balance >= _amount, "Invalid Amount");
        payable(msg.sender).transfer(_amount);
    }

    // to withdraw ERC20 tokens from contract
    function withdrawToken(IERC20 _token, uint256 _amount) external onlyOwner {
        require(_token.balanceOf(address(this)) >= _amount, "Invalid Amount");
        _token.transfer(msg.sender, _amount);
    }

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

        bool shouldSell = contractTokenBalance >= minTokenToSwap;

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

            // now is to lock into liquidty pool
            Utils.swapTokensForEth(address(dexRouter), minTokenToSwap);
            uint256 ethForMarketing = address(this).balance;

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

// Library for swapping on Dex
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
        );
    }

    function addLiquidity(
        address routerAddress,
        address owner,
        uint256 tokenAmount,
        uint256 ethAmount
    ) internal {
        IDexRouter dexRouter = IDexRouter(routerAddress);

        // add the liquidity
        dexRouter.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner,
            block.timestamp + 300
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"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"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"enableOrDisableFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feesStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxHolding","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxTxn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxHolding","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxTxn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxnLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokenToSwap","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":"address","name":"_receiver","type":"address"}],"name":"removeStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setBuyFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"setDistributionStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxHoldLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxTxnLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMinTokenToSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setSellFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalBuyFeePerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalSellFeePerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"address","name":"_marketingWallet","type":"address"}],"name":"updateAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260405180606001604052806021815260200162004ee960219139600190805190602001906200003592919062000a3f565b506040518060400160405280600481526020017f5345414c00000000000000000000000000000000000000000000000000000000815250600290805190602001906200008392919062000a3f565b506012600360006101000a81548160ff021916908360ff1602179055506b033b2e3c9fd0803ce80000006004556127106005600454620000c4919062000b28565b620000d0919062000bb8565b600a556a108b2a2c28029094000000600b556a108b2a2c28029094000000600c556064600d55600a60125560146013553480156200010d57600080fd5b506200011e62000a0e60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360045460056000620001ef62000a1660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073589e698ac47900d3f984acb7e2b567bee20f6f0b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600f60036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620004ae57600080fd5b505afa158015620004c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e9919062000c5a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200056e57600080fd5b505afa15801562000583573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005a9919062000c5a565b6040518363ffffffff1660e01b8152600401620005c892919062000c9d565b602060405180830381600087803b158015620005e357600080fd5b505af1158015620005f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200061e919062000c5a565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160096000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000620006ee62000a1660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000620007ad62000a1660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960006200086c62000a1660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200099f62000a1660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60045460405162000a00919062000cdb565b60405180910390a362000d5d565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b82805462000a4d9062000d27565b90600052602060002090601f01602090048101928262000a71576000855562000abd565b82601f1062000a8c57805160ff191683800117855562000abd565b8280016001018555821562000abd579182015b8281111562000abc57825182559160200191906001019062000a9f565b5b50905062000acc919062000ad0565b5090565b5b8082111562000aeb57600081600090555060010162000ad1565b5090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000b358262000aef565b915062000b428362000aef565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b7e5762000b7d62000af9565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000bc58262000aef565b915062000bd28362000aef565b92508262000be55762000be462000b89565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c228262000bf5565b9050919050565b62000c348162000c15565b811462000c4057600080fd5b50565b60008151905062000c548162000c29565b92915050565b60006020828403121562000c735762000c7262000bf0565b5b600062000c838482850162000c43565b91505092915050565b62000c978162000c15565b82525050565b600060408201905062000cb4600083018562000c8c565b62000cc3602083018462000c8c565b9392505050565b62000cd58162000aef565b82525050565b600060208201905062000cf2600083018462000cca565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000d4057607f821691505b6020821081141562000d575762000d5662000cf8565b5b50919050565b61417c8062000d6d6000396000f3fe60806040526004361061028c5760003560e01c80638da5cb5b1161015a578063b0bc2a2d116100c1578063f097ea1a1161007a578063f097ea1a14610a01578063f14210a614610a2a578063f242ab4114610a53578063f2fde38b14610a7e578063f4b3dbc314610aa7578063fe6f1b0514610ae457610293565b8063b0bc2a2d146108df578063bf56b37114610908578063dd62ed3e14610933578063ea5b9e8514610970578063ec44acf214610999578063ed421429146109c457610293565b80639e281a98116101135780639e281a98146107c1578063a2b8a947146107ea578063a457c2d714610813578063a643c1a014610850578063a7c29b4014610879578063a9059cbb146108a257610293565b80638da5cb5b146106b1578063950eb5d5146106dc57806395d89b411461070557806399b102b5146107305780639a36dfa11461076d5780639b6a27501461079857610293565b8063679a3c59116101fe5780637c6a9a9c116101b75780637c6a9a9c146105b3578063844af78e146105de57806384ea21bc146106095780638756aabd14610646578063879dd3c51461066f5780638a8c523c1461069a57610293565b8063679a3c59146104b5578063681aa362146104de57806370a0823114610509578063715018a61461054657806375f0a8741461055d57806379777b4e1461058857610293565b80631884f1e6116102505780631884f1e61461037f57806323b872dd146103aa5780632d129390146103e7578063313ce56714610410578063395093511461043b5780635342acb41461047857610293565b806306fdde03146102985780630758d924146102c3578063095ea7b3146102ee5780630a2d140c1461032b57806318160ddd1461035457610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102ad610b0f565b6040516102ba9190613362565b60405180910390f35b3480156102cf57600080fd5b506102d8610ba1565b6040516102e59190613403565b60405180910390f35b3480156102fa57600080fd5b5061031560048036038101906103109190613497565b610bc7565b60405161032291906134f2565b60405180910390f35b34801561033757600080fd5b50610352600480360381019061034d9190613539565b610be5565b005b34801561036057600080fd5b50610369610c97565b6040516103769190613575565b60405180910390f35b34801561038b57600080fd5b50610394610ca1565b6040516103a19190613575565b60405180910390f35b3480156103b657600080fd5b506103d160048036038101906103cc9190613590565b610ca7565b6040516103de91906134f2565b60405180910390f35b3480156103f357600080fd5b5061040e600480360381019061040991906135e3565b610d5f565b005b34801561041c57600080fd5b50610425610e4f565b604051610432919061363f565b60405180910390f35b34801561044757600080fd5b50610462600480360381019061045d9190613497565b610e66565b60405161046f91906134f2565b60405180910390f35b34801561048457600080fd5b5061049f600480360381019061049a919061365a565b610f12565b6040516104ac91906134f2565b60405180910390f35b3480156104c157600080fd5b506104dc60048036038101906104d7919061365a565b610f32565b005b3480156104ea57600080fd5b506104f3611011565b6040516105009190613575565b60405180910390f35b34801561051557600080fd5b50610530600480360381019061052b919061365a565b611017565b60405161053d9190613575565b60405180910390f35b34801561055257600080fd5b5061055b611060565b005b34801561056957600080fd5b506105726111b3565b60405161057f9190613696565b60405180910390f35b34801561059457600080fd5b5061059d6111d9565b6040516105aa91906134f2565b60405180910390f35b3480156105bf57600080fd5b506105c86111ec565b6040516105d59190613575565b60405180910390f35b3480156105ea57600080fd5b506105f36111f2565b6040516106009190613575565b60405180910390f35b34801561061557600080fd5b50610630600480360381019061062b919061365a565b6111f8565b60405161063d91906134f2565b60405180910390f35b34801561065257600080fd5b5061066d600480360381019061066891906136b1565b611218565b005b34801561067b57600080fd5b506106846112ca565b60405161069191906134f2565b60405180910390f35b3480156106a657600080fd5b506106af6112dd565b005b3480156106bd57600080fd5b506106c661141c565b6040516106d39190613696565b60405180910390f35b3480156106e857600080fd5b5061070360048036038101906106fe91906136b1565b611445565b005b34801561071157600080fd5b5061071a6114e4565b6040516107279190613362565b60405180910390f35b34801561073c57600080fd5b506107576004803603810190610752919061365a565b611576565b60405161076491906134f2565b60405180910390f35b34801561077957600080fd5b50610782611596565b60405161078f9190613575565b60405180910390f35b3480156107a457600080fd5b506107bf60048036038101906107ba91906136b1565b61159c565b005b3480156107cd57600080fd5b506107e860048036038101906107e3919061371c565b61164e565b005b3480156107f657600080fd5b50610811600480360381019061080c91906136b1565b611840565b005b34801561081f57600080fd5b5061083a60048036038101906108359190613497565b6118df565b60405161084791906134f2565b60405180910390f35b34801561085c57600080fd5b506108776004803603810190610872919061365a565b61198b565b005b34801561088557600080fd5b506108a0600480360381019061089b91906135e3565b611a64565b005b3480156108ae57600080fd5b506108c960048036038101906108c49190613497565b611b54565b6040516108d691906134f2565b60405180910390f35b3480156108eb57600080fd5b5061090660048036038101906109019190613539565b611b72565b005b34801561091457600080fd5b5061091d611c24565b60405161092a9190613575565b60405180910390f35b34801561093f57600080fd5b5061095a6004803603810190610955919061375c565b611c2a565b6040516109679190613575565b60405180910390f35b34801561097c57600080fd5b50610997600480360381019061099291906135e3565b611cb1565b005b3480156109a557600080fd5b506109ae611da1565b6040516109bb91906134f2565b60405180910390f35b3480156109d057600080fd5b506109eb60048036038101906109e691906136b1565b611db4565b6040516109f89190613575565b60405180910390f35b348015610a0d57600080fd5b50610a286004803603810190610a2391906136b1565b611ddd565b005b348015610a3657600080fd5b50610a516004803603810190610a4c91906136b1565b611e8f565b005b348015610a5f57600080fd5b50610a68611fb1565b604051610a759190613696565b60405180910390f35b348015610a8a57600080fd5b50610aa56004803603810190610aa0919061365a565b611fd7565b005b348015610ab357600080fd5b50610ace6004803603810190610ac991906136b1565b612199565b604051610adb9190613575565b60405180910390f35b348015610af057600080fd5b50610af96121c2565b604051610b069190613575565b60405180910390f35b606060018054610b1e906137cb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4a906137cb565b8015610b975780601f10610b6c57610100808354040283529160200191610b97565b820191906000526020600020905b815481529060010190602001808311610b7a57829003601f168201915b5050505050905090565b600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610bdb610bd46121c8565b84846121d0565b6001905092915050565b610bed6121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7190613849565b60405180910390fd5b80600f60006101000a81548160ff02191690831515021790555050565b6000600454905090565b600a5481565b6000610cb484848461239b565b610d5484610cc06121c8565b84600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d0a6121c8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d4f9190613898565b6121d0565b600190509392505050565b610d676121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb90613849565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600360009054906101000a900460ff16905090565b6000610f08610e736121c8565b848460066000610e816121c8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0391906138cc565b6121d0565b6001905092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b610f3a6121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbe90613849565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561100d573d6000803e3d6000fd5b5050565b600c5481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110686121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ec90613849565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60009054906101000a900460ff1681565b60125481565b60135481565b60096020528060005260406000206000915054906101000a900460ff1681565b6112206121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a490613849565b60405180910390fd5b670de0b6b3a7640000816112c19190613922565b600b8190555050565b600f60019054906101000a900460ff1681565b6112e56121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611372576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136990613849565b60405180910390fd5b600f60029054906101000a900460ff16156113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b9906139c8565b60405180910390fd5b6001600f60026101000a81548160ff0219169083151502179055506001600f60016101000a81548160ff0219169083151502179055506001600f60006101000a81548160ff02191690831515021790555042600e81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61144d6121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d190613849565b60405180910390fd5b8060128190555050565b6060600280546114f3906137cb565b80601f016020809104026020016040519081016040528092919081815260200182805461151f906137cb565b801561156c5780601f106115415761010080835404028352916020019161156c565b820191906000526020600020905b81548152906001019060200180831161154f57829003601f168201915b5050505050905090565b60086020528060005260406000206000915054906101000a900460ff1681565b600b5481565b6115a46121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611631576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162890613849565b60405180910390fd5b670de0b6b3a7640000816116459190613922565b600c8190555050565b6116566121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da90613849565b60405180910390fd5b808273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161171d9190613696565b60206040518083038186803b15801561173557600080fd5b505afa158015611749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176d91906139fd565b10156117ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a590613a76565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016117e9929190613a96565b602060405180830381600087803b15801561180357600080fd5b505af1158015611817573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183b9190613ad4565b505050565b6118486121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cc90613849565b60405180910390fd5b8060138190555050565b60006119816118ec6121c8565b8484600660006118fa6121c8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461197c9190613898565b6121d0565b6001905092915050565b6119936121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1790613849565b60405180910390fd5b80601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a6c6121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af090613849565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000611b68611b616121c8565b848461239b565b6001905092915050565b611b7a6121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfe90613849565b60405180910390fd5b80600f60016101000a81548160ff02191690831515021790555050565b600e5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611cb96121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3d90613849565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600f60029054906101000a900460ff1681565b600080600d5460125484611dc89190613922565b611dd29190613b30565b905080915050919050565b611de56121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6990613849565b60405180910390fd5b670de0b6b3a764000081611e869190613922565b600a8190555050565b611e976121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1b90613849565b60405180910390fd5b80471015611f67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5e90613a76565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611fad573d6000803e3d6000fd5b5050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611fdf6121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461206c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206390613849565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d390613bd3565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600d54601354846121ad9190613922565b6121b79190613b30565b905080915050919050565b600d5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612240576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223790613c3f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156122b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a790613cab565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161238e9190613575565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561240b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240290613d17565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561247b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247290613d83565b60405180910390fd5b600081116124be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b590613def565b60405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156125625750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126ad57600c548111156125ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a390613e5b565b60405180910390fd5b600f60029054906101000a900460ff166126ac578273ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415801561266c57508173ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b6126ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a290613ec7565b60405180910390fd5b5b5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661275757600b548161270b84611017565b61271591906138cc565b1115612756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274d90613f33565b60405180910390fd5b5b612761838361283c565b600060019050600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806128085750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806128205750600f60019054906101000a900460ff16155b1561282a57600090505b61283684848484612a39565b50505050565b600061284730611017565b90506000600a5482101590508080156128ae5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156128c65750600f60009054906101000a900460ff165b801561295757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156129555750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b155b15612a335761298b30600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a546121d0565b6129b9600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a54612fdd565b60004790506000811115612a3157601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612a2f573d6000803e3d6000fd5b505b505b50505050565b8373ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015612a935750805b15612c4657600080612aa484611db4565b91508184612ab29190613898565b905083600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612aff9190613898565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b8d91906138cc565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c2d9190613575565b60405180910390a3612c3f86836131d2565b5050612fd7565b8273ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015612ca05750805b15612e54576000612cb083612199565b905060008184612cc09190613898565b905083600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d0d9190613898565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d9b91906138cc565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612e3b9190613575565b60405180910390a3612e4d86836131d2565b5050612fd6565b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e9f9190613898565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f2d91906138cc565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612fcd9190613575565b60405180910390a35b5b50505050565b60008290506000600267ffffffffffffffff811115612fff57612ffe613f53565b5b60405190808252806020026020018201604052801561302d5781602001602082028036833780820191505090505b509050308160008151811061304557613044613f82565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156130c557600080fd5b505afa1580156130d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fd9190613fc6565b8160018151811061311157613110613f82565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663791ac947846000843061012c4261317a91906138cc565b6040518663ffffffff1660e01b815260040161319a9594939291906140ec565b600060405180830381600087803b1580156131b457600080fd5b505af11580156131c8573d6000803e3d6000fd5b5050505050505050565b80600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461321d91906138cc565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132bd9190613575565b60405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b838110156133035780820151818401526020810190506132e8565b83811115613312576000848401525b50505050565b6000601f19601f8301169050919050565b6000613334826132c9565b61333e81856132d4565b935061334e8185602086016132e5565b61335781613318565b840191505092915050565b6000602082019050818103600083015261337c8184613329565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006133c96133c46133bf84613384565b6133a4565b613384565b9050919050565b60006133db826133ae565b9050919050565b60006133ed826133d0565b9050919050565b6133fd816133e2565b82525050565b600060208201905061341860008301846133f4565b92915050565b600080fd5b600061342e82613384565b9050919050565b61343e81613423565b811461344957600080fd5b50565b60008135905061345b81613435565b92915050565b6000819050919050565b61347481613461565b811461347f57600080fd5b50565b6000813590506134918161346b565b92915050565b600080604083850312156134ae576134ad61341e565b5b60006134bc8582860161344c565b92505060206134cd85828601613482565b9150509250929050565b60008115159050919050565b6134ec816134d7565b82525050565b600060208201905061350760008301846134e3565b92915050565b613516816134d7565b811461352157600080fd5b50565b6000813590506135338161350d565b92915050565b60006020828403121561354f5761354e61341e565b5b600061355d84828501613524565b91505092915050565b61356f81613461565b82525050565b600060208201905061358a6000830184613566565b92915050565b6000806000606084860312156135a9576135a861341e565b5b60006135b78682870161344c565b93505060206135c88682870161344c565b92505060406135d986828701613482565b9150509250925092565b600080604083850312156135fa576135f961341e565b5b60006136088582860161344c565b925050602061361985828601613524565b9150509250929050565b600060ff82169050919050565b61363981613623565b82525050565b60006020820190506136546000830184613630565b92915050565b6000602082840312156136705761366f61341e565b5b600061367e8482850161344c565b91505092915050565b61369081613423565b82525050565b60006020820190506136ab6000830184613687565b92915050565b6000602082840312156136c7576136c661341e565b5b60006136d584828501613482565b91505092915050565b60006136e982613423565b9050919050565b6136f9816136de565b811461370457600080fd5b50565b600081359050613716816136f0565b92915050565b600080604083850312156137335761373261341e565b5b600061374185828601613707565b925050602061375285828601613482565b9150509250929050565b600080604083850312156137735761377261341e565b5b60006137818582860161344c565b92505060206137928582860161344c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806137e357607f821691505b602082108114156137f7576137f661379c565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006138336020836132d4565b915061383e826137fd565b602082019050919050565b6000602082019050818103600083015261386281613826565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006138a382613461565b91506138ae83613461565b9250828210156138c1576138c0613869565b5b828203905092915050565b60006138d782613461565b91506138e283613461565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561391757613916613869565b5b828201905092915050565b600061392d82613461565b915061393883613461565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561397157613970613869565b5b828202905092915050565b7f3a20616c726561647920656e61626c6564000000000000000000000000000000600082015250565b60006139b26011836132d4565b91506139bd8261397c565b602082019050919050565b600060208201905081810360008301526139e1816139a5565b9050919050565b6000815190506139f78161346b565b92915050565b600060208284031215613a1357613a1261341e565b5b6000613a21848285016139e8565b91505092915050565b7f496e76616c696420416d6f756e74000000000000000000000000000000000000600082015250565b6000613a60600e836132d4565b9150613a6b82613a2a565b602082019050919050565b60006020820190508181036000830152613a8f81613a53565b9050919050565b6000604082019050613aab6000830185613687565b613ab86020830184613566565b9392505050565b600081519050613ace8161350d565b92915050565b600060208284031215613aea57613ae961341e565b5b6000613af884828501613abf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b3b82613461565b9150613b4683613461565b925082613b5657613b55613b01565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613bbd6026836132d4565b9150613bc882613b61565b604082019050919050565b60006020820190508181036000830152613bec81613bb0565b9050919050565b7f20617070726f76652066726f6d20746865207a65726f20616464726573730000600082015250565b6000613c29601e836132d4565b9150613c3482613bf3565b602082019050919050565b60006020820190508181036000830152613c5881613c1c565b9050919050565b7f617070726f766520746f20746865207a65726f20616464726573730000000000600082015250565b6000613c95601b836132d4565b9150613ca082613c5f565b602082019050919050565b60006020820190508181036000830152613cc481613c88565b9050919050565b7f7472616e736665722066726f6d20746865207a65726f20616464726573730000600082015250565b6000613d01601e836132d4565b9150613d0c82613ccb565b602082019050919050565b60006020820190508181036000830152613d3081613cf4565b9050919050565b7f7472616e7366657220746f20746865207a65726f206164647265737300000000600082015250565b6000613d6d601c836132d4565b9150613d7882613d37565b602082019050919050565b60006020820190508181036000830152613d9c81613d60565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f600082015250565b6000613dd96020836132d4565b9150613de482613da3565b602082019050919050565b60006020820190508181036000830152613e0881613dcc565b9050919050565b7f206d61782074786e206c696d6974206578636565647300000000000000000000600082015250565b6000613e456016836132d4565b9150613e5082613e0f565b602082019050919050565b60006020820190508181036000830152613e7481613e38565b9050919050565b7f3a2074726164696e672069732064697361626c65000000000000000000000000600082015250565b6000613eb16014836132d4565b9150613ebc82613e7b565b602082019050919050565b60006020820190508181036000830152613ee081613ea4565b9050919050565b7f3a206d617820686f6c64206c696d697420657863656564730000000000000000600082015250565b6000613f1d6018836132d4565b9150613f2882613ee7565b602082019050919050565b60006020820190508181036000830152613f4c81613f10565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613fc081613435565b92915050565b600060208284031215613fdc57613fdb61341e565b5b6000613fea84828501613fb1565b91505092915050565b6000819050919050565b600061401861401361400e84613ff3565b6133a4565b613461565b9050919050565b61402881613ffd565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61406381613423565b82525050565b6000614075838361405a565b60208301905092915050565b6000602082019050919050565b60006140998261402e565b6140a38185614039565b93506140ae8361404a565b8060005b838110156140df5781516140c68882614069565b97506140d183614081565b9250506001810190506140b2565b5085935050505092915050565b600060a0820190506141016000830188613566565b61410e602083018761401f565b8181036040830152614120818661408e565b905061412f6060830185613687565b61413c6080830184613566565b969550505050505056fea2646970667358221220bc7d5c878c974dc120963212ce5caf8250deaf9ec4627d1374c2aa1f440a782064736f6c63430008080033467265616b696e5365616c7357697468467265616b696e4865616470686f6e6573

Deployed Bytecode

0x60806040526004361061028c5760003560e01c80638da5cb5b1161015a578063b0bc2a2d116100c1578063f097ea1a1161007a578063f097ea1a14610a01578063f14210a614610a2a578063f242ab4114610a53578063f2fde38b14610a7e578063f4b3dbc314610aa7578063fe6f1b0514610ae457610293565b8063b0bc2a2d146108df578063bf56b37114610908578063dd62ed3e14610933578063ea5b9e8514610970578063ec44acf214610999578063ed421429146109c457610293565b80639e281a98116101135780639e281a98146107c1578063a2b8a947146107ea578063a457c2d714610813578063a643c1a014610850578063a7c29b4014610879578063a9059cbb146108a257610293565b80638da5cb5b146106b1578063950eb5d5146106dc57806395d89b411461070557806399b102b5146107305780639a36dfa11461076d5780639b6a27501461079857610293565b8063679a3c59116101fe5780637c6a9a9c116101b75780637c6a9a9c146105b3578063844af78e146105de57806384ea21bc146106095780638756aabd14610646578063879dd3c51461066f5780638a8c523c1461069a57610293565b8063679a3c59146104b5578063681aa362146104de57806370a0823114610509578063715018a61461054657806375f0a8741461055d57806379777b4e1461058857610293565b80631884f1e6116102505780631884f1e61461037f57806323b872dd146103aa5780632d129390146103e7578063313ce56714610410578063395093511461043b5780635342acb41461047857610293565b806306fdde03146102985780630758d924146102c3578063095ea7b3146102ee5780630a2d140c1461032b57806318160ddd1461035457610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102ad610b0f565b6040516102ba9190613362565b60405180910390f35b3480156102cf57600080fd5b506102d8610ba1565b6040516102e59190613403565b60405180910390f35b3480156102fa57600080fd5b5061031560048036038101906103109190613497565b610bc7565b60405161032291906134f2565b60405180910390f35b34801561033757600080fd5b50610352600480360381019061034d9190613539565b610be5565b005b34801561036057600080fd5b50610369610c97565b6040516103769190613575565b60405180910390f35b34801561038b57600080fd5b50610394610ca1565b6040516103a19190613575565b60405180910390f35b3480156103b657600080fd5b506103d160048036038101906103cc9190613590565b610ca7565b6040516103de91906134f2565b60405180910390f35b3480156103f357600080fd5b5061040e600480360381019061040991906135e3565b610d5f565b005b34801561041c57600080fd5b50610425610e4f565b604051610432919061363f565b60405180910390f35b34801561044757600080fd5b50610462600480360381019061045d9190613497565b610e66565b60405161046f91906134f2565b60405180910390f35b34801561048457600080fd5b5061049f600480360381019061049a919061365a565b610f12565b6040516104ac91906134f2565b60405180910390f35b3480156104c157600080fd5b506104dc60048036038101906104d7919061365a565b610f32565b005b3480156104ea57600080fd5b506104f3611011565b6040516105009190613575565b60405180910390f35b34801561051557600080fd5b50610530600480360381019061052b919061365a565b611017565b60405161053d9190613575565b60405180910390f35b34801561055257600080fd5b5061055b611060565b005b34801561056957600080fd5b506105726111b3565b60405161057f9190613696565b60405180910390f35b34801561059457600080fd5b5061059d6111d9565b6040516105aa91906134f2565b60405180910390f35b3480156105bf57600080fd5b506105c86111ec565b6040516105d59190613575565b60405180910390f35b3480156105ea57600080fd5b506105f36111f2565b6040516106009190613575565b60405180910390f35b34801561061557600080fd5b50610630600480360381019061062b919061365a565b6111f8565b60405161063d91906134f2565b60405180910390f35b34801561065257600080fd5b5061066d600480360381019061066891906136b1565b611218565b005b34801561067b57600080fd5b506106846112ca565b60405161069191906134f2565b60405180910390f35b3480156106a657600080fd5b506106af6112dd565b005b3480156106bd57600080fd5b506106c661141c565b6040516106d39190613696565b60405180910390f35b3480156106e857600080fd5b5061070360048036038101906106fe91906136b1565b611445565b005b34801561071157600080fd5b5061071a6114e4565b6040516107279190613362565b60405180910390f35b34801561073c57600080fd5b506107576004803603810190610752919061365a565b611576565b60405161076491906134f2565b60405180910390f35b34801561077957600080fd5b50610782611596565b60405161078f9190613575565b60405180910390f35b3480156107a457600080fd5b506107bf60048036038101906107ba91906136b1565b61159c565b005b3480156107cd57600080fd5b506107e860048036038101906107e3919061371c565b61164e565b005b3480156107f657600080fd5b50610811600480360381019061080c91906136b1565b611840565b005b34801561081f57600080fd5b5061083a60048036038101906108359190613497565b6118df565b60405161084791906134f2565b60405180910390f35b34801561085c57600080fd5b506108776004803603810190610872919061365a565b61198b565b005b34801561088557600080fd5b506108a0600480360381019061089b91906135e3565b611a64565b005b3480156108ae57600080fd5b506108c960048036038101906108c49190613497565b611b54565b6040516108d691906134f2565b60405180910390f35b3480156108eb57600080fd5b5061090660048036038101906109019190613539565b611b72565b005b34801561091457600080fd5b5061091d611c24565b60405161092a9190613575565b60405180910390f35b34801561093f57600080fd5b5061095a6004803603810190610955919061375c565b611c2a565b6040516109679190613575565b60405180910390f35b34801561097c57600080fd5b50610997600480360381019061099291906135e3565b611cb1565b005b3480156109a557600080fd5b506109ae611da1565b6040516109bb91906134f2565b60405180910390f35b3480156109d057600080fd5b506109eb60048036038101906109e691906136b1565b611db4565b6040516109f89190613575565b60405180910390f35b348015610a0d57600080fd5b50610a286004803603810190610a2391906136b1565b611ddd565b005b348015610a3657600080fd5b50610a516004803603810190610a4c91906136b1565b611e8f565b005b348015610a5f57600080fd5b50610a68611fb1565b604051610a759190613696565b60405180910390f35b348015610a8a57600080fd5b50610aa56004803603810190610aa0919061365a565b611fd7565b005b348015610ab357600080fd5b50610ace6004803603810190610ac991906136b1565b612199565b604051610adb9190613575565b60405180910390f35b348015610af057600080fd5b50610af96121c2565b604051610b069190613575565b60405180910390f35b606060018054610b1e906137cb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4a906137cb565b8015610b975780601f10610b6c57610100808354040283529160200191610b97565b820191906000526020600020905b815481529060010190602001808311610b7a57829003601f168201915b5050505050905090565b600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610bdb610bd46121c8565b84846121d0565b6001905092915050565b610bed6121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7190613849565b60405180910390fd5b80600f60006101000a81548160ff02191690831515021790555050565b6000600454905090565b600a5481565b6000610cb484848461239b565b610d5484610cc06121c8565b84600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d0a6121c8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d4f9190613898565b6121d0565b600190509392505050565b610d676121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb90613849565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600360009054906101000a900460ff16905090565b6000610f08610e736121c8565b848460066000610e816121c8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f0391906138cc565b6121d0565b6001905092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b610f3a6121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbe90613849565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561100d573d6000803e3d6000fd5b5050565b600c5481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110686121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ec90613849565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60009054906101000a900460ff1681565b60125481565b60135481565b60096020528060005260406000206000915054906101000a900460ff1681565b6112206121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a490613849565b60405180910390fd5b670de0b6b3a7640000816112c19190613922565b600b8190555050565b600f60019054906101000a900460ff1681565b6112e56121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611372576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136990613849565b60405180910390fd5b600f60029054906101000a900460ff16156113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b9906139c8565b60405180910390fd5b6001600f60026101000a81548160ff0219169083151502179055506001600f60016101000a81548160ff0219169083151502179055506001600f60006101000a81548160ff02191690831515021790555042600e81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61144d6121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d190613849565b60405180910390fd5b8060128190555050565b6060600280546114f3906137cb565b80601f016020809104026020016040519081016040528092919081815260200182805461151f906137cb565b801561156c5780601f106115415761010080835404028352916020019161156c565b820191906000526020600020905b81548152906001019060200180831161154f57829003601f168201915b5050505050905090565b60086020528060005260406000206000915054906101000a900460ff1681565b600b5481565b6115a46121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611631576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162890613849565b60405180910390fd5b670de0b6b3a7640000816116459190613922565b600c8190555050565b6116566121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da90613849565b60405180910390fd5b808273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161171d9190613696565b60206040518083038186803b15801561173557600080fd5b505afa158015611749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176d91906139fd565b10156117ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a590613a76565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016117e9929190613a96565b602060405180830381600087803b15801561180357600080fd5b505af1158015611817573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183b9190613ad4565b505050565b6118486121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cc90613849565b60405180910390fd5b8060138190555050565b60006119816118ec6121c8565b8484600660006118fa6121c8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461197c9190613898565b6121d0565b6001905092915050565b6119936121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1790613849565b60405180910390fd5b80601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a6c6121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af090613849565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000611b68611b616121c8565b848461239b565b6001905092915050565b611b7a6121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfe90613849565b60405180910390fd5b80600f60016101000a81548160ff02191690831515021790555050565b600e5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611cb96121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3d90613849565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600f60029054906101000a900460ff1681565b600080600d5460125484611dc89190613922565b611dd29190613b30565b905080915050919050565b611de56121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6990613849565b60405180910390fd5b670de0b6b3a764000081611e869190613922565b600a8190555050565b611e976121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1b90613849565b60405180910390fd5b80471015611f67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5e90613a76565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611fad573d6000803e3d6000fd5b5050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611fdf6121c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461206c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206390613849565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d390613bd3565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600d54601354846121ad9190613922565b6121b79190613b30565b905080915050919050565b600d5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612240576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223790613c3f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156122b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a790613cab565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161238e9190613575565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561240b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240290613d17565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561247b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247290613d83565b60405180910390fd5b600081116124be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b590613def565b60405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156125625750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126ad57600c548111156125ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a390613e5b565b60405180910390fd5b600f60029054906101000a900460ff166126ac578273ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415801561266c57508173ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b6126ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a290613ec7565b60405180910390fd5b5b5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661275757600b548161270b84611017565b61271591906138cc565b1115612756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274d90613f33565b60405180910390fd5b5b612761838361283c565b600060019050600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806128085750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806128205750600f60019054906101000a900460ff16155b1561282a57600090505b61283684848484612a39565b50505050565b600061284730611017565b90506000600a5482101590508080156128ae5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156128c65750600f60009054906101000a900460ff165b801561295757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156129555750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b155b15612a335761298b30600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a546121d0565b6129b9600f60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a54612fdd565b60004790506000811115612a3157601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612a2f573d6000803e3d6000fd5b505b505b50505050565b8373ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015612a935750805b15612c4657600080612aa484611db4565b91508184612ab29190613898565b905083600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612aff9190613898565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b8d91906138cc565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c2d9190613575565b60405180910390a3612c3f86836131d2565b5050612fd7565b8273ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015612ca05750805b15612e54576000612cb083612199565b905060008184612cc09190613898565b905083600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d0d9190613898565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d9b91906138cc565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612e3b9190613575565b60405180910390a3612e4d86836131d2565b5050612fd6565b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e9f9190613898565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f2d91906138cc565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612fcd9190613575565b60405180910390a35b5b50505050565b60008290506000600267ffffffffffffffff811115612fff57612ffe613f53565b5b60405190808252806020026020018201604052801561302d5781602001602082028036833780820191505090505b509050308160008151811061304557613044613f82565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156130c557600080fd5b505afa1580156130d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fd9190613fc6565b8160018151811061311157613110613f82565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663791ac947846000843061012c4261317a91906138cc565b6040518663ffffffff1660e01b815260040161319a9594939291906140ec565b600060405180830381600087803b1580156131b457600080fd5b505af11580156131c8573d6000803e3d6000fd5b5050505050505050565b80600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461321d91906138cc565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132bd9190613575565b60405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b838110156133035780820151818401526020810190506132e8565b83811115613312576000848401525b50505050565b6000601f19601f8301169050919050565b6000613334826132c9565b61333e81856132d4565b935061334e8185602086016132e5565b61335781613318565b840191505092915050565b6000602082019050818103600083015261337c8184613329565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006133c96133c46133bf84613384565b6133a4565b613384565b9050919050565b60006133db826133ae565b9050919050565b60006133ed826133d0565b9050919050565b6133fd816133e2565b82525050565b600060208201905061341860008301846133f4565b92915050565b600080fd5b600061342e82613384565b9050919050565b61343e81613423565b811461344957600080fd5b50565b60008135905061345b81613435565b92915050565b6000819050919050565b61347481613461565b811461347f57600080fd5b50565b6000813590506134918161346b565b92915050565b600080604083850312156134ae576134ad61341e565b5b60006134bc8582860161344c565b92505060206134cd85828601613482565b9150509250929050565b60008115159050919050565b6134ec816134d7565b82525050565b600060208201905061350760008301846134e3565b92915050565b613516816134d7565b811461352157600080fd5b50565b6000813590506135338161350d565b92915050565b60006020828403121561354f5761354e61341e565b5b600061355d84828501613524565b91505092915050565b61356f81613461565b82525050565b600060208201905061358a6000830184613566565b92915050565b6000806000606084860312156135a9576135a861341e565b5b60006135b78682870161344c565b93505060206135c88682870161344c565b92505060406135d986828701613482565b9150509250925092565b600080604083850312156135fa576135f961341e565b5b60006136088582860161344c565b925050602061361985828601613524565b9150509250929050565b600060ff82169050919050565b61363981613623565b82525050565b60006020820190506136546000830184613630565b92915050565b6000602082840312156136705761366f61341e565b5b600061367e8482850161344c565b91505092915050565b61369081613423565b82525050565b60006020820190506136ab6000830184613687565b92915050565b6000602082840312156136c7576136c661341e565b5b60006136d584828501613482565b91505092915050565b60006136e982613423565b9050919050565b6136f9816136de565b811461370457600080fd5b50565b600081359050613716816136f0565b92915050565b600080604083850312156137335761373261341e565b5b600061374185828601613707565b925050602061375285828601613482565b9150509250929050565b600080604083850312156137735761377261341e565b5b60006137818582860161344c565b92505060206137928582860161344c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806137e357607f821691505b602082108114156137f7576137f661379c565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006138336020836132d4565b915061383e826137fd565b602082019050919050565b6000602082019050818103600083015261386281613826565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006138a382613461565b91506138ae83613461565b9250828210156138c1576138c0613869565b5b828203905092915050565b60006138d782613461565b91506138e283613461565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561391757613916613869565b5b828201905092915050565b600061392d82613461565b915061393883613461565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561397157613970613869565b5b828202905092915050565b7f3a20616c726561647920656e61626c6564000000000000000000000000000000600082015250565b60006139b26011836132d4565b91506139bd8261397c565b602082019050919050565b600060208201905081810360008301526139e1816139a5565b9050919050565b6000815190506139f78161346b565b92915050565b600060208284031215613a1357613a1261341e565b5b6000613a21848285016139e8565b91505092915050565b7f496e76616c696420416d6f756e74000000000000000000000000000000000000600082015250565b6000613a60600e836132d4565b9150613a6b82613a2a565b602082019050919050565b60006020820190508181036000830152613a8f81613a53565b9050919050565b6000604082019050613aab6000830185613687565b613ab86020830184613566565b9392505050565b600081519050613ace8161350d565b92915050565b600060208284031215613aea57613ae961341e565b5b6000613af884828501613abf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b3b82613461565b9150613b4683613461565b925082613b5657613b55613b01565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613bbd6026836132d4565b9150613bc882613b61565b604082019050919050565b60006020820190508181036000830152613bec81613bb0565b9050919050565b7f20617070726f76652066726f6d20746865207a65726f20616464726573730000600082015250565b6000613c29601e836132d4565b9150613c3482613bf3565b602082019050919050565b60006020820190508181036000830152613c5881613c1c565b9050919050565b7f617070726f766520746f20746865207a65726f20616464726573730000000000600082015250565b6000613c95601b836132d4565b9150613ca082613c5f565b602082019050919050565b60006020820190508181036000830152613cc481613c88565b9050919050565b7f7472616e736665722066726f6d20746865207a65726f20616464726573730000600082015250565b6000613d01601e836132d4565b9150613d0c82613ccb565b602082019050919050565b60006020820190508181036000830152613d3081613cf4565b9050919050565b7f7472616e7366657220746f20746865207a65726f206164647265737300000000600082015250565b6000613d6d601c836132d4565b9150613d7882613d37565b602082019050919050565b60006020820190508181036000830152613d9c81613d60565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f600082015250565b6000613dd96020836132d4565b9150613de482613da3565b602082019050919050565b60006020820190508181036000830152613e0881613dcc565b9050919050565b7f206d61782074786e206c696d6974206578636565647300000000000000000000600082015250565b6000613e456016836132d4565b9150613e5082613e0f565b602082019050919050565b60006020820190508181036000830152613e7481613e38565b9050919050565b7f3a2074726164696e672069732064697361626c65000000000000000000000000600082015250565b6000613eb16014836132d4565b9150613ebc82613e7b565b602082019050919050565b60006020820190508181036000830152613ee081613ea4565b9050919050565b7f3a206d617820686f6c64206c696d697420657863656564730000000000000000600082015250565b6000613f1d6018836132d4565b9150613f2882613ee7565b602082019050919050565b60006020820190508181036000830152613f4c81613f10565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613fc081613435565b92915050565b600060208284031215613fdc57613fdb61341e565b5b6000613fea84828501613fb1565b91505092915050565b6000819050919050565b600061401861401361400e84613ff3565b6133a4565b613461565b9050919050565b61402881613ffd565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61406381613423565b82525050565b6000614075838361405a565b60208301905092915050565b6000602082019050919050565b60006140998261402e565b6140a38185614039565b93506140ae8361404a565b8060005b838110156140df5781516140c68882614069565b97506140d183614081565b9250506001810190506140b2565b5085935050505092915050565b600060a0820190506141016000830188613566565b61410e602083018761401f565b8181036040830152614120818661408e565b905061412f6060830185613687565b61413c6080830184613566565b969550505050505056fea2646970667358221220bc7d5c878c974dc120963212ce5caf8250deaf9ec4627d1374c2aa1f440a782064736f6c63430008080033

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.