Contract 0xa310af8da93180399501a73252548DDe40211D24

 

Contract Overview

Balance:
0 Ether

EtherValue:
$0.00

Token:
 
Txn Hash
Method
Block
From
To
Value
0xf1f6b09a3c0691487e94f79363972801cf4ff6c072951f2a86ee85c065a9e4cfApprove158343232022-10-26 19:24:5936 days 8 hrs ago0x5725848ba6f087f670f42c8aaff0978d7cc9ddd7 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00082587 17.71273117
0xf1b1eae18734c64bb185380a36b84c807bb80b1f4d828da7a573ee1fe7abacffApprove155946852022-09-23 7:54:2369 days 20 hrs ago0xce9346dc697f0a63038cadc18cb0a273e01ae641 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00035487 7.61117149
0xfb6574533baca7b8b98e502a6c1a863c28883cf950581c1f036c36f826398e79Approve155946642022-09-23 7:50:1169 days 20 hrs ago0x93727544e1ebc135eda5b696b042c11f2cbd8db2 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00028339 6.07798507
0x5aca9d18ba2d11470a6613396abd55453b7c40d10ccb94e26bf9c1d866dffb69Approve155576662022-09-18 3:10:2375 days 1 hr ago0xcf2cf76c083160ecdae53623e3871999393e1fb1 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00021077 4.52059839
0xdf2eaa4d2d7202254ca18a307aa9e941b20186f6849aa5ffd55494bd5a107f43Approve155420392022-09-15 22:24:5977 days 5 hrs ago0xd54a50a82b2d0038f7df4ddf3a6b1ca42a4577b1 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00034173 7.32930403
0x42d8df875bf4e14c7d69abaa48b8832814563783892c6729c582c8070eddcd9aApprove155288092022-09-13 19:56:0379 days 8 hrs ago0x32fbe4b37a60e98a15bb3f36f000a6b307c0f86d IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00103016 22.09419821
0x2075ea996e6cdad24e49c9860899bad51e7f1822a160cfdddde15e953953b14bTransfer154941122022-09-08 2:58:1585 days 1 hr ago0xc6454204a62a71c9f24db8c32d73336c714c8b2f IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.0108271849
0x4620f9d600a9ef1c79eafd6da1a2c67dab308a5850c3a6f33839a61654bb4bc6Approve154940582022-09-08 2:47:4885 days 1 hr ago0x94dba9bfc28bb08eb9689ffb13bd7a1fd0568073 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00043838 9.40213948
0xe67fa9b411315eedf7bbf9c6cfc4029130fa5876cd1ea32c9ae899a282d9c81dApprove154776782022-09-05 11:44:2187 days 16 hrs ago0x1966a38ae694e54df02cc652ba601b0139d264dd IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00024353 5.22321349
0xe871cbd73937d1fded5fa83c16c60e4d305d6865f40e8da436611ff3d1d6c743Approve154696322022-09-04 4:42:2488 days 23 hrs ago0x6722ae8c7a49553f1a80153517d1cfeca7eca5f7 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00031477 6.75113614
0x46ebd213b08995119a52286f6c3cf33b61ea98c4a9f808ef2dac01b0e80221cfApprove154641632022-09-03 7:57:2089 days 20 hrs ago0x64cd6522ac213f40a5128e8e22393fff7d8763d0 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00045848 9.83334854
0x3339aadb74bafd27328b98014be42099c93bbedae06e08db1c862bfe2707bb89Approve154552632022-09-01 21:37:3991 days 6 hrs ago0x7969f9332e9eff833682e89c0caac8f4af149283 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00165263 35.444399
0x30d6f74963a26552899d39e79f15b45aaaa2c9fd5103c33c618d72df118bc280Approve154402462022-08-30 11:59:4793 days 16 hrs ago0x99dc94aaf3816b70ca32e786a7522530c07cb6a8 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00053051 11.37804791
0xca016b7ed4dfd9eccf5cc22e8e58d3a2e5e3857479fe106180414fe126380305Approve154120192022-08-25 23:38:4298 days 4 hrs ago0xac8d584c9dd972b8349eb2af0e2d401a8a13fe05 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00245403 52.63224141
0x358fabc1dbff1067895da6b225c6e95c79eaf95aae4a9f82bfd80c4446372372Approve154094222022-08-25 13:44:1498 days 14 hrs ago0x0593979cb4cabbb3576e11c45dcd9151ae0cd047 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00042408 9.09539015
0x39c1f188f103824cb15df3cc93bab8b379a432f680bc8d08d60d930b73f3e8ddApprove154073242022-08-25 5:31:4298 days 22 hrs ago0x8758e6f5de7bb21e62829433f9a8ca1770f98595 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.0003488 7.48087134
0x9eb0a6ce3443f42823d22130b40ba9ecb4b75e72423cb473bc709c8b84f4c306Approve154069002022-08-25 3:53:1899 days 22 mins ago0xbf95494685a99cf0fb1a721e6568346b963a2f76 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.0005128811
0x9355156033c58ca22076524ed7307428a6c3c3789af308820130da025e77ecf1Approve154054092022-08-24 21:53:5099 days 6 hrs ago0x565784000d9159da0d2474b14a44ecde59602af2 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.000419639
0xbdd70a0a1b3f7b4ed0b89121e37737e0ec0757e016b56830a57688c364ea297bApprove154042442022-08-24 17:33:1299 days 10 hrs ago0x4b0c6f123debfb355e79f0e94436568710d12b09 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.0006061313
0x4322087a2c141b19b9ce7b949dd32208b06b0fd8e25b7c7a3c4073848cbec60fApprove154035212022-08-24 14:49:0399 days 13 hrs agoENS Name boobsonmymind.eth IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00079998 17.15748144
0x4303f1d2b04e1ea2b5e2afb0051c702de0b0ed0b8cd50784f1aedaff81b2dbdfApprove154029862022-08-24 12:43:0699 days 15 hrs agoENS Name nigerianwhale.eth IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00069477 14.90110208
0xe297f27e433631cadd698f0d0fd9c43a509c28de6ecf2f41ba3fb0e1f9872e91Approve154021522022-08-24 9:36:1399 days 18 hrs ago0x8586082f7917bfe2f497e1ef150bea50da854d49 IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00040746 8.73907463
0xb7a1a9f7fd328ea804258fb789edc3a62e968754a604928f125568222a20f5e3Approve154019212022-08-24 8:39:5799 days 19 hrs ago0xbd0a139105ddcd933f0694fd150feb1984f4d58c IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00031506 6.75729065
0xc0193b80a601a0149ca48e49c1433926f68762c9470d72b0aa34244d26da1bddApprove154005812022-08-24 3:35:51100 days 39 mins agoENS Name bend0ver.eth IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00040308 8.64506983
0x56244b190c755ace7ba1b34f13db5742461a927ea622503268c31103233f7cd0Approve153995262022-08-23 23:30:03100 days 4 hrs ago0xbc041877218efcc989095999f3e3a0fb20b174af IN  0xa310af8da93180399501a73252548dde40211d240 Ether0.00042674 9.15251508
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xd0fc6ffdccb50e3d29f63a010a5b93d4496f8ee799e406d45b30a511efc4d708156011682022-09-24 5:36:2368 days 22 hrs ago 0xa310af8da93180399501a73252548dde40211d240x8aebe67facdaa13580945a28500cadbf491040760.00079653 Ether
0xd0fc6ffdccb50e3d29f63a010a5b93d4496f8ee799e406d45b30a511efc4d708156011682022-09-24 5:36:2368 days 22 hrs ago Uniswap V2: Router 2 0xa310af8da93180399501a73252548dde40211d240.00079653 Ether
0xb6eca5d87ab85a5e3b7c390bc444dfd9b52f4b67ff131b2080f4a4d29bc411ee155946882022-09-23 7:54:5969 days 20 hrs ago 0xa310af8da93180399501a73252548dde40211d240x8aebe67facdaa13580945a28500cadbf491040760.00657272 Ether
0xb6eca5d87ab85a5e3b7c390bc444dfd9b52f4b67ff131b2080f4a4d29bc411ee155946882022-09-23 7:54:5969 days 20 hrs ago Uniswap V2: Router 2 0xa310af8da93180399501a73252548dde40211d240.00657272 Ether
0xa7b7dd9a712dd025f1595b6d7bb7b18e40fd24289285dba6f9bf0a2c0f22f36e155946662022-09-23 7:50:3569 days 20 hrs ago 0xa310af8da93180399501a73252548dde40211d240x8aebe67facdaa13580945a28500cadbf491040760.00015934 Ether
0xa7b7dd9a712dd025f1595b6d7bb7b18e40fd24289285dba6f9bf0a2c0f22f36e155946662022-09-23 7:50:3569 days 20 hrs ago Uniswap V2: Router 2 0xa310af8da93180399501a73252548dde40211d240.00015934 Ether
0xb0e4425ca4e66fe6e0fb64c145ba5091597913b95ba4c5d0f44cfa747a4ea3e0155565762022-09-17 23:29:5975 days 4 hrs ago 0xa310af8da93180399501a73252548dde40211d240x8aebe67facdaa13580945a28500cadbf491040760.00637069 Ether
0xb0e4425ca4e66fe6e0fb64c145ba5091597913b95ba4c5d0f44cfa747a4ea3e0155565762022-09-17 23:29:5975 days 4 hrs ago Uniswap V2: Router 2 0xa310af8da93180399501a73252548dde40211d240.00637069 Ether
0x2075ea996e6cdad24e49c9860899bad51e7f1822a160cfdddde15e953953b14b154941122022-09-08 2:58:1585 days 1 hr ago 0xa310af8da93180399501a73252548dde40211d240x8aebe67facdaa13580945a28500cadbf491040760.01046853 Ether
0x2075ea996e6cdad24e49c9860899bad51e7f1822a160cfdddde15e953953b14b154941122022-09-08 2:58:1585 days 1 hr ago Uniswap V2: Router 2 0xa310af8da93180399501a73252548dde40211d240.01046853 Ether
0xc8aac7a967da034c98e7192df4cc0d9f26ec4ddc88ed3284b8403592fc1febcb154940642022-09-08 2:48:4985 days 1 hr ago 0xa310af8da93180399501a73252548dde40211d240x8aebe67facdaa13580945a28500cadbf491040760.00061581 Ether
0xc8aac7a967da034c98e7192df4cc0d9f26ec4ddc88ed3284b8403592fc1febcb154940642022-09-08 2:48:4985 days 1 hr ago Uniswap V2: Router 2 0xa310af8da93180399501a73252548dde40211d240.00061581 Ether
0xf14a7ba467184de271b0f5559d61213e2ec5837b88ea7f0cc069de3408466d80154802632022-09-05 21:52:3287 days 6 hrs ago 0xa310af8da93180399501a73252548dde40211d240x8aebe67facdaa13580945a28500cadbf491040760.01417012 Ether
0xf14a7ba467184de271b0f5559d61213e2ec5837b88ea7f0cc069de3408466d80154802632022-09-05 21:52:3287 days 6 hrs ago Uniswap V2: Router 2 0xa310af8da93180399501a73252548dde40211d240.01417012 Ether
0xb03dbdadb22317473c60cb8de8cfea36df2954f604d58b3abf0daed295bf729f154798952022-09-05 20:25:1387 days 7 hrs ago 0xa310af8da93180399501a73252548dde40211d240x8aebe67facdaa13580945a28500cadbf491040760.0004825 Ether
0xb03dbdadb22317473c60cb8de8cfea36df2954f604d58b3abf0daed295bf729f154798952022-09-05 20:25:1387 days 7 hrs ago Uniswap V2: Router 2 0xa310af8da93180399501a73252548dde40211d240.0004825 Ether
0x56189009f720d0ae14de937772b7a0ff84eeffad6084e5894a4428374d2dbd8c154776922022-09-05 11:47:4087 days 16 hrs ago 0xa310af8da93180399501a73252548dde40211d240x8aebe67facdaa13580945a28500cadbf491040760.00372977 Ether
0x56189009f720d0ae14de937772b7a0ff84eeffad6084e5894a4428374d2dbd8c154776922022-09-05 11:47:4087 days 16 hrs ago Uniswap V2: Router 2 0xa310af8da93180399501a73252548dde40211d240.00372977 Ether
0xa015a590181c2311e456808fbfe46284253073f60fab660f0c684b937477f53e154696382022-09-04 4:42:4188 days 23 hrs ago 0xa310af8da93180399501a73252548dde40211d240x8aebe67facdaa13580945a28500cadbf491040760.00074396 Ether
0xa015a590181c2311e456808fbfe46284253073f60fab660f0c684b937477f53e154696382022-09-04 4:42:4188 days 23 hrs ago Uniswap V2: Router 2 0xa310af8da93180399501a73252548dde40211d240.00074396 Ether
0xf597e1c9a3e7f90c4d3b7f958b61cb45e42ab9092d665abd9cbadb1da45b4a54154687012022-09-04 1:11:0989 days 3 hrs ago 0xa310af8da93180399501a73252548dde40211d240x8aebe67facdaa13580945a28500cadbf491040760.00054721 Ether
0xf597e1c9a3e7f90c4d3b7f958b61cb45e42ab9092d665abd9cbadb1da45b4a54154687012022-09-04 1:11:0989 days 3 hrs ago Uniswap V2: Router 2 0xa310af8da93180399501a73252548dde40211d240.00054721 Ether
0x97e0611a6090e878a3f58731f6edb1881754823ef78b6652c34c2d5fff874a02154641642022-09-03 7:57:4189 days 20 hrs ago 0xa310af8da93180399501a73252548dde40211d240x8aebe67facdaa13580945a28500cadbf491040760.00032073 Ether
0x97e0611a6090e878a3f58731f6edb1881754823ef78b6652c34c2d5fff874a02154641642022-09-03 7:57:4189 days 20 hrs ago Uniswap V2: Router 2 0xa310af8da93180399501a73252548dde40211d240.00032073 Ether
0x3c1551d88bda961bf0d07d2032abcdc589f5f0a636ffb8b45b2e5a736f65eeae154440032022-08-31 2:24:4393 days 1 hr ago 0xa310af8da93180399501a73252548dde40211d240x8aebe67facdaa13580945a28500cadbf491040760.00194323 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TSUDO

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-17
*/

