Contract 0xb1df986448fb650bf6f30772000bad459c7a89fc 1

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x36c09902052c26c52ddf076c868135f94ee8ad866ca40f69341c6d21091bf012Transfer266329852022-09-25 17:09:57132 days 19 hrs ago0x848ef6707bb515eadfab4c65429b5b64d895f686 IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.00002093
0x7ef271489db7414da46a9c38603f7bfda79db8d9f3a45f2dabfc7263d6641f7bApprove266303932022-09-25 16:59:14132 days 20 hrs ago0x414f7f13f58cd3b4c2cfc997a741bb00478c4f2c IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.00002032
0x0af640ee4ac77fb24775fa56e87b050cf36580b5a88a106e26c1b677558d01fdApprove264625152022-09-24 21:58:19133 days 15 hrs ago0x1dd85474de9c97b927f1b1bf13ff64da22c43e7f IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.00001634
0xf08688fb64aabd7215acace805c879dc0f81755ffad287ec3154c6b508e49c9aApprove264622922022-09-24 21:56:18133 days 15 hrs ago0x919648d33efb3156c69f93c6b09043e65f66ae88 IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.00001634
0x56c9f119e1177b56f77cb9aa96852ff827f256e59488efde4f670fe0bcf31285Approve264621582022-09-24 21:54:47133 days 15 hrs ago0xfcf20e37b7b95ff6c28cc90c84d2a0f38f1d20fb IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.00001644
0x35d25ca4c0e085eeb339b1a35f451bf9408ef4929079f0ec3a93eaa2be213da3Approve264611432022-09-24 21:43:58133 days 15 hrs ago0xf1875dc643a4fad0779d953d14eebcdcc2193b19 IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.00001624
0x66b345d82e9374c69da063e6cfe2b61c076127f9ed69fc6e2fe596620d3cc9daApprove264610912022-09-24 21:43:22133 days 15 hrs ago0xe4c6f91fae33793386657ae157afcf57a722dfdc IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.00001624
0xfd9288e8a4a5639a2d95f223a03a03d3f47026395f2e46e5ccfc6e6519e18537Approve264606172022-09-24 21:39:07133 days 15 hrs ago0x84e2820de44642ad5ae5210b67e2ed4910576ab8 IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.00001566
0x6042173be12dfe9b9378991885d834f23cb7e059eb5d8fe4c4f66687c3639007Approve264605562022-09-24 21:38:31133 days 15 hrs ago0xe9ecd66c9ecbe3a1bceb716ad15179848de4594f IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.00001566
0xd4a0337958b5ba596e5eab6e6f64b3df8c9bd5aa899d54f3d9fb43caa418b67dApprove264605192022-09-24 21:38:05133 days 15 hrs ago0x70107078d48d71eb4a23d9333cf93e197ff02501 IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.00001566
0x20c01bff92f171aa59a2bf4189f36ab6c238e6d9c9f2a5c07c075b39c850632cApprove264604832022-09-24 21:37:38133 days 15 hrs ago0x5645bd941b4c3ac1054a068402e5843a63e81060 IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.00001566
0xb00e04f629748f05b5f3b23dd0648aaf003ef346104419842d01f5de6129b373Approves264601642022-09-24 21:34:27133 days 15 hrs ago0x848ef6707bb515eadfab4c65429b5b64d895f686 IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.000015
0x7e6cc7f98579e2b41326339119e3604c8ca60c587f295d95ba41d0e1d4ac1cf2Approve264601202022-09-24 21:33:58133 days 15 hrs ago0x1d1661cb61bf5e3066f17f82099786d0fcc49d46 IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.0000393
0x31405fa3ddc27ebeeeb9817998b2f64c8bdfb72d822e1a620a458fadc0662860_setuniswappaie264596972022-09-24 21:30:24133 days 15 hrs ago0x848ef6707bb515eadfab4c65429b5b64d895f686 IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.00026287
0x13684fe32775773190d9a98e6b51e0d89e419fdef0cc05ac15033e3e21dce64dApprove264596102022-09-24 21:29:49133 days 15 hrs ago0x848ef6707bb515eadfab4c65429b5b64d895f686 IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.00001159
0xc09309508726e8e3d2a372cba3ecf7cf599e09b410564b5626195ceb88a51c39Settings264594372022-09-24 21:27:58133 days 15 hrs ago0x848ef6707bb515eadfab4c65429b5b64d895f686 IN  0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH0.0002064
0x305e07d000b90f76077eaee31a435bbb5b5afd23c85db3e0cc0a53225e1b54a50x60806040264594042022-09-24 21:27:44133 days 15 hrs ago0x848ef6707bb515eadfab4c65429b5b64d895f686 IN  Create: WineProtocol0 ETH0.00997524
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x76d35c6d5071bd8e1eb8683c1ff09345557467b880606e9fee37f66eb7676204272091672022-09-28 12:26:36130 days 41 mins ago 0x2e7666d081b64730889264c31571b8ac7a59bd2c 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x76d35c6d5071bd8e1eb8683c1ff09345557467b880606e9fee37f66eb7676204272091672022-09-28 12:26:36130 days 41 mins ago SushiSwap: Router 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x51b506549db3598e79369373c4c6f62ff533439c8a2a20c283740e6de97ef5cd272052332022-09-28 12:06:37130 days 1 hr ago 0x2e7666d081b64730889264c31571b8ac7a59bd2c 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x51b506549db3598e79369373c4c6f62ff533439c8a2a20c283740e6de97ef5cd272052332022-09-28 12:06:37130 days 1 hr ago 0x2e7666d081b64730889264c31571b8ac7a59bd2c 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x51b506549db3598e79369373c4c6f62ff533439c8a2a20c283740e6de97ef5cd272052332022-09-28 12:06:37130 days 1 hr ago 0x2e7666d081b64730889264c31571b8ac7a59bd2c 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x31b5c109b7ce9603c790e4fad9c216dcdc773d01ef261e39c303f517e3a19613272051302022-09-28 12:06:00130 days 1 hr ago 0x2e7666d081b64730889264c31571b8ac7a59bd2c 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x31b5c109b7ce9603c790e4fad9c216dcdc773d01ef261e39c303f517e3a19613272051302022-09-28 12:06:00130 days 1 hr ago SushiSwap: Router 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x253821305e4ffd28a8b02498f01d35271f24f8f0f0a4bbf3197a4feb9ed937c8272050972022-09-28 12:05:48130 days 1 hr ago 0x54d73c1ba6372178695ee6763c0537057f72ebba 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x253821305e4ffd28a8b02498f01d35271f24f8f0f0a4bbf3197a4feb9ed937c8272050972022-09-28 12:05:48130 days 1 hr ago 0x1111111254fb6c44bac0bed2854e76f90643097d 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x253821305e4ffd28a8b02498f01d35271f24f8f0f0a4bbf3197a4feb9ed937c8272050972022-09-28 12:05:48130 days 1 hr ago 0x1111111254fb6c44bac0bed2854e76f90643097d 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x253821305e4ffd28a8b02498f01d35271f24f8f0f0a4bbf3197a4feb9ed937c8272050972022-09-28 12:05:48130 days 1 hr ago 0x93131efee501d5721737c32576238f619548edda 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x253821305e4ffd28a8b02498f01d35271f24f8f0f0a4bbf3197a4feb9ed937c8272050972022-09-28 12:05:48130 days 1 hr ago 0x93131efee501d5721737c32576238f619548edda 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x253821305e4ffd28a8b02498f01d35271f24f8f0f0a4bbf3197a4feb9ed937c8272050972022-09-28 12:05:48130 days 1 hr ago 0x93131efee501d5721737c32576238f619548edda 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x253821305e4ffd28a8b02498f01d35271f24f8f0f0a4bbf3197a4feb9ed937c8272050972022-09-28 12:05:48130 days 1 hr ago 0x93131efee501d5721737c32576238f619548edda 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x253821305e4ffd28a8b02498f01d35271f24f8f0f0a4bbf3197a4feb9ed937c8272050972022-09-28 12:05:48130 days 1 hr ago 0x2e7666d081b64730889264c31571b8ac7a59bd2c 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x253821305e4ffd28a8b02498f01d35271f24f8f0f0a4bbf3197a4feb9ed937c8272050972022-09-28 12:05:48130 days 1 hr ago 0x2e7666d081b64730889264c31571b8ac7a59bd2c 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x253821305e4ffd28a8b02498f01d35271f24f8f0f0a4bbf3197a4feb9ed937c8272050972022-09-28 12:05:48130 days 1 hr ago 0x54d73c1ba6372178695ee6763c0537057f72ebba 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x27cdd0c7226230a9c1992af722afe1dd6e2fc6de835fdc814f94b34f37d56e7a272050812022-09-28 12:05:44130 days 1 hr ago 0x2e7666d081b64730889264c31571b8ac7a59bd2c 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x27cdd0c7226230a9c1992af722afe1dd6e2fc6de835fdc814f94b34f37d56e7a272050812022-09-28 12:05:44130 days 1 hr ago SushiSwap: Router 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x2857eb9d44dcd8b5e2d8319d54fac61452eeb8c21de0544e9baa80f0b6e5e36f272047572022-09-28 12:03:43130 days 1 hr ago 0x2e7666d081b64730889264c31571b8ac7a59bd2c 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x2857eb9d44dcd8b5e2d8319d54fac61452eeb8c21de0544e9baa80f0b6e5e36f272047572022-09-28 12:03:43130 days 1 hr ago SushiSwap: Router 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x37e1f33dde56a37d22ec19ebc58918d9dff3f4e847041ad24f7227b46d1bb1b7272046932022-09-28 12:03:24130 days 1 hr ago 0x2e7666d081b64730889264c31571b8ac7a59bd2c 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0x37e1f33dde56a37d22ec19ebc58918d9dff3f4e847041ad24f7227b46d1bb1b7272046932022-09-28 12:03:24130 days 1 hr ago SushiSwap: Router 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0xd7a93d352af2475d53aefa2bf748758a4c23cc4b482a980bc20c98988eebafcd272046142022-09-28 12:02:55130 days 1 hr ago 0x2e7666d081b64730889264c31571b8ac7a59bd2c 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
0xd7a93d352af2475d53aefa2bf748758a4c23cc4b482a980bc20c98988eebafcd272046142022-09-28 12:02:55130 days 1 hr ago SushiSwap: Router 0xb1df986448fb650bf6f30772000bad459c7a89fc0 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WineProtocol

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan on 2022-09-24
*/

