Contract 0x1ad260593c84dd21713542cc6dbdb069d01f38a9

 

Contract Overview

Balance:
0 BNB

BNB Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x383b0c84b7615bf9e57ba694cbdb58a7b0179b00e61477a38cf9def69f7e4808Approve109081872021-09-14 13:35:1783 days 7 hrs ago0x88e0c74a5f06ccc7eca82143d175a252f1684cf4 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0x33aaf5ccbaf56b58189a04ffa0c2634227c76cd62bc6b671a5392cf03edced77Approve109078022021-09-14 13:16:0283 days 7 hrs ago0x691ed51d8f197b92da24726192b84705cf22f203 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0x95628ddd5fe75d0cf7fd2ef7b2fb9cff203b8ab6510ad2e17814389b5f3e36aaApprove108498232021-09-12 12:51:4585 days 8 hrs ago0x48bc5b60356d16f8ce0bf0527ebd92cc5dad8359 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.00007256
0x9cbfd98f1a1a66c8844e4b300205a83169921b5d51be6b672635da6bb48dec92Approve108424282021-09-12 6:41:5485 days 14 hrs ago0x1417f6ee91e7f49e0eadabc626f7a4c5aa6e59f8 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0xfa64a02151b582b6490358782a12b81b7ded9ac5bd5b715e31ce73be141afe43Approve108410262021-09-12 5:31:4885 days 15 hrs ago0xf6445046b8b388e42ad36c752d18937a34f3403b IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0x7a4d077baf3d864bb72ec5e56aaa42be844d9dcce411e34840f8189768407e7fApprove108399952021-09-12 4:40:1585 days 16 hrs ago0x6d601f86d72464b1c19ce4ec072e3ecfe04595de IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0x181c3e35af60bffdbfc85899785ec4e59a71fe24420ec0574f9969ef81f0da37Approve108398642021-09-12 4:33:4285 days 16 hrs ago0x8566ceb4148200fb25d62661166b420c57f41d58 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0x94bae76fac847421c896a747c0ce216453898dde89a0943c641c99a684f9ac36Approve108394942021-09-12 4:15:1285 days 16 hrs ago0xdc2a75013c4ee5493fe9537f50e8ba11f2bda1dd IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0x111b57c8ec80154c2975aea7cbb69bc8ed2df20c64295905861044df1abbf9a3Approve108394832021-09-12 4:14:3985 days 16 hrs ago0xb03310b11945e231262741ba2d3612f7dadf5233 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0x66a49e77473f59c62cbb0e8c023ba0622fb72542a247ad2afe4e9c8fb95cc741Approve108393322021-09-12 4:07:0685 days 16 hrs ago0xbf50e48b7eb1172d0a48e80490472ea03c1433b6 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000310849
0x056e5f993a15ebee66b2ac0ab16c7a2eccf1eacefb9959e10da42ba61a47555cApprove108391402021-09-12 3:57:3085 days 17 hrs ago0x5d675411217555877b91ae77243d50d1b73b3a86 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0x2aaeb271ac5ebfd1c04bf50533eb1a888875bf6fb727edc9e8e72011134d8275Approve108389882021-09-12 3:49:5485 days 17 hrs ago0x1cf5e6ae2961d0af46a1ef5ca9b8cda75b748d1f IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0xf6b2d20dc83b4869c2eb181a9acb1aa3c7cb5f42deb620b8c343bb943fa27b37Approve108314242021-09-11 21:29:5985 days 23 hrs ago0x614f67750c756c4c3b84e5836b5697541bc6ef5a IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0x1e2a4c64e22aac0094a58c544b88e15156ae2d32d3999c9616287727b10a0b83Approve108220102021-09-11 13:34:1486 days 7 hrs ago0x7b1d1079622fa496851717addae157105c4b6b79 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0xffc7af6ed21315b6fc4d476d7c96c777c09ea383df316f9a816a07932bbcd828Approve108214612021-09-11 13:06:4786 days 7 hrs ago0xba6b7692ece14d14795993f17de77466bba9f4d5 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0x2a8805ffa0e6d92dbdee783c18c20fff20b3adc22fe91898434558a4a0751b12Approve108213282021-09-11 12:59:5086 days 8 hrs ago0xa6866a0283bb5f381c590f3154245934bce142fe IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0xa16ceabca882d1fbb054a6d5e4960b3c24a62e7deadac7806a0114728af6809dApprove108212712021-09-11 12:56:5986 days 8 hrs ago0xb0b919a092398a91bd81df363d99a316716eb486 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0xef471ea5fa8a415c6189c752ef79db22f543a28ee311517e4fc5a569fce3d5d2Approve108212182021-09-11 12:54:2086 days 8 hrs ago0x0c185d477930a45ce826dd97376a915c903089c3 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0x51ad19cbe666a694d4f61f651a38130938e6be4139832c755fedc37b2f480c1eApprove108210862021-09-11 12:47:4486 days 8 hrs ago0x0e1ee8fbd7783d39feb9810ecdabf11d175b339f IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000310849
0xca7c3e8188be09cb82f6a330611bae277e79152210224741e2f4ec5175b852ceApprove108208852021-09-11 12:37:3886 days 8 hrs ago0x8b56b1ae39f4ff6b18318de7953a8ecdec3b5283 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0xc4802ffca24a2762e53577cfc3b75b4592f39ed019fe072ed34205705b9085abApprove108207142021-09-11 12:29:0586 days 8 hrs ago0x9c0b1e336e7041e2a4c0aaf9c04eef118568b8cd IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0xb26d131cfd6026fc8fe3657ca8a5a86836b577980ff16f54fc404105945f5a35Approve108206422021-09-11 12:25:2986 days 8 hrs ago0xec6509e9c614e592a3765ccf95f95eecf4476e46 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0x56ca3e801e84fcd94697495d3ab714ef873c4619cc2bd04179186f2487defd8cApprove108205962021-09-11 12:23:1186 days 8 hrs ago0x5a89fbb6c4a7988c2d9ac676cfc0817b86749923 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0x56f220f9cf17629ae69f66718bd5c13e9f4a69fc08751c2d9d52422325f50b2eApprove108205852021-09-11 12:22:3886 days 8 hrs ago0xabf648769ae2046b965c3abb387d74d174b3fd37 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000222035
0x14da7bc78c7716e64a027ec1cfd02e6bd878957fdeffad9d4713063e33199989Approve108205322021-09-11 12:19:5986 days 8 hrs ago0x1fcdaa85a3661539589f78c34512820f514d2943 IN  0x1ad260593c84dd21713542cc6dbdb069d01f38a90 BNB0.000266442
[ Download CSV Export 
Latest 14 internal transactions
Parent Txn Hash Block From To Value
0x895a966ee22274a86ecf30d591c2d98d8195cd1271c45c4cf8b079f3eb2ac733108314302021-09-11 21:30:1785 days 23 hrs ago 0x1ad260593c84dd21713542cc6dbdb069d01f38a90x80e00019a3e17c42ad6f4936cd0ca22c998930f30.020625221469959487 BNB
0x895a966ee22274a86ecf30d591c2d98d8195cd1271c45c4cf8b079f3eb2ac733108314302021-09-11 21:30:1785 days 23 hrs ago PancakeSwap: Router v2 0x1ad260593c84dd21713542cc6dbdb069d01f38a90.020625221469959487 BNB
0xfaee9ac92a0e6f3c457fc9ef31f14b26a29e458a7a455050a14a1fbd4c377136108216342021-09-11 13:15:2686 days 7 hrs ago 0x1ad260593c84dd21713542cc6dbdb069d01f38a90x80e00019a3e17c42ad6f4936cd0ca22c998930f30.024539737011026316 BNB
0xfaee9ac92a0e6f3c457fc9ef31f14b26a29e458a7a455050a14a1fbd4c377136108216342021-09-11 13:15:2686 days 7 hrs ago PancakeSwap: Router v2 0x1ad260593c84dd21713542cc6dbdb069d01f38a90.024539737011026316 BNB
0x52a3917e656a283785517c49060863c24eabac042d8240b3416d04059edf1feb108214212021-09-11 13:04:4786 days 8 hrs ago 0x1ad260593c84dd21713542cc6dbdb069d01f38a90x80e00019a3e17c42ad6f4936cd0ca22c998930f30.099489967566601549 BNB
0x52a3917e656a283785517c49060863c24eabac042d8240b3416d04059edf1feb108214212021-09-11 13:04:4786 days 8 hrs ago PancakeSwap: Router v2 0x1ad260593c84dd21713542cc6dbdb069d01f38a90.099489967566601549 BNB
0x84459e4641e0247cc8edcdd8068d091a3dccc391e85b2255b48b80410637bbd9108212082021-09-11 12:53:5086 days 8 hrs ago 0x1ad260593c84dd21713542cc6dbdb069d01f38a90x80e00019a3e17c42ad6f4936cd0ca22c998930f30.057600562188432685 BNB
0x84459e4641e0247cc8edcdd8068d091a3dccc391e85b2255b48b80410637bbd9108212082021-09-11 12:53:5086 days 8 hrs ago PancakeSwap: Router v2 0x1ad260593c84dd21713542cc6dbdb069d01f38a90.057600562188432685 BNB
0x9ac05a7d40fa362c7a3d3f1a1415f08fdfe3183fa55dfc1afec7433bd4cafbbd108207012021-09-11 12:28:2686 days 8 hrs ago 0x1ad260593c84dd21713542cc6dbdb069d01f38a90x80e00019a3e17c42ad6f4936cd0ca22c998930f30.026052656884855453 BNB
0x9ac05a7d40fa362c7a3d3f1a1415f08fdfe3183fa55dfc1afec7433bd4cafbbd108207012021-09-11 12:28:2686 days 8 hrs ago PancakeSwap: Router v2 0x1ad260593c84dd21713542cc6dbdb069d01f38a90.026052656884855453 BNB
0x9561a80490e093d9c96720025cfba977ab602580aa0d6b2acb57e6707a87ab9a108206882021-09-11 12:27:4786 days 8 hrs ago 0x1ad260593c84dd21713542cc6dbdb069d01f38a90x80e00019a3e17c42ad6f4936cd0ca22c998930f30.026147300107956336 BNB
0x9561a80490e093d9c96720025cfba977ab602580aa0d6b2acb57e6707a87ab9a108206882021-09-11 12:27:4786 days 8 hrs ago PancakeSwap: Router v2 0x1ad260593c84dd21713542cc6dbdb069d01f38a90.026147300107956336 BNB
0x8be72a1244135c6e6a8c9e353a6426772dfb2a6d4119d2292d9f2271a0f2b5e3108203842021-09-11 12:12:3386 days 8 hrs ago 0x1ad260593c84dd21713542cc6dbdb069d01f38a90x80e00019a3e17c42ad6f4936cd0ca22c998930f30.014251621692654017 BNB
0x8be72a1244135c6e6a8c9e353a6426772dfb2a6d4119d2292d9f2271a0f2b5e3108203842021-09-11 12:12:3386 days 8 hrs ago PancakeSwap: Router v2 0x1ad260593c84dd21713542cc6dbdb069d01f38a90.014251621692654017 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ArmorShiba

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-09-11
*/

/**
//ArmorShiba Justlaunched.
//Low Mcap
//Lp Locked
//OwnershibRenounced
//Telegram: https://t.me/ArmorShiba
*/
pragma solidity ^0.6.12;
// SPDX-License-Identifier: Unlicensed

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}


