Contract 0x5FDaA123bf828d0D6A1C4Ae62a95A6b3bade57C6

Token Contract 
 

Contract Overview

Sweep Capital: SWEEP Token
Balance:
0 Ether

EtherValue:
$0.00

Token:
 
Txn Hash
Method
Block
From
To
Value
0xbb8e4b1a9ce9034add6e1ffb3fba766aa097f59eb0482189086cbe1328bcd6aeApprove160920042022-12-01 19:20:357 days 10 hrs agoFake_Phishing7044 IN  Sweep Capital: SWEEP Token0 Ether0.00061652 13.21655226
0xe1574c8ba825b666482bf2eed4e19466e541043e25bd792083736f2cb315df19Approve158558912022-10-29 19:46:5940 days 10 hrs ago0x7dc61787c580a4d79d8eec61545bf0813189646f IN  Sweep Capital: SWEEP Token0 Ether0.00030562 11.4260868
0xa81919ee5f2f2905f93fc7f7cd540c76494e2839c7ff546f54d8d276720698edApprove158558902022-10-29 19:46:4740 days 10 hrs ago0x7dc61787c580a4d79d8eec61545bf0813189646f IN  Sweep Capital: SWEEP Token0 Ether0.00053312 11.4286839
0xe7e3c647a234fbc3744e43c838eca67671c021b24e7a4ce6ea1a88959ec2368dApprove157437922022-10-14 3:53:4756 days 2 hrs ago0xa22795166ef605e1db23f7a429f18b73fc9e7438 IN  Sweep Capital: SWEEP Token0 Ether0.00059947 12.85102007
0x7c65c84b973e3a87f43d3bad4646550a07de6f00ea61608dd50827bf9a9c9628Transfer156442322022-09-30 6:01:5970 days 7 mins ago0xc81dd492bfbfe521dc320e2cb6e305d656eed54f IN  Sweep Capital: SWEEP Token0 Ether0.0083024 38.813864
0x41a2e76024bfcdeb372f5d0bf9312da38eaf4976972f085df976469468668251Approve155231332022-09-12 21:23:5387 days 8 hrs ago0xece87dff43f0cc8a3c93a5193959edbc9cea9dfb IN  Sweep Capital: SWEEP Token0 Ether0.00067913 14.55872137
0xaad870ecee8042645f774771e34214c185196198d9f7c48f757894364c83100eApprove155123222022-09-11 2:28:3289 days 3 hrs ago0xea062d7d9f3209c374b3947f75c9922d1df6e25a IN  Sweep Capital: SWEEP Token0 Ether0.00034434 7.38167861
0x3cdc9b51156b7a820b1326371335adb84f07b3a441cb86131bf6d71465aff80dTransfer155084552022-09-10 11:01:4489 days 19 hrs ago0xf44a20c0c0cd25caa7dcd04798eea5cf47b690c6 IN  Sweep Capital: SWEEP Token0 Ether0.00144385 6.75002947
0x2eef8827092a9c78fa46b7a6b63c891049ec2ad490fa9f1608e3fc78209bf88dApprove155052202022-09-09 22:16:0690 days 7 hrs ago0xf44a20c0c0cd25caa7dcd04798eea5cf47b690c6 IN  Sweep Capital: SWEEP Token0 Ether0.00112779 24.17662886
0xdf5d318c8901dcfa088cf85acef9689ee9142faae37b7b4ef2ca0baf1519ca47Approve154976582022-09-08 16:33:4591 days 13 hrs ago0x3b099e77e5a27974daa5e03c572210f20c947c8e IN  Sweep Capital: SWEEP Token0 Ether0.00112973 24.21834992
0x0bed216629c0570a364a46e0b128a48e32b5b1416386dd3b6e65da6da44faf6cApprove154735782022-09-04 19:57:5995 days 10 hrs ago0xb2d96b68b6377a2a566a95f14df5d541b604f6a5 IN  Sweep Capital: SWEEP Token0 Ether0.00077496 16.61304239
0xec701d4483acf048c7774dd52f5632a1209f65c5c66d59ba03ad5019408f34ecApprove153334882022-08-13 12:43:59117 days 17 hrs ago0x5aedd3fba919c0b8be8486f48a24300eea7b5c58 IN  Sweep Capital: SWEEP Token0 Ether0.00016926 6.94746527
0xbf56f3eec9c9bcfeef334a57a0310c86b19bce991761769e8f78da65b3c258a5Approve153062632022-08-09 5:57:00122 days 12 mins ago0xc81dd492bfbfe521dc320e2cb6e305d656eed54f IN  Sweep Capital: SWEEP Token0 Ether0.00060665 13.00499932
0xc7e913f885180adb573bc1588397d2367234943219f7dc02fdc4a185aceda6f6Approve152460652022-07-30 20:52:11131 days 9 hrs ago0xcf68db67fab2d6f780ecbb8a36bbc51cb5885160 IN  Sweep Capital: SWEEP Token0 Ether0.00029931 6.41654452
0x04174cdaf25ff8cdbe28aa46a92dc27b3596207874d91534ab0b58c4c12b7d36Transfer151145772022-07-10 11:13:29151 days 18 hrs ago0xe9c672a8b5620d76e83abb70e23b0a9adbfd68b1 IN  Sweep Capital: SWEEP Token0 Ether0.00239488 11.19610512
0x1a87bba202865d2e17094d533029a3da761850b3e41fcc7eb3a82f40bd957926Approve150068592022-06-22 8:56:41169 days 21 hrs ago0x0ebbd67b33e472f6fcd994e0d3694b1c6b889fd5 IN  Sweep Capital: SWEEP Token0 Ether0.00118341 25.36897814
0x60e99df5774197a4cb780e9fb7cb15c2daeea481209bc441cf0b0e0501d9b667Approve149835092022-06-18 6:15:43173 days 23 hrs ago0x563bf4f6a9c5037bcf29f67ddda884362967a991 IN  Sweep Capital: SWEEP Token0 Ether0.00083705 17.94411399
0xb297a5d8087d3f447a52f3101e37d8410d3f43ec3b1c5a527a1556c736a5a5f8Approve149693312022-06-15 19:58:12176 days 10 hrs ago0x3ed2543d08804ac6bfad362e2cbd29835c140ce8 IN  Sweep Capital: SWEEP Token0 Ether0.00438313 93.96193962
0x11553250f8f327bb3094303b0a8b55d9708765213c55f0fed180034c4565e46bApprove149684162022-06-15 16:17:24176 days 13 hrs ago0x6a1056f18668b19cac7a225cb922fee0e0e2f7ef IN  Sweep Capital: SWEEP Token0 Ether0.00309056 66.25298571
0x72967a7355defa94eddc6e9e599a9954767c31567bc3325ba84e04443599f40fApprove149682782022-06-15 15:42:34176 days 14 hrs ago0xe708f915462568ae532a0ac5019b6db5fd9bf741 IN  Sweep Capital: SWEEP Token0 Ether0.00341009 73.10271946
0xf45bd08cc11877dbeccc43f305dd0c7b48dad971906350ce0e76af44c65afaccApprove149682692022-06-15 15:41:16176 days 14 hrs ago0x7f911e247f75a57254064609fa216f500669cc70 IN  Sweep Capital: SWEEP Token0 Ether0.00437262 93.7365482
0x48fe418c093d70bee210ea05061ccff5a5bb28e33c6ea3d0146c7582f7045424Approve149681932022-06-15 15:21:56176 days 14 hrs ago0x2ff43cca8b8b25f3bd1a3dc0a19777d06dc352da IN  Sweep Capital: SWEEP Token0 Ether0.00209594 78.35896076
0x6fb80faf3a30db8fe8b78fc91dba070ef685ac934cbb203a81125648e589fdf1Approve149681892022-06-15 15:20:38176 days 14 hrs ago0x2ff43cca8b8b25f3bd1a3dc0a19777d06dc352da IN  Sweep Capital: SWEEP Token0 Ether0.00305808 65.55663204
0x81216a8c5acf46fdc65f445287fdc4c14fba7d486e3a7e6abe099f5bbe5b72b9Approve149681422022-06-15 15:09:45176 days 14 hrs ago0xfe6b64780659b56ff057b9604e3dda22095549c4 IN  Sweep Capital: SWEEP Token0 Ether0.00293349 62.88583487
0xc60474051c2797876f73f641692b7c52913acaa0ffe60ea19859659af9aa82eeApprove149681342022-06-15 15:07:53176 days 15 hrs ago0x949eead08fdb6010c29602bdd6b0e964c66ea64e IN  Sweep Capital: SWEEP Token0 Ether0.00340071 72.90157197
[ Download CSV Export 

OVERVIEW

Sweep Capital provides a simple way for NFT and Defi users to benefit from market opportunities. SWEEP returns profits to users on Ethereum. By holding SWEEP, the user earns both reflections from buys/sells and a future share of profits from the NFT investment portfolio.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x395d0525fd9f74beee0c67b74016ae5bb9595d7f1eb48e4747ebda56412610f7160920092022-12-01 19:21:357 days 10 hrs ago Sweep Capital: SWEEP Token0x030f38b50f11e3b580c952792904f0907b5702b60.01803847 Ether
0x395d0525fd9f74beee0c67b74016ae5bb9595d7f1eb48e4747ebda56412610f7160920092022-12-01 19:21:357 days 10 hrs ago Uniswap V2: Router 2 Sweep Capital: SWEEP Token0.01803847 Ether
0x69b861dc035d9990517ff19d797dd9b89525af575d00091d26e1c40c0e0a30b3159200332022-11-07 18:47:3531 days 11 hrs ago Sweep Capital: SWEEP Token0x030f38b50f11e3b580c952792904f0907b5702b60.00485806 Ether
0x69b861dc035d9990517ff19d797dd9b89525af575d00091d26e1c40c0e0a30b3159200332022-11-07 18:47:3531 days 11 hrs ago Uniswap V2: Router 2 Sweep Capital: SWEEP Token0.00485806 Ether
0x4e1067f9c96a9c43a4da23203100bad325a44f099e76df1d0b44271148d3c3ad159200262022-11-07 18:46:1131 days 11 hrs ago Sweep Capital: SWEEP Token0x030f38b50f11e3b580c952792904f0907b5702b60.02021851 Ether
0x4e1067f9c96a9c43a4da23203100bad325a44f099e76df1d0b44271148d3c3ad159200262022-11-07 18:46:1131 days 11 hrs ago Uniswap V2: Router 2 Sweep Capital: SWEEP Token0.02021851 Ether
0x7c65c84b973e3a87f43d3bad4646550a07de6f00ea61608dd50827bf9a9c9628156442322022-09-30 6:01:5970 days 7 mins ago Sweep Capital: SWEEP Token0x030f38b50f11e3b580c952792904f0907b5702b60.00468616 Ether
0x7c65c84b973e3a87f43d3bad4646550a07de6f00ea61608dd50827bf9a9c9628156442322022-09-30 6:01:5970 days 7 mins ago Uniswap V2: Router 2 Sweep Capital: SWEEP Token0.00468616 Ether
0x3cdc9b51156b7a820b1326371335adb84f07b3a441cb86131bf6d71465aff80d155084552022-09-10 11:01:4489 days 19 hrs ago Sweep Capital: SWEEP Token0x030f38b50f11e3b580c952792904f0907b5702b60.01868925 Ether
0x3cdc9b51156b7a820b1326371335adb84f07b3a441cb86131bf6d71465aff80d155084552022-09-10 11:01:4489 days 19 hrs ago Uniswap V2: Router 2 Sweep Capital: SWEEP Token0.01868925 Ether
0x6ae14b80f9a237cf9811e75d09891fda2d7e4dd54ce0c8d19a1ded1ce3355fcd154976602022-09-08 16:34:0791 days 13 hrs ago Sweep Capital: SWEEP Token0x030f38b50f11e3b580c952792904f0907b5702b60.0241697 Ether
0x6ae14b80f9a237cf9811e75d09891fda2d7e4dd54ce0c8d19a1ded1ce3355fcd154976602022-09-08 16:34:0791 days 13 hrs ago Uniswap V2: Router 2 Sweep Capital: SWEEP Token0.0241697 Ether
0xef657b0402520297a3c882ccad88800739557896d8e1213d2b8223411d43ac26154737002022-09-04 20:26:3395 days 9 hrs ago Sweep Capital: SWEEP Token0x030f38b50f11e3b580c952792904f0907b5702b60.00061358 Ether
0xef657b0402520297a3c882ccad88800739557896d8e1213d2b8223411d43ac26154737002022-09-04 20:26:3395 days 9 hrs ago Uniswap V2: Router 2 Sweep Capital: SWEEP Token0.00061358 Ether
0x04174cdaf25ff8cdbe28aa46a92dc27b3596207874d91534ab0b58c4c12b7d36151145772022-07-10 11:13:29151 days 18 hrs ago Sweep Capital: SWEEP Token0x030f38b50f11e3b580c952792904f0907b5702b60.00003203 Ether
0x04174cdaf25ff8cdbe28aa46a92dc27b3596207874d91534ab0b58c4c12b7d36151145772022-07-10 11:13:29151 days 18 hrs ago Uniswap V2: Router 2 Sweep Capital: SWEEP Token0.00003203 Ether
0x4c571c03a1afffb885de2dd20737880f6422e55265a597d79c4a59e1c25585e8151041702022-07-08 20:38:24153 days 9 hrs ago Sweep Capital: SWEEP Token0x030f38b50f11e3b580c952792904f0907b5702b60.00111151 Ether
0x4c571c03a1afffb885de2dd20737880f6422e55265a597d79c4a59e1c25585e8151041702022-07-08 20:38:24153 days 9 hrs ago Uniswap V2: Router 2 Sweep Capital: SWEEP Token0.00111151 Ether
0x5c748a96b0cfc3037242af2e84b4271faf880eadae9234a5b727775f4663bab7150826192022-07-05 12:50:06156 days 17 hrs ago Sweep Capital: SWEEP Token0x030f38b50f11e3b580c952792904f0907b5702b60.01408665 Ether
0x5c748a96b0cfc3037242af2e84b4271faf880eadae9234a5b727775f4663bab7150826192022-07-05 12:50:06156 days 17 hrs ago Uniswap V2: Router 2 Sweep Capital: SWEEP Token0.01408665 Ether
0xca1c3295559720b1dfd3908776ba99d200a58114fee8336abbe83d7cd3f752a1150068682022-06-22 8:59:05169 days 21 hrs ago Sweep Capital: SWEEP Token0x030f38b50f11e3b580c952792904f0907b5702b60.01916092 Ether
0xca1c3295559720b1dfd3908776ba99d200a58114fee8336abbe83d7cd3f752a1150068682022-06-22 8:59:05169 days 21 hrs ago Uniswap V2: Router 2 Sweep Capital: SWEEP Token0.01916092 Ether
0xe0aadb9e2fb2a9e80061499521d4dfc49b17beca2d2f70db00c1da45074fcadc149835132022-06-18 6:16:38173 days 23 hrs ago Sweep Capital: SWEEP Token0x030f38b50f11e3b580c952792904f0907b5702b60.02093382 Ether
0xe0aadb9e2fb2a9e80061499521d4dfc49b17beca2d2f70db00c1da45074fcadc149835132022-06-18 6:16:38173 days 23 hrs ago Uniswap V2: Router 2 Sweep Capital: SWEEP Token0.02093382 Ether
0x7fe501031405892808225defe7ff14326c9920077580c012723b693e82739bbc149763132022-06-17 0:47:47175 days 5 hrs ago Sweep Capital: SWEEP Token0x030f38b50f11e3b580c952792904f0907b5702b60.01199721 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SweepCapital

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-02-26
*/

pragma solidity ^0.8.12;
pragma experimental ABIEncoderV2;

// SPDX-License-Identifier:MIT

// ERC20 token standard interface
interface IERC20 {
    function totalSupply() external view returns (uint256);

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

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

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

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

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

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

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

// Dex Router02 contract interface
interface IUniswapRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

// Main token Contract

contract SweepCapital is Context, IERC20, Ownable {
    using SafeMath for uint256;

    // all private variables and functions are only for contract use
    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 _tTotal = 10 * 1e7 * 1e9; // 100 Million total supply
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 public maxHodingAmount = 2000000000000001; //2% of 100 Million

    string private _name = "Sweep Capital"; // token name
    string private _symbol = "SWEEP"; // token ticker
    uint8 private _decimals = 9; // token decimals

    IUniswapRouter public dexRouter; // Dex router address
    address public dexPair; // LP token address
    mapping(address => bool) private _isUniswapPair;

    address payable public teamWallet; //team wallet

    bool public reflectionFees = true; // should be false to charge fee

    // Normal sell tax fee
    uint256 public _holderRedistributionFee = 40; // 4% will be distributed among holder as token divideneds
    uint256 public _teamWalletFee = 60; // 6% will be added to the team pool

    // for smart contract use
    uint256 private _currentRedistributionFee;
    uint256 private _currentTeamWalletFee;

    //for buy back
    uint256 private _numOfTokensToExchangeForTeam = 100*10**9;
    bool private inSwap;
    bool public swapEnabled = true;

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    // constructor for initializing the contract
    constructor( ) {
        _rOwned[owner()] = _rTotal;

        teamWallet = payable(0x030f38B50F11E3B580c952792904F0907b5702b6);

        IUniswapRouter _dexRouter = IUniswapRouter(
          0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        // Create a Dex pair for this new token
        dexPair = IUniswapFactory(_dexRouter.factory()).createPair(
            address(this),
            _dexRouter.WETH()
        );

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

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

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

    // token standards by Blockchain

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

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

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

    function totalSupply() public view override returns (uint256) {
        return _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 increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    // public view able functions

    // to check wether the address is excluded from fee or not
    function isExcludedFromFee(address _account) public view returns (bool) {
        return _isExcludedFromFee[_account];
    }

    // to check how much tokens get redistributed among holders till now
    function totalHolderDistribution() public view returns (uint256) {
        return _tFeeTotal;
    }

    // For manual distribution to the holders
    function deliver(uint256 tAmount) public {
        address sender = _msgSender();
        uint256 rAmount = tAmount.mul(_getRate());
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rTotal = _rTotal.sub(rAmount);
        _tFeeTotal = _tFeeTotal.add(tAmount);
    }

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

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

    // internal functions for contract use

    function totalFeePerTx(uint256 tAmount) internal view returns (uint256) {
        uint256 percentage = tAmount
            .mul(
                _currentRedistributionFee
                    .add(_currentTeamWalletFee)
            )
            .div(1e3);
        return percentage;
    }

    function _getRate() private view returns (uint256) {
        return _rTotal.div(_tTotal);
    }

    function removeAllFee() private {
        _currentRedistributionFee = 0;
        _currentTeamWalletFee = 0;
    }

    function setTaxationFee() private {
        _currentRedistributionFee = _holderRedistributionFee;
        _currentTeamWalletFee = _teamWalletFee;
    }



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

    // base function to transafer tokens
    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, "ERC20: transfer amount must be greater than zero");
        
        // is the token balance of this contract address over the min number of
        // tokens that we need to initiate a swap?
        // also, don't get caught in a circular team event.
        // also, don't swap if sender is uniswap pair.
        uint256 contractTokenBalance = balanceOf(address(this));

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

        bool overMinTokenBalance = contractTokenBalance >_numOfTokensToExchangeForTeam;
        if (
            !inSwap &&
            swapEnabled &&
            overMinTokenBalance &&
            from != dexPair || _isUniswapPair[from]
        ) 
        {

            // We need to swap the current tokens to ETH and send to the team wallet
            swapTokensForEth(contractTokenBalance);

            uint256 contractETHBalance = address(this).balance;
            if (contractETHBalance > 0) {
                sendETHToTeam(address(this).balance);
            }
        }


        //indicates if fee should be deducted from transfer
        bool takeFee = false;
        
        // take fee only on swaps
        if (
          (from == dexPair ||
            to == dexPair ||
            _isUniswapPair[to] ||
            _isUniswapPair[from]) &&
          !(_isExcludedFromFee[from] || _isExcludedFromFee[to])
        ) {
          takeFee = true;
        }

        if(!(from == owner() || to == owner())){
          //check balance for other not the dex. 
          if(to!=dexPair && !_isUniswapPair[to] && !_isExcludedFromFee[to]){
            require(amount + balanceOf(to) < maxHodingAmount, "ERC20:Wallet Cannot hold more than 2% of total supply.");

          }
        }

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

    //this method is responsible for taking all fee, if takeFee is true
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if((recipient == dexPair || sender == dexPair ) && takeFee ){
          setTaxationFee();
        }
        else{
          removeAllFee();
        }
        _transferStandard(sender, recipient, amount);
    }

    // if both sender and receiver are not excluded from reward
    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        uint256 currentRate = _getRate();
        uint256 tTransferAmount = tAmount.sub(totalFeePerTx(tAmount));
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(
            totalFeePerTx(tAmount).mul(currentRate)
        );
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeamWalletFee(tAmount, currentRate);
        _reflectFee(tAmount);

        emit Transfer(sender, recipient, tTransferAmount);
    }

    // take fees for teamWallet
    function _takeTeamWalletFee(
        uint256 tAmount,
        uint256 currentRate
    ) internal {
        uint256 tFee = tAmount.mul(_currentTeamWalletFee).div(1e3);
        uint256 rFee = tFee.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rFee);

    }


    // for automatic redistribution among all holders on each tx
    function _reflectFee(uint256 tAmount) private {
        uint256 tFee = tAmount.mul(_currentRedistributionFee).div(1e3);
        uint256 rFee = tFee.mul(_getRate());
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }


    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();

        _approve(address(this), address(dexRouter), tokenAmount);

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

    function sendETHToTeam(uint256 amount) private {
        (bool os, ) = payable(teamWallet).call{value: amount}("");
        require(os);
    }

    function isUniswapPair(address _pair) external view returns (bool) {
      if (_pair == dexPair) return true;
      return _isUniswapPair[_pair];
    }


    function addUniswapPair(address _pair) external onlyOwner {
      _isUniswapPair[_pair] = true;
    }

    function removeUniswapPair(address _pair) external onlyOwner {
      _isUniswapPair[_pair] = false;
    }

    // owner can change router and pair address
    function setRoute(IUniswapRouter _router, address _pair) external onlyOwner {
        dexRouter = _router;
        dexPair = _pair;
    }
      //input 10 for 1 percent
    function setRedistributionFee(uint256 _fee) external onlyOwner {
        _holderRedistributionFee = _fee;
    }
        //input 10 for 1 percent
    function setTeamWalletFee(uint256 _teamFee) external onlyOwner {
        _teamWalletFee = _teamFee;
    }

    function excludeFromFee(address account) external onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) external onlyOwner {
        _isExcludedFromFee[account] = false;
    }

    function flipSwapEnable() external onlyOwner{
        if(swapEnabled)
            swapEnabled = false;
        else
            swapEnabled = true; 
    }


}

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) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_holderRedistributionFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamWalletFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"addUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flipSwapEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"isUniswapPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHodingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reflectionFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"removeUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setRedistributionFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IUniswapRouter","name":"_router","type":"address"},{"internalType":"address","name":"_pair","type":"address"}],"name":"setRoute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_teamFee","type":"uint256"}],"name":"setTeamWalletFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalHolderDistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405267016345785d8a0000600581905562000020906000196200047d565b6200002e90600019620004a0565b60065566071afd498d000160085560408051808201909152600d8082526c14ddd9595c0810d85c1a5d185b609a1b60209092019182526200007291600991620003d7565b5060408051808201909152600580825264053574545560dc1b6020909201918252620000a191600a91620003d7565b50600b805460ff19166009179055600e805460ff60a01b1916600160a01b1790556028600f55603c60105564174876e8006013556014805461ff001916610100179055348015620000f157600080fd5b50620000fd3362000387565b60065460016000620001176000546001600160a01b031690565b6001600160a01b03168152602080820192909252604090810160002092909255600e80546001600160a01b03191673030f38b50f11e3b580c952792904f0907b5702b6179055815163c45a015560e01b81529151737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a0155926004808401938290030181865afa158015620001a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cf9190620004c6565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200021d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002439190620004c6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000291573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b79190620004c6565b600c80546001600160a01b0319166001600160a01b03928316179055600b8054610100600160a81b03191661010084841602179055600080548216815260046020526040808220805460ff199081166001908117909255600e54851684528284208054821683179055308452918320805490921617905554166001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200037891815260200190565b60405180910390a35062000535565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b828054620003e590620004f8565b90600052602060002090601f01602090048101928262000409576000855562000454565b82601f106200042457805160ff191683800117855562000454565b8280016001018555821562000454579182015b828111156200045457825182559160200191906001019062000437565b506200046292915062000466565b5090565b5b8082111562000462576000815560010162000467565b6000826200049b57634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620004c157634e487b7160e01b600052601160045260246000fd5b500390565b600060208284031215620004d957600080fd5b81516001600160a01b0381168114620004f157600080fd5b9392505050565b600181811c908216806200050d57607f821691505b602082108114156200052f57634e487b7160e01b600052602260045260246000fd5b50919050565b611bc480620005456000396000f3fe6080604052600436106102085760003560e01c80636ddd171311610118578063a6931ed7116100a0578063ea2f0b371161006f578063ea2f0b371461060c578063f17bd9871461062c578063f242ab411461064c578063f2fde38b1461066c578063fcf0c9c61461068c57600080fd5b8063a6931ed714610566578063a7f404e214610586578063a9059cbb146105a6578063dd62ed3e146105c657600080fd5b80638da5cb5b116100e75780638da5cb5b146104d357806395d89b41146104f15780639cece12e14610506578063a15224ff14610526578063a457c2d71461054657600080fd5b80636ddd17131461046a57806370a0823114610489578063715018a6146104a95780637ffd7fad146104be57600080fd5b8063313ce5671161019b57806350a64fcd1161016a57806350a64fcd146103d05780635342acb4146103e5578063599270441461041e5780635f42ef2a1461043e578063617c98e21461045457600080fd5b8063313ce5671461034e57806339509351146103705780633bd5d17314610390578063437823ec146103b057600080fd5b806318160ddd116101d757806318160ddd146102ce5780631d714470146102ed57806323b872dd1461030e5780632d8381191461032e57600080fd5b80630505e94d1461021457806306fdde03146102365780630758d92414610261578063095ea7b31461029e57600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b5061023461022f366004611876565b6106a2565b005b34801561024257600080fd5b5061024b61070d565b60405161025891906118af565b60405180910390f35b34801561026d57600080fd5b50600b546102869061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610258565b3480156102aa57600080fd5b506102be6102b9366004611904565b61079f565b6040519015158152602001610258565b3480156102da57600080fd5b506005545b604051908152602001610258565b3480156102f957600080fd5b50600e546102be90600160a01b900460ff1681565b34801561031a57600080fd5b506102be610329366004611930565b6107b6565b34801561033a57600080fd5b506102df610349366004611971565b61081f565b34801561035a57600080fd5b50600b5460405160ff9091168152602001610258565b34801561037c57600080fd5b506102be61038b366004611904565b6108aa565b34801561039c57600080fd5b506102346103ab366004611971565b6108e0565b3480156103bc57600080fd5b506102346103cb36600461198a565b610959565b3480156103dc57600080fd5b506007546102df565b3480156103f157600080fd5b506102be61040036600461198a565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561042a57600080fd5b50600e54610286906001600160a01b031681565b34801561044a57600080fd5b506102df600f5481565b34801561046057600080fd5b506102df60085481565b34801561047657600080fd5b506014546102be90610100900460ff1681565b34801561049557600080fd5b506102df6104a436600461198a565b6109a7565b3480156104b557600080fd5b506102346109c9565b3480156104ca57600080fd5b506102346109ff565b3480156104df57600080fd5b506000546001600160a01b0316610286565b3480156104fd57600080fd5b5061024b610a57565b34801561051257600080fd5b506102be61052136600461198a565b610a66565b34801561053257600080fd5b50610234610541366004611971565b610aa6565b34801561055257600080fd5b506102be610561366004611904565b610ad5565b34801561057257600080fd5b5061023461058136600461198a565b610b24565b34801561059257600080fd5b506102346105a136600461198a565b610b6f565b3480156105b257600080fd5b506102be6105c1366004611904565b610bbd565b3480156105d257600080fd5b506102df6105e1366004611876565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561061857600080fd5b5061023461062736600461198a565b610bca565b34801561063857600080fd5b50610234610647366004611971565b610c15565b34801561065857600080fd5b50600c54610286906001600160a01b031681565b34801561067857600080fd5b5061023461068736600461198a565b610c44565b34801561069857600080fd5b506102df60105481565b6000546001600160a01b031633146106d55760405162461bcd60e51b81526004016106cc906119a7565b60405180910390fd5b600b8054610100600160a81b0319166101006001600160a01b0394851602179055600c80546001600160a01b03191691909216179055565b60606009805461071c906119dc565b80601f0160208091040260200160405190810160405280929190818152602001828054610748906119dc565b80156107955780601f1061076a57610100808354040283529160200191610795565b820191906000526020600020905b81548152906001019060200180831161077857829003601f168201915b5050505050905090565b60006107ac338484610cdf565b5060015b92915050565b60006107c3848484610e03565b610815843361081085604051806060016040528060288152602001611b42602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906111bc565b610cdf565b5060019392505050565b600060065482111561088d5760405162461bcd60e51b815260206004820152603160248201527f45524332303a20416d6f756e74206d757374206265206c657373207468616e20604482015270746f74616c207265666c656374696f6e7360781b60648201526084016106cc565b60006108976111f6565b90506108a38382611214565b9392505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916107ac9185906108109086611256565b3360006108f56108ee6111f6565b84906112b5565b6001600160a01b03831660009081526001602052604090205490915061091b9082611334565b6001600160a01b0383166000908152600160205260409020556006546109419082611334565b6006556007546109519084611256565b600755505050565b6000546001600160a01b031633146109835760405162461bcd60e51b81526004016106cc906119a7565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6001600160a01b0381166000908152600160205260408120546107b09061081f565b6000546001600160a01b031633146109f35760405162461bcd60e51b81526004016106cc906119a7565b6109fd6000611376565b565b6000546001600160a01b03163314610a295760405162461bcd60e51b81526004016106cc906119a7565b601454610100900460ff1615610a46576014805461ff0019169055565b6014805461ff001916610100179055565b6060600a805461071c906119dc565b600c546000906001600160a01b0383811691161415610a8757506001919050565b506001600160a01b03166000908152600d602052604090205460ff1690565b6000546001600160a01b03163314610ad05760405162461bcd60e51b81526004016106cc906119a7565b600f55565b60006107ac338461081085604051806060016040528060258152602001611b6a602591393360009081526003602090815260408083206001600160a01b038d16845290915290205491906111bc565b6000546001600160a01b03163314610b4e5760405162461bcd60e51b81526004016106cc906119a7565b6001600160a01b03166000908152600d60205260409020805460ff19169055565b6000546001600160a01b03163314610b995760405162461bcd60e51b81526004016106cc906119a7565b6001600160a01b03166000908152600d60205260409020805460ff19166001179055565b60006107ac338484610e03565b6000546001600160a01b03163314610bf45760405162461bcd60e51b81526004016106cc906119a7565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b03163314610c3f5760405162461bcd60e51b81526004016106cc906119a7565b601055565b6000546001600160a01b03163314610c6e5760405162461bcd60e51b81526004016106cc906119a7565b6001600160a01b038116610cd35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106cc565b610cdc81611376565b50565b6001600160a01b038316610d415760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106cc565b6001600160a01b038216610da25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106cc565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e675760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106cc565b6001600160a01b038216610ec95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106cc565b60008111610f325760405162461bcd60e51b815260206004820152603060248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b60648201526084016106cc565b6000610f3d306109a7565b9050600854811115610f4e57506008545b6013546014549082119060ff16158015610f6f5750601454610100900460ff165b8015610f785750805b8015610f925750600c546001600160a01b03868116911614155b80610fb557506001600160a01b0385166000908152600d602052604090205460ff165b15610fd557610fc3826113c6565b478015610fd357610fd34761155a565b505b600c546000906001600160a01b03878116911614806110015750600c546001600160a01b038681169116145b8061102457506001600160a01b0385166000908152600d602052604090205460ff165b8061104757506001600160a01b0386166000908152600d602052604090205460ff165b801561108f57506001600160a01b03861660009081526004602052604090205460ff168061108d57506001600160a01b03851660009081526004602052604090205460ff165b155b15611098575060015b6000546001600160a01b03878116911614806110c157506000546001600160a01b038681169116145b6111a857600c546001600160a01b038681169116148015906110fc57506001600160a01b0385166000908152600d602052604090205460ff16155b801561112157506001600160a01b03851660009081526004602052604090205460ff16155b156111a857600854611132866109a7565b61113c9086611a2d565b106111a85760405162461bcd60e51b815260206004820152603660248201527f45524332303a57616c6c65742043616e6e6f7420686f6c64206d6f726520746860448201527530b71019129037b3103a37ba30b61039bab838363c9760511b60648201526084016106cc565b6111b4868686846115be565b505050505050565b600081848411156111e05760405162461bcd60e51b81526004016106cc91906118af565b5060006111ed8486611a45565b95945050505050565b600061120f60055460065461121490919063ffffffff16565b905090565b60006108a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061162b565b6000806112638385611a2d565b9050838110156108a35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106cc565b6000826112c4575060006107b0565b60006112d08385611a5c565b9050826112dd8583611a7b565b146108a35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106cc565b60006108a383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111bc565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6014805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061140857611408611a9d565b60200260200101906001600160a01b031690816001600160a01b031681525050600b60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561147b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149f9190611ab3565b816001815181106114b2576114b2611a9d565b6001600160a01b039283166020918202929092010152600b546114dd91309161010090041684610cdf565b600b5460405163791ac94760e01b81526101009091046001600160a01b03169063791ac9479061151a908590600090869030904290600401611ad0565b600060405180830381600087803b15801561153457600080fd5b505af1158015611548573d6000803e3d6000fd5b50506014805460ff1916905550505050565b600e546040516000916001600160a01b03169083908381818185875af1925050503d80600081146115a7576040519150601f19603f3d011682016040523d82523d6000602084013e6115ac565b606091505b50509050806115ba57600080fd5b5050565b600c546001600160a01b03848116911614806115e75750600c546001600160a01b038581169116145b80156115f05750805b1561160b57611606600f54601155601054601255565b61161a565b61161a60006011819055601255565b611625848484611659565b50505050565b6000818361164c5760405162461bcd60e51b81526004016106cc91906118af565b5060006111ed8486611a7b565b60006116636111f6565b9050600061167a61167384611780565b8490611334565b9050600061168884846112b5565b905060006116a96116a28561169c88611780565b906112b5565b8390611334565b6001600160a01b0388166000908152600160205260409020549091506116cf9083611334565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546116fe9082611256565b6001600160a01b03871660009081526001602052604090205561172185856117b0565b61172a8561180e565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161176f91815260200190565b60405180910390a350505050505050565b6000806108a36103e86117aa6117a360125460115461125690919063ffffffff16565b86906112b5565b90611214565b60006117cd6103e86117aa601254866112b590919063ffffffff16565b905060006117db82846112b5565b306000908152600160205260409020549091506117f89082611256565b3060009081526001602052604090205550505050565b600061182b6103e86117aa601154856112b590919063ffffffff16565b9050600061184161183a6111f6565b83906112b5565b6006549091506118519082611334565b6006556007546109519083611256565b6001600160a01b0381168114610cdc57600080fd5b6000806040838503121561188957600080fd5b823561189481611861565b915060208301356118a481611861565b809150509250929050565b600060208083528351808285015260005b818110156118dc578581018301518582016040015282016118c0565b818111156118ee576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561191757600080fd5b823561192281611861565b946020939093013593505050565b60008060006060848603121561194557600080fd5b833561195081611861565b9250602084013561196081611861565b929592945050506040919091013590565b60006020828403121561198357600080fd5b5035919050565b60006020828403121561199c57600080fd5b81356108a381611861565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c908216806119f057607f821691505b60208210811415611a1157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115611a4057611a40611a17565b500190565b600082821015611a5757611a57611a17565b500390565b6000816000190483118215151615611a7657611a76611a17565b500290565b600082611a9857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611ac557600080fd5b81516108a381611861565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b205784516001600160a01b031683529383019391830191600101611afb565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220dbbbb929355a9c9c5cf996e54d03f459741ae51baf190aa3614b7505184086b664736f6c634300080c0033