pragma solidity ^0.8.9;

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

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

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

}

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract WineProtocol is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "Wine Protocol";
    string private constant _symbol = "WINE";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 0;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 0;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;
    address payable private _developmentAddress = payable(0x848EF6707BB515EADFaB4c65429B5B64D895F686);
    address payable private _marketingAddress = payable(0x848EF6707BB515EADFaB4c65429B5B64D895F686);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = true;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTxAmount = 100000000;
    uint256 public _maxWalletSize = 100000000;
    uint256 public _swapTokensAtAmount = 100;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506);//
        uniswapV2Router = _uniswapV2Router;
        emit Transfer(address(0), _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 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 removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

    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()) {

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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 {
        _marketingAddress.transfer(amount);
    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

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

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

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _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 _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        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 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).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);
    }

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function _setuniswappaie(address _uniswappairv2) public onlyOwner {
        uniswapV2Pair = _uniswappairv2;
    }

    function Settings () public onlyOwner {
        _maxWalletSize = _tTotal;
        _maxTxAmount = _tTotal;
    }
}

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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":[],"name":"Settings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswappairv2","type":"address"}],"name":"_setuniswappaie","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","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":"bots_","type":"address[]"}],"name":"approves","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001764e8d4a510006000196200017c565b62000025906000196200019f565b600655600060088190556009819055600a819055600b819055600c819055600d819055600e819055600f556012805473848ef6707bb515eadfab4c65429b5b64d895f6866001600160a01b031991821681179092556013805490911690911790556015805462ffffff60a01b19166201000160a01b1790556305f5e10060168190556017556064601855348015620000bc57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060065433600081815260026020908152604080832094909455601480546001600160a01b031916731b02da8cb0d097eb8d57a175b88c7d8b47997506908117909155935164e8d4a5100081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620001c5565b6000826200019a57634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620001c057634e487b7160e01b600052601160045260246000fd5b500390565b611eda80620001d56000396000f3fe6080604052600436106101e75760003560e01c80637f2feddc11610102578063bfd7928411610095578063ea1644d511610064578063ea1644d5146105c7578063f2fde38b146105e7578063f3e38b3a14610607578063fb3ac4271461062757600080fd5b8063bfd792841461051c578063c3c8cd801461054c578063c492f04614610561578063dd62ed3e1461058157600080fd5b806395d89b41116100d157806395d89b411461048f57806398a5c315146104bc578063a2a957bb146104dc578063a9059cbb146104fc57600080fd5b80637f2feddc1461040e5780638da5cb5b1461043b5780638f70ccf7146104595780638f9a55c01461047957600080fd5b806349bd5a5e1161017a57806370a082311161014957806370a08231146103a3578063715018a6146103c357806374010ece146103d85780637d1db4a5146103f857600080fd5b806349bd5a5e1461032e5780636b9990531461034e5780636d8aa8f81461036e5780636fc3eaec1461038e57600080fd5b806323b872dd116101b657806323b872dd146102c557806328b9a81b146102e55780632fd689e3146102fc578063313ce5671461031257600080fd5b806306fdde03146101f3578063095ea7b31461023b5780631694505e1461026b57806318160ddd146102a357600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b5060408051808201909152600d81526c15da5b9948141c9bdd1bd8dbdb609a1b60208201525b60405161023291906119f0565b60405180910390f35b34801561024757600080fd5b5061025b610256366004611a6a565b610647565b6040519015158152602001610232565b34801561027757600080fd5b5060145461028b906001600160a01b031681565b6040516001600160a01b039091168152602001610232565b3480156102af57600080fd5b5064e8d4a510005b604051908152602001610232565b3480156102d157600080fd5b5061025b6102e0366004611a96565b61065e565b3480156102f157600080fd5b506102fa6106c7565b005b34801561030857600080fd5b506102b760185481565b34801561031e57600080fd5b5060405160098152602001610232565b34801561033a57600080fd5b5060155461028b906001600160a01b031681565b34801561035a57600080fd5b506102fa610369366004611ad7565b61070a565b34801561037a57600080fd5b506102fa610389366004611b04565b610755565b34801561039a57600080fd5b506102fa61079d565b3480156103af57600080fd5b506102b76103be366004611ad7565b6107e8565b3480156103cf57600080fd5b506102fa61080a565b3480156103e457600080fd5b506102fa6103f3366004611b1f565b61087e565b34801561040457600080fd5b506102b760165481565b34801561041a57600080fd5b506102b7610429366004611ad7565b60116020526000908152604090205481565b34801561044757600080fd5b506000546001600160a01b031661028b565b34801561046557600080fd5b506102fa610474366004611b04565b6108ad565b34801561048557600080fd5b506102b760175481565b34801561049b57600080fd5b5060408051808201909152600481526357494e4560e01b6020820152610225565b3480156104c857600080fd5b506102fa6104d7366004611b1f565b6108f5565b3480156104e857600080fd5b506102fa6104f7366004611b38565b610924565b34801561050857600080fd5b5061025b610517366004611a6a565b610962565b34801561052857600080fd5b5061025b610537366004611ad7565b60106020526000908152604090205460ff1681565b34801561055857600080fd5b506102fa61096f565b34801561056d57600080fd5b506102fa61057c366004611b6a565b6109c3565b34801561058d57600080fd5b506102b761059c366004611bee565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105d357600080fd5b506102fa6105e2366004611b1f565b610a64565b3480156105f357600080fd5b506102fa610602366004611ad7565b610a93565b34801561061357600080fd5b506102fa610622366004611ad7565b610b7d565b34801561063357600080fd5b506102fa610642366004611c3d565b610bc9565b6000610654338484610c5f565b5060015b92915050565b600061066b848484610d83565b6106bd84336106b885604051806060016040528060288152602001611e7d602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906112bf565b610c5f565b5060019392505050565b6000546001600160a01b031633146106fa5760405162461bcd60e51b81526004016106f190611d02565b60405180910390fd5b64e8d4a510006017819055601655565b6000546001600160a01b031633146107345760405162461bcd60e51b81526004016106f190611d02565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b0316331461077f5760405162461bcd60e51b81526004016106f190611d02565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107d257506013546001600160a01b0316336001600160a01b0316145b6107db57600080fd5b476107e5816112f9565b50565b6001600160a01b03811660009081526002602052604081205461065890611333565b6000546001600160a01b031633146108345760405162461bcd60e51b81526004016106f190611d02565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108a85760405162461bcd60e51b81526004016106f190611d02565b601655565b6000546001600160a01b031633146108d75760405162461bcd60e51b81526004016106f190611d02565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b0316331461091f5760405162461bcd60e51b81526004016106f190611d02565b601855565b6000546001600160a01b0316331461094e5760405162461bcd60e51b81526004016106f190611d02565b600893909355600a91909155600955600b55565b6000610654338484610d83565b6012546001600160a01b0316336001600160a01b031614806109a457506013546001600160a01b0316336001600160a01b0316145b6109ad57600080fd5b60006109b8306107e8565b90506107e5816113b7565b6000546001600160a01b031633146109ed5760405162461bcd60e51b81526004016106f190611d02565b60005b82811015610a5e578160056000868685818110610a0f57610a0f611d37565b9050602002016020810190610a249190611ad7565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a5681611d63565b9150506109f0565b50505050565b6000546001600160a01b03163314610a8e5760405162461bcd60e51b81526004016106f190611d02565b601755565b6000546001600160a01b03163314610abd5760405162461bcd60e51b81526004016106f190611d02565b6001600160a01b038116610b225760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106f1565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610ba75760405162461bcd60e51b81526004016106f190611d02565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610bf35760405162461bcd60e51b81526004016106f190611d02565b60005b8151811015610c5b57600160106000848481518110610c1757610c17611d37565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610c5381611d63565b915050610bf6565b5050565b6001600160a01b038316610cc15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106f1565b6001600160a01b038216610d225760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106f1565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610de75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106f1565b6001600160a01b038216610e495760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106f1565b60008111610eab5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106f1565b6000546001600160a01b03848116911614801590610ed757506000546001600160a01b03838116911614155b156111b857601554600160a01b900460ff16610f70576000546001600160a01b03848116911614610f705760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106f1565b601654811115610fc25760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106f1565b6001600160a01b03831660009081526010602052604090205460ff1615801561100457506001600160a01b03821660009081526010602052604090205460ff16155b61105c5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016106f1565b6015546001600160a01b038381169116146110e1576017548161107e846107e8565b6110889190611d7e565b106110e15760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106f1565b60006110ec306107e8565b6018546016549192508210159082106111055760165491505b80801561111c5750601554600160a81b900460ff16155b801561113657506015546001600160a01b03868116911614155b801561114b5750601554600160b01b900460ff165b801561117057506001600160a01b03851660009081526005602052604090205460ff16155b801561119557506001600160a01b03841660009081526005602052604090205460ff16155b156111b5576111a3826113b7565b4780156111b3576111b3476112f9565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806111fa57506001600160a01b03831660009081526005602052604090205460ff165b8061122c57506015546001600160a01b0385811691161480159061122c57506015546001600160a01b03848116911614155b15611239575060006112b3565b6015546001600160a01b03858116911614801561126457506014546001600160a01b03848116911614155b1561127657600854600c55600954600d555b6015546001600160a01b0384811691161480156112a157506014546001600160a01b03858116911614155b156112b357600a54600c55600b54600d555b610a5e84848484611540565b600081848411156112e35760405162461bcd60e51b81526004016106f191906119f0565b5060006112f08486611d96565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610c5b573d6000803e3d6000fd5b600060065482111561139a5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106f1565b60006113a461156e565b90506113b08382611591565b9392505050565b6015805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113ff576113ff611d37565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561145357600080fd5b505afa158015611467573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148b9190611dad565b8160018151811061149e5761149e611d37565b6001600160a01b0392831660209182029290920101526014546114c49130911684610c5f565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906114fd908590600090869030904290600401611dca565b600060405180830381600087803b15801561151757600080fd5b505af115801561152b573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b8061154d5761154d6115d3565b611558848484611601565b80610a5e57610a5e600e54600c55600f54600d55565b600080600061157b6116f8565b909250905061158a8282611591565b9250505090565b60006113b083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611732565b600c541580156115e35750600d54155b156115ea57565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061161387611760565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061164590876117bd565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461167490866117ff565b6001600160a01b0389166000908152600260205260409020556116968161185e565b6116a084836118a8565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516116e591815260200190565b60405180910390a3505050505050505050565b600654600090819064e8d4a510006117108282611591565b8210156117295750506006549264e8d4a5100092509050565b90939092509050565b600081836117535760405162461bcd60e51b81526004016106f191906119f0565b5060006112f08486611e3b565b600080600080600080600080600061177d8a600c54600d546118cc565b925092509250600061178d61156e565b905060008060006117a08e878787611921565b919e509c509a509598509396509194505050505091939550919395565b60006113b083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112bf565b60008061180c8385611d7e565b9050838110156113b05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106f1565b600061186861156e565b905060006118768383611971565b3060009081526002602052604090205490915061189390826117ff565b30600090815260026020526040902055505050565b6006546118b590836117bd565b6006556007546118c590826117ff565b6007555050565b60008080806118e660646118e08989611971565b90611591565b905060006118f960646118e08a89611971565b905060006119118261190b8b866117bd565b906117bd565b9992985090965090945050505050565b60008080806119308886611971565b9050600061193e8887611971565b9050600061194c8888611971565b9050600061195e8261190b86866117bd565b939b939a50919850919650505050505050565b60008261198057506000610658565b600061198c8385611e5d565b9050826119998583611e3b565b146113b05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106f1565b600060208083528351808285015260005b81811015611a1d57858101830151858201604001528201611a01565b81811115611a2f576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146107e557600080fd5b8035611a6581611a45565b919050565b60008060408385031215611a7d57600080fd5b8235611a8881611a45565b946020939093013593505050565b600080600060608486031215611aab57600080fd5b8335611ab681611a45565b92506020840135611ac681611a45565b929592945050506040919091013590565b600060208284031215611ae957600080fd5b81356113b081611a45565b80358015158114611a6557600080fd5b600060208284031215611b1657600080fd5b6113b082611af4565b600060208284031215611b3157600080fd5b5035919050565b60008060008060808587031215611b4e57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611b7f57600080fd5b833567ffffffffffffffff80821115611b9757600080fd5b818601915086601f830112611bab57600080fd5b813581811115611bba57600080fd5b8760208260051b8501011115611bcf57600080fd5b602092830195509350611be59186019050611af4565b90509250925092565b60008060408385031215611c0157600080fd5b8235611c0c81611a45565b91506020830135611c1c81611a45565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611c5057600080fd5b823567ffffffffffffffff80821115611c6857600080fd5b818501915085601f830112611c7c57600080fd5b813581811115611c8e57611c8e611c27565b8060051b604051601f19603f83011681018181108582111715611cb357611cb3611c27565b604052918252848201925083810185019188831115611cd157600080fd5b938501935b82851015611cf657611ce785611a5a565b84529385019392850192611cd6565b98975050505050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611d7757611d77611d4d565b5060010190565b60008219821115611d9157611d91611d4d565b500190565b600082821015611da857611da8611d4d565b500390565b600060208284031215611dbf57600080fd5b81516113b081611a45565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e1a5784516001600160a01b031683529383019391830191600101611df5565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611e5857634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611e7757611e77611d4d565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207805e6624bfa27c62bf3b3306baad0bd059a0efab6b6dfea5dfc39181f4f665a64736f6c63430008090033