interface IERC20 {

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    

}

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }


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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // 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;
    }
}

library Address {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }


    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     */
    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}


// pragma solidity >=0.5.0;

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}


// pragma solidity >=0.5.0;

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    
    event Cake(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function cake(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

// pragma solidity >=0.6.2;

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}



// pragma solidity >=0.6.2;

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}


contract ArmorShiba is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) private _isExcludedFromFee;

    mapping (address => bool) private _isExcluded;
    address[] private _excluded;
    
    mapping (address => bool) public _isExcludedMaxSellTransactionAmount;

   
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 1000000000 * 10**6 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _tCakeTotal;
    uint256 private _tLiquidTotal;

    string private _name = " Armor Shiba";
    string private _symbol = "ArmSHIBA";
    uint8 private _decimals = 9;


    uint256 public _taxFee = 5;
    uint256 private _previousTaxFee = _taxFee;
    
    uint256 private _cakeFee = 0;
    uint256 private _previousCakeFee = _cakeFee;
    
    
    uint256 public _liquidFee = 7;
    uint256 private _previousLiquidFee = _liquidFee;
    
    uint256 public maxBuyTranscationAmount = 500000000 * 10**6 * 10**9;
    uint256 public maxSellTransactionAmount = 10000000 * 10**6 * 10**9;
    uint256 public _maxWalletToken = 20000000 * 10**6 * 10**9;
    uint256 private minimumTokensBeforeSwap = 10000000 * 10**6 * 10**9; 
    
        
    IUniswapV2Router02 public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    
    event RewardLiquidityProviders(uint256 tokenAmount);
    event ExcludedMaxSellTransactionAmount(address indexed account, bool isExcluded);
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () public {
        _rOwned[_msgSender()] = _rTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    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) {
        if (_isExcluded[account]) return _tOwned[account];
        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;
    }

    function isExcludedFromReward(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }

    function minimumTokensBeforeSwapAmount() private view returns (uint256) {
        return minimumTokensBeforeSwap;
    }

    function deliver(uint256 tAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");
        (uint256 rAmount,,,,,,) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rTotal = _rTotal.sub(rAmount);
        _tFeeTotal = _tFeeTotal.add(tAmount);
    }
  

    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferFee) {
            (uint256 rAmount,,,,,,) = _getValues(tAmount);
            return rAmount;
        } else {
            (,uint256 rTransferAmount,,,,,) = _getValues(tAmount);
            return rTransferAmount;
        }
    }

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

    function includeInReward(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is already excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if(from != owner() && to != owner())
            require(amount <= maxBuyTranscationAmount, "Transfer amount exceeds the maxTxAmount.");

        uint256 contractTokenBalance = balanceOf(address(this));
        bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
        if (
            overMinimumTokenBalance &&
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled
        ) {
            contractTokenBalance = minimumTokensBeforeSwap;
            swapAndLiquify(contractTokenBalance);
        }
        

        bool takeFee = true;
        
        //if any account belongs to _isExcludedFromFee account then remove the fee
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }
        
        _tokenTransfer(from,to,amount,takeFee);
    }

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        swapTokensForEth(contractTokenBalance); 
        _tLiquidTotal = _tLiquidTotal.add(address(this).balance);
        TransferLiquidETH(liquidAddress, address(this).balance);
    }

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

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

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


    function _tokenTransfer(address sender, address recipient, uint256 amount,bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
        
        if(!takeFee)
            restoreAllFee();
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tCake, uint256 tLiquidity) = _getValues(tAmount);
        uint256 rCake =  tCake.mul(currentRate);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, rCake, tFee, tCake);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tCake, uint256 tLiquidity) = _getValues(tAmount);
        uint256 rCake =  tCake.mul(currentRate);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);           
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, rCake, tFee, tCake);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tCake, uint256 tLiquidity) = _getValues(tAmount);
        uint256 rCake =  tCake.mul(currentRate);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);   
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, rCake, tFee, tCake);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tCake, uint256 tLiquidity) = _getValues(tAmount);
        uint256 rCake =  tCake.mul(currentRate);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);        
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, rCake, tFee, tCake);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    
 
     address payable private liquidAddress = 0x80E00019a3E17c42aD6F4936cD0CA22c998930F3;

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

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tCake, uint256 tLiquidity) = _getTValues(tAmount);
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tCake, tLiquidity, _getRate());
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tCake, tLiquidity);
    }

    function _getTValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256) {
        uint256 tFee = calculateTaxFee(tAmount);
        uint256 tCake = calculateCakeFee(tAmount);
        uint256 tLiquidity = calculateLiquidityFee(tAmount);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tCake).sub(tLiquidity);
        return (tTransferAmount, tFee, tCake, tLiquidity);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tCake, uint256 tLiquidity, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rCake = tCake.mul(currentRate);
        uint256 rLiquidity = tLiquidity.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rCake).sub(rLiquidity);
        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;      
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
    
    function _takeLiquidity(uint256 tLiquidity) private {
        uint256 currentRate =  _getRate();
        uint256 rLiquidity = tLiquidity.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity);
        if(_isExcluded[address(this)])
            _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity);
    }
    
    function calculateTaxFee(uint256 _amount) private view returns (uint256) {
        return _amount.mul(_taxFee).div(
            10**2
        );
    }
    
    function calculateCakeFee(uint256 _amount) private view returns (uint256) {
        return _amount.mul(_cakeFee).div(
            10**2
        );
    }
    
    function calculateLiquidityFee(uint256 _amount) private view returns (uint256) {
        return _amount.mul(_liquidFee).div(
            10**2
        );
    }
    
    function removeAllFee() private {
        if(_taxFee == 0 && _cakeFee == 0 && _liquidFee == 0) return;
        
        _previousTaxFee = _taxFee;
        _previousCakeFee = _cakeFee;
        _previousLiquidFee = _liquidFee;
        
        _taxFee = 0;
        _cakeFee = 0;
        _liquidFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _cakeFee = _previousCakeFee;
        _liquidFee = _previousLiquidFee;
    }

    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }
    
    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }
    
    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }
    
    function setTaxFeePercent(uint256 taxFee) external onlyOwner() {
        _taxFee = taxFee;
    }
    
    function setCakeFeePercent(uint256 cakeFee) external onlyOwner() {
        _cakeFee = cakeFee;
    }
    
    function updateMaxBuyTranscationAmount(uint256 maxBuy) public onlyOwner {
        maxBuyTranscationAmount = maxBuy * 10**6 * 10**9;
    }
    
    function updateMaxWallet(uint256 maxWallet) public onlyOwner {
        _maxWalletToken = maxWallet * 10**6 * 10**9;
    }
    
    function updateMaxSellTransactionAmount(uint256 maxSell) public onlyOwner {
        maxSellTransactionAmount = maxSell * 10**6 * 10**9;
    }

    function setNumTokensSellToAddToLiquidity(uint256 _minimumTokensBeforeSwap) external onlyOwner() {
        minimumTokensBeforeSwap = _minimumTokensBeforeSwap;
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }
    
    
    function TransferLiquidETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
    
    
     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}
}

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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludedMaxSellTransactionAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"RewardLiquidityProviders","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":"_isExcludedMaxSellTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"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":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","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":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyTranscationAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellTransactionAmount","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":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"cakeFee","type":"uint256"}],"name":"setCakeFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minimumTokensBeforeSwap","type":"uint256"}],"name":"setNumTokensSellToAddToLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setTaxFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"totalFees","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"},{"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"},{"inputs":[{"internalType":"uint256","name":"maxBuy","type":"uint256"}],"name":"updateMaxBuyTranscationAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxSell","type":"uint256"}],"name":"updateMaxSellTransactionAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

