ETH Price: $2,675.04 (+1.43%)

Contract

0x8f739d4b1F4Bed6381E62fD4Bfc991DE3D1FE1Bf
 

Overview

ETH Balance

1 wei

Eth Value

Less Than $0.01 (@ $2,675.04/ETH)

Token Holdings

Multichain Info

Transaction Hash
Method
Block
From
To
Approve165331742023-02-01 9:48:47568 days ago1675244927IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0004541418.21515064
Approve145380312022-04-07 9:53:40868 days ago1649325220IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0024723152.36173697
Approve144654282022-03-27 1:58:27880 days ago1648346307IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0009006636.1247532
Approve144629782022-03-26 16:41:44880 days ago1648312904IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0010032621.24840899
Approve144576682022-03-25 20:51:45881 days ago1648241505IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0011491746.09244756
Approve144434462022-03-23 15:47:29883 days ago1648050449IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0023448849.6629954
Approve144432862022-03-23 15:10:37883 days ago1648048237IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0020771943.99352128
Approve144385032022-03-22 21:18:45884 days ago1647983925IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0013719750.22599727
Approve144385032022-03-22 21:18:45884 days ago1647983925IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0023617250.01950204
Approve144371602022-03-22 16:22:42884 days ago1647966162IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0012198725.83597634
Approve144364512022-03-22 13:48:31884 days ago1647956911IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0016611535.18197797
Approve144327372022-03-21 23:50:51885 days ago1647906651IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0016620435.2008726
Approve144323822022-03-21 22:27:27885 days ago1647901647IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.00220946.78499571
Approve144323312022-03-21 22:15:34885 days ago1647900934IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0022380147.39957793
Approve144319612022-03-21 20:54:22885 days ago1647896062IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0016334234.59476815
Approve144319612022-03-21 20:54:22885 days ago1647896062IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.002360850
Approve144319442022-03-21 20:51:59885 days ago1647895919IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0019148840.55593956
Approve144319072022-03-21 20:43:37885 days ago1647895417IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0016696835.36266952
Approve144318962022-03-21 20:42:02885 days ago1647895322IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0021305745.12405092
Approve144318432022-03-21 20:31:07885 days ago1647894667IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.001645234.84424361
Approve144318422022-03-21 20:30:44885 days ago1647894644IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0015148732.08384675
Approve144318222022-03-21 20:26:50885 days ago1647894410IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0019395141.07745702
Approve144318152022-03-21 20:25:02885 days ago1647894302IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0017196736.42149213
Approve144318152022-03-21 20:25:02885 days ago1647894302IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0017196736.42149213
Approve144318092022-03-21 20:24:00885 days ago1647894240IN
0x8f739d4b...E3D1FE1Bf
0 ETH0.0018533139.25176845
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
145381062022-04-07 10:08:52868 days ago1649326132
0x8f739d4b...E3D1FE1Bf
0.00703113 ETH
145381062022-04-07 10:08:52868 days ago1649326132
0x8f739d4b...E3D1FE1Bf
0.00703113 ETH
145381062022-04-07 10:08:52868 days ago1649326132
0x8f739d4b...E3D1FE1Bf
0.01406226 ETH
144480222022-03-24 8:55:09882 days ago1648112109
0x8f739d4b...E3D1FE1Bf
0.00751619 ETH
144480222022-03-24 8:55:09882 days ago1648112109
0x8f739d4b...E3D1FE1Bf
0.00751619 ETH
144480222022-03-24 8:55:09882 days ago1648112109
0x8f739d4b...E3D1FE1Bf
0.01503239 ETH
144397222022-03-23 1:47:06884 days ago1648000026
0x8f739d4b...E3D1FE1Bf
0.00816117 ETH
144397222022-03-23 1:47:06884 days ago1648000026
0x8f739d4b...E3D1FE1Bf
0.00816117 ETH
144397222022-03-23 1:47:06884 days ago1648000026
0x8f739d4b...E3D1FE1Bf
0.01632234 ETH
144372042022-03-22 16:34:05884 days ago1647966845
0x8f739d4b...E3D1FE1Bf
0.00870511 ETH
144372042022-03-22 16:34:05884 days ago1647966845
0x8f739d4b...E3D1FE1Bf
0.00870511 ETH
144372042022-03-22 16:34:05884 days ago1647966845
0x8f739d4b...E3D1FE1Bf
0.01741023 ETH
144346652022-03-22 7:03:52885 days ago1647932632
0x8f739d4b...E3D1FE1Bf
0.00794523 ETH
144346652022-03-22 7:03:52885 days ago1647932632
0x8f739d4b...E3D1FE1Bf
0.00794523 ETH
144346652022-03-22 7:03:52885 days ago1647932632
0x8f739d4b...E3D1FE1Bf
0.01589047 ETH
144339202022-03-22 4:17:19885 days ago1647922639
0x8f739d4b...E3D1FE1Bf
0.00891383 ETH
144339202022-03-22 4:17:19885 days ago1647922639
0x8f739d4b...E3D1FE1Bf
0.00891383 ETH
144339202022-03-22 4:17:19885 days ago1647922639
0x8f739d4b...E3D1FE1Bf
0.01782767 ETH
144324162022-03-21 22:34:15885 days ago1647902055
0x8f739d4b...E3D1FE1Bf
0.00986028 ETH
144324162022-03-21 22:34:15885 days ago1647902055
0x8f739d4b...E3D1FE1Bf
0.00986028 ETH
144324162022-03-21 22:34:15885 days ago1647902055
0x8f739d4b...E3D1FE1Bf
0.01972056 ETH
144319992022-03-21 21:03:28885 days ago1647896608
0x8f739d4b...E3D1FE1Bf
0.01055877 ETH
144319992022-03-21 21:03:28885 days ago1647896608
0x8f739d4b...E3D1FE1Bf
0.01055877 ETH
144319992022-03-21 21:03:28885 days ago1647896608
0x8f739d4b...E3D1FE1Bf
0.02111755 ETH
144319952022-03-21 21:02:22885 days ago1647896542
0x8f739d4b...E3D1FE1Bf
0.01055877 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MiniApe

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : MiniApe.sol
// SPDX-License-Identifier: MIT