/**
Web: https://www.tsudoge.com/
TG: t.me/tsudoge
*/

// SPDX-License-Identifier: Unlicensed
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 TSUDO is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "TSUDOGE";
    string private constant _symbol = "TSUDO";
    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 = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 6;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 6;

    //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(0x8aEbe67FAcDaa13580945A28500CaDbf49104076);
    address payable private _marketingAddress = payable(0x8aEbe67FAcDaa13580945A28500CaDbf49104076);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

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

    uint256 public _maxTxAmount = 20000000 * 10**9;
    uint256 public _maxWalletSize = 20000000 * 10**9;
    uint256 public _swapTokensAtAmount = 10000 * 10**9;

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

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

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

}

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":"_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":[{"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":[],"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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","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"}]

60806040526200001a670de0b6b3a764000060001962000391565b6200002890600019620003b4565b6006908155600060088190556009829055600a819055600b829055600c819055600d829055600e55600f5560128054738aebe67facdaa13580945a28500cadbf491040766001600160a01b031991821681179092556013805490911690911790556015805462ffffff60a01b19166201000160a01b17905566470de4df82000060168190556017556509184e72a000601855348015620000c757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200018057600080fd5b505afa15801562000195573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bb9190620003da565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020457600080fd5b505afa15801562000219573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023f9190620003da565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200028857600080fd5b505af11580156200029d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c39190620003da565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200038291815260200190565b60405180910390a3506200040c565b600082620003af57634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620003d557634e487b7160e01b600052601160045260246000fd5b500390565b600060208284031215620003ed57600080fd5b81516001600160a01b03811681146200040557600080fd5b9392505050565b611e0c806200041c6000396000f3fe6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063c492f04611610064578063c492f04614610553578063dd62ed3e14610573578063ea1644d5146105b9578063f2fde38b146105d957600080fd5b8063a2a957bb146104ce578063a9059cbb146104ee578063bfd792841461050e578063c3c8cd801461053e57600080fd5b80638f70ccf7116100d15780638f70ccf71461044a5780638f9a55c01461046a57806395d89b411461048057806398a5c315146104ae57600080fd5b80637d1db4a5146103e95780637f2feddc146103ff5780638da5cb5b1461042c57600080fd5b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec1461037f57806370a0823114610394578063715018a6146103b457806374010ece146103c957600080fd5b8063313ce5671461030357806349bd5a5e1461031f5780636b9990531461033f5780636d8aa8f81461035f57600080fd5b80631694505e116101ab5780631694505e1461027057806318160ddd146102a857806323b872dd146102cd5780632fd689e3146102ed57600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024057600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f736600461195d565b6105f9565b005b34801561020a57600080fd5b50604080518082019091526007815266545355444f474560c81b60208201525b6040516102379190611a22565b60405180910390f35b34801561024c57600080fd5b5061026061025b366004611a77565b610698565b6040519015158152602001610237565b34801561027c57600080fd5b50601454610290906001600160a01b031681565b6040516001600160a01b039091168152602001610237565b3480156102b457600080fd5b50670de0b6b3a76400005b604051908152602001610237565b3480156102d957600080fd5b506102606102e8366004611aa3565b6106af565b3480156102f957600080fd5b506102bf60185481565b34801561030f57600080fd5b5060405160098152602001610237565b34801561032b57600080fd5b50601554610290906001600160a01b031681565b34801561034b57600080fd5b506101fc61035a366004611ae4565b610718565b34801561036b57600080fd5b506101fc61037a366004611b11565b610763565b34801561038b57600080fd5b506101fc6107ab565b3480156103a057600080fd5b506102bf6103af366004611ae4565b6107f6565b3480156103c057600080fd5b506101fc610818565b3480156103d557600080fd5b506101fc6103e4366004611b2c565b61088c565b3480156103f557600080fd5b506102bf60165481565b34801561040b57600080fd5b506102bf61041a366004611ae4565b60116020526000908152604090205481565b34801561043857600080fd5b506000546001600160a01b0316610290565b34801561045657600080fd5b506101fc610465366004611b11565b6108bb565b34801561047657600080fd5b506102bf60175481565b34801561048c57600080fd5b50604080518082019091526005815264545355444f60d81b602082015261022a565b3480156104ba57600080fd5b506101fc6104c9366004611b2c565b610903565b3480156104da57600080fd5b506101fc6104e9366004611b45565b610932565b3480156104fa57600080fd5b50610260610509366004611a77565b610970565b34801561051a57600080fd5b50610260610529366004611ae4565b60106020526000908152604090205460ff1681565b34801561054a57600080fd5b506101fc61097d565b34801561055f57600080fd5b506101fc61056e366004611b77565b6109d1565b34801561057f57600080fd5b506102bf61058e366004611bfb565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105c557600080fd5b506101fc6105d4366004611b2c565b610a72565b3480156105e557600080fd5b506101fc6105f4366004611ae4565b610aa1565b6000546001600160a01b0316331461062c5760405162461bcd60e51b815260040161062390611c34565b60405180910390fd5b60005b81518110156106945760016010600084848151811061065057610650611c69565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061068c81611c95565b91505061062f565b5050565b60006106a5338484610b8b565b5060015b92915050565b60006106bc848484610caf565b61070e843361070985604051806060016040528060288152602001611daf602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906111eb565b610b8b565b5060019392505050565b6000546001600160a01b031633146107425760405162461bcd60e51b815260040161062390611c34565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b0316331461078d5760405162461bcd60e51b815260040161062390611c34565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107e057506013546001600160a01b0316336001600160a01b0316145b6107e957600080fd5b476107f381611225565b50565b6001600160a01b0381166000908152600260205260408120546106a99061125f565b6000546001600160a01b031633146108425760405162461bcd60e51b815260040161062390611c34565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108b65760405162461bcd60e51b815260040161062390611c34565b601655565b6000546001600160a01b031633146108e55760405162461bcd60e51b815260040161062390611c34565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b0316331461092d5760405162461bcd60e51b815260040161062390611c34565b601855565b6000546001600160a01b0316331461095c5760405162461bcd60e51b815260040161062390611c34565b600893909355600a91909155600955600b55565b60006106a5338484610caf565b6012546001600160a01b0316336001600160a01b031614806109b257506013546001600160a01b0316336001600160a01b0316145b6109bb57600080fd5b60006109c6306107f6565b90506107f3816112e3565b6000546001600160a01b031633146109fb5760405162461bcd60e51b815260040161062390611c34565b60005b82811015610a6c578160056000868685818110610a1d57610a1d611c69565b9050602002016020810190610a329190611ae4565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a6481611c95565b9150506109fe565b50505050565b6000546001600160a01b03163314610a9c5760405162461bcd60e51b815260040161062390611c34565b601755565b6000546001600160a01b03163314610acb5760405162461bcd60e51b815260040161062390611c34565b6001600160a01b038116610b305760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610623565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bed5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610623565b6001600160a01b038216610c4e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610623565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d135760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610623565b6001600160a01b038216610d755760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610623565b60008111610dd75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610623565b6000546001600160a01b03848116911614801590610e0357506000546001600160a01b03838116911614155b156110e457601554600160a01b900460ff16610e9c576000546001600160a01b03848116911614610e9c5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610623565b601654811115610eee5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610623565b6001600160a01b03831660009081526010602052604090205460ff16158015610f3057506001600160a01b03821660009081526010602052604090205460ff16155b610f885760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610623565b6015546001600160a01b0383811691161461100d5760175481610faa846107f6565b610fb49190611cb0565b1061100d5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610623565b6000611018306107f6565b6018546016549192508210159082106110315760165491505b8080156110485750601554600160a81b900460ff16155b801561106257506015546001600160a01b03868116911614155b80156110775750601554600160b01b900460ff165b801561109c57506001600160a01b03851660009081526005602052604090205460ff16155b80156110c157506001600160a01b03841660009081526005602052604090205460ff16155b156110e1576110cf826112e3565b4780156110df576110df47611225565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061112657506001600160a01b03831660009081526005602052604090205460ff165b8061115857506015546001600160a01b0385811691161480159061115857506015546001600160a01b03848116911614155b15611165575060006111df565b6015546001600160a01b03858116911614801561119057506014546001600160a01b03848116911614155b156111a257600854600c55600954600d555b6015546001600160a01b0384811691161480156111cd57506014546001600160a01b03858116911614155b156111df57600a54600c55600b54600d555b610a6c8484848461146c565b6000818484111561120f5760405162461bcd60e51b81526004016106239190611a22565b50600061121c8486611cc8565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610694573d6000803e3d6000fd5b60006006548211156112c65760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610623565b60006112d061149a565b90506112dc83826114bd565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061132b5761132b611c69565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561137f57600080fd5b505afa158015611393573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b79190611cdf565b816001815181106113ca576113ca611c69565b6001600160a01b0392831660209182029290920101526014546113f09130911684610b8b565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611429908590600090869030904290600401611cfc565b600060405180830381600087803b15801561144357600080fd5b505af1158015611457573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b80611479576114796114ff565b61148484848461152d565b80610a6c57610a6c600e54600c55600f54600d55565b60008060006114a7611624565b90925090506114b682826114bd565b9250505090565b60006112dc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611664565b600c5415801561150f5750600d54155b1561151657565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061153f87611692565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061157190876116ef565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546115a09086611731565b6001600160a01b0389166000908152600260205260409020556115c281611790565b6115cc84836117da565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161161191815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000061163f82826114bd565b82101561165b57505060065492670de0b6b3a764000092509050565b90939092509050565b600081836116855760405162461bcd60e51b81526004016106239190611a22565b50600061121c8486611d6d565b60008060008060008060008060006116af8a600c54600d546117fe565b92509250925060006116bf61149a565b905060008060006116d28e878787611853565b919e509c509a509598509396509194505050505091939550919395565b60006112dc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111eb565b60008061173e8385611cb0565b9050838110156112dc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610623565b600061179a61149a565b905060006117a883836118a3565b306000908152600260205260409020549091506117c59082611731565b30600090815260026020526040902055505050565b6006546117e790836116ef565b6006556007546117f79082611731565b6007555050565b6000808080611818606461181289896118a3565b906114bd565b9050600061182b60646118128a896118a3565b905060006118438261183d8b866116ef565b906116ef565b9992985090965090945050505050565b600080808061186288866118a3565b9050600061187088876118a3565b9050600061187e88886118a3565b905060006118908261183d86866116ef565b939b939a50919850919650505050505050565b6000826118b2575060006106a9565b60006118be8385611d8f565b9050826118cb8583611d6d565b146112dc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610623565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107f357600080fd5b803561195881611938565b919050565b6000602080838503121561197057600080fd5b823567ffffffffffffffff8082111561198857600080fd5b818501915085601f83011261199c57600080fd5b8135818111156119ae576119ae611922565b8060051b604051601f19603f830116810181811085821117156119d3576119d3611922565b6040529182528482019250838101850191888311156119f157600080fd5b938501935b82851015611a1657611a078561194d565b845293850193928501926119f6565b98975050505050505050565b600060208083528351808285015260005b81811015611a4f57858101830151858201604001528201611a33565b81811115611a61576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611a8a57600080fd5b8235611a9581611938565b946020939093013593505050565b600080600060608486031215611ab857600080fd5b8335611ac381611938565b92506020840135611ad381611938565b929592945050506040919091013590565b600060208284031215611af657600080fd5b81356112dc81611938565b8035801515811461195857600080fd5b600060208284031215611b2357600080fd5b6112dc82611b01565b600060208284031215611b3e57600080fd5b5035919050565b60008060008060808587031215611b5b57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611b8c57600080fd5b833567ffffffffffffffff80821115611ba457600080fd5b818601915086601f830112611bb857600080fd5b813581811115611bc757600080fd5b8760208260051b8501011115611bdc57600080fd5b602092830195509350611bf29186019050611b01565b90509250925092565b60008060408385031215611c0e57600080fd5b8235611c1981611938565b91506020830135611c2981611938565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611ca957611ca9611c7f565b5060010190565b60008219821115611cc357611cc3611c7f565b500190565b600082821015611cda57611cda611c7f565b500390565b600060208284031215611cf157600080fd5b81516112dc81611938565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d4c5784516001600160a01b031683529383019391830191600101611d27565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d8a57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611da957611da9611c7f565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122086674be158200906b14712d5cde535cdcd7f49c7a2ae3c75f2ea246ba68aa7e964736f6c63430008090033