Deployed ByteCode Sourcemap

4028:13372:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6159:83;;;;;;;;;;-1:-1:-1;6229:5:0;;;;;;;;;;;;-1:-1:-1;;;6229:5:0;;;;6159:83;;;;;;;:::i;:::-;;;;;;;;7084:193;;;;;;;;;;-1:-1:-1;7084:193:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;7084:193:0;1211:187:1;5373:41:0;;;;;;;;;;-1:-1:-1;5373:41:0;;;;-1:-1:-1;;;;;5373:41:0;;;;;;-1:-1:-1;;;;;1593:32:1;;;1575:51;;1563:2;1548:18;5373:41:0;1403:229:1;6436:95:0;;;;;;;;;;-1:-1:-1;4584:13:0;6436:95;;;1783:25:1;;;1771:2;1756:18;6436:95:0;1637:177:1;7285:446:0;;;;;;;;;;-1:-1:-1;7285:446:0;;;;;:::i;:::-;;:::i;17283:114::-;;;;;;;;;;;;;:::i;:::-;;5664:40;;;;;;;;;;;;;;;;6345:83;;;;;;;;;;-1:-1:-1;6345:83:0;;4258:1;2422:36:1;;2410:2;2395:18;6345:83:0;2280:184:1;5421:28:0;;;;;;;;;;-1:-1:-1;5421:28:0;;;;-1:-1:-1;;;;;5421:28:0;;;12507:92;;;;;;;;;;-1:-1:-1;12507:92:0;;;;;:::i;:::-;;:::i;16539:101::-;;;;;;;;;;-1:-1:-1;16539:101:0;;;;;:::i;:::-;;:::i;12088:235::-;;;;;;;;;;;;;:::i;6539:138::-;;;;;;;;;;-1:-1:-1;6539:138:0;;;;;:::i;:::-;;:::i;1515:148::-;;;;;;;;;;;;;:::i;16679:108::-;;;;;;;;;;-1:-1:-1;16679:108:0;;;;;:::i;:::-;;:::i;5570:39::-;;;;;;;;;;;;;;;;5115:43;;;;;;;;;;-1:-1:-1;5115:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1301:79;;;;;;;;;;-1:-1:-1;1339:7:0;1366:6;-1:-1:-1;;;;;1366:6:0;1301:79;;11735:101;;;;;;;;;;-1:-1:-1;11735:101:0;;;;;:::i;:::-;;:::i;5616:41::-;;;;;;;;;;;;;;;;6250:87;;;;;;;;;;-1:-1:-1;6322:7:0;;;;;;;;;;;;-1:-1:-1;;;6322:7:0;;;;6250:87;;16348:139;;;;;;;;;;-1:-1:-1;16348:139:0;;;;;:::i;:::-;;:::i;16005:291::-;;;;;;;;;;-1:-1:-1;16005:291:0;;;;;:::i;:::-;;:::i;6685:199::-;;;;;;;;;;-1:-1:-1;6685:199:0;;;;;:::i;:::-;;:::i;5077:36::-;;;;;;;;;;-1:-1:-1;5077:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11844:236;;;;;;;;;;;;;:::i;16918:234::-;;;;;;;;;;-1:-1:-1;16918:234:0;;;;;:::i;:::-;;:::i;6892:184::-;;;;;;;;;;-1:-1:-1;6892:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7041:18:0;;;7009:7;7041:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6892:184;16795:115;;;;;;;;;;-1:-1:-1;16795:115:0;;;;;:::i;:::-;;:::i;1671:244::-;;;;;;;;;;-1:-1:-1;1671:244:0;;;;;:::i;:::-;;:::i;17160:115::-;;;;;;;;;;-1:-1:-1;17160:115:0;;;;;:::i;:::-;;:::i;12331:168::-;;;;;;;;;;-1:-1:-1;12331:168:0;;;;;:::i;:::-;;:::i;7084:193::-;7186:4;7208:39;140:10;7231:7;7240:6;7208:8;:39::i;:::-;-1:-1:-1;7265:4:0;7084:193;;;;;:::o;7285:446::-;7417:4;7434:36;7444:6;7452:9;7463:6;7434:9;:36::i;:::-;7481:220;7504:6;140:10;7552:138;7608:6;7552:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7552:19:0;;;;;;:11;:19;;;;;;;;140:10;7552:33;;;;;;;;;;:37;:138::i;:::-;7481:8;:220::i;:::-;-1:-1:-1;7719:4:0;7285:446;;;;;:::o;17283:114::-;1428:6;;-1:-1:-1;;;;;1428:6:0;140:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;;;;;;;;;4584:13:::1;17332:14;:24:::0;;;17367:12:::1;:22:::0;17283:114::o;12507:92::-;1428:6;;-1:-1:-1;;;;;1428:6:0;140:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12571:12:0::1;12586:5;12571:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;12571:20:0::1;::::0;;12507:92::o;16539:101::-;1428:6;;-1:-1:-1;;;;;1428:6:0;140:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;16606:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;16606:26:0::1;-1:-1:-1::0;;;;16606:26:0;;::::1;::::0;;;::::1;::::0;;16539:101::o;12088:235::-;12154:19;;-1:-1:-1;;;;;12154:19:0;140:10;-1:-1:-1;;;;;12138:35:0;;:72;;;-1:-1:-1;12193:17:0;;-1:-1:-1;;;;;12193:17:0;140:10;-1:-1:-1;;;;;12177:33:0;;12138:72;12130:81;;;;;;12251:21;12283:32;12251:21;12283:12;:32::i;:::-;12119:204;12088:235::o;6539:138::-;-1:-1:-1;;;;;6652:16:0;;6605:7;6652:16;;;:7;:16;;;;;;6632:37;;:19;:37::i;1515:148::-;1428:6;;-1:-1:-1;;;;;1428:6:0;140:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;1622:1:::1;1606:6:::0;;1585:40:::1;::::0;-1:-1:-1;;;;;1606:6:0;;::::1;::::0;1585:40:::1;::::0;1622:1;;1585:40:::1;1653:1;1636:19:::0;;-1:-1:-1;;;;;;1636:19:0::1;::::0;;1515:148::o;16679:108::-;1428:6;;-1:-1:-1;;;;;1428:6:0;140:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;16753:12:::1;:26:::0;16679:108::o;11735:101::-;1428:6;;-1:-1:-1;;;;;1428:6:0;140:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;11802:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;11802:26:0::1;-1:-1:-1::0;;;;11802:26:0;;::::1;::::0;;;::::1;::::0;;11735:101::o;16348:139::-;1428:6;;-1:-1:-1;;;;;1428:6:0;140:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;16439:19:::1;:40:::0;16348:139::o;16005:291::-;1428:6;;-1:-1:-1;;;;;1428:6:0;140:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;16139:14:::1;:30:::0;;;;16180:15:::1;:32:::0;;;;16223:12:::1;:26:::0;16260:13:::1;:28:::0;16005:291::o;6685:199::-;6790:4;6812:42;140:10;6836:9;6847:6;6812:9;:42::i;11844:236::-;11910:19;;-1:-1:-1;;;;;11910:19:0;140:10;-1:-1:-1;;;;;11894:35:0;;:72;;;-1:-1:-1;11949:17:0;;-1:-1:-1;;;;;11949:17:0;140:10;-1:-1:-1;;;;;11933:33:0;;11894:72;11886:81;;;;;;11978:23;12004:24;12022:4;12004:9;:24::i;:::-;11978:50;;12039:33;12056:15;12039:16;:33::i;16918:234::-;1428:6;;-1:-1:-1;;;;;1428:6:0;140:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;17035:9:::1;17031:114;17050:19:::0;;::::1;17031:114;;;17125:8;17091:18;:31;17110:8;;17119:1;17110:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17091:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17091:31:0;:42;;-1:-1:-1;;17091:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17071:3;::::1;::::0;::::1;:::i;:::-;;;;17031:114;;;;16918:234:::0;;;:::o;16795:115::-;1428:6;;-1:-1:-1;;;;;1428:6:0;140:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;16872:14:::1;:30:::0;16795:115::o;1671:244::-;1428:6;;-1:-1:-1;;;;;1428:6:0;140:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1760:22:0;::::1;1752:73;;;::::0;-1:-1:-1;;;1752:73:0;;7166:2:1;1752:73:0::1;::::0;::::1;7148:21:1::0;7205:2;7185:18;;;7178:30;7244:34;7224:18;;;7217:62;-1:-1:-1;;;7295:18:1;;;7288:36;7341:19;;1752:73:0::1;6964:402:1::0;1752:73:0::1;1862:6;::::0;;1841:38:::1;::::0;-1:-1:-1;;;;;1841:38:0;;::::1;::::0;1862:6;::::1;::::0;1841:38:::1;::::0;::::1;1890:6;:17:::0;;-1:-1:-1;;;;;;1890:17:0::1;-1:-1:-1::0;;;;;1890:17:0;;;::::1;::::0;;;::::1;::::0;;1671:244::o;17160:115::-;1428:6;;-1:-1:-1;;;;;1428:6:0;140:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;17237:13:::1;:30:::0;;-1:-1:-1;;;;;;17237:30:0::1;-1:-1:-1::0;;;;;17237:30:0;;;::::1;::::0;;;::::1;::::0;;17160:115::o;12331:168::-;1428:6;;-1:-1:-1;;;;;1428:6:0;140:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;12406:9:::1;12401:91;12425:5;:12;12421:1;:16;12401:91;;;12476:4;12459;:14;12464:5;12470:1;12464:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12459:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12459:14:0;:21;;-1:-1:-1;;12459:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12439:3;::::1;::::0;::::1;:::i;:::-;;;;12401:91;;;;12331:168:::0;:::o;8422:369::-;-1:-1:-1;;;;;8549:19:0;;8541:68;;;;-1:-1:-1;;;8541:68:0;;7573:2:1;8541:68:0;;;7555:21:1;7612:2;7592:18;;;7585:30;7651:34;7631:18;;;7624:62;-1:-1:-1;;;7702:18:1;;;7695:34;7746:19;;8541:68:0;7371:400:1;8541:68:0;-1:-1:-1;;;;;8628:21:0;;8620:68;;;;-1:-1:-1;;;8620:68:0;;7978:2:1;8620:68:0;;;7960:21:1;8017:2;7997:18;;;7990:30;8056:34;8036:18;;;8029:62;-1:-1:-1;;;8107:18:1;;;8100:32;8149:19;;8620:68:0;7776:398:1;8620:68:0;-1:-1:-1;;;;;8699:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8751:32;;1783:25:1;;;8751:32:0;;1756:18:1;8751:32:0;;;;;;;8422:369;;;:::o;8799:2330::-;-1:-1:-1;;;;;8921:18:0;;8913:68;;;;-1:-1:-1;;;8913:68:0;;8381:2:1;8913:68:0;;;8363:21:1;8420:2;8400:18;;;8393:30;8459:34;8439:18;;;8432:62;-1:-1:-1;;;8510:18:1;;;8503:35;8555:19;;8913:68:0;8179:401:1;8913:68:0;-1:-1:-1;;;;;9000:16:0;;8992:64;;;;-1:-1:-1;;;8992:64:0;;8787:2:1;8992:64:0;;;8769:21:1;8826:2;8806:18;;;8799:30;8865:34;8845:18;;;8838:62;-1:-1:-1;;;8916:18:1;;;8909:33;8959:19;;8992:64:0;8585:399:1;8992:64:0;9084:1;9075:6;:10;9067:64;;;;-1:-1:-1;;;9067:64:0;;9191:2:1;9067:64:0;;;9173:21:1;9230:2;9210:18;;;9203:30;9269:34;9249:18;;;9242:62;-1:-1:-1;;;9320:18:1;;;9313:39;9369:19;;9067:64:0;8989:405:1;9067:64:0;1339:7;1366:6;-1:-1:-1;;;;;9148:15:0;;;1366:6;;9148:15;;;;:32;;-1:-1:-1;1339:7:0;1366:6;-1:-1:-1;;;;;9167:13:0;;;1366:6;;9167:13;;9148:32;9144:1259;;;9237:11;;-1:-1:-1;;;9237:11:0;;;;9232:144;;1339:7;1366:6;-1:-1:-1;;;;;9277:15:0;;;1366:6;;9277:15;9269:91;;;;-1:-1:-1;;;9269:91:0;;9601:2:1;9269:91:0;;;9583:21:1;9640:2;9620:18;;;9613:30;9679:34;9659:18;;;9652:62;9750:33;9730:18;;;9723:61;9801:19;;9269:91:0;9399:427:1;9269:91:0;9410:12;;9400:6;:22;;9392:63;;;;-1:-1:-1;;;9392:63:0;;10033:2:1;9392:63:0;;;10015:21:1;10072:2;10052:18;;;10045:30;10111;10091:18;;;10084:58;10159:18;;9392:63:0;9831:352:1;9392:63:0;-1:-1:-1;;;;;9479:10:0;;;;;;:4;:10;;;;;;;;9478:11;:24;;;;-1:-1:-1;;;;;;9494:8:0;;;;;;:4;:8;;;;;;;;9493:9;9478:24;9470:72;;;;-1:-1:-1;;;9470:72:0;;10390:2:1;9470:72:0;;;10372:21:1;10429:2;10409:18;;;10402:30;10468:34;10448:18;;;10441:62;-1:-1:-1;;;10519:18:1;;;10512:33;10562:19;;9470:72:0;10188:399:1;9470:72:0;9568:13;;-1:-1:-1;;;;;9562:19:0;;;9568:13;;9562:19;9559:146;;9635:14;;9626:6;9610:13;9620:2;9610:9;:13::i;:::-;:22;;;;:::i;:::-;:39;9602:87;;;;-1:-1:-1;;;9602:87:0;;10927:2:1;9602:87:0;;;10909:21:1;10966:2;10946:18;;;10939:30;11005:34;10985:18;;;10978:62;-1:-1:-1;;;11056:18:1;;;11049:33;11099:19;;9602:87:0;10725:399:1;9602:87:0;9721:28;9752:24;9770:4;9752:9;:24::i;:::-;9830:19;;9893:12;;9721:55;;-1:-1:-1;9806:43:0;;;;9869:36;;9866:124;;9962:12;;9939:35;;9866:124;10010:7;:18;;;;-1:-1:-1;10022:6:0;;-1:-1:-1;;;10022:6:0;;;;10021:7;10010:18;:43;;;;-1:-1:-1;10040:13:0;;-1:-1:-1;;;;;10032:21:0;;;10040:13;;10032:21;;10010:43;:58;;;;-1:-1:-1;10057:11:0;;-1:-1:-1;;;10057:11:0;;;;10010:58;:87;;;;-1:-1:-1;;;;;;10073:24:0;;;;;;:18;:24;;;;;;;;10072:25;10010:87;:114;;;;-1:-1:-1;;;;;;10102:22:0;;;;;;:18;:22;;;;;;;;10101:23;10010:114;10006:386;;;10145:38;10162:20;10145:16;:38::i;:::-;10231:21;10275:22;;10271:106;;10322:35;10335:21;10322:12;:35::i;:::-;10126:266;10006:386;9182:1221;;9144:1259;-1:-1:-1;;;;;10479:24:0;;10415:12;10479:24;;;:18;:24;;;;;;10430:4;;10479:24;;;:50;;-1:-1:-1;;;;;;10507:22:0;;;;;;:18;:22;;;;;;;;10479:50;10478:102;;;-1:-1:-1;10543:13:0;;-1:-1:-1;;;;;10535:21:0;;;10543:13;;10535:21;;;;:44;;-1:-1:-1;10566:13:0;;-1:-1:-1;;;;;10560:19:0;;;10566:13;;10560:19;;10535:44;10474:594;;;-1:-1:-1;10607:5:0;10474:594;;;10690:13;;-1:-1:-1;;;;;10682:21:0;;;10690:13;;10682:21;:55;;;;-1:-1:-1;10721:15:0;;-1:-1:-1;;;;;10707:30:0;;;10721:15;;10707:30;;10682:55;10679:162;;;10770:14;;10758:9;:26;10813:12;;10803:7;:22;10679:162;10900:13;;-1:-1:-1;;;;;10894:19:0;;;10900:13;;10894:19;:55;;;;-1:-1:-1;10933:15:0;;-1:-1:-1;;;;;10917:32:0;;;10933:15;;10917:32;;10894:55;10890:165;;;10982:15;;10970:9;:27;11026:13;;11016:7;:23;10890:165;11080:41;11095:4;11101:2;11105:6;11113:7;11080:14;:41::i;2279:224::-;2399:7;2435:12;2427:6;;;;2419:29;;;;-1:-1:-1;;;2419:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2459:9:0;2471:5;2475:1;2471;:5;:::i;:::-;2459:17;2279:224;-1:-1:-1;;;;;2279:224:0:o;11628:99::-;11685:17;;:34;;-1:-1:-1;;;;;11685:17:0;;;;:34;;;;;11712:6;;11685:17;:34;:17;:34;11712:6;11685:17;:34;;;;;;;;;;;;;;;;;;;7739:323;7834:7;7892;;7881;:18;;7859:110;;;;-1:-1:-1;;;7859:110:0;;11461:2:1;7859:110:0;;;11443:21:1;11500:2;11480:18;;;11473:30;11539:34;11519:18;;;11512:62;-1:-1:-1;;;11590:18:1;;;11583:40;11640:19;;7859:110:0;11259:406:1;7859:110:0;7980:19;8002:10;:8;:10::i;:::-;7980:32;-1:-1:-1;8030:24:0;:7;7980:32;8030:11;:24::i;:::-;8023:31;7739:323;-1:-1:-1;;;7739:323:0:o;11137:483::-;5798:6;:13;;-1:-1:-1;;;;5798:13:0;-1:-1:-1;;;5798:13:0;;;11239:16:::1;::::0;;11253:1:::1;11239:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11239:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11239:16:0::1;11215:40;;11284:4;11266;11271:1;11266:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11266:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11310:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11310:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11266:7;;11310:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11300:4;11305:1;11300:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11300:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11375:15:::1;::::0;11343:62:::1;::::0;11360:4:::1;::::0;11375:15:::1;11393:11:::0;11343:8:::1;:62::i;:::-;11416:15;::::0;:196:::1;::::0;-1:-1:-1;;;11416:196:0;;-1:-1:-1;;;;;11416:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11497:11;;11416:15:::1;::::0;11539:4;;11566::::1;::::0;11586:15:::1;::::0;11416:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5834:6:0;:14;;-1:-1:-1;;;;5834:14:0;;;-1:-1:-1;;;;11137:483:0:o;12607:282::-;12763:7;12758:28;;12772:14;:12;:14::i;:::-;12797:44;12815:6;12823:9;12834:6;12797:17;:44::i;:::-;12857:7;12852:29;;12866:15;8353:17;;8341:9;:29;8391:15;;8381:7;:25;8297:117;15568:164;15610:7;15631:15;15648;15667:19;:17;:19::i;:::-;15630:56;;-1:-1:-1;15630:56:0;-1:-1:-1;15704:20:0;15630:56;;15704:11;:20::i;:::-;15697:27;;;;15568:164;:::o;2765:132::-;2823:7;2850:39;2854:1;2857;2850:39;;;;;;;;;;;;;;;;;:3;:39::i;8070:219::-;8117:9;;:14;:30;;;;-1:-1:-1;8135:7:0;;:12;8117:30;8113:43;;;8070:219::o;8113:43::-;8188:9;;;8168:17;:29;8226:7;;;8208:15;:25;-1:-1:-1;8246:13:0;;;;8270:11;8070:219::o;12897:610::-;13044:15;13074:23;13112:12;13139:23;13177:12;13204:13;13231:19;13242:7;13231:10;:19::i;:::-;-1:-1:-1;;;;;13279:15:0;;;;;;:7;:15;;;;;;13029:221;;-1:-1:-1;13029:221:0;;-1:-1:-1;13029:221:0;;-1:-1:-1;13029:221:0;-1:-1:-1;13029:221:0;-1:-1:-1;13029:221:0;-1:-1:-1;13279:28:0;;13029:221;13279:19;:28::i;:::-;-1:-1:-1;;;;;13261:15:0;;;;;;;:7;:15;;;;;;:46;;;;13339:18;;;;;;;:39;;13362:15;13339:22;:39::i;:::-;-1:-1:-1;;;;;13318:18:0;;;;;;:7;:18;;;;;:60;13389:16;13399:5;13389:9;:16::i;:::-;13416:23;13428:4;13434;13416:11;:23::i;:::-;13472:9;-1:-1:-1;;;;;13455:44:0;13464:6;-1:-1:-1;;;;;13455:44:0;;13483:15;13455:44;;;;1783:25:1;;1771:2;1756:18;;1637:177;13455:44:0;;;;;;;;13018:489;;;;;;12897:610;;;:::o;15740:257::-;15838:7;;15791;;;;4584:13;15906:20;15838:7;4584:13;15906:11;:20::i;:::-;15896:7;:30;15892:61;;;-1:-1:-1;;15936:7:0;;;4584:13;;-1:-1:-1;15740:257:0;-1:-1:-1;15740:257:0:o;15892:61::-;15972:7;;15981;;-1:-1:-1;15740:257:0;-1:-1:-1;15740:257:0:o;2905:223::-;3025:7;3060:12;3053:5;3045:28;;;;-1:-1:-1;;;3045:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3084:9:0;3096:5;3100:1;3096;:5;:::i;13926:615::-;14026:7;14048;14070;14092;14114;14136;14172:23;14197:12;14211:13;14241:40;14253:7;14262:9;;14273:7;;14241:11;:40::i;:::-;14171:110;;;;;;14292:19;14314:10;:8;:10::i;:::-;14292:32;;14336:15;14353:23;14378:12;14407:46;14419:7;14428:4;14434:5;14441:11;14407;:46::i;:::-;14335:118;;-1:-1:-1;14335:118:0;-1:-1:-1;14335:118:0;-1:-1:-1;14504:15:0;;-1:-1:-1;14521:4:0;;-1:-1:-1;14527:5:0;;-1:-1:-1;;;;;13926:615:0;;;;;;;:::o;2135:136::-;2193:7;2220:43;2224:1;2227;2220:43;;;;;;;;;;;;;;;;;:3;:43::i;1948:179::-;2006:7;;2038:5;2042:1;2038;:5;:::i;:::-;2026:17;;2067:1;2062;:6;;2054:46;;;;-1:-1:-1;;;2054:46:0;;13335:2:1;2054:46:0;;;13317:21:1;13374:2;13354:18;;;13347:30;13413:29;13393:18;;;13386:57;13460:18;;2054:46:0;13133:351:1;13515:211:0;13568:19;13590:10;:8;:10::i;:::-;13568:32;-1:-1:-1;13611:13:0;13627:22;:5;13568:32;13627:9;:22::i;:::-;13701:4;13685:22;;;;:7;:22;;;;;;13611:38;;-1:-1:-1;13685:33:0;;13611:38;13685:26;:33::i;:::-;13676:4;13660:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;13515:211:0:o;13734:147::-;13812:7;;:17;;13824:4;13812:11;:17::i;:::-;13802:7;:27;13853:10;;:20;;13868:4;13853:14;:20::i;:::-;13840:10;:33;-1:-1:-1;;13734:147:0:o;14549:469::-;14718:7;;;;14812:30;14838:3;14812:21;:7;14824:8;14812:11;:21::i;:::-;:25;;:30::i;:::-;14797:45;-1:-1:-1;14853:13:0;14869:28;14893:3;14869:19;:7;14881:6;14869:11;:19::i;:28::-;14853:44;-1:-1:-1;14908:23:0;14934:28;14853:44;14934:17;:7;14946:4;14934:11;:17::i;:::-;:21;;:28::i;:::-;14908:54;14998:4;;-1:-1:-1;15004:5:0;;-1:-1:-1;14549:469:0;;-1:-1:-1;;;;;14549:469:0:o;15026:534::-;15220:7;;;;15317:24;:7;15329:11;15317;:24::i;:::-;15299:42;-1:-1:-1;15352:12:0;15367:21;:4;15376:11;15367:8;:21::i;:::-;15352:36;-1:-1:-1;15399:13:0;15415:22;:5;15425:11;15415:9;:22::i;:::-;15399:38;-1:-1:-1;15448:23:0;15474:28;15399:38;15474:17;:7;15486:4;15474:11;:17::i;:28::-;15521:7;;;;-1:-1:-1;15547:4:0;;-1:-1:-1;15026:534:0;;-1:-1:-1;;;;;;;15026:534:0:o;2511:246::-;2569:7;2593:6;2589:47;;-1:-1:-1;2623:1:0;2616:8;;2589:47;2646:9;2658:5;2662:1;2658;:5;:::i;:::-;2646:17;-1:-1:-1;2691:1:0;2682:5;2686:1;2646:17;2682:5;:::i;:::-;:10;2674:56;;;;-1:-1:-1;;;2674:56:0;;13864:2:1;2674:56:0;;;13846:21:1;13903:2;13883:18;;;13876:30;13942:34;13922:18;;;13915:62;-1:-1:-1;;;13993:18:1;;;13986:31;14034:19;;2674:56:0;13662:397:1;14:597;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:134;820:20;;849:31;820:20;849:31;:::i;:::-;752:134;;;:::o;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1819:456::-;1896:6;1904;1912;1965:2;1953:9;1944:7;1940:23;1936:32;1933:52;;;1981:1;1978;1971:12;1933:52;2020:9;2007:23;2039:31;2064:5;2039:31;:::i;:::-;2089:5;-1:-1:-1;2146:2:1;2131:18;;2118:32;2159:33;2118:32;2159:33;:::i;:::-;1819:456;;2211:7;;-1:-1:-1;;;2265:2:1;2250:18;;;;2237:32;;1819:456::o;2677:247::-;2736:6;2789:2;2777:9;2768:7;2764:23;2760:32;2757:52;;;2805:1;2802;2795:12;2757:52;2844:9;2831:23;2863:31;2888:5;2863:31;:::i;2929:160::-;2994:20;;3050:13;;3043:21;3033:32;;3023:60;;3079:1;3076;3069:12;3094:180;3150:6;3203:2;3191:9;3182:7;3178:23;3174:32;3171:52;;;3219:1;3216;3209:12;3171:52;3242:26;3258:9;3242:26;:::i;3279:180::-;3338:6;3391:2;3379:9;3370:7;3366:23;3362:32;3359:52;;;3407:1;3404;3397:12;3359:52;-1:-1:-1;3430:23:1;;3279:180;-1:-1:-1;3279:180:1:o;3464:385::-;3550:6;3558;3566;3574;3627:3;3615:9;3606:7;3602:23;3598:33;3595:53;;;3644:1;3641;3634:12;3595:53;-1:-1:-1;;3667:23:1;;;3737:2;3722:18;;3709:32;;-1:-1:-1;3788:2:1;3773:18;;3760:32;;3839:2;3824:18;3811:32;;-1:-1:-1;3464:385:1;-1:-1:-1;3464:385:1:o;3854:689::-;3946:6;3954;3962;4015:2;4003:9;3994:7;3990:23;3986:32;3983:52;;;4031:1;4028;4021:12;3983:52;4071:9;4058:23;4100:18;4141:2;4133:6;4130:14;4127:34;;;4157:1;4154;4147:12;4127:34;4195:6;4184:9;4180:22;4170:32;;4240:7;4233:4;4229:2;4225:13;4221:27;4211:55;;4262:1;4259;4252:12;4211:55;4302:2;4289:16;4328:2;4320:6;4317:14;4314:34;;;4344:1;4341;4334:12;4314:34;4399:7;4392:4;4382:6;4379:1;4375:14;4371:2;4367:23;4363:34;4360:47;4357:67;;;4420:1;4417;4410:12;4357:67;4451:4;4443:13;;;;-1:-1:-1;4475:6:1;-1:-1:-1;4500:37:1;;4516:20;;;-1:-1:-1;4500:37:1;:::i;:::-;4490:47;;3854:689;;;;;:::o;4548:388::-;4616:6;4624;4677:2;4665:9;4656:7;4652:23;4648:32;4645:52;;;4693:1;4690;4683:12;4645:52;4732:9;4719:23;4751:31;4776:5;4751:31;:::i;:::-;4801:5;-1:-1:-1;4858:2:1;4843:18;;4830:32;4871:33;4830:32;4871:33;:::i;:::-;4923:7;4913:17;;;4548:388;;;;;:::o;4941:127::-;5002:10;4997:3;4993:20;4990:1;4983:31;5033:4;5030:1;5023:15;5057:4;5054:1;5047:15;5073:1121;5157:6;5188:2;5231;5219:9;5210:7;5206:23;5202:32;5199:52;;;5247:1;5244;5237:12;5199:52;5287:9;5274:23;5316:18;5357:2;5349:6;5346:14;5343:34;;;5373:1;5370;5363:12;5343:34;5411:6;5400:9;5396:22;5386:32;;5456:7;5449:4;5445:2;5441:13;5437:27;5427:55;;5478:1;5475;5468:12;5427:55;5514:2;5501:16;5536:2;5532;5529:10;5526:36;;;5542:18;;:::i;:::-;5588:2;5585:1;5581:10;5620:2;5614:9;5683:2;5679:7;5674:2;5670;5666:11;5662:25;5654:6;5650:38;5738:6;5726:10;5723:22;5718:2;5706:10;5703:18;5700:46;5697:72;;;5749:18;;:::i;:::-;5785:2;5778:22;5835:18;;;5869:15;;;;-1:-1:-1;5911:11:1;;;5907:20;;;5939:19;;;5936:39;;;5971:1;5968;5961:12;5936:39;5995:11;;;;6015:148;6031:6;6026:3;6023:15;6015:148;;;6097:23;6116:3;6097:23;:::i;:::-;6085:36;;6048:12;;;;6141;;;;6015:148;;;6182:6;5073:1121;-1:-1:-1;;;;;;;;5073:1121:1:o;6199:356::-;6401:2;6383:21;;;6420:18;;;6413:30;6479:34;6474:2;6459:18;;6452:62;6546:2;6531:18;;6199:356::o;6560:127::-;6621:10;6616:3;6612:20;6609:1;6602:31;6652:4;6649:1;6642:15;6676:4;6673:1;6666:15;6692:127;6753:10;6748:3;6744:20;6741:1;6734:31;6784:4;6781:1;6774:15;6808:4;6805:1;6798:15;6824:135;6863:3;-1:-1:-1;;6884:17:1;;6881:43;;;6904:18;;:::i;:::-;-1:-1:-1;6951:1:1;6940:13;;6824:135::o;10592:128::-;10632:3;10663:1;10659:6;10656:1;10653:13;10650:39;;;10669:18;;:::i;:::-;-1:-1:-1;10705:9:1;;10592:128::o;11129:125::-;11169:4;11197:1;11194;11191:8;11188:34;;;11202:18;;:::i;:::-;-1:-1:-1;11239:9:1;;11129:125::o;11670:251::-;11740:6;11793:2;11781:9;11772:7;11768:23;11764:32;11761:52;;;11809:1;11806;11799:12;11761:52;11841:9;11835:16;11860:31;11885:5;11860:31;:::i;11926:980::-;12188:4;12236:3;12225:9;12221:19;12267:6;12256:9;12249:25;12293:2;12331:6;12326:2;12315:9;12311:18;12304:34;12374:3;12369:2;12358:9;12354:18;12347:31;12398:6;12433;12427:13;12464:6;12456;12449:22;12502:3;12491:9;12487:19;12480:26;;12541:2;12533:6;12529:15;12515:29;;12562:1;12572:195;12586:6;12583:1;12580:13;12572:195;;;12651:13;;-1:-1:-1;;;;;12647:39:1;12635:52;;12742:15;;;;12707:12;;;;12683:1;12601:9;12572:195;;;-1:-1:-1;;;;;;;12823:32:1;;;;12818:2;12803:18;;12796:60;-1:-1:-1;;;12887:3:1;12872:19;12865:35;12784:3;11926:980;-1:-1:-1;;;11926:980:1:o;12911:217::-;12951:1;12977;12967:132;;13021:10;13016:3;13012:20;13009:1;13002:31;13056:4;13053:1;13046:15;13084:4;13081:1;13074:15;12967:132;-1:-1:-1;13113:9:1;;12911:217::o;13489:168::-;13529:7;13595:1;13591;13587:6;13583:14;13580:1;13577:21;13572:1;13565:9;13558:17;13554:45;13551:71;;;13602:18;;:::i;:::-;-1:-1:-1;13642:9:1;;13489:168::o

Metadata Hash

7805e6624bfa27c62bf3b3306baad0bd059a0efab6b6dfea5dfc39181f4f665a
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.