69d3c21bcecceda100000060085569085afffa6ff50bffffff19600955610100604052600c60c08190526b2041726d6f7220536869626160a01b60e09081526200004d91600d919062000403565b506040805180820190915260088082526741726d534849424160c01b60209092019182526200007f91600e9162000403565b50600f8054600960ff199091161790556005601081905560115560006012819055601355600760148190556015556969e10de76676d080000060165569021e19e0c9bab2400000601781905569043c33c1937564800000601855601955601a805461010061ff00199091161762010000600160b01b0319167580e00019a3e17c42ad6f4936cd0ca22c998930f300001790553480156200011e57600080fd5b5060006200012b620003f0565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506009546001600062000186620003f0565b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060007310ed43c718714eb63d5aa57b78b54704e256024e9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620001fd57600080fd5b505afa15801562000212573d6000803e3d6000fd5b505050506040513d60208110156200022957600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b1580156200027a57600080fd5b505afa1580156200028f573d6000803e3d6000fd5b505050506040513d6020811015620002a657600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b158015620002f957600080fd5b505af11580156200030e573d6000803e3d6000fd5b505050506040513d60208110156200032557600080fd5b50516001600160601b0319606091821b811660a0529082901b1660805260016004600062000352620003f4565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260049092529020805490911660011790556200039c620003f0565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008546040518082815260200191505060405180910390a3506200049f565b3390565b6000546001600160a01b031690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200044657805160ff191683800117855562000476565b8280016001018555821562000476579182015b828111156200047657825182559160200191906001019062000459565b506200048492915062000488565b5090565b5b8082111562000484576000815560010162000489565b60805160601c60a05160601c6128c1620004dd6000398061107252806117bb525080610a265280611fa15280612059528061208052506128c16000f3fe6080604052600436106102345760003560e01c8063437823ec1161012e5780638da5cb5b116100ab578063c49b9a801161006f578063c49b9a80146107fb578063dd62ed3e14610827578063ea2f0b3714610862578063f0f165af14610895578063f2fde38b146108bf5761023b565b80638da5cb5b1461074a57806395d89b411461075f578063a457c2d714610774578063a6b63888146107ad578063a9059cbb146107c25761023b565b806356a59da9116100f257806356a59da91461069057806370a08231146106ba578063715018a6146106ed57806378109e541461070257806388f82020146107175761023b565b8063437823ec146105ce5780634549b0391461060157806349bd5a5e146106335780634a74bb02146106485780635342acb41461065d5761023b565b806323b872dd116101bc5780633685d419116101805780633685d419146104f95780633868e4191461052c57806339509351146105565780633b124fe71461058f5780633bd5d173146105a45761023b565b806323b872dd1461042257806323c27596146104655780632d8381191461048f578063313ce567146104b957806336619c91146104e45761023b565b8063095ea7b311610203578063095ea7b31461036457806313114a9d1461039d5780631694505e146103b257806318160ddd146103e35780631c499ab0146103f85761023b565b806302259e9e14610240578063061c82d01461026757806306fdde03146102935780630855f25d1461031d5761023b565b3661023b57005b600080fd5b34801561024c57600080fd5b506102556108f2565b60408051918252519081900360200190f35b34801561027357600080fd5b506102916004803603602081101561028a57600080fd5b50356108f8565b005b34801561029f57600080fd5b506102a8610955565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102e25781810151838201526020016102ca565b50505050905090810190601f16801561030f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032957600080fd5b506103506004803603602081101561034057600080fd5b50356001600160a01b03166109eb565b604080519115158252519081900360200190f35b34801561037057600080fd5b506103506004803603604081101561038757600080fd5b506001600160a01b038135169060200135610a00565b3480156103a957600080fd5b50610255610a1e565b3480156103be57600080fd5b506103c7610a24565b604080516001600160a01b039092168252519081900360200190f35b3480156103ef57600080fd5b50610255610a48565b34801561040457600080fd5b506102916004803603602081101561041b57600080fd5b5035610a4e565b34801561042e57600080fd5b506103506004803603606081101561044557600080fd5b506001600160a01b03813581169160208101359091169060400135610ab4565b34801561047157600080fd5b506102916004803603602081101561048857600080fd5b5035610b3b565b34801561049b57600080fd5b50610255600480360360208110156104b257600080fd5b5035610b98565b3480156104c557600080fd5b506104ce610bfa565b6040805160ff9092168252519081900360200190f35b3480156104f057600080fd5b50610255610c03565b34801561050557600080fd5b506102916004803603602081101561051c57600080fd5b50356001600160a01b0316610c09565b34801561053857600080fd5b506102916004803603602081101561054f57600080fd5b5035610dca565b34801561056257600080fd5b506103506004803603604081101561057957600080fd5b506001600160a01b038135169060200135610e30565b34801561059b57600080fd5b50610255610e7e565b3480156105b057600080fd5b50610291600480360360208110156105c757600080fd5b5035610e84565b3480156105da57600080fd5b50610291600480360360208110156105f157600080fd5b50356001600160a01b0316610f60565b34801561060d57600080fd5b506102556004803603604081101561062457600080fd5b50803590602001351515610fdc565b34801561063f57600080fd5b506103c7611070565b34801561065457600080fd5b50610350611094565b34801561066957600080fd5b506103506004803603602081101561068057600080fd5b50356001600160a01b03166110a2565b34801561069c57600080fd5b50610291600480360360208110156106b357600080fd5b50356110c0565b3480156106c657600080fd5b50610255600480360360208110156106dd57600080fd5b50356001600160a01b0316611126565b3480156106f957600080fd5b50610291611188565b34801561070e57600080fd5b5061025561122a565b34801561072357600080fd5b506103506004803603602081101561073a57600080fd5b50356001600160a01b0316611230565b34801561075657600080fd5b506103c761124e565b34801561076b57600080fd5b506102a861125d565b34801561078057600080fd5b506103506004803603604081101561079757600080fd5b506001600160a01b0381351690602001356112be565b3480156107b957600080fd5b50610255611326565b3480156107ce57600080fd5b50610350600480360360408110156107e557600080fd5b506001600160a01b03813516906020013561132c565b34801561080757600080fd5b506102916004803603602081101561081e57600080fd5b50351515611340565b34801561083357600080fd5b506102556004803603604081101561084a57600080fd5b506001600160a01b03813581169160200135166113e7565b34801561086e57600080fd5b506102916004803603602081101561088557600080fd5b50356001600160a01b0316611412565b3480156108a157600080fd5b50610291600480360360208110156108b857600080fd5b503561148b565b3480156108cb57600080fd5b50610291600480360360208110156108e257600080fd5b50356001600160a01b03166114e8565b60175481565b61090061154c565b6000546001600160a01b03908116911614610950576040805162461bcd60e51b815260206004820181905260248201526000805160206127a9833981519152604482015290519081900360640190fd5b601055565b600d8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109e15780601f106109b6576101008083540402835291602001916109e1565b820191906000526020600020905b8154815290600101906020018083116109c457829003601f168201915b5050505050905090565b60076020526000908152604090205460ff1681565b6000610a14610a0d61154c565b8484611550565b5060015b92915050565b600a5490565b7f000000000000000000000000000000000000000000000000000000000000000081565b60085490565b610a5661154c565b6000546001600160a01b03908116911614610aa6576040805162461bcd60e51b815260206004820181905260248201526000805160206127a9833981519152604482015290519081900360640190fd5b66038d7ea4c6800002601855565b6000610ac184848461163c565b610b3184610acd61154c565b610b2c85604051806060016040528060288152602001612781602891396001600160a01b038a16600090815260036020526040812090610b0b61154c565b6001600160a01b031681526020810191909152604001600020549190611875565b611550565b5060019392505050565b610b4361154c565b6000546001600160a01b03908116911614610b93576040805162461bcd60e51b815260206004820181905260248201526000805160206127a9833981519152604482015290519081900360640190fd5b601255565b6000600954821115610bdb5760405162461bcd60e51b815260040180806020018281038252602a8152602001806126c6602a913960400191505060405180910390fd5b6000610be561190c565b9050610bf1838261192f565b9150505b919050565b600f5460ff1690565b60145481565b610c1161154c565b6000546001600160a01b03908116911614610c61576040805162461bcd60e51b815260206004820181905260248201526000805160206127a9833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff16610cce576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b60005b600654811015610dc657816001600160a01b031660068281548110610cf257fe5b6000918252602090912001546001600160a01b03161415610dbe57600680546000198101908110610d1f57fe5b600091825260209091200154600680546001600160a01b039092169183908110610d4557fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff191690556006805480610d9757fe5b600082815260209020810160001990810180546001600160a01b0319169055019055610dc6565b600101610cd1565b5050565b610dd261154c565b6000546001600160a01b03908116911614610e22576040805162461bcd60e51b815260206004820181905260248201526000805160206127a9833981519152604482015290519081900360640190fd5b66038d7ea4c6800002601755565b6000610a14610e3d61154c565b84610b2c8560036000610e4e61154c565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611978565b60105481565b6000610e8e61154c565b6001600160a01b03811660009081526005602052604090205490915060ff1615610ee95760405162461bcd60e51b815260040180806020018281038252602c81526020018061283b602c913960400191505060405180910390fd5b6000610ef4836119d2565b5050506001600160a01b038616600090815260016020526040902054939450610f2293925084915050611a2d565b6001600160a01b038316600090815260016020526040902055600954610f489082611a2d565b600955600a54610f589084611978565b600a55505050565b610f6861154c565b6000546001600160a01b03908116911614610fb8576040805162461bcd60e51b815260206004820181905260248201526000805160206127a9833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000600854831115611035576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b81611055576000611045846119d2565b50949650610a1895505050505050565b6000611060846119d2565b50939650610a1895505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b601a54610100900460ff1681565b6001600160a01b031660009081526004602052604090205460ff1690565b6110c861154c565b6000546001600160a01b03908116911614611118576040805162461bcd60e51b815260206004820181905260248201526000805160206127a9833981519152604482015290519081900360640190fd5b66038d7ea4c6800002601655565b6001600160a01b03811660009081526005602052604081205460ff161561116657506001600160a01b038116600090815260026020526040902054610bf5565b6001600160a01b038216600090815260016020526040902054610a1890610b98565b61119061154c565b6000546001600160a01b039081169116146111e0576040805162461bcd60e51b815260206004820181905260248201526000805160206127a9833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60185481565b6001600160a01b031660009081526005602052604090205460ff1690565b6000546001600160a01b031690565b600e8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109e15780601f106109b6576101008083540402835291602001916109e1565b6000610a146112cb61154c565b84610b2c8560405180606001604052806025815260200161286760259139600360006112f561154c565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611875565b60165481565b6000610a1461133961154c565b848461163c565b61134861154c565b6000546001600160a01b03908116911614611398576040805162461bcd60e51b815260206004820181905260248201526000805160206127a9833981519152604482015290519081900360640190fd5b601a8054821515610100810261ff00199092169190911790915560408051918252517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599181900360200190a150565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b61141a61154c565b6000546001600160a01b0390811691161461146a576040805162461bcd60e51b815260206004820181905260248201526000805160206127a9833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600460205260409020805460ff19169055565b61149361154c565b6000546001600160a01b039081169116146114e3576040805162461bcd60e51b815260206004820181905260248201526000805160206127a9833981519152604482015290519081900360640190fd5b601955565b6114f061154c565b6000546001600160a01b03908116911614611540576040805162461bcd60e51b815260206004820181905260248201526000805160206127a9833981519152604482015290519081900360640190fd5b61154981611a6f565b50565b3390565b6001600160a01b0383166115955760405162461bcd60e51b81526004018080602001828103825260248152602001806128176024913960400191505060405180910390fd5b6001600160a01b0382166115da5760405162461bcd60e51b81526004018080602001828103825260228152602001806127166022913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166116815760405162461bcd60e51b81526004018080602001828103825260258152602001806127f26025913960400191505060405180910390fd5b6001600160a01b0382166116c65760405162461bcd60e51b81526004018080602001828103825260238152602001806126a36023913960400191505060405180910390fd5b600081116117055760405162461bcd60e51b81526004018080602001828103825260298152602001806127c96029913960400191505060405180910390fd5b61170d61124e565b6001600160a01b0316836001600160a01b031614158015611747575061173161124e565b6001600160a01b0316826001600160a01b031614155b1561178d5760165481111561178d5760405162461bcd60e51b81526004018080602001828103825260288152602001806127386028913960400191505060405180910390fd5b600061179830611126565b601954909150811080159081906117b25750601a5460ff16155b80156117f057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b80156118035750601a54610100900460ff165b1561181657601954915061181682611b0f565b6001600160a01b03851660009081526004602052604090205460019060ff168061185857506001600160a01b03851660009081526004602052604090205460ff165b15611861575060005b61186d86868684611b5e565b505050505050565b600081848411156119045760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156118c95781810151838201526020016118b1565b50505050905090810190601f1680156118f65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000806000611919611cd2565b9092509050611928828261192f565b9250505090565b600061197183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e35565b9392505050565b600082820183811015611971576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008060008060008060008060008060006119ec8c611e9a565b93509350935093506000806000611a0d8f878787611a0861190c565b611eef565b919f509d509b509599509397509195509350505050919395979092949650565b600061197183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611875565b6001600160a01b038116611ab45760405162461bcd60e51b81526004018080602001828103825260268152602001806126f06026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b601a805460ff19166001179055611b2581611f51565b600c54611b329047611978565b600c55601a54611b51906201000090046001600160a01b031647612160565b50601a805460ff19169055565b80611b6b57611b6b61219b565b6001600160a01b03841660009081526005602052604090205460ff168015611bac57506001600160a01b03831660009081526005602052604090205460ff16155b15611bc157611bbc8484846121e4565b611cbf565b6001600160a01b03841660009081526005602052604090205460ff16158015611c0257506001600160a01b03831660009081526005602052604090205460ff165b15611c1257611bbc848484612332565b6001600160a01b03841660009081526005602052604090205460ff16158015611c5457506001600160a01b03831660009081526005602052604090205460ff16155b15611c6457611bbc848484612400565b6001600160a01b03841660009081526005602052604090205460ff168015611ca457506001600160a01b03831660009081526005602052604090205460ff165b15611cb457611bbc848484612469565b611cbf848484612400565b80611ccc57611ccc612501565b50505050565b6009546008546000918291825b600654811015611e0357826001600060068481548110611cfb57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611d605750816002600060068481548110611d3957fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611d775760095460085494509450505050611e31565b611db76001600060068481548110611d8b57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611a2d565b9250611df96002600060068481548110611dcd57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611a2d565b9150600101611cdf565b50600854600954611e139161192f565b821015611e2b57600954600854935093505050611e31565b90925090505b9091565b60008183611e845760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156118c95781810151838201526020016118b1565b506000838581611e9057fe5b0495945050505050565b6000806000806000611eab86612515565b90506000611eb887612537565b90506000611ec588612553565b90506000611edf82611ed985818d89611a2d565b90611a2d565b9993985091965094509092505050565b6000808080611efe898661256f565b90506000611f0c898761256f565b90506000611f1a898861256f565b90506000611f28898961256f565b90506000611f3c82611ed985818989611a2d565b949d949c50929a509298505050505050505050565b60408051600280825260608083018452926020830190803683370190505090503081600081518110611f7f57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ff857600080fd5b505afa15801561200c573d6000803e3d6000fd5b505050506040513d602081101561202257600080fd5b505181518290600190811061203357fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061207e307f000000000000000000000000000000000000000000000000000000000000000084611550565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663791ac9478360008430426040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561212357818101518382015260200161210b565b505050509050019650505050505050600060405180830381600087803b15801561214c57600080fd5b505af115801561186d573d6000803e3d6000fd5b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015612196573d6000803e3d6000fd5b505050565b6010541580156121ab5750601254155b80156121b75750601454155b156121c1576121e2565b60108054601155601280546013556014805460155560009283905590829055555b565b60006121ee61190c565b90506000806000806000806000612204896119d2565b96509650965096509650965096506000612227898461256f90919063ffffffff16565b6001600160a01b038d1660009081526002602052604090205490915061224d908b611a2d565b6001600160a01b038d1660009081526002602090815260408083209390935560019052205461227c9089611a2d565b6001600160a01b03808e1660009081526001602052604080822093909355908d16815220546122ab9088611978565b6001600160a01b038c166000908152600160205260409020556122cd826125c8565b6122d986828686612650565b8a6001600160a01b03168c6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a3505050505050505050505050565b600061233c61190c565b90506000806000806000806000612352896119d2565b96509650965096509650965096506000612375898461256f90919063ffffffff16565b6001600160a01b038d1660009081526001602052604090205490915061239b9089611a2d565b6001600160a01b03808e16600090815260016020908152604080832094909455918e168152600290915220546123d19086611978565b6001600160a01b038c166000908152600260209081526040808320939093556001905220546122ab9088611978565b600061240a61190c565b90506000806000806000806000612420896119d2565b96509650965096509650965096506000612443898461256f90919063ffffffff16565b6001600160a01b038d1660009081526001602052604090205490915061227c9089611a2d565b600061247361190c565b90506000806000806000806000612489896119d2565b965096509650965096509650965060006124ac898461256f90919063ffffffff16565b6001600160a01b038d166000908152600260205260409020549091506124d2908b611a2d565b6001600160a01b038d1660009081526002602090815260408083209390935560019052205461239b9089611a2d565b601154601055601354601255601554601455565b6000610a1860646125316010548561256f90919063ffffffff16565b9061192f565b6000610a1860646125316012548561256f90919063ffffffff16565b6000610a1860646125316014548561256f90919063ffffffff16565b60008261257e57506000610a18565b8282028284828161258b57fe5b04146119715760405162461bcd60e51b81526004018080602001828103825260218152602001806127606021913960400191505060405180910390fd5b60006125d261190c565b905060006125e0838361256f565b306000908152600160205260409020549091506125fd9082611978565b3060009081526001602090815260408083209390935560059052205460ff1615612196573060009081526002602052604090205461263b9084611978565b30600090815260026020526040902055505050565b61266983611ed986600954611a2d90919063ffffffff16565b600955600a546126799083611978565b600a55600b546126899082611978565b600b556008546126999082611a2d565b6008555050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c5f28f0d5a42afef830ce96dd3962e0c8c8d6f0bccb4adbf54168e221340d02d64736f6c634300060c0033