/*
    TG: https://t.me/MiniApesToken
    WEB: https://miniapestoken.com
    TW: https://twitter.com/MiniApesToken
*/

pragma solidity ^0.8.4;

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

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract MiniApe is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) public _isExcludedFromSellLock;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    mapping (address => uint) public sellLock;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e12 * 10**9;

    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    uint256 public _reflectionFee = 2;

    uint256 public _tokensFee = 8;
    uint256 public _tokensFeeFirst12h = 8;

    uint256 private _swapTokensAt;
    uint256 private _maxTokensToSwapForFees;

    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;

    string private constant _name = "MiniApe";
    string private constant _symbol = "$MAPE";

    uint8 private constant _decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    uint private tradingOpenTime;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxWalletAmount = _tTotal;
    event MaxWalletAmountUpdated(uint _maxWalletAmount);


    constructor () {
        _feeAddrWallet1 = payable(0x0561B722913386155Fe123Bcf28ed219e115Ea6c);
        _feeAddrWallet2 = payable(0x591A3aA02f9774F9be55DE45D5132AC2fB205ED0);

        _rOwned[_msgSender()] = _rTotal;

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;

        _isExcludedFromSellLock[owner()] = true;
        _isExcludedFromSellLock[address(this)] = true;


        emit Transfer(address(0x0000000000000000000000000000000000000000), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[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()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function setSwapTokensAt(uint256 amount) external onlyOwner() {
        _swapTokensAt = amount;
    }

    function setMaxTokensToSwapForFees(uint256 amount) external onlyOwner() {
        _maxTokensToSwapForFees = amount;
    }

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function excludeFromSellLock(address user) external onlyOwner() {
        _isExcludedFromSellLock[user] = true;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to] &&
                cooldownEnabled) {
                require(balanceOf(to) + amount <= _maxWalletAmount);

                // Cooldown
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (15 seconds);

                if(!_isExcludedFromSellLock[to] && sellLock[to] == 0) {
                    uint elapsed = block.timestamp - tradingOpenTime;

                    if(elapsed < 30) {
                        uint256 sellLockDuration = (30 - elapsed) * 240;

                        sellLock[to] = block.timestamp + sellLockDuration;
                    }
                }
            }
            else if(!_isExcludedFromSellLock[from]) {
                require(sellLock[from] < block.timestamp, "You bought so early! Please wait a bit to sell or transfer.");
            }

            uint256 swapAmount = balanceOf(address(this));

            if(swapAmount > _maxTokensToSwapForFees) {
                swapAmount = _maxTokensToSwapForFees;
            }

            if (swapAmount >= _swapTokensAt &&
                !inSwap &&
                from != uniswapV2Pair &&
                swapEnabled) {

                inSwap = true;

                swapTokensForEth(swapAmount);

                uint256 contractETHBalance = address(this).balance;

                if(contractETHBalance > 0) {
                    sendETHToFee(contractETHBalance);
                }

                inSwap = false;
            }
        }

        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }


    function openTrading(address[] memory lockSells, uint duration) external onlyOwner() {
        require(!tradingOpen,"trading is already open");

        IUniswapV2Router02 _uniswapV2Router =
            IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromSellLock[address(uniswapV2Router)] = true;
        _isExcludedFromSellLock[address(uniswapV2Pair)] = true;

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxWalletAmount = 25e9 * 10**9;
        tradingOpen = true;
        tradingOpenTime = block.timestamp;

        _swapTokensAt = 1e9 * 10**9;
        _maxTokensToSwapForFees = 4e9 * 10**9;

        for (uint i = 0; i < lockSells.length; i++) {
            sellLock[lockSells[i]] = tradingOpenTime + duration;
        }

        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function removeStrictWalletLimit() public onlyOwner {
        _maxWalletAmount = 1e12 * 10**9;
    }


    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _getTokenFee(address recipient) private view returns (uint256) {
        if(!tradingOpen || inSwap) {
            return 0;
        }

        if(
            block.timestamp < tradingOpenTime + 43200 &&
            recipient == uniswapV2Pair) {
                return _tokensFeeFirst12h;
        }

        return _tokensFee;
    }

    function  _getReflectionFee() private view returns (uint256) {
        return tradingOpen && !inSwap ? _reflectionFee : 0;
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount, _getTokenFee(recipient));
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function manualswap() public {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() public {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function manualswapsend() external {
        require(_msgSender() == _feeAddrWallet1);
        manualswap();
        manualsend();
    }

    function _getValues(uint256 tAmount, uint256 tokenFee) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {

        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _getReflectionFee(), tokenFee);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

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":false,"internalType":"uint256","name":"_maxWalletAmount","type":"uint256"}],"name":"MaxWalletAmountUpdated","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":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":"","type":"address"}],"name":"_isExcludedFromSellLock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reflectionFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokensFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokensFeeFirst12h","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"excludeFromSellLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswapsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"lockSells","type":"address[]"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeStrictWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"sellLock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTokensToSwapForFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapTokensAt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]

6080604052683635c9adc5dea000006000196200001d9190620005f5565b6000196200002c9190620005b0565b600a556002600c556008600d556008600e556000601660006101000a81548160ff0219169083151502179055506000601660016101000a81548160ff0219169083151502179055506000601660026101000a81548160ff021916908315150217905550683635c9adc5dea00000601755348015620000a957600080fd5b506000620000bc6200055160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350730561b722913386155fe123bcf28ed219e115ea6c601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073591a3aa02f9774f9be55de45d5132ac2fb205ed0601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a54600260006200021b6200055160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200026f6200055960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000620004226200055960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004db6200055160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea0000060405162000543919062000593565b60405180910390a36200068b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200058d81620005eb565b82525050565b6000602082019050620005aa600083018462000582565b92915050565b6000620005bd82620005eb565b9150620005ca83620005eb565b925082821015620005e057620005df6200062d565b5b828203905092915050565b6000819050919050565b60006200060282620005eb565b91506200060f83620005eb565b9250826200062257620006216200065c565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b613e4d806200069b6000396000f3fe6080604052600436106101a05760003560e01c80636fc3eaec116100ec578063a9059cbb1161008a578063c3c8cd8011610064578063c3c8cd8014610573578063c582c5fe1461058a578063dd62ed3e146105c7578063f3d19bf314610604576101a7565b8063a9059cbb146104f6578063b515566a14610533578063ba05e9bc1461055c576101a7565b8063729d8a87116100c6578063729d8a87146104605780638da5cb5b1461048957806395d89b41146104b457806399ce371a146104df576101a7565b80636fc3eaec146103f557806370a082311461040c578063715018a614610449576101a7565b80632a5bdc331161015957806348dfea0a1161013357806348dfea0a1461034f5780634b8c25c31461037857806353674ba6146103a35780635932ead1146103cc576101a7565b80632a5bdc33146102d0578063313ce567146102f95780633206b4aa14610324576101a7565b806306fdde03146101ac578063095ea7b3146101d75780630fd8d87c1461021457806318160ddd1461023f57806323b872dd1461026a578063273123b7146102a7576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610641565b6040516101ce9190613538565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f9919061302a565b61067e565b60405161020b919061351d565b60405180910390f35b34801561022057600080fd5b5061022961069c565b60405161023691906136ba565b60405180910390f35b34801561024b57600080fd5b506102546106a2565b60405161026191906136ba565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612fdb565b6106b3565b60405161029e919061351d565b60405180910390f35b3480156102b357600080fd5b506102ce60048036038101906102c99190612f4d565b61078c565b005b3480156102dc57600080fd5b506102f760048036038101906102f29190612f4d565b61087c565b005b34801561030557600080fd5b5061030e61096c565b60405161031b919061372f565b60405180910390f35b34801561033057600080fd5b50610339610975565b60405161034691906136ba565b60405180910390f35b34801561035b57600080fd5b50610376600480360381019061037191906130a7565b61097b565b005b34801561038457600080fd5b5061038d6110a1565b60405161039a91906136ba565b60405180910390f35b3480156103af57600080fd5b506103ca60048036038101906103c5919061314d565b6110a7565b005b3480156103d857600080fd5b506103f360048036038101906103ee91906130fb565b611146565b005b34801561040157600080fd5b5061040a6111f8565b005b34801561041857600080fd5b50610433600480360381019061042e9190612f4d565b61126a565b60405161044091906136ba565b60405180910390f35b34801561045557600080fd5b5061045e6112bb565b005b34801561046c57600080fd5b506104876004803603810190610482919061314d565b61140e565b005b34801561049557600080fd5b5061049e6114ad565b6040516104ab919061344f565b60405180910390f35b3480156104c057600080fd5b506104c96114d6565b6040516104d69190613538565b60405180910390f35b3480156104eb57600080fd5b506104f4611513565b005b34801561050257600080fd5b5061051d6004803603810190610518919061302a565b6115ba565b60405161052a919061351d565b60405180910390f35b34801561053f57600080fd5b5061055a60048036038101906105559190613066565b6115d8565b005b34801561056857600080fd5b50610571611728565b005b34801561057f57600080fd5b5061058861179b565b005b34801561059657600080fd5b506105b160048036038101906105ac9190612f4d565b611815565b6040516105be919061351d565b60405180910390f35b3480156105d357600080fd5b506105ee60048036038101906105e99190612f9f565b611835565b6040516105fb91906136ba565b60405180910390f35b34801561061057600080fd5b5061062b60048036038101906106269190612f4d565b6118bc565b60405161063891906136ba565b60405180910390f35b60606040518060400160405280600781526020017f4d696e6941706500000000000000000000000000000000000000000000000000815250905090565b600061069261068b6118d4565b84846118dc565b6001905092915050565b600e5481565b6000683635c9adc5dea00000905090565b60006106c0848484611aa7565b610781846106cc6118d4565b61077c85604051806060016040528060288152602001613df060289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107326118d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ed9092919063ffffffff16565b6118dc565b600190509392505050565b6107946118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610821576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610818906135fa565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6108846118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610911576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610908906135fa565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600c5481565b6109836118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a07906135fa565b60405180910390fd5b60148054906101000a900460ff1615610a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a559061367a565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610aee30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006118dc565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3457600080fd5b505afa158015610b48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6c9190612f76565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bce57600080fd5b505afa158015610be2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c069190612f76565b6040518363ffffffff1660e01b8152600401610c2392919061346a565b602060405180830381600087803b158015610c3d57600080fd5b505af1158015610c51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c759190612f76565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610df23061126a565b600080610dfd6114ad565b426040518863ffffffff1660e01b8152600401610e1f969594939291906134bc565b6060604051808303818588803b158015610e3857600080fd5b505af1158015610e4c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e719190613176565b5050506001601660016101000a81548160ff0219169083151502179055506001601660026101000a81548160ff02191690831515021790555068015af1d78b58c4000060178190555060016014806101000a81548160ff02191690831515021790555042601581905550670de0b6b3a7640000600f81905550673782dace9d90000060108190555060005b8351811015610fa95782601554610f1391906137f0565b60096000868481518110610f50577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080610fa1906139d0565b915050610efc565b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611049929190613493565b602060405180830381600087803b15801561106357600080fd5b505af1158015611077573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109b9190613124565b50505050565b600d5481565b6110af6118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461113c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611133906135fa565b60405180910390fd5b80600f8190555050565b61114e6118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d2906135fa565b60405180910390fd5b80601660026101000a81548160ff02191690831515021790555050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112396118d4565b73ffffffffffffffffffffffffffffffffffffffff161461125957600080fd5b600047905061126781612251565b50565b60006112b4600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234c565b9050919050565b6112c36118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611350576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611347906135fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6114166118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149a906135fa565b60405180910390fd5b8060108190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f244d415045000000000000000000000000000000000000000000000000000000815250905090565b61151b6118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159f906135fa565b60405180910390fd5b683635c9adc5dea00000601781905550565b60006115ce6115c76118d4565b8484611aa7565b6001905092915050565b6115e06118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461166d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611664906135fa565b60405180910390fd5b60005b8151811015611724576001600760008484815181106116b8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061171c906139d0565b915050611670565b5050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117696118d4565b73ffffffffffffffffffffffffffffffffffffffff161461178957600080fd5b61179161179b565b6117996111f8565b565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117dc6118d4565b73ffffffffffffffffffffffffffffffffffffffff16146117fc57600080fd5b60006118073061126a565b9050611812816123ba565b50565b60066020528060005260406000206000915054906101000a900460ff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60096020528060005260406000206000915090505481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561194c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119439061365a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b39061359a565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a9a91906136ba565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0e9061363a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7e9061355a565b60405180910390fd5b60008111611bca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc19061361a565b60405180910390fd5b611bd26114ad565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c405750611c106114ad565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156121dd57600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ce95750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611cf257600080fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d9d5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611df35750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611e0b5750601660029054906101000a900460ff165b15611ffb5760175481611e1d8461126a565b611e2791906137f0565b1115611e3257600080fd5b42600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611e7d57600080fd5b600f42611e8a91906137f0565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f6657506000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15611ff657600060155442611f7b91906138d1565b9050601e811015611ff457600060f082601e611f9791906138d1565b611fa19190613877565b90508042611faf91906137f0565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b505b6120cf565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166120ce5742600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106120cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c49061369a565b60405180910390fd5b5b5b60006120da3061126a565b90506010548111156120ec5760105490505b600f54811015801561210b5750601660009054906101000a900460ff16155b80156121655750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561217d5750601660019054906101000a900460ff165b156121db576001601660006101000a81548160ff0219169083151502179055506121a6816123ba565b600047905060008111156121be576121bd81612251565b5b6000601660006101000a81548160ff021916908315150217905550505b505b6121e883838361267e565b505050565b6000838311158290612235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222c9190613538565b60405180910390fd5b506000838561224491906138d1565b9050809150509392505050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6122a160028461268e90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156122cc573d6000803e3d6000fd5b50601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61231d60028461268e90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612348573d6000803e3d6000fd5b5050565b6000600a54821115612393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238a9061357a565b60405180910390fd5b600061239d6126d8565b90506123b2818461268e90919063ffffffff16565b915050919050565b6000600267ffffffffffffffff8111156123fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561242b5781602001602082028036833780820191505090505b5090503081600081518110612469577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561250b57600080fd5b505afa15801561251f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125439190612f76565b8160018151811061257d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125e430601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846118dc565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016126489594939291906136d5565b600060405180830381600087803b15801561266257600080fd5b505af1158015612676573d6000803e3d6000fd5b505050505050565b612689838383612703565b505050565b60006126d083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128d7565b905092915050565b60008060006126e561293a565b915091506126fc818361268e90919063ffffffff16565b9250505090565b60008060008060008061271e876127198a61299c565b612a57565b95509550955095509550955061277c86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ac390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061281185600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061285d81612b6b565b6128678483612c28565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516128c491906136ba565b60405180910390a3505050505050505050565b6000808311829061291e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129159190613538565b60405180910390fd5b506000838561292d9190613846565b9050809150509392505050565b6000806000600a5490506000683635c9adc5dea000009050612970683635c9adc5dea00000600a5461268e90919063ffffffff16565b82101561298f57600a54683635c9adc5dea00000935093505050612998565b81819350935050505b9091565b600060148054906101000a900460ff1615806129c45750601660009054906101000a900460ff165b156129d25760009050612a52565b61a8c06015546129e291906137f0565b42108015612a3d5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15612a4c57600e549050612a52565b600d5490505b919050565b6000806000806000806000806000612a778b612a71612c62565b8c612c9f565b9250925092506000612a876126d8565b90506000806000612a9a8f878787612d35565b9250925092508282828989899c509c509c509c509c509c50505050505050509295509295509295565b6000612b0583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506121ed565b905092915050565b6000808284612b1c91906137f0565b905083811015612b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b58906135ba565b60405180910390fd5b8091505092915050565b6000612b756126d8565b90506000612b8c8284612dbe90919063ffffffff16565b9050612be081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612c3d82600a54612ac390919063ffffffff16565b600a81905550612c5881600b54612b0d90919063ffffffff16565b600b819055505050565b600060148054906101000a900460ff168015612c8b5750601660009054906101000a900460ff16155b612c96576000612c9a565b600c545b905090565b600080600080612ccb6064612cbd888a612dbe90919063ffffffff16565b61268e90919063ffffffff16565b90506000612cf56064612ce7888b612dbe90919063ffffffff16565b61268e90919063ffffffff16565b90506000612d1e82612d10858c612ac390919063ffffffff16565b612ac390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612d4e8589612dbe90919063ffffffff16565b90506000612d658689612dbe90919063ffffffff16565b90506000612d7c8789612dbe90919063ffffffff16565b90506000612da582612d978587612ac390919063ffffffff16565b612ac390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612dd15760009050612e33565b60008284612ddf9190613877565b9050828482612dee9190613846565b14612e2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e25906135da565b60405180910390fd5b809150505b92915050565b6000612e4c612e478461376f565b61374a565b90508083825260208201905082856020860282011115612e6b57600080fd5b60005b85811015612e9b5781612e818882612ea5565b845260208401935060208301925050600181019050612e6e565b5050509392505050565b600081359050612eb481613daa565b92915050565b600081519050612ec981613daa565b92915050565b600082601f830112612ee057600080fd5b8135612ef0848260208601612e39565b91505092915050565b600081359050612f0881613dc1565b92915050565b600081519050612f1d81613dc1565b92915050565b600081359050612f3281613dd8565b92915050565b600081519050612f4781613dd8565b92915050565b600060208284031215612f5f57600080fd5b6000612f6d84828501612ea5565b91505092915050565b600060208284031215612f8857600080fd5b6000612f9684828501612eba565b91505092915050565b60008060408385031215612fb257600080fd5b6000612fc085828601612ea5565b9250506020612fd185828601612ea5565b9150509250929050565b600080600060608486031215612ff057600080fd5b6000612ffe86828701612ea5565b935050602061300f86828701612ea5565b925050604061302086828701612f23565b9150509250925092565b6000806040838503121561303d57600080fd5b600061304b85828601612ea5565b925050602061305c85828601612f23565b9150509250929050565b60006020828403121561307857600080fd5b600082013567ffffffffffffffff81111561309257600080fd5b61309e84828501612ecf565b91505092915050565b600080604083850312156130ba57600080fd5b600083013567ffffffffffffffff8111156130d457600080fd5b6130e085828601612ecf565b92505060206130f185828601612f23565b9150509250929050565b60006020828403121561310d57600080fd5b600061311b84828501612ef9565b91505092915050565b60006020828403121561313657600080fd5b600061314484828501612f0e565b91505092915050565b60006020828403121561315f57600080fd5b600061316d84828501612f23565b91505092915050565b60008060006060848603121561318b57600080fd5b600061319986828701612f38565b93505060206131aa86828701612f38565b92505060406131bb86828701612f38565b9150509250925092565b60006131d183836131dd565b60208301905092915050565b6131e681613905565b82525050565b6131f581613905565b82525050565b6000613206826137ab565b61321081856137ce565b935061321b8361379b565b8060005b8381101561324c57815161323388826131c5565b975061323e836137c1565b92505060018101905061321f565b5085935050505092915050565b61326281613917565b82525050565b6132718161395a565b82525050565b6000613282826137b6565b61328c81856137df565b935061329c81856020860161396c565b6132a581613aa6565b840191505092915050565b60006132bd6023836137df565b91506132c882613ab7565b604082019050919050565b60006132e0602a836137df565b91506132eb82613b06565b604082019050919050565b60006133036022836137df565b915061330e82613b55565b604082019050919050565b6000613326601b836137df565b915061333182613ba4565b602082019050919050565b60006133496021836137df565b915061335482613bcd565b604082019050919050565b600061336c6020836137df565b915061337782613c1c565b602082019050919050565b600061338f6029836137df565b915061339a82613c45565b604082019050919050565b60006133b26025836137df565b91506133bd82613c94565b604082019050919050565b60006133d56024836137df565b91506133e082613ce3565b604082019050919050565b60006133f86017836137df565b915061340382613d32565b602082019050919050565b600061341b603b836137df565b915061342682613d5b565b604082019050919050565b61343a81613943565b82525050565b6134498161394d565b82525050565b600060208201905061346460008301846131ec565b92915050565b600060408201905061347f60008301856131ec565b61348c60208301846131ec565b9392505050565b60006040820190506134a860008301856131ec565b6134b56020830184613431565b9392505050565b600060c0820190506134d160008301896131ec565b6134de6020830188613431565b6134eb6040830187613268565b6134f86060830186613268565b61350560808301856131ec565b61351260a0830184613431565b979650505050505050565b60006020820190506135326000830184613259565b92915050565b600060208201905081810360008301526135528184613277565b905092915050565b60006020820190508181036000830152613573816132b0565b9050919050565b60006020820190508181036000830152613593816132d3565b9050919050565b600060208201905081810360008301526135b3816132f6565b9050919050565b600060208201905081810360008301526135d381613319565b9050919050565b600060208201905081810360008301526135f38161333c565b9050919050565b600060208201905081810360008301526136138161335f565b9050919050565b6000602082019050818103600083015261363381613382565b9050919050565b60006020820190508181036000830152613653816133a5565b9050919050565b60006020820190508181036000830152613673816133c8565b9050919050565b60006020820190508181036000830152613693816133eb565b9050919050565b600060208201905081810360008301526136b38161340e565b9050919050565b60006020820190506136cf6000830184613431565b92915050565b600060a0820190506136ea6000830188613431565b6136f76020830187613268565b818103604083015261370981866131fb565b905061371860608301856131ec565b6137256080830184613431565b9695505050505050565b60006020820190506137446000830184613440565b92915050565b6000613754613765565b9050613760828261399f565b919050565b6000604051905090565b600067ffffffffffffffff82111561378a57613789613a77565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006137fb82613943565b915061380683613943565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561383b5761383a613a19565b5b828201905092915050565b600061385182613943565b915061385c83613943565b92508261386c5761386b613a48565b5b828204905092915050565b600061388282613943565b915061388d83613943565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156138c6576138c5613a19565b5b828202905092915050565b60006138dc82613943565b91506138e783613943565b9250828210156138fa576138f9613a19565b5b828203905092915050565b600061391082613923565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061396582613943565b9050919050565b60005b8381101561398a57808201518184015260208101905061396f565b83811115613999576000848401525b50505050565b6139a882613aa6565b810181811067ffffffffffffffff821117156139c7576139c6613a77565b5b80604052505050565b60006139db82613943565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613a0e57613a0d613a19565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f596f7520626f7567687420736f206561726c792120506c65617365207761697460008201527f20612062697420746f2073656c6c206f72207472616e736665722e0000000000602082015250565b613db381613905565b8114613dbe57600080fd5b50565b613dca81613917565b8114613dd557600080fd5b50565b613de181613943565b8114613dec57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200d6309ff12697948eb61c04e75949c5fba108e510e1ddc3c23f6c2cfe476685864736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c80636fc3eaec116100ec578063a9059cbb1161008a578063c3c8cd8011610064578063c3c8cd8014610573578063c582c5fe1461058a578063dd62ed3e146105c7578063f3d19bf314610604576101a7565b8063a9059cbb146104f6578063b515566a14610533578063ba05e9bc1461055c576101a7565b8063729d8a87116100c6578063729d8a87146104605780638da5cb5b1461048957806395d89b41146104b457806399ce371a146104df576101a7565b80636fc3eaec146103f557806370a082311461040c578063715018a614610449576101a7565b80632a5bdc331161015957806348dfea0a1161013357806348dfea0a1461034f5780634b8c25c31461037857806353674ba6146103a35780635932ead1146103cc576101a7565b80632a5bdc33146102d0578063313ce567146102f95780633206b4aa14610324576101a7565b806306fdde03146101ac578063095ea7b3146101d75780630fd8d87c1461021457806318160ddd1461023f57806323b872dd1461026a578063273123b7146102a7576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610641565b6040516101ce9190613538565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f9919061302a565b61067e565b60405161020b919061351d565b60405180910390f35b34801561022057600080fd5b5061022961069c565b60405161023691906136ba565b60405180910390f35b34801561024b57600080fd5b506102546106a2565b60405161026191906136ba565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612fdb565b6106b3565b60405161029e919061351d565b60405180910390f35b3480156102b357600080fd5b506102ce60048036038101906102c99190612f4d565b61078c565b005b3480156102dc57600080fd5b506102f760048036038101906102f29190612f4d565b61087c565b005b34801561030557600080fd5b5061030e61096c565b60405161031b919061372f565b60405180910390f35b34801561033057600080fd5b50610339610975565b60405161034691906136ba565b60405180910390f35b34801561035b57600080fd5b50610376600480360381019061037191906130a7565b61097b565b005b34801561038457600080fd5b5061038d6110a1565b60405161039a91906136ba565b60405180910390f35b3480156103af57600080fd5b506103ca60048036038101906103c5919061314d565b6110a7565b005b3480156103d857600080fd5b506103f360048036038101906103ee91906130fb565b611146565b005b34801561040157600080fd5b5061040a6111f8565b005b34801561041857600080fd5b50610433600480360381019061042e9190612f4d565b61126a565b60405161044091906136ba565b60405180910390f35b34801561045557600080fd5b5061045e6112bb565b005b34801561046c57600080fd5b506104876004803603810190610482919061314d565b61140e565b005b34801561049557600080fd5b5061049e6114ad565b6040516104ab919061344f565b60405180910390f35b3480156104c057600080fd5b506104c96114d6565b6040516104d69190613538565b60405180910390f35b3480156104eb57600080fd5b506104f4611513565b005b34801561050257600080fd5b5061051d6004803603810190610518919061302a565b6115ba565b60405161052a919061351d565b60405180910390f35b34801561053f57600080fd5b5061055a60048036038101906105559190613066565b6115d8565b005b34801561056857600080fd5b50610571611728565b005b34801561057f57600080fd5b5061058861179b565b005b34801561059657600080fd5b506105b160048036038101906105ac9190612f4d565b611815565b6040516105be919061351d565b60405180910390f35b3480156105d357600080fd5b506105ee60048036038101906105e99190612f9f565b611835565b6040516105fb91906136ba565b60405180910390f35b34801561061057600080fd5b5061062b60048036038101906106269190612f4d565b6118bc565b60405161063891906136ba565b60405180910390f35b60606040518060400160405280600781526020017f4d696e6941706500000000000000000000000000000000000000000000000000815250905090565b600061069261068b6118d4565b84846118dc565b6001905092915050565b600e5481565b6000683635c9adc5dea00000905090565b60006106c0848484611aa7565b610781846106cc6118d4565b61077c85604051806060016040528060288152602001613df060289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107326118d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ed9092919063ffffffff16565b6118dc565b600190509392505050565b6107946118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610821576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610818906135fa565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6108846118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610911576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610908906135fa565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600c5481565b6109836118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a07906135fa565b60405180910390fd5b60148054906101000a900460ff1615610a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a559061367a565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610aee30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006118dc565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3457600080fd5b505afa158015610b48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6c9190612f76565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bce57600080fd5b505afa158015610be2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c069190612f76565b6040518363ffffffff1660e01b8152600401610c2392919061346a565b602060405180830381600087803b158015610c3d57600080fd5b505af1158015610c51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c759190612f76565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610df23061126a565b600080610dfd6114ad565b426040518863ffffffff1660e01b8152600401610e1f969594939291906134bc565b6060604051808303818588803b158015610e3857600080fd5b505af1158015610e4c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e719190613176565b5050506001601660016101000a81548160ff0219169083151502179055506001601660026101000a81548160ff02191690831515021790555068015af1d78b58c4000060178190555060016014806101000a81548160ff02191690831515021790555042601581905550670de0b6b3a7640000600f81905550673782dace9d90000060108190555060005b8351811015610fa95782601554610f1391906137f0565b60096000868481518110610f50577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080610fa1906139d0565b915050610efc565b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611049929190613493565b602060405180830381600087803b15801561106357600080fd5b505af1158015611077573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109b9190613124565b50505050565b600d5481565b6110af6118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461113c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611133906135fa565b60405180910390fd5b80600f8190555050565b61114e6118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d2906135fa565b60405180910390fd5b80601660026101000a81548160ff02191690831515021790555050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112396118d4565b73ffffffffffffffffffffffffffffffffffffffff161461125957600080fd5b600047905061126781612251565b50565b60006112b4600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234c565b9050919050565b6112c36118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611350576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611347906135fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6114166118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149a906135fa565b60405180910390fd5b8060108190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f244d415045000000000000000000000000000000000000000000000000000000815250905090565b61151b6118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159f906135fa565b60405180910390fd5b683635c9adc5dea00000601781905550565b60006115ce6115c76118d4565b8484611aa7565b6001905092915050565b6115e06118d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461166d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611664906135fa565b60405180910390fd5b60005b8151811015611724576001600760008484815181106116b8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061171c906139d0565b915050611670565b5050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117696118d4565b73ffffffffffffffffffffffffffffffffffffffff161461178957600080fd5b61179161179b565b6117996111f8565b565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117dc6118d4565b73ffffffffffffffffffffffffffffffffffffffff16146117fc57600080fd5b60006118073061126a565b9050611812816123ba565b50565b60066020528060005260406000206000915054906101000a900460ff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60096020528060005260406000206000915090505481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561194c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119439061365a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b39061359a565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a9a91906136ba565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0e9061363a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7e9061355a565b60405180910390fd5b60008111611bca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc19061361a565b60405180910390fd5b611bd26114ad565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c405750611c106114ad565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156121dd57600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ce95750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611cf257600080fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d9d5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611df35750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611e0b5750601660029054906101000a900460ff165b15611ffb5760175481611e1d8461126a565b611e2791906137f0565b1115611e3257600080fd5b42600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611e7d57600080fd5b600f42611e8a91906137f0565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f6657506000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15611ff657600060155442611f7b91906138d1565b9050601e811015611ff457600060f082601e611f9791906138d1565b611fa19190613877565b90508042611faf91906137f0565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b505b6120cf565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166120ce5742600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106120cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c49061369a565b60405180910390fd5b5b5b60006120da3061126a565b90506010548111156120ec5760105490505b600f54811015801561210b5750601660009054906101000a900460ff16155b80156121655750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561217d5750601660019054906101000a900460ff165b156121db576001601660006101000a81548160ff0219169083151502179055506121a6816123ba565b600047905060008111156121be576121bd81612251565b5b6000601660006101000a81548160ff021916908315150217905550505b505b6121e883838361267e565b505050565b6000838311158290612235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222c9190613538565b60405180910390fd5b506000838561224491906138d1565b9050809150509392505050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6122a160028461268e90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156122cc573d6000803e3d6000fd5b50601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61231d60028461268e90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612348573d6000803e3d6000fd5b5050565b6000600a54821115612393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238a9061357a565b60405180910390fd5b600061239d6126d8565b90506123b2818461268e90919063ffffffff16565b915050919050565b6000600267ffffffffffffffff8111156123fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561242b5781602001602082028036833780820191505090505b5090503081600081518110612469577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561250b57600080fd5b505afa15801561251f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125439190612f76565b8160018151811061257d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125e430601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846118dc565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016126489594939291906136d5565b600060405180830381600087803b15801561266257600080fd5b505af1158015612676573d6000803e3d6000fd5b505050505050565b612689838383612703565b505050565b60006126d083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128d7565b905092915050565b60008060006126e561293a565b915091506126fc818361268e90919063ffffffff16565b9250505090565b60008060008060008061271e876127198a61299c565b612a57565b95509550955095509550955061277c86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ac390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061281185600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061285d81612b6b565b6128678483612c28565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516128c491906136ba565b60405180910390a3505050505050505050565b6000808311829061291e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129159190613538565b60405180910390fd5b506000838561292d9190613846565b9050809150509392505050565b6000806000600a5490506000683635c9adc5dea000009050612970683635c9adc5dea00000600a5461268e90919063ffffffff16565b82101561298f57600a54683635c9adc5dea00000935093505050612998565b81819350935050505b9091565b600060148054906101000a900460ff1615806129c45750601660009054906101000a900460ff165b156129d25760009050612a52565b61a8c06015546129e291906137f0565b42108015612a3d5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15612a4c57600e549050612a52565b600d5490505b919050565b6000806000806000806000806000612a778b612a71612c62565b8c612c9f565b9250925092506000612a876126d8565b90506000806000612a9a8f878787612d35565b9250925092508282828989899c509c509c509c509c509c50505050505050509295509295509295565b6000612b0583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506121ed565b905092915050565b6000808284612b1c91906137f0565b905083811015612b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b58906135ba565b60405180910390fd5b8091505092915050565b6000612b756126d8565b90506000612b8c8284612dbe90919063ffffffff16565b9050612be081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612c3d82600a54612ac390919063ffffffff16565b600a81905550612c5881600b54612b0d90919063ffffffff16565b600b819055505050565b600060148054906101000a900460ff168015612c8b5750601660009054906101000a900460ff16155b612c96576000612c9a565b600c545b905090565b600080600080612ccb6064612cbd888a612dbe90919063ffffffff16565b61268e90919063ffffffff16565b90506000612cf56064612ce7888b612dbe90919063ffffffff16565b61268e90919063ffffffff16565b90506000612d1e82612d10858c612ac390919063ffffffff16565b612ac390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612d4e8589612dbe90919063ffffffff16565b90506000612d658689612dbe90919063ffffffff16565b90506000612d7c8789612dbe90919063ffffffff16565b90506000612da582612d978587612ac390919063ffffffff16565b612ac390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612dd15760009050612e33565b60008284612ddf9190613877565b9050828482612dee9190613846565b14612e2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e25906135da565b60405180910390fd5b809150505b92915050565b6000612e4c612e478461376f565b61374a565b90508083825260208201905082856020860282011115612e6b57600080fd5b60005b85811015612e9b5781612e818882612ea5565b845260208401935060208301925050600181019050612e6e565b5050509392505050565b600081359050612eb481613daa565b92915050565b600081519050612ec981613daa565b92915050565b600082601f830112612ee057600080fd5b8135612ef0848260208601612e39565b91505092915050565b600081359050612f0881613dc1565b92915050565b600081519050612f1d81613dc1565b92915050565b600081359050612f3281613dd8565b92915050565b600081519050612f4781613dd8565b92915050565b600060208284031215612f5f57600080fd5b6000612f6d84828501612ea5565b91505092915050565b600060208284031215612f8857600080fd5b6000612f9684828501612eba565b91505092915050565b60008060408385031215612fb257600080fd5b6000612fc085828601612ea5565b9250506020612fd185828601612ea5565b9150509250929050565b600080600060608486031215612ff057600080fd5b6000612ffe86828701612ea5565b935050602061300f86828701612ea5565b925050604061302086828701612f23565b9150509250925092565b6000806040838503121561303d57600080fd5b600061304b85828601612ea5565b925050602061305c85828601612f23565b9150509250929050565b60006020828403121561307857600080fd5b600082013567ffffffffffffffff81111561309257600080fd5b61309e84828501612ecf565b91505092915050565b600080604083850312156130ba57600080fd5b600083013567ffffffffffffffff8111156130d457600080fd5b6130e085828601612ecf565b92505060206130f185828601612f23565b9150509250929050565b60006020828403121561310d57600080fd5b600061311b84828501612ef9565b91505092915050565b60006020828403121561313657600080fd5b600061314484828501612f0e565b91505092915050565b60006020828403121561315f57600080fd5b600061316d84828501612f23565b91505092915050565b60008060006060848603121561318b57600080fd5b600061319986828701612f38565b93505060206131aa86828701612f38565b92505060406131bb86828701612f38565b9150509250925092565b60006131d183836131dd565b60208301905092915050565b6131e681613905565b82525050565b6131f581613905565b82525050565b6000613206826137ab565b61321081856137ce565b935061321b8361379b565b8060005b8381101561324c57815161323388826131c5565b975061323e836137c1565b92505060018101905061321f565b5085935050505092915050565b61326281613917565b82525050565b6132718161395a565b82525050565b6000613282826137b6565b61328c81856137df565b935061329c81856020860161396c565b6132a581613aa6565b840191505092915050565b60006132bd6023836137df565b91506132c882613ab7565b604082019050919050565b60006132e0602a836137df565b91506132eb82613b06565b604082019050919050565b60006133036022836137df565b915061330e82613b55565b604082019050919050565b6000613326601b836137df565b915061333182613ba4565b602082019050919050565b60006133496021836137df565b915061335482613bcd565b604082019050919050565b600061336c6020836137df565b915061337782613c1c565b602082019050919050565b600061338f6029836137df565b915061339a82613c45565b604082019050919050565b60006133b26025836137df565b91506133bd82613c94565b604082019050919050565b60006133d56024836137df565b91506133e082613ce3565b604082019050919050565b60006133f86017836137df565b915061340382613d32565b602082019050919050565b600061341b603b836137df565b915061342682613d5b565b604082019050919050565b61343a81613943565b82525050565b6134498161394d565b82525050565b600060208201905061346460008301846131ec565b92915050565b600060408201905061347f60008301856131ec565b61348c60208301846131ec565b9392505050565b60006040820190506134a860008301856131ec565b6134b56020830184613431565b9392505050565b600060c0820190506134d160008301896131ec565b6134de6020830188613431565b6134eb6040830187613268565b6134f86060830186613268565b61350560808301856131ec565b61351260a0830184613431565b979650505050505050565b60006020820190506135326000830184613259565b92915050565b600060208201905081810360008301526135528184613277565b905092915050565b60006020820190508181036000830152613573816132b0565b9050919050565b60006020820190508181036000830152613593816132d3565b9050919050565b600060208201905081810360008301526135b3816132f6565b9050919050565b600060208201905081810360008301526135d381613319565b9050919050565b600060208201905081810360008301526135f38161333c565b9050919050565b600060208201905081810360008301526136138161335f565b9050919050565b6000602082019050818103600083015261363381613382565b9050919050565b60006020820190508181036000830152613653816133a5565b9050919050565b60006020820190508181036000830152613673816133c8565b9050919050565b60006020820190508181036000830152613693816133eb565b9050919050565b600060208201905081810360008301526136b38161340e565b9050919050565b60006020820190506136cf6000830184613431565b92915050565b600060a0820190506136ea6000830188613431565b6136f76020830187613268565b818103604083015261370981866131fb565b905061371860608301856131ec565b6137256080830184613431565b9695505050505050565b60006020820190506137446000830184613440565b92915050565b6000613754613765565b9050613760828261399f565b919050565b6000604051905090565b600067ffffffffffffffff82111561378a57613789613a77565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006137fb82613943565b915061380683613943565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561383b5761383a613a19565b5b828201905092915050565b600061385182613943565b915061385c83613943565b92508261386c5761386b613a48565b5b828204905092915050565b600061388282613943565b915061388d83613943565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156138c6576138c5613a19565b5b828202905092915050565b60006138dc82613943565b91506138e783613943565b9250828210156138fa576138f9613a19565b5b828203905092915050565b600061391082613923565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061396582613943565b9050919050565b60005b8381101561398a57808201518184015260208101905061396f565b83811115613999576000848401525b50505050565b6139a882613aa6565b810181811067ffffffffffffffff821117156139c7576139c6613a77565b5b80604052505050565b60006139db82613943565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613a0e57613a0d613a19565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f596f7520626f7567687420736f206561726c792120506c65617365207761697460008201527f20612062697420746f2073656c6c206f72207472616e736665722e0000000000602082015250565b613db381613905565b8114613dbe57600080fd5b50565b613dca81613917565b8114613dd557600080fd5b50565b613de181613943565b8114613dec57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200d6309ff12697948eb61c04e75949c5fba108e510e1ddc3c23f6c2cfe476685864736f6c63430008040033

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.