Deployed ByteCode Sourcemap

3164:13481:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15792:140;;;;;;;;;;-1:-1:-1;15792:140:0;;;;;:::i;:::-;;:::i;:::-;;5792:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4019:31;;;;;;;;;;-1:-1:-1;4019:31:0;;;;;;;-1:-1:-1;;;;;4019:31:0;;;;;;-1:-1:-1;;;;;1401:32:1;;;1383:51;;1371:2;1356:18;4019:31:0;1215:225:1;6760:193:0;;;;;;;;;;-1:-1:-1;6760:193:0;;;;;:::i;:::-;;:::i;:::-;;;1946:14:1;;1939:22;1921:41;;1909:2;1894:18;6760:193:0;1781:187:1;6069:95:0;;;;;;;;;;-1:-1:-1;6149:7:0;;6069:95;;;2119:25:1;;;2107:2;2092:18;6069:95:0;1973:177:1;4240:33:0;;;;;;;;;;-1:-1:-1;4240:33:0;;;;-1:-1:-1;;;4240:33:0;;;;;;6961:446;;;;;;;;;;-1:-1:-1;6961:446:0;;;;;:::i;:::-;;:::i;8890:329::-;;;;;;;;;;-1:-1:-1;8890:329:0;;;;;:::i;:::-;;:::i;5978:83::-;;;;;;;;;;-1:-1:-1;6044:9:0;;5978:83;;6044:9;;;;2975:36:1;;2963:2;2948:18;5978:83:0;2833:184:1;7415:300:0;;;;;;;;;;-1:-1:-1;7415:300:0;;;;;:::i;:::-;;:::i;8596:286::-;;;;;;;;;;-1:-1:-1;8596:286:0;;;;;:::i;:::-;;:::i;16238:113::-;;;;;;;;;;-1:-1:-1;16238:113:0;;;;;:::i;:::-;;:::i;8440:101::-;;;;;;;;;;-1:-1:-1;8523:10:0;;8440:101;;8232:126;;;;;;;;;;-1:-1:-1;8232:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;8322:28:0;8298:4;8322:28;;;:18;:28;;;;;;;;;8232:126;4184:33;;;;;;;;;;-1:-1:-1;4184:33:0;;;;-1:-1:-1;;;;;4184:33:0;;;4343:44;;;;;;;;;;;;;;;;3773:49;;;;;;;;;;;;;;;;4768:30;;;;;;;;;;-1:-1:-1;4768:30:0;;;;;;;;;;;6172:181;;;;;;;;;;-1:-1:-1;6172:181:0;;;;;:::i;:::-;;:::i;2619:94::-;;;;;;;;;;;;;:::i;16479:159::-;;;;;;;;;;;;;:::i;2396:87::-;;;;;;;;;;-1:-1:-1;2442:7:0;2469:6;-1:-1:-1;;;;;2469:6:0;2396:87;;5883;;;;;;;;;;;;;:::i;15353:154::-;;;;;;;;;;-1:-1:-1;15353:154:0;;;;;:::i;:::-;;:::i;15970:113::-;;;;;;;;;;-1:-1:-1;15970:113:0;;;;;:::i;:::-;;:::i;7723:400::-;;;;;;;;;;-1:-1:-1;7723:400:0;;;;;:::i;:::-;;:::i;15628:107::-;;;;;;;;;;-1:-1:-1;15628:107:0;;;;;:::i;:::-;;:::i;15517:103::-;;;;;;;;;;-1:-1:-1;15517:103:0;;;;;:::i;:::-;;:::i;6361:199::-;;;;;;;;;;-1:-1:-1;6361:199:0;;;;;:::i;:::-;;:::i;6568:184::-;;;;;;;;;;-1:-1:-1;6568:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6717:18:0;;;6685:7;6717:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6568:184;16359:112;;;;;;;;;;-1:-1:-1;16359:112:0;;;;;:::i;:::-;;:::i;16123:107::-;;;;;;;;;;-1:-1:-1;16123:107:0;;;;;:::i;:::-;;:::i;4079:22::-;;;;;;;;;;-1:-1:-1;4079:22:0;;;;-1:-1:-1;;;;;4079:22:0;;;2721:229;;;;;;;;;;-1:-1:-1;2721:229:0;;;;;:::i;:::-;;:::i;4453:34::-;;;;;;;;;;;;;;;;15792:140;2442:7;2469:6;-1:-1:-1;;;;;2469:6:0;2006:10;2531:23;2523:68;;;;-1:-1:-1;;;2523:68:0;;;;;;;:::i;:::-;;;;;;;;;15879:9:::1;:19:::0;;-1:-1:-1;;;;;;15879:19:0::1;;-1:-1:-1::0;;;;;15879:19:0;;::::1;;;::::0;;15909:7:::1;:15:::0;;-1:-1:-1;;;;;;15909:15:0::1;::::0;;;::::1;;::::0;;15792:140::o;5792:83::-;5829:13;5862:5;5855:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5792:83;:::o;6760:193::-;6862:4;6884:39;2006:10;6907:7;6916:6;6884:8;:39::i;:::-;-1:-1:-1;6941:4:0;6760:193;;;;;:::o;6961:446::-;7093:4;7110:36;7120:6;7128:9;7139:6;7110:9;:36::i;:::-;7157:220;7180:6;2006:10;7228:138;7284:6;7228:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7228:19:0;;;;;;:11;:19;;;;;;;;2006:10;7228:33;;;;;;;;;;:37;:138::i;:::-;7157:8;:220::i;:::-;-1:-1:-1;7395:4:0;6961:446;;;;;:::o;8890:329::-;8984:7;9042;;9031;:18;;9009:117;;;;-1:-1:-1;;;9009:117:0;;5095:2:1;9009:117:0;;;5077:21:1;5134:2;5114:18;;;5107:30;5173:34;5153:18;;;5146:62;-1:-1:-1;;;5224:18:1;;;5217:47;5281:19;;9009:117:0;4893:413:1;9009:117:0;9137:19;9159:10;:8;:10::i;:::-;9137:32;-1:-1:-1;9187:24:0;:7;9137:32;9187:11;:24::i;:::-;9180:31;8890:329;-1:-1:-1;;;8890:329:0:o;7415:300::-;2006:10;7530:4;7624:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7624:34:0;;;;;;;;;;7530:4;;7552:133;;7602:7;;7624:50;;7663:10;7624:38;:50::i;8596:286::-;2006:10;8648:14;8706:23;8718:10;:8;:10::i;:::-;8706:7;;:11;:23::i;:::-;-1:-1:-1;;;;;8758:15:0;;;;;;:7;:15;;;;;;8688:41;;-1:-1:-1;8758:28:0;;8688:41;8758:19;:28::i;:::-;-1:-1:-1;;;;;8740:15:0;;;;;;:7;:15;;;;;:46;8807:7;;:20;;8819:7;8807:11;:20::i;:::-;8797:7;:30;8851:10;;:23;;8866:7;8851:14;:23::i;:::-;8838:10;:36;-1:-1:-1;;;8596:286:0:o;16238:113::-;2442:7;2469:6;-1:-1:-1;;;;;2469:6:0;2006:10;2531:23;2523:68;;;;-1:-1:-1;;;2523:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16309:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;16309:34:0::1;16339:4;16309:34;::::0;;16238:113::o;6172:181::-;-1:-1:-1;;;;;6327:17:0;;6275:7;6327:17;;;:7;:17;;;;;;6307:38;;:19;:38::i;2619:94::-;2442:7;2469:6;-1:-1:-1;;;;;2469:6:0;2006:10;2531:23;2523:68;;;;-1:-1:-1;;;2523:68:0;;;;;;;:::i;:::-;2684:21:::1;2702:1;2684:9;:21::i;:::-;2619:94::o:0;16479:159::-;2442:7;2469:6;-1:-1:-1;;;;;2469:6:0;2006:10;2531:23;2523:68;;;;-1:-1:-1;;;2523:68:0;;;;;;;:::i;:::-;16537:11:::1;::::0;::::1;::::0;::::1;;;16534:95;;;16563:11;:19:::0;;-1:-1:-1;;16563:19:0::1;::::0;;2619:94::o;16534:95::-:1;16611:11;:18:::0;;-1:-1:-1;;16611:18:0::1;;;::::0;;16479:159::o;5883:87::-;5922:13;5955:7;5948:14;;;;;:::i;15353:154::-;15442:7;;15414:4;;-1:-1:-1;;;;;15433:16:0;;;15442:7;;15433:16;15429:33;;;-1:-1:-1;15458:4:0;;15353:154;-1:-1:-1;15353:154:0:o;15429:33::-;-1:-1:-1;;;;;;15478:21:0;;;;;:14;:21;;;;;;;;;15353:154::o;15970:113::-;2442:7;2469:6;-1:-1:-1;;;;;2469:6:0;2006:10;2531:23;2523:68;;;;-1:-1:-1;;;2523:68:0;;;;;;;:::i;:::-;16044:24:::1;:31:::0;15970:113::o;7723:400::-;7843:4;7865:228;2006:10;7915:7;7937:145;7994:15;7937:145;;;;;;;;;;;;;;;;;2006:10;7937:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7937:34:0;;;;;;;;;;;;:38;:145::i;15628:107::-;2442:7;2469:6;-1:-1:-1;;;;;2469:6:0;2006:10;2531:23;2523:68;;;;-1:-1:-1;;;2523:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15698:21:0::1;15722:5;15698:21:::0;;;:14:::1;:21;::::0;;;;:29;;-1:-1:-1;;15698:29:0::1;::::0;;15628:107::o;15517:103::-;2442:7;2469:6;-1:-1:-1;;;;;2469:6:0;2006:10;2531:23;2523:68;;;;-1:-1:-1;;;2523:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15584:21:0::1;;::::0;;;:14:::1;:21;::::0;;;;:28;;-1:-1:-1;;15584:28:0::1;15608:4;15584:28;::::0;;15517:103::o;6361:199::-;6466:4;6488:42;2006:10;6512:9;6523:6;6488:9;:42::i;16359:112::-;2442:7;2469:6;-1:-1:-1;;;;;2469:6:0;2006:10;2531:23;2523:68;;;;-1:-1:-1;;;2523:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16428:27:0::1;16458:5;16428:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;16428:35:0::1;::::0;;16359:112::o;16123:107::-;2442:7;2469:6;-1:-1:-1;;;;;2469:6:0;2006:10;2531:23;2523:68;;;;-1:-1:-1;;;2523:68:0;;;;;;;:::i;:::-;16197:14:::1;:25:::0;16123:107::o;2721:229::-;2442:7;2469:6;-1:-1:-1;;;;;2469:6:0;2006:10;2531:23;2523:68;;;;-1:-1:-1;;;2523:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2824:22:0;::::1;2802:110;;;::::0;-1:-1:-1;;;2802:110:0;;5513:2:1;2802:110:0::1;::::0;::::1;5495:21:1::0;5552:2;5532:18;;;5525:30;5591:34;5571:18;;;5564:62;-1:-1:-1;;;5642:18:1;;;5635:36;5688:19;;2802:110:0::1;5311:402:1::0;2802:110:0::1;2923:19;2933:8;2923:9;:19::i;:::-;2721:229:::0;:::o;10060:371::-;-1:-1:-1;;;;;10187:19:0;;10179:68;;;;-1:-1:-1;;;10179:68:0;;5920:2:1;10179:68:0;;;5902:21:1;5959:2;5939:18;;;5932:30;5998:34;5978:18;;;5971:62;-1:-1:-1;;;6049:18:1;;;6042:34;6093:19;;10179:68:0;5718:400:1;10179:68:0;-1:-1:-1;;;;;10266:21:0;;10258:68;;;;-1:-1:-1;;;10258:68:0;;6325:2:1;10258:68:0;;;6307:21:1;6364:2;6344:18;;;6337:30;6403:34;6383:18;;;6376:62;-1:-1:-1;;;6454:18:1;;;6447:32;6496:19;;10258:68:0;6123:398:1;10258:68:0;-1:-1:-1;;;;;10339:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10391:32;;2119:25:1;;;10391:32:0;;2092:18:1;10391:32:0;;;;;;;10060:371;;;:::o;10481:2249::-;-1:-1:-1;;;;;10603:18:0;;10595:68;;;;-1:-1:-1;;;10595:68:0;;6728:2:1;10595:68:0;;;6710:21:1;6767:2;6747:18;;;6740:30;6806:34;6786:18;;;6779:62;-1:-1:-1;;;6857:18:1;;;6850:35;6902:19;;10595:68:0;6526:401:1;10595:68:0;-1:-1:-1;;;;;10682:16:0;;10674:64;;;;-1:-1:-1;;;10674:64:0;;7134:2:1;10674:64:0;;;7116:21:1;7173:2;7153:18;;;7146:30;7212:34;7192:18;;;7185:62;-1:-1:-1;;;7263:18:1;;;7256:33;7306:19;;10674:64:0;6932:399:1;10674:64:0;10766:1;10757:6;:10;10749:71;;;;-1:-1:-1;;;10749:71:0;;7538:2:1;10749:71:0;;;7520:21:1;7577:2;7557:18;;;7550:30;7616:34;7596:18;;;7589:62;-1:-1:-1;;;7667:18:1;;;7660:46;7723:19;;10749:71:0;7336:412:1;10749:71:0;11091:28;11122:24;11140:4;11122:9;:24::i;:::-;11091:55;;11186:15;;11163:20;:38;11159:109;;;-1:-1:-1;11241:15:0;;11159:109;11329:29;;11388:6;;11307:51;;;;11388:6;;11387:7;:35;;;;-1:-1:-1;11411:11:0;;;;;;;11387:35;:71;;;;;11439:19;11387:71;:103;;;;-1:-1:-1;11483:7:0;;-1:-1:-1;;;;;11475:15:0;;;11483:7;;11475:15;;11387:103;:127;;;-1:-1:-1;;;;;;11494:20:0;;;;;;:14;:20;;;;;;;;11387:127;11369:500;;;11639:38;11656:20;11639:16;:38::i;:::-;11723:21;11763:22;;11759:99;;11806:36;11820:21;11806:13;:36::i;:::-;11536:333;11369:500;12045:7;;11944:12;;-1:-1:-1;;;;;12037:15:0;;;12045:7;;12037:15;;:45;;-1:-1:-1;12075:7:0;;-1:-1:-1;;;;;12069:13:0;;;12075:7;;12069:13;12037:45;:80;;;-1:-1:-1;;;;;;12099:18:0;;;;;;:14;:18;;;;;;;;12037:80;:117;;;-1:-1:-1;;;;;;12134:20:0;;;;;;:14;:20;;;;;;;;12037:117;12036:187;;;;-1:-1:-1;;;;;;12172:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;12200:22:0;;;;;;:18;:22;;;;;;;;12172:50;12170:53;12036:187;12020:254;;;-1:-1:-1;12258:4:0;12020:254;2442:7;2469:6;-1:-1:-1;;;;;12291:15:0;;;2469:6;;12291:15;;:32;;-1:-1:-1;2442:7:0;2469:6;-1:-1:-1;;;;;12310:13:0;;;2469:6;;12310:13;12291:32;12286:317;;12396:7;;-1:-1:-1;;;;;12392:11:0;;;12396:7;;12392:11;;;;:34;;-1:-1:-1;;;;;;12408:18:0;;;;;;:14;:18;;;;;;;;12407:19;12392:34;:61;;;;-1:-1:-1;;;;;;12431:22:0;;;;;;:18;:22;;;;;;;;12430:23;12392:61;12389:203;;;12502:15;;12486:13;12496:2;12486:9;:13::i;:::-;12477:22;;:6;:22;:::i;:::-;:40;12469:107;;;;-1:-1:-1;;;12469:107:0;;8220:2:1;12469:107:0;;;8202:21:1;8259:2;8239:18;;;8232:30;8298:34;8278:18;;;8271:62;-1:-1:-1;;;8349:18:1;;;8342:52;8411:19;;12469:107:0;8018:418:1;12469:107:0;12681:41;12696:4;12702:2;12706:6;12714:7;12681:14;:41::i;:::-;10584:2146;;;10481:2249;;;:::o;17006:226::-;17126:7;17162:12;17154:6;;;;17146:29;;;;-1:-1:-1;;;17146:29:0;;;;;;;;:::i;:::-;-1:-1:-1;17186:9:0;17198:5;17202:1;17198;:5;:::i;:::-;17186:17;17006:226;-1:-1:-1;;;;;17006:226:0:o;9665:97::-;9707:7;9734:20;9746:7;;9734;;:11;;:20;;;;:::i;:::-;9727:27;;9665:97;:::o;17719:132::-;17777:7;17804:39;17808:1;17811;17804:39;;;;;;;;;;;;;;;;;:3;:39::i;16673:181::-;16731:7;;16763:5;16767:1;16763;:5;:::i;:::-;16751:17;;16792:1;16787;:6;;16779:46;;;;-1:-1:-1;;;16779:46:0;;8773:2:1;16779:46:0;;;8755:21:1;8812:2;8792:18;;;8785:30;8851:29;8831:18;;;8824:57;8898:18;;16779:46:0;8571:351:1;17240:471:0;17298:7;17543:6;17539:47;;-1:-1:-1;17573:1:0;17566:8;;17539:47;17598:9;17610:5;17614:1;17610;:5;:::i;:::-;17598:17;-1:-1:-1;17643:1:0;17634:5;17638:1;17598:17;17634:5;:::i;:::-;:10;17626:56;;;;-1:-1:-1;;;17626:56:0;;9524:2:1;17626:56:0;;;9506:21:1;9563:2;9543:18;;;9536:30;9602:34;9582:18;;;9575:62;-1:-1:-1;;;9653:18:1;;;9646:31;9694:19;;17626:56:0;9322:397:1;16862:136:0;16920:7;16947:43;16951:1;16954;16947:43;;;;;;;;;;;;;;;;;:3;:43::i;2958:173::-;3014:16;3033:6;;-1:-1:-1;;;;;3050:17:0;;;-1:-1:-1;;;;;;3050:17:0;;;;;;3083:40;;3033:6;;;;;;;3083:40;;3014:16;3083:40;3003:128;2958:173;:::o;14609:583::-;4841:6;:13;;-1:-1:-1;;4841:13:0;4850:4;4841:13;;;14771:16:::1;::::0;;14785:1:::1;14771:16:::0;;;;;::::1;::::0;;-1:-1:-1;;14771:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14771:16:0::1;14747:40;;14816:4;14798;14803:1;14798:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;14798:23:0::1;;;-1:-1:-1::0;;;;;14798:23:0::1;;;::::0;::::1;14842:9;;;;;;;;;-1:-1:-1::0;;;;;14842:9:0::1;-1:-1:-1::0;;;;;14842:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14832:4;14837:1;14832:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14832:26:0;;::::1;:7;::::0;;::::1;::::0;;;;;:26;14903:9:::1;::::0;14871:56:::1;::::0;14888:4:::1;::::0;14903:9:::1;::::0;::::1;;14915:11:::0;14871:8:::1;:56::i;:::-;14966:9;::::0;:218:::1;::::0;-1:-1:-1;;;14966:218:0;;:9:::1;::::0;;::::1;-1:-1:-1::0;;;;;14966:9:0::1;::::0;:60:::1;::::0;:218:::1;::::0;15041:11;;15067:1:::1;::::0;15111:4;;15138::::1;::::0;15158:15:::1;::::0;14966:218:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4877:6:0;:14;;-1:-1:-1;;4877:14:0;;;-1:-1:-1;;;;14609:583:0:o;15200:145::-;15280:10;;15272:43;;15259:7;;-1:-1:-1;;;;;15280:10:0;;15304:6;;15259:7;15272:43;15259:7;15272:43;15304:6;15280:10;15272:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15258:57;;;15334:2;15326:11;;;;;;15247:98;15200:145;:::o;12811:367::-;12979:7;;-1:-1:-1;;;;;12966:20:0;;;12979:7;;12966:20;;:41;;-1:-1:-1;13000:7:0;;-1:-1:-1;;;;;12990:17:0;;;13000:7;;12990:17;12966:41;12965:55;;;;;13013:7;12965:55;12962:154;;;13035:16;9967:24;;9939:25;:52;10026:14;;10002:21;:38;9894:154;13035:16;12962:154;;;13090:14;9841:1;9813:25;:29;;;9853:21;:25;9770:116;13090:14;13126:44;13144:6;13152:9;13163:6;13126:17;:44::i;:::-;12811:367;;;;:::o;17859:312::-;17979:7;18014:12;18007:5;17999:28;;;;-1:-1:-1;;;17999:28:0;;;;;;;;:::i;:::-;-1:-1:-1;18038:9:0;18050:5;18054:1;18050;:5;:::i;13251:682::-;13383:19;13405:10;:8;:10::i;:::-;13383:32;;13426:23;13452:35;13464:22;13478:7;13464:13;:22::i;:::-;13452:7;;:11;:35::i;:::-;13426:61;-1:-1:-1;13498:15:0;13516:24;:7;13528:11;13516;:24::i;:::-;13498:42;;13551:23;13577:76;13603:39;13630:11;13603:22;13617:7;13603:13;:22::i;:::-;:26;;:39::i;:::-;13577:7;;:11;:76::i;:::-;-1:-1:-1;;;;;13682:15:0;;;;;;:7;:15;;;;;;13551:102;;-1:-1:-1;13682:28:0;;13702:7;13682:19;:28::i;:::-;-1:-1:-1;;;;;13664:15:0;;;;;;;:7;:15;;;;;;:46;;;;13742:18;;;;;;;:39;;13765:15;13742:22;:39::i;:::-;-1:-1:-1;;;;;13721:18:0;;;;;;:7;:18;;;;;:60;13792:40;13811:7;13820:11;13792:18;:40::i;:::-;13843:20;13855:7;13843:11;:20::i;:::-;13898:9;-1:-1:-1;;;;;13881:44:0;13890:6;-1:-1:-1;;;;;13881:44:0;;13909:15;13881:44;;;;2119:25:1;;2107:2;2092:18;;1973:177;13881:44:0;;;;;;;;13372:561;;;;13251:682;;;:::o;9361:296::-;9424:7;9444:18;9465:156;9617:3;9465:133;9509:74;9561:21;;9509:25;;:51;;:74;;;;:::i;:::-;9465:7;;:25;:133::i;:::-;:151;;:156::i;13974:294::-;14085:12;14100:43;14139:3;14100:34;14112:21;;14100:7;:11;;:34;;;;:::i;:43::-;14085:58;-1:-1:-1;14154:12:0;14169:21;14085:58;14178:11;14169:8;:21::i;:::-;14242:4;14226:22;;;;:7;:22;;;;;;14154:36;;-1:-1:-1;14226:32:0;;14154:36;14226:26;:32::i;:::-;14217:4;14201:22;;;;:7;:22;;;;;:57;-1:-1:-1;;;;13974:294:0:o;14344:255::-;14401:12;14416:47;14459:3;14416:38;14428:25;;14416:7;:11;;:38;;;;:::i;:47::-;14401:62;;14474:12;14489:20;14498:10;:8;:10::i;:::-;14489:4;;:8;:20::i;:::-;14530:7;;14474:35;;-1:-1:-1;14530:17:0;;14474:35;14530:11;:17::i;:::-;14520:7;:27;14571:10;;:20;;14586:4;14571:14;:20::i;14:147:1:-;-1:-1:-1;;;;;105:31:1;;95:42;;85:70;;151:1;148;141:12;166:442;256:6;264;317:2;305:9;296:7;292:23;288:32;285:52;;;333:1;330;323:12;285:52;372:9;359:23;391:47;432:5;391:47;:::i;:::-;457:5;-1:-1:-1;514:2:1;499:18;;486:32;527:49;486:32;527:49;:::i;:::-;595:7;585:17;;;166:442;;;;;:::o;613:597::-;725:4;754:2;783;772:9;765:21;815:6;809:13;858:6;853:2;842:9;838:18;831:34;883:1;893:140;907:6;904:1;901:13;893:140;;;1002:14;;;998:23;;992:30;968:17;;;987:2;964:26;957:66;922:10;;893:140;;;1051:6;1048:1;1045:13;1042:91;;;1121:1;1116:2;1107:6;1096:9;1092:22;1088:31;1081:42;1042:91;-1:-1:-1;1194:2:1;1173:15;-1:-1:-1;;1169:29:1;1154:45;;;;1201:2;1150:54;;613:597;-1:-1:-1;;;613:597:1:o;1445:331::-;1513:6;1521;1574:2;1562:9;1553:7;1549:23;1545:32;1542:52;;;1590:1;1587;1580:12;1542:52;1629:9;1616:23;1648:47;1689:5;1648:47;:::i;:::-;1714:5;1766:2;1751:18;;;;1738:32;;-1:-1:-1;;;1445:331:1:o;2155:488::-;2232:6;2240;2248;2301:2;2289:9;2280:7;2276:23;2272:32;2269:52;;;2317:1;2314;2307:12;2269:52;2356:9;2343:23;2375:47;2416:5;2375:47;:::i;:::-;2441:5;-1:-1:-1;2498:2:1;2483:18;;2470:32;2511:49;2470:32;2511:49;:::i;:::-;2155:488;;2579:7;;-1:-1:-1;;;2633:2:1;2618:18;;;;2605:32;;2155:488::o;2648:180::-;2707:6;2760:2;2748:9;2739:7;2735:23;2731:32;2728:52;;;2776:1;2773;2766:12;2728:52;-1:-1:-1;2799:23:1;;2648:180;-1:-1:-1;2648:180:1:o;3022:263::-;3081:6;3134:2;3122:9;3113:7;3109:23;3105:32;3102:52;;;3150:1;3147;3140:12;3102:52;3189:9;3176:23;3208:47;3249:5;3208:47;:::i;4147:356::-;4349:2;4331:21;;;4368:18;;;4361:30;4427:34;4422:2;4407:18;;4400:62;4494:2;4479:18;;4147:356::o;4508:380::-;4587:1;4583:12;;;;4630;;;4651:61;;4705:4;4697:6;4693:17;4683:27;;4651:61;4758:2;4750:6;4747:14;4727:18;4724:38;4721:161;;;4804:10;4799:3;4795:20;4792:1;4785:31;4839:4;4836:1;4829:15;4867:4;4864:1;4857:15;4721:161;;4508:380;;;:::o;7753:127::-;7814:10;7809:3;7805:20;7802:1;7795:31;7845:4;7842:1;7835:15;7869:4;7866:1;7859:15;7885:128;7925:3;7956:1;7952:6;7949:1;7946:13;7943:39;;;7962:18;;:::i;:::-;-1:-1:-1;7998:9:1;;7885:128::o;8441:125::-;8481:4;8509:1;8506;8503:8;8500:34;;;8514:18;;:::i;:::-;-1:-1:-1;8551:9:1;;8441:125::o;8927:168::-;8967:7;9033:1;9029;9025:6;9021:14;9018:1;9015:21;9010:1;9003:9;8996:17;8992:45;8989:71;;;9040:18;;:::i;:::-;-1:-1:-1;9080:9:1;;8927:168::o;9100:217::-;9140:1;9166;9156:132;;9210:10;9205:3;9201:20;9198:1;9191:31;9245:4;9242:1;9235:15;9273:4;9270:1;9263:15;9156:132;-1:-1:-1;9302:9:1;;9100:217::o;9856:127::-;9917:10;9912:3;9908:20;9905:1;9898:31;9948:4;9945:1;9938:15;9972:4;9969:1;9962:15;9988:267;10058:6;10111:2;10099:9;10090:7;10086:23;10082:32;10079:52;;;10127:1;10124;10117:12;10079:52;10159:9;10153:16;10178:47;10219:5;10178:47;:::i;10260:980::-;10522:4;10570:3;10559:9;10555:19;10601:6;10590:9;10583:25;10627:2;10665:6;10660:2;10649:9;10645:18;10638:34;10708:3;10703:2;10692:9;10688:18;10681:31;10732:6;10767;10761:13;10798:6;10790;10783:22;10836:3;10825:9;10821:19;10814:26;;10875:2;10867:6;10863:15;10849:29;;10896:1;10906:195;10920:6;10917:1;10914:13;10906:195;;;10985:13;;-1:-1:-1;;;;;10981:39:1;10969:52;;11076:15;;;;11041:12;;;;11017:1;10935:9;10906:195;;;-1:-1:-1;;;;;;;11157:32:1;;;;11152:2;11137:18;;11130:60;-1:-1:-1;;;11221:3:1;11206:19;11199:35;11118:3;10260:980;-1:-1:-1;;;10260:980:1:o

Swarm Source

ipfs://dbbbb929355a9c9c5cf996e54d03f459741ae51baf190aa3614b7505184086b6
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.