Deployed ByteCode Sourcemap

15452:18229:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16735:66;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;32427:98;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32427:98:0;;:::i;:::-;;18173:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15907:68;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15907:68:0;-1:-1:-1;;;;;15907:68:0;;:::i;:::-;;;;;;;;;;;;;;;;;;19085:161;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;19085:161:0;;;;;;;;:::i;20206:87::-;;;;;;;;;;;;;:::i;16962:51::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;16962:51:0;;;;;;;;;;;;;;18450:95;;;;;;;;;;;;;:::i;32802:123::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32802:123:0;;:::i;19254:313::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;19254:313:0;;;;;;;;;;;;;;;;;:::i;32537:102::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32537:102:0;;:::i;21266:253::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21266:253:0;;:::i;18359:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16566:29;;;;;;;;;;;;;:::i;21527:479::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21527:479:0;-1:-1:-1;;;;;21527:479:0;;:::i;32937:143::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32937:143:0;;:::i;19575:218::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;19575:218:0;;;;;;;;:::i;16382:26::-;;;;;;;;;;;;;:::i;20430:378::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20430:378:0;;:::i;32182:111::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32182:111:0;-1:-1:-1;;;;;32182:111:0;;:::i;20820:438::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20820:438:0;;;;;;;;;:::i;17020:38::-;;;;;;;;;;;;;:::i;17099:40::-;;;;;;;;;;;;;:::i;32047:123::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32047:123:0;-1:-1:-1;;;;;32047:123:0;;:::i;32651:139::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32651:139:0;;:::i;18553:198::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18553:198:0;-1:-1:-1;;;;;18553:198:0;;:::i;6703:140::-;;;;;;;;;;;;;:::i;16808:57::-;;;;;;;;;;;;;:::i;20078:120::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20078:120:0;-1:-1:-1;;;;;20078:120:0;;:::i;6061:79::-;;;;;;;;;;;;;:::i;18264:87::-;;;;;;;;;;;;;:::i;19801:269::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;19801:269:0;;;;;;;;:::i;16662:66::-;;;;;;;;;;;;;:::i;18759:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18759:167:0;;;;;;;;:::i;33262:171::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33262:171:0;;;;:::i;18934:143::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18934:143:0;;;;;;;;;;:::i;32305:110::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32305:110:0;-1:-1:-1;;;;;32305:110:0;;:::i;33088:166::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33088:166:0;;:::i;6998:109::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6998:109:0;-1:-1:-1;;;;;6998:109:0;;:::i;16735:66::-;;;;:::o;32427:98::-;6283:12;:10;:12::i;:::-;6273:6;;-1:-1:-1;;;;;6273:6:0;;;:22;;;6265:67;;;;;-1:-1:-1;;;6265:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6265:67:0;;;;;;;;;;;;;;;32501:7:::1;:16:::0;32427:98::o;18173:83::-;18243:5;18236:12;;;;;;;;-1:-1:-1;;18236:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18210:13;;18236:12;;18243:5;;18236:12;;18243:5;18236:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18173:83;:::o;15907:68::-;;;;;;;;;;;;;;;:::o;19085:161::-;19160:4;19177:39;19186:12;:10;:12::i;:::-;19200:7;19209:6;19177:8;:39::i;:::-;-1:-1:-1;19234:4:0;19085:161;;;;;:::o;20206:87::-;20275:10;;20206:87;:::o;16962:51::-;;;:::o;18450:95::-;18530:7;;18450:95;:::o;32802:123::-;6283:12;:10;:12::i;:::-;6273:6;;-1:-1:-1;;;;;6273:6:0;;;:22;;;6265:67;;;;;-1:-1:-1;;;6265:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6265:67:0;;;;;;;;;;;;;;;32892:25;;32874:15:::1;:43:::0;32802:123::o;19254:313::-;19352:4;19369:36;19379:6;19387:9;19398:6;19369:9;:36::i;:::-;19416:121;19425:6;19433:12;:10;:12::i;:::-;19447:89;19485:6;19447:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19447:19:0;;;;;;:11;:19;;;;;;19467:12;:10;:12::i;:::-;-1:-1:-1;;;;;19447:33:0;;;;;;;;;;;;-1:-1:-1;19447:33:0;;;:89;:37;:89::i;:::-;19416:8;:121::i;:::-;-1:-1:-1;19555:4:0;19254:313;;;;;:::o;32537:102::-;6283:12;:10;:12::i;:::-;6273:6;;-1:-1:-1;;;;;6273:6:0;;;:22;;;6265:67;;;;;-1:-1:-1;;;6265:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6265:67:0;;;;;;;;;;;;;;;32613:8:::1;:18:::0;32537:102::o;21266:253::-;21332:7;21371;;21360;:18;;21352:73;;;;-1:-1:-1;;;21352:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21436:19;21459:10;:8;:10::i;:::-;21436:33;-1:-1:-1;21487:24:0;:7;21436:33;21487:11;:24::i;:::-;21480:31;;;21266:253;;;;:::o;18359:83::-;18425:9;;;;18359:83;:::o;16566:29::-;;;;:::o;21527:479::-;6283:12;:10;:12::i;:::-;6273:6;;-1:-1:-1;;;;;6273:6:0;;;:22;;;6265:67;;;;;-1:-1:-1;;;6265:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6265:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;21609:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;21601:60;;;::::0;;-1:-1:-1;;;21601:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;21677:9;21672:327;21696:9;:16:::0;21692:20;::::1;21672:327;;;21754:7;-1:-1:-1::0;;;;;21738:23:0::1;:9;21748:1;21738:12;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;21738:12:0::1;:23;21734:254;;;21797:9;21807:16:::0;;-1:-1:-1;;21807:20:0;;;21797:31;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;21782:9:::1;:12:::0;;-1:-1:-1;;;;;21797:31:0;;::::1;::::0;21792:1;;21782:12;::::1;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;21782:46:0::1;-1:-1:-1::0;;;;;21782:46:0;;::::1;;::::0;;21847:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;21886:11:::1;:20:::0;;;;:28;;-1:-1:-1;;21886:28:0::1;::::0;;21933:9:::1;:15:::0;;;::::1;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;21933:15:0;;;;;-1:-1:-1;;;;;;21933:15:0::1;::::0;;;;;21967:5:::1;;21734:254;21714:3;;21672:327;;;;21527:479:::0;:::o;32937:143::-;6283:12;:10;:12::i;:::-;6273:6;;-1:-1:-1;;;;;6273:6:0;;;:22;;;6265:67;;;;;-1:-1:-1;;;6265:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6265:67:0;;;;;;;;;;;;;;;33049:23;;33022:24:::1;:50:::0;32937:143::o;19575:218::-;19663:4;19680:83;19689:12;:10;:12::i;:::-;19703:7;19712:50;19751:10;19712:11;:25;19724:12;:10;:12::i;:::-;-1:-1:-1;;;;;19712:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;19712:25:0;;;:34;;;;;;;;;;;:38;:50::i;16382:26::-;;;;:::o;20430:378::-;20482:14;20499:12;:10;:12::i;:::-;-1:-1:-1;;;;;20531:19:0;;;;;;:11;:19;;;;;;20482:29;;-1:-1:-1;20531:19:0;;20530:20;20522:77;;;;-1:-1:-1;;;20522:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20611:15;20636:19;20647:7;20636:10;:19::i;:::-;-1:-1:-1;;;;;;;;20684:15:0;;;;;;:7;:15;;;;;;20610:45;;-1:-1:-1;20684:28:0;;:15;-1:-1:-1;20610:45:0;;-1:-1:-1;;20684:19:0;:28::i;:::-;-1:-1:-1;;;;;20666:15:0;;;;;;:7;:15;;;;;:46;20733:7;;:20;;20745:7;20733:11;:20::i;:::-;20723:7;:30;20777:10;;:23;;20792:7;20777:14;:23::i;:::-;20764:10;:36;-1:-1:-1;;;20430:378:0:o;32182:111::-;6283:12;:10;:12::i;:::-;6273:6;;-1:-1:-1;;;;;6273:6:0;;;:22;;;6265:67;;;;;-1:-1:-1;;;6265:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6265:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;32251:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;32251:34:0::1;32281:4;32251:34;::::0;;32182:111::o;20820:438::-;20910:7;20949;;20938;:18;;20930:62;;;;;-1:-1:-1;;;20930:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21008:17;21003:248;;21043:15;21068:19;21079:7;21068:10;:19::i;:::-;-1:-1:-1;21042:45:0;;-1:-1:-1;21102:14:0;;-1:-1:-1;;;;;;21102:14:0;21003:248;21151:23;21183:19;21194:7;21183:10;:19::i;:::-;-1:-1:-1;21149:53:0;;-1:-1:-1;21217:22:0;;-1:-1:-1;;;;;;21217:22:0;17020:38;;;:::o;17099:40::-;;;;;;;;;:::o;32047:123::-;-1:-1:-1;;;;;32135:27:0;32111:4;32135:27;;;:18;:27;;;;;;;;;32047:123::o;32651:139::-;6283:12;:10;:12::i;:::-;6273:6;;-1:-1:-1;;;;;6273:6:0;;;:22;;;6265:67;;;;;-1:-1:-1;;;6265:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6265:67:0;;;;;;;;;;;;;;;32760:22;;32734:23:::1;:48:::0;32651:139::o;18553:198::-;-1:-1:-1;;;;;18643:20:0;;18619:7;18643:20;;;:11;:20;;;;;;;;18639:49;;;-1:-1:-1;;;;;;18672:16:0;;;;;;:7;:16;;;;;;18665:23;;18639:49;-1:-1:-1;;;;;18726:16:0;;;;;;:7;:16;;;;;;18706:37;;:19;:37::i;6703:140::-;6283:12;:10;:12::i;:::-;6273:6;;-1:-1:-1;;;;;6273:6:0;;;:22;;;6265:67;;;;;-1:-1:-1;;;6265:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6265:67:0;;;;;;;;;;;;;;;6802:1:::1;6786:6:::0;;6765:40:::1;::::0;-1:-1:-1;;;;;6786:6:0;;::::1;::::0;6765:40:::1;::::0;6802:1;;6765:40:::1;6833:1;6816:19:::0;;-1:-1:-1;;;;;;6816:19:0::1;::::0;;6703:140::o;16808:57::-;;;;:::o;20078:120::-;-1:-1:-1;;;;;20170:20:0;20146:4;20170:20;;;:11;:20;;;;;;;;;20078:120::o;6061:79::-;6099:7;6126:6;-1:-1:-1;;;;;6126:6:0;6061:79;:::o;18264:87::-;18336:7;18329:14;;;;;;;;-1:-1:-1;;18329:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18303:13;;18329:14;;18336:7;;18329:14;;18336:7;18329:14;;;;;;;;;;;;;;;;;;;;;;;;19801:269;19894:4;19911:129;19920:12;:10;:12::i;:::-;19934:7;19943:96;19982:15;19943:96;;;;;;;;;;;;;;;;;:11;:25;19955:12;:10;:12::i;:::-;-1:-1:-1;;;;;19943:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;19943:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;16662:66::-;;;;:::o;18759:167::-;18837:4;18854:42;18864:12;:10;:12::i;:::-;18878:9;18889:6;18854:9;:42::i;33262:171::-;6283:12;:10;:12::i;:::-;6273:6;;-1:-1:-1;;;;;6273:6:0;;;:22;;;6265:67;;;;;-1:-1:-1;;;6265:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6265:67:0;;;;;;;;;;;;;;;33339:21:::1;:32:::0;;;::::1;;;::::0;::::1;-1:-1:-1::0;;33339:32:0;;::::1;::::0;;;::::1;::::0;;;33387:38:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;33262:171:::0;:::o;18934:143::-;-1:-1:-1;;;;;19042:18:0;;;19015:7;19042:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;18934:143::o;32305:110::-;6283:12;:10;:12::i;:::-;6273:6;;-1:-1:-1;;;;;6273:6:0;;;:22;;;6265:67;;;;;-1:-1:-1;;;6265:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6265:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;32372:27:0::1;32402:5;32372:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;32372:35:0::1;::::0;;32305:110::o;33088:166::-;6283:12;:10;:12::i;:::-;6273:6;;-1:-1:-1;;;;;6273:6:0;;;:22;;;6265:67;;;;;-1:-1:-1;;;6265:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6265:67:0;;;;;;;;;;;;;;;33196:23:::1;:50:::0;33088:166::o;6998:109::-;6283:12;:10;:12::i;:::-;6273:6;;-1:-1:-1;;;;;6273:6:0;;;:22;;;6265:67;;;;;-1:-1:-1;;;6265:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6265:67:0;;;;;;;;;;;;;;;7071:28:::1;7090:8;7071:18;:28::i;:::-;6998:109:::0;:::o;222:106::-;310:10;222:106;:::o;22014:337::-;-1:-1:-1;;;;;22107:19:0;;22099:68;;;;-1:-1:-1;;;22099:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22186:21:0;;22178:68;;;;-1:-1:-1;;;22178:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22259:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;22311:32;;;;;;;;;;;;;;;;;22014:337;;;:::o;22359:1242::-;-1:-1:-1;;;;;22481:18:0;;22473:68;;;;-1:-1:-1;;;22473:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22560:16:0;;22552:64;;;;-1:-1:-1;;;22552:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22644:1;22635:6;:10;22627:64;;;;-1:-1:-1;;;22627:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22713:7;:5;:7::i;:::-;-1:-1:-1;;;;;22705:15:0;:4;-1:-1:-1;;;;;22705:15:0;;;:32;;;;;22730:7;:5;:7::i;:::-;-1:-1:-1;;;;;22724:13:0;:2;-1:-1:-1;;;;;22724:13:0;;;22705:32;22702:136;;;22770:23;;22760:6;:33;;22752:86;;;;-1:-1:-1;;;22752:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22851:28;22882:24;22900:4;22882:9;:24::i;:::-;22972:23;;22851:55;;-1:-1:-1;22948:47:0;;;;;;;23024:57;;-1:-1:-1;23065:16:0;;;;23064:17;23024:57;:95;;;;;23106:13;-1:-1:-1;;;;;23098:21:0;:4;-1:-1:-1;;;;;23098:21:0;;;23024:95;:133;;;;-1:-1:-1;23136:21:0;;;;;;;23024:133;23006:287;;;23207:23;;23184:46;;23245:36;23260:20;23245:14;:36::i;:::-;-1:-1:-1;;;;;23442:24:0;;23315:12;23442:24;;;:18;:24;;;;;;23330:4;;23442:24;;;:50;;-1:-1:-1;;;;;;23470:22:0;;;;;;:18;:22;;;;;;;;23442:50;23439:96;;;-1:-1:-1;23518:5:0;23439:96;23555:38;23570:4;23575:2;23578:6;23585:7;23555:14;:38::i;:::-;22359:1242;;;;;;:::o;1624:192::-;1710:7;1746:12;1738:6;;;;1730:29;;;;-1:-1:-1;;;1730:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1782:5:0;;;1624:192::o;29934:163::-;29975:7;29996:15;30013;30032:19;:17;:19::i;:::-;29995:56;;-1:-1:-1;29995:56:0;-1:-1:-1;30069:20:0;29995:56;;30069:11;:20::i;:::-;30062:27;;;;29934:163;:::o;2084:132::-;2142:7;2169:39;2173:1;2176;2169:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2162:46;2084:132;-1:-1:-1;;;2084:132:0:o;1291:181::-;1349:7;1381:5;;;1405:6;;;;1397:46;;;;;-1:-1:-1;;;1397:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;28540:457;28599:7;28608;28617;28626;28635;28644;28653;28674:23;28699:12;28713:13;28728:18;28750:20;28762:7;28750:11;:20::i;:::-;28673:97;;;;;;;;28782:15;28799:23;28824:12;28840:57;28852:7;28861:4;28867:5;28874:10;28886;:8;:10::i;:::-;28840:11;:57::i;:::-;28781:116;;-1:-1:-1;28781:116:0;-1:-1:-1;28781:116:0;-1:-1:-1;28948:15:0;;-1:-1:-1;28965:4:0;;-1:-1:-1;28971:5:0;;-1:-1:-1;28978:10:0;-1:-1:-1;;;;28540:457:0;;;;;;;;;:::o;1480:136::-;1538:7;1565:43;1569:1;1572;1565:43;;;;;;;;;;;;;;;;;:3;:43::i;7213:266::-;-1:-1:-1;;;;;7301:22:0;;7279:110;;;;-1:-1:-1;;;7279:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7426:6;;;7405:38;;-1:-1:-1;;;;;7405:38:0;;;;7426:6;;;7405:38;;;7454:6;:17;;-1:-1:-1;;;;;;7454:17:0;-1:-1:-1;;;;;7454:17:0;;;;;;;;;;7213:266::o;23609:265::-;17523:16;:23;;-1:-1:-1;;17523:23:0;17542:4;17523:23;;;23694:38:::1;23711:20:::0;23694:16:::1;:38::i;:::-;23760:13;::::0;:40:::1;::::0;23778:21:::1;23760:17;:40::i;:::-;23744:13;:56:::0;23829:13:::1;::::0;23811:55:::1;::::0;23829:13;;::::1;-1:-1:-1::0;;;;;23829:13:0::1;23844:21;23811:17;:55::i;:::-;-1:-1:-1::0;17569:16:0;:24;;-1:-1:-1;;17569:24:0;;;23609:265::o;24497:834::-;24608:7;24604:40;;24630:14;:12;:14::i;:::-;-1:-1:-1;;;;;24669:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;24693:22:0;;;;;;:11;:22;;;;;;;;24692:23;24669:46;24665:597;;;24732:48;24754:6;24762:9;24773:6;24732:21;:48::i;:::-;24665:597;;;-1:-1:-1;;;;;24803:19:0;;;;;;:11;:19;;;;;;;;24802:20;:46;;;;-1:-1:-1;;;;;;24826:22:0;;;;;;:11;:22;;;;;;;;24802:46;24798:464;;;24865:46;24885:6;24893:9;24904:6;24865:19;:46::i;24798:464::-;-1:-1:-1;;;;;24934:19:0;;;;;;:11;:19;;;;;;;;24933:20;:47;;;;-1:-1:-1;;;;;;24958:22:0;;;;;;:11;:22;;;;;;;;24957:23;24933:47;24929:333;;;24997:44;25015:6;25023:9;25034:6;24997:17;:44::i;24929:333::-;-1:-1:-1;;;;;25063:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;25086:22:0;;;;;;:11;:22;;;;;;;;25063:45;25059:203;;;25125:48;25147:6;25155:9;25166:6;25125:21;:48::i;25059:203::-;25206:44;25224:6;25232:9;25243:6;25206:17;:44::i;:::-;25286:7;25282:41;;25308:15;:13;:15::i;:::-;24497:834;;;;:::o;30105:561::-;30202:7;;30238;;30155;;;;;30262:289;30286:9;:16;30282:20;;30262:289;;;30352:7;30328;:21;30336:9;30346:1;30336:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30336:12:0;30328:21;;;;;;;;;;;;;:31;;:66;;;30387:7;30363;:21;30371:9;30381:1;30371:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30371:12:0;30363:21;;;;;;;;;;;;;:31;30328:66;30324:97;;;30404:7;;30413;;30396:25;;;;;;;;;30324:97;30446:34;30458:7;:21;30466:9;30476:1;30466:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30466:12:0;30458:21;;;;;;;;;;;;;30446:7;;:11;:34::i;:::-;30436:44;;30505:34;30517:7;:21;30525:9;30535:1;30525:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30525:12:0;30517:21;;;;;;;;;;;;;30505:7;;:11;:34::i;:::-;30495:44;-1:-1:-1;30304:3:0;;30262:289;;;-1:-1:-1;30587:7:0;;30575;;:20;;:11;:20::i;:::-;30565:7;:30;30561:61;;;30605:7;;30614;;30597:25;;;;;;;;30561:61;30641:7;;-1:-1:-1;30650:7:0;-1:-1:-1;30105:561:0;;;:::o;2224:278::-;2310:7;2345:12;2338:5;2330:28;;;;-1:-1:-1;;;2330:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2369:9;2385:1;2381;:5;;;;;;;2224:278;-1:-1:-1;;;;;2224:278:0:o;29005:409::-;29065:7;29074;29083;29092;29112:12;29127:24;29143:7;29127:15;:24::i;:::-;29112:39;;29162:13;29178:25;29195:7;29178:16;:25::i;:::-;29162:41;;29214:18;29235:30;29257:7;29235:21;:30::i;:::-;29214:51;-1:-1:-1;29276:23:0;29302:44;29214:51;29302:28;29324:5;29302:28;:7;29314:4;29302:11;:17::i;:::-;:21;;:28::i;:44::-;29276:70;29382:4;;-1:-1:-1;29388:5:0;;-1:-1:-1;29388:5:0;-1:-1:-1;29005:409:0;;-1:-1:-1;;;29005:409:0:o;29422:504::-;29552:7;;;;29608:24;:7;29620:11;29608;:24::i;:::-;29590:42;-1:-1:-1;29643:12:0;29658:21;:4;29667:11;29658:8;:21::i;:::-;29643:36;-1:-1:-1;29690:13:0;29706:22;:5;29716:11;29706:9;:22::i;:::-;29690:38;-1:-1:-1;29739:18:0;29760:27;:10;29775:11;29760:14;:27::i;:::-;29739:48;-1:-1:-1;29798:23:0;29824:44;29739:48;29824:28;29846:5;29824:28;:7;29836:4;29824:11;:17::i;:44::-;29887:7;;;;-1:-1:-1;29913:4:0;;-1:-1:-1;29422:504:0;;-1:-1:-1;;;;;;;;;29422:504:0:o;23882:605::-;24032:16;;;24046:1;24032:16;;;24008:21;24032:16;;;;;24008:21;24032:16;;;;;;;;;;-1:-1:-1;24032:16:0;24008:40;;24077:4;24059;24064:1;24059:7;;;;;;;;;;;;;:23;-1:-1:-1;;;;;24059:23:0;;;-1:-1:-1;;;;;24059:23:0;;;;;24103:15;-1:-1:-1;;;;;24103:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24103:22:0;24093:7;;:4;;24098:1;;24093:7;;;;;;;;;;;:32;-1:-1:-1;;;;;24093:32:0;;;-1:-1:-1;;;;;24093:32:0;;;;;24138:62;24155:4;24170:15;24188:11;24138:8;:62::i;:::-;24239:15;-1:-1:-1;;;;;24239:66:0;;24320:11;24346:1;24390:4;24417;24453:15;24239:240;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24239:240:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33451:123;33540:26;;-1:-1:-1;;;;;33540:18:0;;;:26;;;;;33559:6;;33540:26;;;;33559:6;33540:18;:26;;;;;;;;;;;;;;;;;;;;;33451:123;;:::o;31554:316::-;31600:7;;:12;:29;;;;-1:-1:-1;31616:8:0;;:13;31600:29;:48;;;;-1:-1:-1;31633:10:0;;:15;31600:48;31597:60;;;31650:7;;31597:60;31695:7;;;31677:15;:25;31732:8;;;31713:16;:27;31772:10;;;31751:18;:31;-1:-1:-1;31803:11:0;;;;31825:12;;;;31848:14;31554:316;:::o;26689:689::-;26791:19;26814:10;:8;:10::i;:::-;26791:33;;26836:15;26853:23;26878:12;26892:23;26917:12;26931:13;26946:18;26968:19;26979:7;26968:10;:19::i;:::-;26835:152;;;;;;;;;;;;;;26998:13;27015:22;27025:11;27015:5;:9;;:22;;;;:::i;:::-;-1:-1:-1;;;;;27066:15:0;;;;;;:7;:15;;;;;;26998:39;;-1:-1:-1;27066:28:0;;27086:7;27066:19;:28::i;:::-;-1:-1:-1;;;;;27048:15:0;;;;;;:7;:15;;;;;;;;:46;;;;27123:7;:15;;;;:28;;27143:7;27123:19;:28::i;:::-;-1:-1:-1;;;;;27105:15:0;;;;;;;:7;:15;;;;;;:46;;;;27183:18;;;;;;;:39;;27206:15;27183:22;:39::i;:::-;-1:-1:-1;;;;;27162:18:0;;;;;;:7;:18;;;;;:60;27236:26;27251:10;27236:14;:26::i;:::-;27273:37;27285:4;27291:5;27298:4;27304:5;27273:11;:37::i;:::-;27343:9;-1:-1:-1;;;;;27326:44:0;27335:6;-1:-1:-1;;;;;27326:44:0;;27354:15;27326:44;;;;;;;;;;;;;;;;;;26689:689;;;;;;;;;;;;:::o;25972:709::-;26072:19;26095:10;:8;:10::i;:::-;26072:33;;26117:15;26134:23;26159:12;26173:23;26198:12;26212:13;26227:18;26249:19;26260:7;26249:10;:19::i;:::-;26116:152;;;;;;;;;;;;;;26279:13;26296:22;26306:11;26296:5;:9;;:22;;;;:::i;:::-;-1:-1:-1;;;;;26347:15:0;;;;;;:7;:15;;;;;;26279:39;;-1:-1:-1;26347:28:0;;26367:7;26347:19;:28::i;:::-;-1:-1:-1;;;;;26329:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;26407:18;;;;;:7;:18;;;;;:39;;26430:15;26407:22;:39::i;:::-;-1:-1:-1;;;;;26386:18:0;;;;;;:7;:18;;;;;;;;:60;;;;26478:7;:18;;;;:39;;26501:15;26478:22;:39::i;25339:625::-;25437:19;25460:10;:8;:10::i;:::-;25437:33;;25482:15;25499:23;25524:12;25538:23;25563:12;25577:13;25592:18;25614:19;25625:7;25614:10;:19::i;:::-;25481:152;;;;;;;;;;;;;;25644:13;25661:22;25671:11;25661:5;:9;;:22;;;;:::i;:::-;-1:-1:-1;;;;;25712:15:0;;;;;;:7;:15;;;;;;25644:39;;-1:-1:-1;25712:28:0;;25732:7;25712:19;:28::i;27386:765::-;27488:19;27511:10;:8;:10::i;:::-;27488:33;;27533:15;27550:23;27575:12;27589:23;27614:12;27628:13;27643:18;27665:19;27676:7;27665:10;:19::i;:::-;27532:152;;;;;;;;;;;;;;27695:13;27712:22;27722:11;27712:5;:9;;:22;;;;:::i;:::-;-1:-1:-1;;;;;27763:15:0;;;;;;:7;:15;;;;;;27695:39;;-1:-1:-1;27763:28:0;;27783:7;27763:19;:28::i;:::-;-1:-1:-1;;;;;27745:15:0;;;;;;:7;:15;;;;;;;;:46;;;;27820:7;:15;;;;:28;;27840:7;27820:19;:28::i;31882:157::-;31936:15;;31926:7;:25;31973:16;;31962:8;:27;32013:18;;32000:10;:31;31882:157::o;31045:154::-;31109:7;31136:55;31175:5;31136:20;31148:7;;31136;:11;;:20;;;;:::i;:::-;:24;;:55::i;31211:156::-;31276:7;31303:56;31343:5;31303:21;31315:8;;31303:7;:11;;:21;;;;:::i;31379:163::-;31449:7;31476:58;31518:5;31476:23;31488:10;;31476:7;:11;;:23;;;;:::i;1824:250::-;1882:7;1906:6;1902:47;;-1:-1:-1;1936:1:0;1929:8;;1902:47;1973:5;;;1977:1;1973;:5;:1;1997:5;;;;;:10;1989:56;;;;-1:-1:-1;;;1989:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30678:355;30741:19;30764:10;:8;:10::i;:::-;30741:33;-1:-1:-1;30785:18:0;30806:27;:10;30741:33;30806:14;:27::i;:::-;30885:4;30869:22;;;;:7;:22;;;;;;30785:48;;-1:-1:-1;30869:38:0;;30785:48;30869:26;:38::i;:::-;30860:4;30844:22;;;;:7;:22;;;;;;;;:63;;;;30921:11;:26;;;;;;30918:107;;;31003:4;30987:22;;;;:7;:22;;;;;;:38;;31014:10;30987:26;:38::i;:::-;30978:4;30962:22;;;;:7;:22;;;;;:63;30678:355;;;:::o;28258:274::-;28366:28;28388:5;28366:17;28378:4;28366:7;;:11;;:17;;;;:::i;:28::-;28356:7;:38;28418:10;;:20;;28433:4;28418:14;:20::i;:::-;28405:10;:33;28463:11;;:22;;28479:5;28463:15;:22::i;:::-;28449:11;:36;28506:7;;:18;;28518:5;28506:11;:18::i;:::-;28496:7;:28;-1:-1:-1;;;;28258:274:0:o

Swarm Source

ipfs://c5f28f0d5a42afef830ce96dd3962e0c8c8d6f0bccb4adbf54168e221340d02d
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
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.