Deployed ByteCode Sourcemap

4128:13494:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12795:169;;;;;;;;;;-1:-1:-1;12795:169:0;;;;;:::i;:::-;;:::i;:::-;;6623:83;;;;;;;;;;-1:-1:-1;6693:5:0;;;;;;;;;;;;-1:-1:-1;;;6693:5:0;;;;6623:83;;;;;;;:::i;:::-;;;;;;;;7548:193;;;;;;;;;;-1:-1:-1;7548:193:0;;;;;:::i;:::-;;:::i;:::-;;;2634:14:1;;2627:22;2609:41;;2597:2;2582:18;7548:193:0;2469:187:1;5466:41:0;;;;;;;;;;-1:-1:-1;5466:41:0;;;;-1:-1:-1;;;;;5466:41:0;;;;;;-1:-1:-1;;;;;2851:32:1;;;2833:51;;2821:2;2806:18;5466:41:0;2661:229:1;6900:95:0;;;;;;;;;;-1:-1:-1;4672:18:0;6900:95;;;3041:25:1;;;3029:2;3014:18;6900:95:0;2895:177:1;7749:446:0;;;;;;;;;;-1:-1:-1;7749:446:0;;;;;:::i;:::-;;:::i;5771:50::-;;;;;;;;;;;;;;;;6809:83;;;;;;;;;;-1:-1:-1;6809:83:0;;4346:1;3680:36:1;;3668:2;3653:18;6809:83:0;3538:184:1;5514:28:0;;;;;;;;;;-1:-1:-1;5514:28:0;;;;-1:-1:-1;;;;;5514:28:0;;;12972:92;;;;;;;;;;-1:-1:-1;12972:92:0;;;;;:::i;:::-;;:::i;17004:101::-;;;;;;;;;;-1:-1:-1;17004:101:0;;;;;:::i;:::-;;:::i;12552:235::-;;;;;;;;;;;;;:::i;7003:138::-;;;;;;;;;;-1:-1:-1;7003:138:0;;;;;:::i;:::-;;:::i;1615:148::-;;;;;;;;;;;;;:::i;17144:108::-;;;;;;;;;;-1:-1:-1;17144:108:0;;;;;:::i;:::-;;:::i;5663:46::-;;;;;;;;;;;;;;;;5208:43;;;;;;;;;;-1:-1:-1;5208:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1401:79;;;;;;;;;;-1:-1:-1;1439:7:0;1466:6;-1:-1:-1;;;;;1466:6:0;1401:79;;12199:101;;;;;;;;;;-1:-1:-1;12199:101:0;;;;;:::i;:::-;;:::i;5716:48::-;;;;;;;;;;;;;;;;6714:87;;;;;;;;;;-1:-1:-1;6786:7:0;;;;;;;;;;;;-1:-1:-1;;;6786:7:0;;;;6714:87;;16813:139;;;;;;;;;;-1:-1:-1;16813:139:0;;;;;:::i;:::-;;:::i;16470:291::-;;;;;;;;;;-1:-1:-1;16470:291:0;;;;;:::i;:::-;;:::i;7149:199::-;;;;;;;;;;-1:-1:-1;7149:199:0;;;;;:::i;:::-;;:::i;5170:36::-;;;;;;;;;;-1:-1:-1;5170:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12308:236;;;;;;;;;;;;;:::i;17383:234::-;;;;;;;;;;-1:-1:-1;17383:234:0;;;;;:::i;:::-;;:::i;7356:184::-;;;;;;;;;;-1:-1:-1;7356:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7505:18:0;;;7473:7;7505:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7356:184;17260:115;;;;;;;;;;-1:-1:-1;17260:115:0;;;;;:::i;:::-;;:::i;1771:244::-;;;;;;;;;;-1:-1:-1;1771:244:0;;;;;:::i;:::-;;:::i;12795:169::-;1528:6;;-1:-1:-1;;;;;1528:6:0;240:10;1528:22;1520:67;;;;-1:-1:-1;;;1520:67:0;;;;;;;:::i;:::-;;;;;;;;;12871:9:::1;12866:91;12890:5;:12;12886:1;:16;12866:91;;;12941:4;12924;:14;12929:5;12935:1;12929:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12924:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12924:14:0;:21;;-1:-1:-1;;12924:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12904:3;::::1;::::0;::::1;:::i;:::-;;;;12866:91;;;;12795:169:::0;:::o;7548:193::-;7650:4;7672:39;240:10;7695:7;7704:6;7672:8;:39::i;:::-;-1:-1:-1;7729:4:0;7548:193;;;;;:::o;7749:446::-;7881:4;7898:36;7908:6;7916:9;7927:6;7898:9;:36::i;:::-;7945:220;7968:6;240:10;8016:138;8072:6;8016:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8016:19:0;;;;;;:11;:19;;;;;;;;240:10;8016:33;;;;;;;;;;:37;:138::i;:::-;7945:8;:220::i;:::-;-1:-1:-1;8183:4:0;7749:446;;;;;:::o;12972:92::-;1528:6;;-1:-1:-1;;;;;1528:6:0;240:10;1528:22;1520:67;;;;-1:-1:-1;;;1520:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13036:12:0::1;13051:5;13036:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13036:20:0::1;::::0;;12972:92::o;17004:101::-;1528:6;;-1:-1:-1;;;;;1528:6:0;240:10;1528:22;1520:67;;;;-1:-1:-1;;;1520:67:0;;;;;;;:::i;:::-;17071:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17071:26:0::1;-1:-1:-1::0;;;;17071:26:0;;::::1;::::0;;;::::1;::::0;;17004:101::o;12552:235::-;12618:19;;-1:-1:-1;;;;;12618:19:0;240:10;-1:-1:-1;;;;;12602:35:0;;:72;;;-1:-1:-1;12657:17:0;;-1:-1:-1;;;;;12657:17:0;240:10;-1:-1:-1;;;;;12641:33:0;;12602:72;12594:81;;;;;;12715:21;12747:32;12715:21;12747:12;:32::i;:::-;12583:204;12552:235::o;7003:138::-;-1:-1:-1;;;;;7116:16:0;;7069:7;7116:16;;;:7;:16;;;;;;7096:37;;:19;:37::i;1615:148::-;1528:6;;-1:-1:-1;;;;;1528:6:0;240:10;1528:22;1520:67;;;;-1:-1:-1;;;1520:67:0;;;;;;;:::i;:::-;1722:1:::1;1706:6:::0;;1685:40:::1;::::0;-1:-1:-1;;;;;1706:6:0;;::::1;::::0;1685:40:::1;::::0;1722:1;;1685:40:::1;1753:1;1736:19:::0;;-1:-1:-1;;;;;;1736:19:0::1;::::0;;1615:148::o;17144:108::-;1528:6;;-1:-1:-1;;;;;1528:6:0;240:10;1528:22;1520:67;;;;-1:-1:-1;;;1520:67:0;;;;;;;:::i;:::-;17218:12:::1;:26:::0;17144:108::o;12199:101::-;1528:6;;-1:-1:-1;;;;;1528:6:0;240:10;1528:22;1520:67;;;;-1:-1:-1;;;1520:67:0;;;;;;;:::i;:::-;12266:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12266:26:0::1;-1:-1:-1::0;;;;12266:26:0;;::::1;::::0;;;::::1;::::0;;12199:101::o;16813:139::-;1528:6;;-1:-1:-1;;;;;1528:6:0;240:10;1528:22;1520:67;;;;-1:-1:-1;;;1520:67:0;;;;;;;:::i;:::-;16904:19:::1;:40:::0;16813:139::o;16470:291::-;1528:6;;-1:-1:-1;;;;;1528:6:0;240:10;1528:22;1520:67;;;;-1:-1:-1;;;1520:67:0;;;;;;;:::i;:::-;16604:14:::1;:30:::0;;;;16645:15:::1;:32:::0;;;;16688:12:::1;:26:::0;16725:13:::1;:28:::0;16470:291::o;7149:199::-;7254:4;7276:42;240:10;7300:9;7311:6;7276:9;:42::i;12308:236::-;12374:19;;-1:-1:-1;;;;;12374:19:0;240:10;-1:-1:-1;;;;;12358:35:0;;:72;;;-1:-1:-1;12413:17:0;;-1:-1:-1;;;;;12413:17:0;240:10;-1:-1:-1;;;;;12397:33:0;;12358:72;12350:81;;;;;;12442:23;12468:24;12486:4;12468:9;:24::i;:::-;12442:50;;12503:33;12520:15;12503:16;:33::i;17383:234::-;1528:6;;-1:-1:-1;;;;;1528:6:0;240:10;1528:22;1520:67;;;;-1:-1:-1;;;1520:67:0;;;;;;;:::i;:::-;17500:9:::1;17496:114;17515:19:::0;;::::1;17496:114;;;17590:8;17556:18;:31;17575:8;;17584:1;17575:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17556:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17556:31:0;:42;;-1:-1:-1;;17556:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17536:3;::::1;::::0;::::1;:::i;:::-;;;;17496:114;;;;17383:234:::0;;;:::o;17260:115::-;1528:6;;-1:-1:-1;;;;;1528:6:0;240:10;1528:22;1520:67;;;;-1:-1:-1;;;1520:67:0;;;;;;;:::i;:::-;17337:14:::1;:30:::0;17260:115::o;1771:244::-;1528:6;;-1:-1:-1;;;;;1528:6:0;240:10;1528:22;1520:67;;;;-1:-1:-1;;;1520:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1860:22:0;::::1;1852:73;;;::::0;-1:-1:-1;;;1852:73:0;;7166:2:1;1852: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;;1852:73:0::1;6964:402:1::0;1852:73:0::1;1962:6;::::0;;1941:38:::1;::::0;-1:-1:-1;;;;;1941:38:0;;::::1;::::0;1962:6;::::1;::::0;1941:38:::1;::::0;::::1;1990:6;:17:::0;;-1:-1:-1;;;;;;1990:17:0::1;-1:-1:-1::0;;;;;1990:17:0;;;::::1;::::0;;;::::1;::::0;;1771:244::o;8886:369::-;-1:-1:-1;;;;;9013:19:0;;9005:68;;;;-1:-1:-1;;;9005:68:0;;7573:2:1;9005: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;;9005:68:0;7371:400:1;9005:68:0;-1:-1:-1;;;;;9092:21:0;;9084:68;;;;-1:-1:-1;;;9084:68:0;;7978:2:1;9084: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;;9084:68:0;7776:398:1;9084:68:0;-1:-1:-1;;;;;9163:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9215:32;;3041:25:1;;;9215:32:0;;3014:18:1;9215:32:0;;;;;;;8886:369;;;:::o;9263:2330::-;-1:-1:-1;;;;;9385:18:0;;9377:68;;;;-1:-1:-1;;;9377:68:0;;8381:2:1;9377: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;;9377:68:0;8179:401:1;9377:68:0;-1:-1:-1;;;;;9464:16:0;;9456:64;;;;-1:-1:-1;;;9456:64:0;;8787:2:1;9456: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;;9456:64:0;8585:399:1;9456:64:0;9548:1;9539:6;:10;9531:64;;;;-1:-1:-1;;;9531:64:0;;9191:2:1;9531: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;;9531:64:0;8989:405:1;9531:64:0;1439:7;1466:6;-1:-1:-1;;;;;9612:15:0;;;1466:6;;9612:15;;;;:32;;-1:-1:-1;1439:7:0;1466:6;-1:-1:-1;;;;;9631:13:0;;;1466:6;;9631:13;;9612:32;9608:1259;;;9701:11;;-1:-1:-1;;;9701:11:0;;;;9696:144;;1439:7;1466:6;-1:-1:-1;;;;;9741:15:0;;;1466:6;;9741:15;9733:91;;;;-1:-1:-1;;;9733:91:0;;9601:2:1;9733: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;;9733:91:0;9399:427:1;9733:91:0;9874:12;;9864:6;:22;;9856:63;;;;-1:-1:-1;;;9856:63:0;;10033:2:1;9856:63:0;;;10015:21:1;10072:2;10052:18;;;10045:30;10111;10091:18;;;10084:58;10159:18;;9856:63:0;9831:352:1;9856:63:0;-1:-1:-1;;;;;9943:10:0;;;;;;:4;:10;;;;;;;;9942:11;:24;;;;-1:-1:-1;;;;;;9958:8:0;;;;;;:4;:8;;;;;;;;9957:9;9942:24;9934:72;;;;-1:-1:-1;;;9934:72:0;;10390:2:1;9934: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;;9934:72:0;10188:399:1;9934:72:0;10032:13;;-1:-1:-1;;;;;10026:19:0;;;10032:13;;10026:19;10023:146;;10099:14;;10090:6;10074:13;10084:2;10074:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10066:87;;;;-1:-1:-1;;;10066:87:0;;10927:2:1;10066: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;;10066:87:0;10725:399:1;10066:87:0;10185:28;10216:24;10234:4;10216:9;:24::i;:::-;10294:19;;10357:12;;10185:55;;-1:-1:-1;10270:43:0;;;;10333:36;;10330:124;;10426:12;;10403:35;;10330:124;10474:7;:18;;;;-1:-1:-1;10486:6:0;;-1:-1:-1;;;10486:6:0;;;;10485:7;10474:18;:43;;;;-1:-1:-1;10504:13:0;;-1:-1:-1;;;;;10496:21:0;;;10504:13;;10496:21;;10474:43;:58;;;;-1:-1:-1;10521:11:0;;-1:-1:-1;;;10521:11:0;;;;10474:58;:87;;;;-1:-1:-1;;;;;;10537:24:0;;;;;;:18;:24;;;;;;;;10536:25;10474:87;:114;;;;-1:-1:-1;;;;;;10566:22:0;;;;;;:18;:22;;;;;;;;10565:23;10474:114;10470:386;;;10609:38;10626:20;10609:16;:38::i;:::-;10695:21;10739:22;;10735:106;;10786:35;10799:21;10786:12;:35::i;:::-;10590:266;10470:386;9646:1221;;9608:1259;-1:-1:-1;;;;;10943:24:0;;10879:12;10943:24;;;:18;:24;;;;;;10894:4;;10943:24;;;:50;;-1:-1:-1;;;;;;10971:22:0;;;;;;:18;:22;;;;;;;;10943:50;10942:102;;;-1:-1:-1;11007:13:0;;-1:-1:-1;;;;;10999:21:0;;;11007:13;;10999:21;;;;:44;;-1:-1:-1;11030:13:0;;-1:-1:-1;;;;;11024:19:0;;;11030:13;;11024:19;;10999:44;10938:594;;;-1:-1:-1;11071:5:0;10938:594;;;11154:13;;-1:-1:-1;;;;;11146:21:0;;;11154:13;;11146:21;:55;;;;-1:-1:-1;11185:15:0;;-1:-1:-1;;;;;11171:30:0;;;11185:15;;11171:30;;11146:55;11143:162;;;11234:14;;11222:9;:26;11277:12;;11267:7;:22;11143:162;11364:13;;-1:-1:-1;;;;;11358:19:0;;;11364:13;;11358:19;:55;;;;-1:-1:-1;11397:15:0;;-1:-1:-1;;;;;11381:32:0;;;11397:15;;11381:32;;11358:55;11354:165;;;11446:15;;11434:9;:27;11490:13;;11480:7;:23;11354:165;11544:41;11559:4;11565:2;11569:6;11577:7;11544:14;:41::i;2379:224::-;2499:7;2535:12;2527:6;;;;2519:29;;;;-1:-1:-1;;;2519:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2559:9:0;2571:5;2575:1;2571;:5;:::i;:::-;2559:17;2379:224;-1:-1:-1;;;;;2379:224:0:o;12092:99::-;12149:17;;:34;;-1:-1:-1;;;;;12149:17:0;;;;:34;;;;;12176:6;;12149:17;:34;:17;:34;12176:6;12149:17;:34;;;;;;;;;;;;;;;;;;;8203:323;8298:7;8356;;8345;:18;;8323:110;;;;-1:-1:-1;;;8323:110:0;;11461:2:1;8323: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;;8323:110:0;11259:406:1;8323:110:0;8444:19;8466:10;:8;:10::i;:::-;8444:32;-1:-1:-1;8494:24:0;:7;8444:32;8494:11;:24::i;:::-;8487:31;8203:323;-1:-1:-1;;;8203:323:0:o;11601:483::-;5915:6;:13;;-1:-1:-1;;;;5915:13:0;-1:-1:-1;;;5915:13:0;;;11703:16:::1;::::0;;11717:1:::1;11703:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11703:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11703:16:0::1;11679:40;;11748:4;11730;11735:1;11730:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11730:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11774:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11774:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11730:7;;11774:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11764:4;11769:1;11764:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11764:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11839:15:::1;::::0;11807:62:::1;::::0;11824:4:::1;::::0;11839:15:::1;11857:11:::0;11807:8:::1;:62::i;:::-;11880:15;::::0;:196:::1;::::0;-1:-1:-1;;;11880:196:0;;-1:-1:-1;;;;;11880:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11961:11;;11880:15:::1;::::0;12003:4;;12030::::1;::::0;12050:15:::1;::::0;11880:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5951:6:0;:14;;-1:-1:-1;;;;5951:14:0;;;-1:-1:-1;;;;11601:483:0:o;13072:282::-;13228:7;13223:28;;13237:14;:12;:14::i;:::-;13262:44;13280:6;13288:9;13299:6;13262:17;:44::i;:::-;13322:7;13317:29;;13331:15;8817:17;;8805:9;:29;8855:15;;8845:7;:25;8761:117;16033:164;16075:7;16096:15;16113;16132:19;:17;:19::i;:::-;16095:56;;-1:-1:-1;16095:56:0;-1:-1:-1;16169:20:0;16095:56;;16169:11;:20::i;:::-;16162:27;;;;16033:164;:::o;2865:132::-;2923:7;2950:39;2954:1;2957;2950:39;;;;;;;;;;;;;;;;;:3;:39::i;8534:219::-;8581:9;;:14;:30;;;;-1:-1:-1;8599:7:0;;:12;8581:30;8577:43;;;8534:219::o;8577:43::-;8652:9;;;8632:17;:29;8690:7;;;8672:15;:25;-1:-1:-1;8710:13:0;;;;8734:11;8534:219::o;13362:610::-;13509:15;13539:23;13577:12;13604:23;13642:12;13669:13;13696:19;13707:7;13696:10;:19::i;:::-;-1:-1:-1;;;;;13744:15:0;;;;;;:7;:15;;;;;;13494:221;;-1:-1:-1;13494:221:0;;-1:-1:-1;13494:221:0;;-1:-1:-1;13494:221:0;-1:-1:-1;13494:221:0;-1:-1:-1;13494:221:0;-1:-1:-1;13744:28:0;;13494:221;13744:19;:28::i;:::-;-1:-1:-1;;;;;13726:15:0;;;;;;;:7;:15;;;;;;:46;;;;13804:18;;;;;;;:39;;13827:15;13804:22;:39::i;:::-;-1:-1:-1;;;;;13783:18:0;;;;;;:7;:18;;;;;:60;13854:16;13864:5;13854:9;:16::i;:::-;13881:23;13893:4;13899;13881:11;:23::i;:::-;13937:9;-1:-1:-1;;;;;13920:44:0;13929:6;-1:-1:-1;;;;;13920:44:0;;13948:15;13920:44;;;;3041:25:1;;3029:2;3014:18;;2895:177;13920:44:0;;;;;;;;13483:489;;;;;;13362:610;;;:::o;16205:257::-;16303:7;;16256;;;;4672:18;16371:20;16303:7;4672:18;16371:11;:20::i;:::-;16361:7;:30;16357:61;;;-1:-1:-1;;16401:7:0;;;4672:18;;-1:-1:-1;16205:257:0;-1:-1:-1;16205:257:0:o;16357:61::-;16437:7;;16446;;-1:-1:-1;16205:257:0;-1:-1:-1;16205:257:0:o;3005:223::-;3125:7;3160:12;3153:5;3145:28;;;;-1:-1:-1;;;3145:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3184:9:0;3196:5;3200:1;3196;:5;:::i;14391:615::-;14491:7;14513;14535;14557;14579;14601;14637:23;14662:12;14676:13;14706:40;14718:7;14727:9;;14738:7;;14706:11;:40::i;:::-;14636:110;;;;;;14757:19;14779:10;:8;:10::i;:::-;14757:32;;14801:15;14818:23;14843:12;14872:46;14884:7;14893:4;14899:5;14906:11;14872;:46::i;:::-;14800:118;;-1:-1:-1;14800:118:0;-1:-1:-1;14800:118:0;-1:-1:-1;14969:15:0;;-1:-1:-1;14986:4:0;;-1:-1:-1;14992:5:0;;-1:-1:-1;;;;;14391:615:0;;;;;;;:::o;2235:136::-;2293:7;2320:43;2324:1;2327;2320:43;;;;;;;;;;;;;;;;;:3;:43::i;2048:179::-;2106:7;;2138:5;2142:1;2138;:5;:::i;:::-;2126:17;;2167:1;2162;:6;;2154:46;;;;-1:-1:-1;;;2154:46:0;;13335:2:1;2154:46:0;;;13317:21:1;13374:2;13354:18;;;13347:30;13413:29;13393:18;;;13386:57;13460:18;;2154:46:0;13133:351:1;13980:211:0;14033:19;14055:10;:8;:10::i;:::-;14033:32;-1:-1:-1;14076:13:0;14092:22;:5;14033:32;14092:9;:22::i;:::-;14166:4;14150:22;;;;:7;:22;;;;;;14076:38;;-1:-1:-1;14150:33:0;;14076:38;14150:26;:33::i;:::-;14141:4;14125:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;13980:211:0:o;14199:147::-;14277:7;;:17;;14289:4;14277:11;:17::i;:::-;14267:7;:27;14318:10;;:20;;14333:4;14318:14;:20::i;:::-;14305:10;:33;-1:-1:-1;;14199:147:0:o;15014:469::-;15183:7;;;;15277:30;15303:3;15277:21;:7;15289:8;15277:11;:21::i;:::-;:25;;:30::i;:::-;15262:45;-1:-1:-1;15318:13:0;15334:28;15358:3;15334:19;:7;15346:6;15334:11;:19::i;:28::-;15318:44;-1:-1:-1;15373:23:0;15399:28;15318:44;15399:17;:7;15411:4;15399:11;:17::i;:::-;:21;;:28::i;:::-;15373:54;15463:4;;-1:-1:-1;15469:5:0;;-1:-1:-1;15014:469:0;;-1:-1:-1;;;;;15014:469:0:o;15491:534::-;15685:7;;;;15782:24;:7;15794:11;15782;:24::i;:::-;15764:42;-1:-1:-1;15817:12:0;15832:21;:4;15841:11;15832:8;:21::i;:::-;15817:36;-1:-1:-1;15864:13:0;15880:22;:5;15890:11;15880:9;:22::i;:::-;15864:38;-1:-1:-1;15913:23:0;15939:28;15864:38;15939:17;:7;15951:4;15939:11;:17::i;:28::-;15986:7;;;;-1:-1:-1;16012:4:0;;-1:-1:-1;15491:534:0;;-1:-1:-1;;;;;;;15491:534:0:o;2611:246::-;2669:7;2693:6;2689:47;;-1:-1:-1;2723:1:0;2716:8;;2689:47;2746:9;2758:5;2762:1;2758;:5;:::i;:::-;2746:17;-1:-1:-1;2791:1:0;2782:5;2786:1;2746:17;2782:5;:::i;:::-;:10;2774:56;;;;-1:-1:-1;;;2774:56:0;;13864:2:1;2774: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;;2774:56:0;13662:397:1;14:127;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:1121::-;505:6;536:2;579;567:9;558:7;554:23;550:32;547:52;;;595:1;592;585:12;547:52;635:9;622:23;664:18;705:2;697:6;694:14;691:34;;;721:1;718;711:12;691:34;759:6;748:9;744:22;734:32;;804:7;797:4;793:2;789:13;785:27;775:55;;826:1;823;816:12;775:55;862:2;849:16;884:2;880;877:10;874:36;;;890:18;;:::i;:::-;936:2;933:1;929:10;968:2;962:9;1031:2;1027:7;1022:2;1018;1014:11;1010:25;1002:6;998:38;1086:6;1074:10;1071:22;1066:2;1054:10;1051:18;1048:46;1045:72;;;1097:18;;:::i;:::-;1133:2;1126:22;1183:18;;;1217:15;;;;-1:-1:-1;1259:11:1;;;1255:20;;;1287:19;;;1284:39;;;1319:1;1316;1309:12;1284:39;1343:11;;;;1363:148;1379:6;1374:3;1371:15;1363:148;;;1445:23;1464:3;1445:23;:::i;:::-;1433:36;;1396:12;;;;1489;;;;1363:148;;;1530:6;421:1121;-1:-1:-1;;;;;;;;421:1121:1:o;1547:597::-;1659:4;1688:2;1717;1706:9;1699:21;1749:6;1743:13;1792:6;1787:2;1776:9;1772:18;1765:34;1817:1;1827:140;1841:6;1838:1;1835:13;1827:140;;;1936:14;;;1932:23;;1926:30;1902:17;;;1921:2;1898:26;1891:66;1856:10;;1827:140;;;1985:6;1982:1;1979:13;1976:91;;;2055:1;2050:2;2041:6;2030:9;2026:22;2022:31;2015:42;1976:91;-1:-1:-1;2128:2:1;2107:15;-1:-1:-1;;2103:29:1;2088:45;;;;2135:2;2084:54;;1547:597;-1:-1:-1;;;1547:597:1:o;2149:315::-;2217:6;2225;2278:2;2266:9;2257:7;2253:23;2249:32;2246:52;;;2294:1;2291;2284:12;2246:52;2333:9;2320:23;2352:31;2377:5;2352:31;:::i;:::-;2402:5;2454:2;2439:18;;;;2426:32;;-1:-1:-1;;;2149:315:1:o;3077:456::-;3154:6;3162;3170;3223:2;3211:9;3202:7;3198:23;3194:32;3191:52;;;3239:1;3236;3229:12;3191:52;3278:9;3265:23;3297:31;3322:5;3297:31;:::i;:::-;3347:5;-1:-1:-1;3404:2:1;3389:18;;3376:32;3417:33;3376:32;3417:33;:::i;:::-;3077:456;;3469:7;;-1:-1:-1;;;3523:2:1;3508:18;;;;3495:32;;3077:456::o;3935:247::-;3994:6;4047:2;4035:9;4026:7;4022:23;4018:32;4015:52;;;4063:1;4060;4053:12;4015:52;4102:9;4089:23;4121:31;4146:5;4121:31;:::i;4187:160::-;4252:20;;4308:13;;4301:21;4291:32;;4281:60;;4337:1;4334;4327:12;4352:180;4408:6;4461:2;4449:9;4440:7;4436:23;4432:32;4429:52;;;4477:1;4474;4467:12;4429:52;4500:26;4516:9;4500:26;:::i;4537:180::-;4596:6;4649:2;4637:9;4628:7;4624:23;4620:32;4617:52;;;4665:1;4662;4655:12;4617:52;-1:-1:-1;4688:23:1;;4537:180;-1:-1:-1;4537:180:1:o;4722:385::-;4808:6;4816;4824;4832;4885:3;4873:9;4864:7;4860:23;4856:33;4853:53;;;4902:1;4899;4892:12;4853:53;-1:-1:-1;;4925:23:1;;;4995:2;4980:18;;4967:32;;-1:-1:-1;5046:2:1;5031:18;;5018:32;;5097:2;5082:18;5069:32;;-1:-1:-1;4722:385:1;-1:-1:-1;4722:385:1:o;5112:689::-;5204:6;5212;5220;5273:2;5261:9;5252:7;5248:23;5244:32;5241:52;;;5289:1;5286;5279:12;5241:52;5329:9;5316:23;5358:18;5399:2;5391:6;5388:14;5385:34;;;5415:1;5412;5405:12;5385:34;5453:6;5442:9;5438:22;5428:32;;5498:7;5491:4;5487:2;5483:13;5479:27;5469:55;;5520:1;5517;5510:12;5469:55;5560:2;5547:16;5586:2;5578:6;5575:14;5572:34;;;5602:1;5599;5592:12;5572:34;5657:7;5650:4;5640:6;5637:1;5633:14;5629:2;5625:23;5621:34;5618:47;5615:67;;;5678:1;5675;5668:12;5615:67;5709:4;5701:13;;;;-1:-1:-1;5733:6:1;-1:-1:-1;5758:37:1;;5774:20;;;-1:-1:-1;5758:37:1;:::i;:::-;5748:47;;5112:689;;;;;:::o;5806:388::-;5874:6;5882;5935:2;5923:9;5914:7;5910:23;5906:32;5903:52;;;5951:1;5948;5941:12;5903:52;5990:9;5977:23;6009:31;6034:5;6009:31;:::i;:::-;6059:5;-1:-1:-1;6116:2:1;6101:18;;6088:32;6129:33;6088:32;6129:33;:::i;:::-;6181:7;6171:17;;;5806:388;;;;;:::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

Swarm Source

ipfs://86674be158200906b14712d5cde535cdcd7f49c7a2ae3c75f2ea246ba68aa7e9
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

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.