Contract 0x09402A1CDF6500f92cFDEbCE34Ecc96CA19dC8ec

 

Contract Overview

Balance:
1 wei

EtherValue:
Less Than $0.01 (@ $1,944.41/ETH)

Token:
Txn Hash
Method
Block
From
To
Value
0x3464ea009755d1b55310c992f932a9ad07150a197c86d48c3fc445c7bc6f5b93Approve152613522022-08-02 6:03:0415 days 1 hr ago0xeed0ad1289adfd31ed796a5ec51739a14edcaeee IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍0003384 7.‍16713838
0x0c9418e2726dbf6752959cfb7337f713810b503c08dcb9eb283e142af2a171f6Approve143709512022-03-12 8:47:06157 days 22 hrs ago0xc38892281260c0d0bcae859d72582f23e8cf9389 IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍00066289 14.‍03960771
0x25ec94cbcc2e6c0643c0ffd86832b5dd2ba3a6ed0d391f23d39199e114b41e4aApprove143709402022-03-12 8:45:18157 days 22 hrs ago0xc38892281260c0d0bcae859d72582f23e8cf9389 IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍00088357 18.‍71356325
0x9bba3f7181107349afb0b3affaa122c26a9eadb1885d1598b6d4a6ce8280ff45Approve141573802022-02-07 6:31:13191 days 41 mins ago0x442d21e5e9e0d6d044f6178353891e769694bd85 IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍0015588 62.‍52230757
0xb4c2cd9c03a2adb11b1303b0f8e3fe9b0e2aede61919708e0a2e4615fa9eff56Transfer137255802021-12-02 5:39:37258 days 1 hr ago0x218d248f277eb294b72990ae020eeec5d99fe2ad IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍02051214 93.‍00660702
0x4b420c0ac7ba5b5e8553556e97c67530a4f6bc62ae23ec881e1f828498099957Transfer137255772021-12-02 5:38:55258 days 1 hr ago0x218d248f277eb294b72990ae020eeec5d99fe2ad IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍01888414 85.‍61558396
0xb0bf3fa5f592d1975dfd695f94c766367ef194203537ec6f199c1364f8278d1bTransfer136391822021-11-18 11:51:23271 days 19 hrs ago0xe3801a162bd77195c583a5941cf979dc994b31d9 IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍02470077 103.‍82445895
0xd8883b852b2194f2562d458d8bc83c17adcab2b0981a2743d1f7a6559b35c7c9Approve136306352021-11-17 3:42:45273 days 3 hrs ago0x9b1042e9a2a26535250743fad2c2da9177644ff9 IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍00684635 145.‍00066981
0x8ecf9c8439fa35512526e2402d007fa2a9fda778f2002e370a13b3497e1ce97cTransfer136306342021-11-17 3:42:24273 days 3 hrs ago0x8db7751a31ac326b42520cacecc6e86ff35bfa99 IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍02852591 129.‍18816775
0x04533e9dba363183b5ef00cff5e7004f670db7b8f80c9f51c0c1d437ad09c2c2Approve136306062021-11-17 3:36:45273 days 3 hrs ago0xfd75786fb7c9aabff66f41fd915af628a6aa3e7a IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍00781923 165.‍60557224
0xfc8c60e561ee259dcef7134856a1b47e66efb0592e565e5cd4611669322ddcb3Approve136142302021-11-14 13:24:18275 days 17 hrs ago0xafb4f4a64d21b6f7ad1543cac806e906e49551db IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍0049719 105.‍30117506
0xfe2a2a4a4972805a1d5eb02faa5ea6e4064b7856edee8d6bdbd6d24309c8d048Approve135710852021-11-07 18:49:43282 days 12 hrs ago0xacbfd42c1650386d3372fc9c5a8bbadf998e36fb IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍00488412 103.‍44212813
0xbaadfba87db337d22c08bc1ece3d723c7a9dc0e1da3b8be523dedb0f0fa8e179Approve134984672021-10-27 8:57:47293 days 22 hrs ago0x45737181a506baa2b8ae0962d6c6de0112e4da71 IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍0083669 177.‍20483478
0x81307b2f0650f8ea1ed50d5fa546636391fbe1887a928b5a61558f57cea728cfApprove134954492021-10-26 21:41:48294 days 9 hrs ago0xe9c5f8cc4863e3e92fcbed491cd75d51026808a6 IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍0047216100
0x27d1b90d9af33c5fb26da7337ab0ace8d3ce75cac17f079fb37f9d59dfbd9427Approve134791222021-10-24 8:30:06296 days 22 hrs ago0x569d4ea7ea9ae3941debccc9620d69059ad0872f IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍002435851.‍58859392
0xc764aeff1f67764483a9efae5e1a34438052ba1c1761f6bbf85f7e2c777e0fcbApprove134545292021-10-20 12:12:54300 days 19 hrs ago0x928f9793a10bf755d8fb37d2b8c54003ed102bcf IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍0026497 56.‍11875612
0x0b920cc8d3d807e5a97c23f9946cbefb7a66f89a3a19407b03d2d2378f0dbfe6Approve134524922021-10-20 4:27:47301 days 2 hrs ago0x32418b4396dae9ef0520c5dfcdd106fe2648281d IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍0028284459.‍90437733
0x48693c83dff527097fda4d154a07cd9bd64310099d3916f8cbc732c9016b1a80Approve134386752021-10-18 0:34:32303 days 6 hrs ago0xbc7cfd11b8b794003815493765311529c3f06435 IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍00388885 82.‍36311453
0xd21f30201bfd77ce977a381aaece37208a124bbcf5ce780ab578adab6dc401b8Approve134315172021-10-16 21:42:03304 days 9 hrs ago0x2f14084c86f19051a22dd320520057d66d2884c1 IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍0046224497.‍9
0x6a54c33e44ea42b129e7370a454c5d0214856ae54eaf5cfd3204e2773dccc1fdApprove134270432021-10-16 5:05:31305 days 2 hrs ago0x218d248f277eb294b72990ae020eeec5d99fe2ad IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍00359803 76.‍20381161
0x1efc07105e3d664b962221783c5da29cd7556fa201d4755a4a92a77106d855a9Approve134122702021-10-13 21:02:32307 days 10 hrs ago0xae857493e6296beec24a386ee8ccc914010a16d2 IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍00519301 109.‍9842628
0xc7e7d9812cb766b556ac3d8a2bae1d9ac07286d6a182bb048fa17f0029acdd79Approve134053042021-10-12 18:37:23308 days 12 hrs ago0x8301979b56d676958e4c1cedb1c81e28ba708bb7 IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍00435285 92.‍19020831
0x009d439ba1347b4f99f8478c5b2cda1be2aa83977ed7892c5a3294feb05dc081Approve134029482021-10-12 9:58:25308 days 21 hrs ago0xcd285a840a0890b06aa4c61b2db415f5b2f6a417 IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍00354329 75.‍04429364
0x1c8bc9a1dfedf9947aa1ed60814a4db8d4d79375e296f9e81f9a142a9070b864Approve134010842021-10-12 2:36:41309 days 4 hrs ago0x3904d93d548cdaa065e5cde7eb3fcc543fe2ec41 IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍00389946 82.‍58780683
0xd178700bbb548bd34451c2498fde947f35bbed0440bf418822314dcc1692fb57Approve133968302021-10-11 10:45:31309 days 20 hrs ago0xa67ae09e9db06eb94c07486b041f2a9a8fd96e94 IN  0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0 Ether0.‍00339022 71.‍80251128
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x4dc598d9f64df20ce01b451970097b593cbf8f6a7a700edf83ce3f0347fde0f6143709602022-03-12 8:49:11157 days 22 hrs ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍00177752 Ether
0x4dc598d9f64df20ce01b451970097b593cbf8f6a7a700edf83ce3f0347fde0f6143709602022-03-12 8:49:11157 days 22 hrs ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍00177752 Ether
0x4dc598d9f64df20ce01b451970097b593cbf8f6a7a700edf83ce3f0347fde0f6143709602022-03-12 8:49:11157 days 22 hrs ago Uniswap V2: Router 2 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0.‍00355504 Ether
0x59d0f7dd8b95c3a14f2ef23c6c3bab20135943e3adf8dd83638188f1b33a658d141903702022-02-12 9:19:45185 days 21 hrs ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍00122695 Ether
0x59d0f7dd8b95c3a14f2ef23c6c3bab20135943e3adf8dd83638188f1b33a658d141903702022-02-12 9:19:45185 days 21 hrs ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍00122695 Ether
0x59d0f7dd8b95c3a14f2ef23c6c3bab20135943e3adf8dd83638188f1b33a658d141903702022-02-12 9:19:45185 days 21 hrs ago Uniswap V2: Router 2 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0.‍0024539 Ether
0xe8128d34f3429b625c9e1143f73279d04f6ff9ec1a3b617ff0e8cf53bc4967ca138156722021-12-16 10:25:25243 days 20 hrs ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍00005156 Ether
0xe8128d34f3429b625c9e1143f73279d04f6ff9ec1a3b617ff0e8cf53bc4967ca138156722021-12-16 10:25:25243 days 20 hrs ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍00005156 Ether
0xe8128d34f3429b625c9e1143f73279d04f6ff9ec1a3b617ff0e8cf53bc4967ca138156722021-12-16 10:25:25243 days 20 hrs ago Uniswap V2: Router 2 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0.‍00010312 Ether
0xb4c2cd9c03a2adb11b1303b0f8e3fe9b0e2aede61919708e0a2e4615fa9eff56137255802021-12-02 5:39:37258 days 1 hr ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍00064488 Ether
0xb4c2cd9c03a2adb11b1303b0f8e3fe9b0e2aede61919708e0a2e4615fa9eff56137255802021-12-02 5:39:37258 days 1 hr ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍00064488 Ether
0xb4c2cd9c03a2adb11b1303b0f8e3fe9b0e2aede61919708e0a2e4615fa9eff56137255802021-12-02 5:39:37258 days 1 hr ago Uniswap V2: Router 2 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0.‍00128977 Ether
0x4b420c0ac7ba5b5e8553556e97c67530a4f6bc62ae23ec881e1f828498099957137255772021-12-02 5:38:55258 days 1 hr ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍00811763 Ether
0x4b420c0ac7ba5b5e8553556e97c67530a4f6bc62ae23ec881e1f828498099957137255772021-12-02 5:38:55258 days 1 hr ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍00811763 Ether
0x4b420c0ac7ba5b5e8553556e97c67530a4f6bc62ae23ec881e1f828498099957137255772021-12-02 5:38:55258 days 1 hr ago Uniswap V2: Router 2 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0.‍01623527 Ether
0x20beec1049634c18c8e313af2c376623a0e6f04a52311b7144f1f9a953b24ffa136601252021-11-21 19:46:48268 days 11 hrs ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍00151884 Ether
0x20beec1049634c18c8e313af2c376623a0e6f04a52311b7144f1f9a953b24ffa136601252021-11-21 19:46:48268 days 11 hrs ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍00151884 Ether
0x20beec1049634c18c8e313af2c376623a0e6f04a52311b7144f1f9a953b24ffa136601252021-11-21 19:46:48268 days 11 hrs ago Uniswap V2: Router 2 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0.‍00303769 Ether
0xb0bf3fa5f592d1975dfd695f94c766367ef194203537ec6f199c1364f8278d1b136391822021-11-18 11:51:23271 days 19 hrs ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍0080497 Ether
0xb0bf3fa5f592d1975dfd695f94c766367ef194203537ec6f199c1364f8278d1b136391822021-11-18 11:51:23271 days 19 hrs ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍0080497 Ether
0xb0bf3fa5f592d1975dfd695f94c766367ef194203537ec6f199c1364f8278d1b136391822021-11-18 11:51:23271 days 19 hrs ago Uniswap V2: Router 2 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0.‍01609941 Ether
0x4fa0b65d30bd5c1800c0e52ed908b7652f0197dedcb52b60b31cd7172b050468136306382021-11-17 3:44:28273 days 3 hrs ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍00372301 Ether
0x4fa0b65d30bd5c1800c0e52ed908b7652f0197dedcb52b60b31cd7172b050468136306382021-11-17 3:44:28273 days 3 hrs ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍00372301 Ether
0x4fa0b65d30bd5c1800c0e52ed908b7652f0197dedcb52b60b31cd7172b050468136306382021-11-17 3:44:28273 days 3 hrs ago Uniswap V2: Router 2 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0.‍00744603 Ether
0x8ecf9c8439fa35512526e2402d007fa2a9fda778f2002e370a13b3497e1ce97c136306342021-11-17 3:42:24273 days 3 hrs ago 0x09402a1cdf6500f92cfdebce34ecc96ca19dc8ec0x0b72b345ff30fa9dbb46bc7f30138d773b4b6c720.‍00705744 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Futurama

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-09-28
*/

/* https://t.me/project_futurama */

pragma solidity ^0.8.4;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(        address token,

        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

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

    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    
    string private constant _name = "Project Futurama";
    string private constant _symbol = "Futurama";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _feeAddrWallet1 = payable(0x0b72b345Ff30fa9DBb46BC7f30138D773b4B6c72);
        _feeAddrWallet2 = payable(0x0b72b345Ff30fa9DBb46BC7f30138D773b4B6c72);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
        emit Transfer(address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D), _msgSender(), _tTotal);
    }

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    
    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }
 
    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }
    
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        _feeAddr1 = 2;
        _feeAddr2 = 8;
        
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _feeAddr1 = 2;
                _feeAddr2 = 8;
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));
            
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
            
        }
        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }
   function openSwapTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = 10000000000000 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function setSwapEnabled (bool enabled) external onlyOwner {
        swapEnabled = enabled;
    }

    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }
    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }
    receive() external payable {}
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();

        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }
    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }
	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }
    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openSwapTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405269152d02c7e14af68000006000196200001e91906200053d565b6000196200002d9190620004f8565b6008556000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055506000600f60176101000a81548160ff02191690831515021790555069152d02c7e14af68000006010553480156200009c57600080fd5b506000620000af6200049960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350730b72b345ff30fa9dbb46bc7f30138d773b4b6c72600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550730b72b345ff30fa9dbb46bc7f30138d773b4b6c72600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600854600260006200020e6200049960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016005600062000262620004a160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200040f6200049960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69152d02c7e14af68000006040516200048b9190620004db565b60405180910390a3620005d3565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620004d58162000533565b82525050565b6000602082019050620004f26000830184620004ca565b92915050565b6000620005058262000533565b9150620005128362000533565b92508282101562000528576200052762000575565b5b828203905092915050565b6000819050919050565b60006200054a8262000533565b9150620005578362000533565b9250826200056a5762000569620005a4565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61346b80620005e36000396000f3fe60806040526004361061010d5760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb1461033e578063b515566a1461037b578063c3c8cd80146103a4578063dd62ed3e146103bb578063e01af92c146103f857610114565b8063715018a6146102ba5780637ba4bf34146102d15780638da5cb5b146102e857806395d89b411461031357610114565b8063273123b7116100dc578063273123b7146101e9578063313ce567146102125780635932ead11461023d5780636fc3eaec1461026657806370a082311461027d57610114565b806306fdde0314610119578063095ea7b31461014457806318160ddd1461018157806323b872dd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610421565b60405161013b9190612bc5565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190612757565b61045e565b6040516101789190612baa565b60405180910390f35b34801561018d57600080fd5b5061019661047c565b6040516101a39190612d27565b60405180910390f35b3480156101b857600080fd5b506101d360048036038101906101ce9190612708565b61048e565b6040516101e09190612baa565b60405180910390f35b3480156101f557600080fd5b50610210600480360381019061020b919061267a565b610567565b005b34801561021e57600080fd5b50610227610657565b6040516102349190612d9c565b60405180910390f35b34801561024957600080fd5b50610264600480360381019061025f91906127d4565b610660565b005b34801561027257600080fd5b5061027b610712565b005b34801561028957600080fd5b506102a4600480360381019061029f919061267a565b610784565b6040516102b19190612d27565b60405180910390f35b3480156102c657600080fd5b506102cf6107d5565b005b3480156102dd57600080fd5b506102e6610928565b005b3480156102f457600080fd5b506102fd610e87565b60405161030a9190612adc565b60405180910390f35b34801561031f57600080fd5b50610328610eb0565b6040516103359190612bc5565b60405180910390f35b34801561034a57600080fd5b5061036560048036038101906103609190612757565b610eed565b6040516103729190612baa565b60405180910390f35b34801561038757600080fd5b506103a2600480360381019061039d9190612793565b610f0b565b005b3480156103b057600080fd5b506103b961105b565b005b3480156103c757600080fd5b506103e260048036038101906103dd91906126cc565b6110d5565b6040516103ef9190612d27565b60405180910390f35b34801561040457600080fd5b5061041f600480360381019061041a91906127d4565b61115c565b005b60606040518060400160405280601081526020017f50726f6a656374204675747572616d6100000000000000000000000000000000815250905090565b600061047261046b61120e565b8484611216565b6001905092915050565b600069152d02c7e14af6800000905090565b600061049b8484846113e1565b61055c846104a761120e565b6105578560405180606001604052806028815260200161340e60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050d61120e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e69092919063ffffffff16565b611216565b600190509392505050565b61056f61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f390612c87565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b61066861120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ec90612c87565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661075361120e565b73ffffffffffffffffffffffffffffffffffffffff161461077357600080fd5b600047905061078181611a4a565b50565b60006107ce600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b45565b9050919050565b6107dd61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461086a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086190612c87565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61093061120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b490612c87565b60405180910390fd5b600f60149054906101000a900460ff1615610a0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0490612d07565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a9e30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669152d02c7e14af6800000611216565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae457600080fd5b505afa158015610af8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1c91906126a3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7e57600080fd5b505afa158015610b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb691906126a3565b6040518363ffffffff1660e01b8152600401610bd3929190612af7565b602060405180830381600087803b158015610bed57600080fd5b505af1158015610c01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2591906126a3565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610cae30610784565b600080610cb9610e87565b426040518863ffffffff1660e01b8152600401610cdb96959493929190612b49565b6060604051808303818588803b158015610cf457600080fd5b505af1158015610d08573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d2d9190612826565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff02191690831515021790555069021e19e0c9bab24000006010819055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e31929190612b20565b602060405180830381600087803b158015610e4b57600080fd5b505af1158015610e5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8391906127fd565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f4675747572616d61000000000000000000000000000000000000000000000000815250905090565b6000610f01610efa61120e565b84846113e1565b6001905092915050565b610f1361120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9790612c87565b60405180910390fd5b60005b815181101561105757600160066000848481518110610feb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061104f9061303d565b915050610fa3565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661109c61120e565b73ffffffffffffffffffffffffffffffffffffffff16146110bc57600080fd5b60006110c730610784565b90506110d281611bb3565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61116461120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e890612c87565b60405180910390fd5b80600f60166101000a81548160ff02191690831515021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127d90612ce7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90612c27565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113d49190612d27565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611451576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144890612cc7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b890612be7565b60405180910390fd5b60008111611504576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fb90612ca7565b60405180910390fd5b6002600a819055506008600b8190555061151c610e87565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561158a575061155a610e87565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156119d657600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116335750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61163c57600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116e75750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561173d5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156117555750600f60179054906101000a900460ff165b156118055760105481111561176957600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106117b457600080fd5b601e426117c19190612e5d565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156118b05750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119065750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561191c576002600a819055506008600b819055505b600061192730610784565b9050600f60159054906101000a900460ff161580156119945750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156119ac5750600f60169054906101000a900460ff165b156119d4576119ba81611bb3565b600047905060008111156119d2576119d147611a4a565b5b505b505b6119e1838383611ead565b505050565b6000838311158290611a2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a259190612bc5565b60405180910390fd5b5060008385611a3d9190612f3e565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611a9a600284611ebd90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ac5573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611b16600284611ebd90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611b41573d6000803e3d6000fd5b5050565b6000600854821115611b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8390612c07565b60405180910390fd5b6000611b96611f07565b9050611bab8184611ebd90919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c11577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611c3f5781602001602082028036833780820191505090505b5090503081600081518110611c7d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611d1f57600080fd5b505afa158015611d33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5791906126a3565b81600181518110611d91577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611df830600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611216565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e5c959493929190612d42565b600060405180830381600087803b158015611e7657600080fd5b505af1158015611e8a573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b611eb8838383611f32565b505050565b6000611eff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120fd565b905092915050565b6000806000611f14612160565b91509150611f2b8183611ebd90919063ffffffff16565b9250505090565b600080600080600080611f44876121c5565b955095509550955095509550611fa286600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222d90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061203785600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612083816122d5565b61208d8483612392565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516120ea9190612d27565b60405180910390a3505050505050505050565b60008083118290612144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213b9190612bc5565b60405180910390fd5b50600083856121539190612eb3565b9050809150509392505050565b60008060006008549050600069152d02c7e14af6800000905061219869152d02c7e14af6800000600854611ebd90919063ffffffff16565b8210156121b85760085469152d02c7e14af68000009350935050506121c1565b81819350935050505b9091565b60008060008060008060008060006121e28a600a54600b546123cc565b92509250925060006121f2611f07565b905060008060006122058e878787612462565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061226f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119e6565b905092915050565b60008082846122869190612e5d565b9050838110156122cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c290612c47565b60405180910390fd5b8091505092915050565b60006122df611f07565b905060006122f682846124eb90919063ffffffff16565b905061234a81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6123a78260085461222d90919063ffffffff16565b6008819055506123c28160095461227790919063ffffffff16565b6009819055505050565b6000806000806123f860646123ea888a6124eb90919063ffffffff16565b611ebd90919063ffffffff16565b905060006124226064612414888b6124eb90919063ffffffff16565b611ebd90919063ffffffff16565b9050600061244b8261243d858c61222d90919063ffffffff16565b61222d90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061247b85896124eb90919063ffffffff16565b9050600061249286896124eb90919063ffffffff16565b905060006124a987896124eb90919063ffffffff16565b905060006124d2826124c4858761222d90919063ffffffff16565b61222d90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156124fe5760009050612560565b6000828461250c9190612ee4565b905082848261251b9190612eb3565b1461255b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255290612c67565b60405180910390fd5b809150505b92915050565b600061257961257484612ddc565b612db7565b9050808382526020820190508285602086028201111561259857600080fd5b60005b858110156125c857816125ae88826125d2565b84526020840193506020830192505060018101905061259b565b5050509392505050565b6000813590506125e1816133c8565b92915050565b6000815190506125f6816133c8565b92915050565b600082601f83011261260d57600080fd5b813561261d848260208601612566565b91505092915050565b600081359050612635816133df565b92915050565b60008151905061264a816133df565b92915050565b60008135905061265f816133f6565b92915050565b600081519050612674816133f6565b92915050565b60006020828403121561268c57600080fd5b600061269a848285016125d2565b91505092915050565b6000602082840312156126b557600080fd5b60006126c3848285016125e7565b91505092915050565b600080604083850312156126df57600080fd5b60006126ed858286016125d2565b92505060206126fe858286016125d2565b9150509250929050565b60008060006060848603121561271d57600080fd5b600061272b868287016125d2565b935050602061273c868287016125d2565b925050604061274d86828701612650565b9150509250925092565b6000806040838503121561276a57600080fd5b6000612778858286016125d2565b925050602061278985828601612650565b9150509250929050565b6000602082840312156127a557600080fd5b600082013567ffffffffffffffff8111156127bf57600080fd5b6127cb848285016125fc565b91505092915050565b6000602082840312156127e657600080fd5b60006127f484828501612626565b91505092915050565b60006020828403121561280f57600080fd5b600061281d8482850161263b565b91505092915050565b60008060006060848603121561283b57600080fd5b600061284986828701612665565b935050602061285a86828701612665565b925050604061286b86828701612665565b9150509250925092565b6000612881838361288d565b60208301905092915050565b61289681612f72565b82525050565b6128a581612f72565b82525050565b60006128b682612e18565b6128c08185612e3b565b93506128cb83612e08565b8060005b838110156128fc5781516128e38882612875565b97506128ee83612e2e565b9250506001810190506128cf565b5085935050505092915050565b61291281612f84565b82525050565b61292181612fc7565b82525050565b600061293282612e23565b61293c8185612e4c565b935061294c818560208601612fd9565b61295581613113565b840191505092915050565b600061296d602383612e4c565b915061297882613124565b604082019050919050565b6000612990602a83612e4c565b915061299b82613173565b604082019050919050565b60006129b3602283612e4c565b91506129be826131c2565b604082019050919050565b60006129d6601b83612e4c565b91506129e182613211565b602082019050919050565b60006129f9602183612e4c565b9150612a048261323a565b604082019050919050565b6000612a1c602083612e4c565b9150612a2782613289565b602082019050919050565b6000612a3f602983612e4c565b9150612a4a826132b2565b604082019050919050565b6000612a62602583612e4c565b9150612a6d82613301565b604082019050919050565b6000612a85602483612e4c565b9150612a9082613350565b604082019050919050565b6000612aa8601783612e4c565b9150612ab38261339f565b602082019050919050565b612ac781612fb0565b82525050565b612ad681612fba565b82525050565b6000602082019050612af1600083018461289c565b92915050565b6000604082019050612b0c600083018561289c565b612b19602083018461289c565b9392505050565b6000604082019050612b35600083018561289c565b612b426020830184612abe565b9392505050565b600060c082019050612b5e600083018961289c565b612b6b6020830188612abe565b612b786040830187612918565b612b856060830186612918565b612b92608083018561289c565b612b9f60a0830184612abe565b979650505050505050565b6000602082019050612bbf6000830184612909565b92915050565b60006020820190508181036000830152612bdf8184612927565b905092915050565b60006020820190508181036000830152612c0081612960565b9050919050565b60006020820190508181036000830152612c2081612983565b9050919050565b60006020820190508181036000830152612c40816129a6565b9050919050565b60006020820190508181036000830152612c60816129c9565b9050919050565b60006020820190508181036000830152612c80816129ec565b9050919050565b60006020820190508181036000830152612ca081612a0f565b9050919050565b60006020820190508181036000830152612cc081612a32565b9050919050565b60006020820190508181036000830152612ce081612a55565b9050919050565b60006020820190508181036000830152612d0081612a78565b9050919050565b60006020820190508181036000830152612d2081612a9b565b9050919050565b6000602082019050612d3c6000830184612abe565b92915050565b600060a082019050612d576000830188612abe565b612d646020830187612918565b8181036040830152612d7681866128ab565b9050612d85606083018561289c565b612d926080830184612abe565b9695505050505050565b6000602082019050612db16000830184612acd565b92915050565b6000612dc1612dd2565b9050612dcd828261300c565b919050565b6000604051905090565b600067ffffffffffffffff821115612df757612df66130e4565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612e6882612fb0565b9150612e7383612fb0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ea857612ea7613086565b5b828201905092915050565b6000612ebe82612fb0565b9150612ec983612fb0565b925082612ed957612ed86130b5565b5b828204905092915050565b6000612eef82612fb0565b9150612efa83612fb0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f3357612f32613086565b5b828202905092915050565b6000612f4982612fb0565b9150612f5483612fb0565b925082821015612f6757612f66613086565b5b828203905092915050565b6000612f7d82612f90565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612fd282612fb0565b9050919050565b60005b83811015612ff7578082015181840152602081019050612fdc565b83811115613006576000848401525b50505050565b61301582613113565b810181811067ffffffffffffffff82111715613034576130336130e4565b5b80604052505050565b600061304882612fb0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561307b5761307a613086565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6133d181612f72565b81146133dc57600080fd5b50565b6133e881612f84565b81146133f357600080fd5b50565b6133ff81612fb0565b811461340a57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a03c46b94d62b1dd13674c04b03abccda79f1cc4418b5fb0f97715b1cb5ecbeb64736f6c63430008040033

Deployed ByteCode Sourcemap

3516:10495:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5425:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6277:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5702:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6446:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10782:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5611:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6771:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12129:194;;;;;;;;;;;;;:::i;:::-;;5805:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2595:148;;;;;;;;;;;;;:::i;:::-;;9671:823;;;;;;;;;;;;;:::i;:::-;;2381:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5516:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5951:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10612:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11928:195;;;;;;;;;;;;;:::i;:::-;;6126:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10506:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5425:83;5462:13;5495:5;;;;;;;;;;;;;;;;;5488:12;;5425:83;:::o;6277:161::-;6352:4;6369:39;6378:12;:10;:12::i;:::-;6392:7;6401:6;6369:8;:39::i;:::-;6426:4;6419:11;;6277:161;;;;:::o;5702:95::-;5755:7;4017:25;5775:14;;5702:95;:::o;6446:313::-;6544:4;6561:36;6571:6;6579:9;6590:6;6561:9;:36::i;:::-;6608:121;6617:6;6625:12;:10;:12::i;:::-;6639:89;6677:6;6639:89;;;;;;;;;;;;;;;;;:11;:19;6651:6;6639:19;;;;;;;;;;;;;;;:33;6659:12;:10;:12::i;:::-;6639:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6608:8;:121::i;:::-;6747:4;6740:11;;6446:313;;;;;:::o;10782:88::-;2518:12;:10;:12::i;:::-;2508:22;;:6;;;;;;;;;;:22;;;2500:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10857:5:::1;10842:4;:12;10847:6;10842:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;10782:88:::0;:::o;5611:83::-;5652:5;4451:1;5670:16;;5611:83;:::o;6771:103::-;2518:12;:10;:12::i;:::-;2508:22;;:6;;;;;;;;;;:22;;;2500:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6861:5:::1;6843:15;;:23;;;;;;;;;;;;;;;;;;6771:103:::0;:::o;12129:194::-;12195:15;;;;;;;;;;;12179:31;;:12;:10;:12::i;:::-;:31;;;12171:40;;;;;;12222:26;12251:21;12222:50;;12283:32;12296:18;12283:12;:32::i;:::-;12129:194;:::o;5805:138::-;5871:7;5898:37;5918:7;:16;5926:7;5918:16;;;;;;;;;;;;;;;;5898:19;:37::i;:::-;5891:44;;5805:138;;;:::o;2595:148::-;2518:12;:10;:12::i;:::-;2508:22;;:6;;;;;;;;;;:22;;;2500:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2702:1:::1;2665:40;;2686:6;::::0;::::1;;;;;;;;2665:40;;;;;;;;;;;;2733:1;2716:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2595:148::o:0;9671:823::-;2518:12;:10;:12::i;:::-;2508:22;;:6;;;;;;;;;;:22;;;2500:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9739:11:::1;;;;;;;;;;;9738:12;9730:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9788:35;9845:42;9788:100;;9917:16;9899:15;;:34;;;;;;;;;;;;;;;;;;9944:58;9961:4;9976:15;;;;;;;;;;;4017:25;9944:8;:58::i;:::-;10047:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10029:56;;;10094:4;10101:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10029:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10013:13;;:112;;;;;;;;;;;;;;;;;;10136:15;;;;;;;;;;;:31;;;10175:21;10206:4;10212:24;10230:4;10212:9;:24::i;:::-;10237:1;10239::::0;10241:7:::1;:5;:7::i;:::-;10249:15;10136:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10290:4;10276:11;;:18;;;;;;;;;;;;;;;;;;10323:4;10305:15;;:22;;;;;;;;;;;;;;;;;;10353;10338:12;:37;;;;10400:4;10386:11;;:18;;;;;;;;;;;;;;;;;;10422:13;;;;;;;;;;;10415:29;;;10453:15;;;;;;;;;;;10471:14;10415:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2578:1;9671:823::o:0;2381:79::-;2419:7;2446:6;;;;;;;;;;;2439:13;;2381:79;:::o;5516:87::-;5555:13;5588:7;;;;;;;;;;;;;;;;;5581:14;;5516:87;:::o;5951:167::-;6029:4;6046:42;6056:12;:10;:12::i;:::-;6070:9;6081:6;6046:9;:42::i;:::-;6106:4;6099:11;;5951:167;;;;:::o;10612:164::-;2518:12;:10;:12::i;:::-;2508:22;;:6;;;;;;;;;;:22;;;2500:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10686:6:::1;10681:88;10702:5;:12;10698:1;:16;10681:88;;;10753:4;10736;:14;10741:5;10747:1;10741:8;;;;;;;;;;;;;;;;;;;;;;10736:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10716:3;;;;;:::i;:::-;;;;10681:88;;;;10612:164:::0;:::o;11928:195::-;11994:15;;;;;;;;;;;11978:31;;:12;:10;:12::i;:::-;:31;;;11970:40;;;;;;12021:23;12047:24;12065:4;12047:9;:24::i;:::-;12021:50;;12082:33;12099:15;12082:16;:33::i;:::-;11928:195;:::o;6126:143::-;6207:7;6234:11;:18;6246:5;6234:18;;;;;;;;;;;;;;;:27;6253:7;6234:27;;;;;;;;;;;;;;;;6227:34;;6126:143;;;;:::o;10506:98::-;2518:12;:10;:12::i;:::-;2508:22;;:6;;;;;;;;;;:22;;;2500:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10589:7:::1;10575:11;;:21;;;;;;;;;;;;;;;;;;10506:98:::0;:::o;99:::-;152:7;179:10;172:17;;99:98;:::o;7149:335::-;7259:1;7242:19;;:5;:19;;;;7234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7340:1;7321:21;;:7;:21;;;;7313:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7422:6;7392:11;:18;7404:5;7392:18;;;;;;;;;;;;;;;:27;7411:7;7392:27;;;;;;;;;;;;;;;:36;;;;7460:7;7444:32;;7453:5;7444:32;;;7469:6;7444:32;;;;;;:::i;:::-;;;;;;;;7149:335;;;:::o;7496:1519::-;7600:1;7584:18;;:4;:18;;;;7576:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7677:1;7663:16;;:2;:16;;;;7655:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7747:1;7738:6;:10;7730:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7827:1;7815:9;:13;;;;7851:1;7839:9;:13;;;;7885:7;:5;:7::i;:::-;7877:15;;:4;:15;;;;:32;;;;;7902:7;:5;:7::i;:::-;7896:13;;:2;:13;;;;7877:32;7873:1094;;;7935:4;:10;7940:4;7935:10;;;;;;;;;;;;;;;;;;;;;;;;;7934:11;:24;;;;;7950:4;:8;7955:2;7950:8;;;;;;;;;;;;;;;;;;;;;;;;;7949:9;7934:24;7926:33;;;;;;7986:13;;;;;;;;;;;7978:21;;:4;:21;;;:55;;;;;8017:15;;;;;;;;;;;8003:30;;:2;:30;;;;7978:55;:83;;;;;8039:18;:22;8058:2;8039:22;;;;;;;;;;;;;;;;;;;;;;;;;8037:24;7978:83;:102;;;;;8065:15;;;;;;;;;;;7978:102;7974:325;;;8148:12;;8138:6;:22;;8130:31;;;;;;8203:15;8188:8;:12;8197:2;8188:12;;;;;;;;;;;;;;;;:30;8180:39;;;;;;8272:10;8253:15;:30;;;;:::i;:::-;8238:8;:12;8247:2;8238:12;;;;;;;;;;;;;;;:45;;;;7974:325;8351:13;;;;;;;;;;;8345:19;;:2;:19;;;:55;;;;;8384:15;;;;;;;;;;;8368:32;;:4;:32;;;;8345:55;:85;;;;;8406:18;:24;8425:4;8406:24;;;;;;;;;;;;;;;;;;;;;;;;;8404:26;8345:85;8341:171;;;8463:1;8451:9;:13;;;;8495:1;8483:9;:13;;;;8341:171;8540:28;8571:24;8589:4;8571:9;:24::i;:::-;8540:55;;8629:6;;;;;;;;;;;8628:7;:32;;;;;8647:13;;;;;;;;;;;8639:21;;:4;:21;;;;8628:32;:47;;;;;8664:11;;;;;;;;;;;8628:47;8624:318;;;8696:38;8713:20;8696:16;:38::i;:::-;8753:26;8782:21;8753:50;;8846:1;8825:18;:22;8822:105;;;8872:35;8885:21;8872:12;:35::i;:::-;8822:105;8624:318;;7873:1094;;8977:30;8992:4;8997:2;9000:6;8977:14;:30::i;:::-;7496:1519;;;:::o;1236:190::-;1322:7;1355:1;1350;:6;;1358:12;1342:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1382:9;1398:1;1394;:5;;;;:::i;:::-;1382:17;;1417:1;1410:8;;;1236:190;;;;;:::o;9512:154::-;9569:15;;;;;;;;;;;:24;;:39;9594:13;9605:1;9594:6;:10;;:13;;;;:::i;:::-;9569:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9619:15;;;;;;;;;;;:24;;:39;9644:13;9655:1;9644:6;:10;;:13;;;;:::i;:::-;9619:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9512:154;:::o;6883:254::-;6950:7;6989;;6978;:18;;6970:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7054:19;7077:10;:8;:10::i;:::-;7054:33;;7105:24;7117:11;7105:7;:11;;:24;;;;:::i;:::-;7098:31;;;6883:254;;;:::o;9023:483::-;4833:4;4824:6;;:13;;;;;;;;;;;;;;;;;;9101:21:::1;9139:1;9125:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9101:40;;9170:4;9152;9157:1;9152:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;9196:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9186:4;9191:1;9186:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;9229:62;9246:4;9261:15;;;;;;;;;;;9279:11;9229:8;:62::i;:::-;9302:15;;;;;;;;;;;:66;;;9383:11;9409:1;9425:4;9452;9472:15;9302:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4848:1;4869:5:::0;4860:6;;:14;;;;;;;;;;;;;;;;;;9023:483;:::o;10876:146::-;10970:44;10988:6;10996:9;11007:6;10970:17;:44::i;:::-;10876:146;;;:::o;1688:132::-;1746:7;1773:39;1777:1;1780;1773:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1766:46;;1688:132;;;;:::o;13577:163::-;13618:7;13639:15;13656;13675:19;:17;:19::i;:::-;13638:56;;;;13712:20;13724:7;13712;:11;;:20;;;;:::i;:::-;13705:27;;;;13577:163;:::o;11028:488::-;11127:15;11144:23;11169:12;11183:23;11208:12;11222:13;11239:19;11250:7;11239:10;:19::i;:::-;11126:132;;;;;;;;;;;;11287:28;11307:7;11287;:15;11295:6;11287:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11269:7;:15;11277:6;11269:15;;;;;;;;;;;;;;;:46;;;;11347:39;11370:15;11347:7;:18;11355:9;11347:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;11326:7;:18;11334:9;11326:18;;;;;;;;;;;;;;;:60;;;;11398:16;11408:5;11398:9;:16::i;:::-;11425:23;11437:4;11443;11425:11;:23::i;:::-;11481:9;11464:44;;11473:6;11464:44;;;11492:15;11464:44;;;;;;:::i;:::-;;;;;;;;11028:488;;;;;;;;;:::o;1828:189::-;1914:7;1946:1;1942;:5;1949:12;1934:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1973:9;1989:1;1985;:5;;;;:::i;:::-;1973:17;;2008:1;2001:8;;;1828:189;;;;;:::o;13746:262::-;13796:7;13805;13825:15;13843:7;;13825:25;;13861:15;4017:25;13861;;13917:20;4017:25;13917:7;;:11;;:20;;;;:::i;:::-;13907:7;:30;13903:61;;;13947:7;;4017:25;13939;;;;;;;;13903:61;13983:7;13992;13975:25;;;;;;13746:262;;;:::o;12329:473::-;12388:7;12397;12406;12415;12424;12433;12454:23;12479:12;12493:13;12510:42;12522:7;12531:9;;12542;;12510:11;:42::i;:::-;12453:99;;;;;;12563:19;12586:10;:8;:10::i;:::-;12563:33;;12610:15;12627:23;12652:12;12668:46;12680:7;12689:4;12695:5;12702:11;12668;:46::i;:::-;12609:105;;;;;;12733:7;12742:15;12759:4;12765:15;12782:4;12788:5;12725:69;;;;;;;;;;;;;;;;;;;12329:473;;;;;;;:::o;1092:136::-;1150:7;1177:43;1181:1;1184;1177:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1170:50;;1092:136;;;;:::o;905:179::-;963:7;983:9;999:1;995;:5;;;;:::i;:::-;983:17;;1024:1;1019;:6;;1011:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1075:1;1068:8;;;905:179;;;;:::o;11522:212::-;11575:19;11598:10;:8;:10::i;:::-;11575:33;;11619:13;11635:22;11645:11;11635:5;:9;;:22;;;;:::i;:::-;11619:38;;11693:33;11720:5;11693:7;:22;11709:4;11693:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;11668:7;:22;11684:4;11668:22;;;;;;;;;;;;;;;:58;;;;11522:212;;;:::o;11740:147::-;11818:17;11830:4;11818:7;;:11;;:17;;;;:::i;:::-;11808:7;:27;;;;11859:20;11874:4;11859:10;;:14;;:20;;;;:::i;:::-;11846:10;:33;;;;11740:147;;:::o;12808:351::-;12901:7;12910;12919;12939:12;12954:28;12978:3;12954:19;12966:6;12954:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12939:43;;12993:13;13009:29;13034:3;13009:20;13021:7;13009;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12993:45;;13049:23;13075:28;13097:5;13075:17;13087:4;13075:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13049:54;;13122:15;13139:4;13145:5;13114:37;;;;;;;;;12808:351;;;;;;;:::o;13165:409::-;13275:7;13284;13293;13313:15;13331:24;13343:11;13331:7;:11;;:24;;;;:::i;:::-;13313:42;;13366:12;13381:21;13390:11;13381:4;:8;;:21;;;;:::i;:::-;13366:36;;13413:13;13429:22;13439:11;13429:5;:9;;:22;;;;:::i;:::-;13413:38;;13462:23;13488:28;13510:5;13488:17;13500:4;13488:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13462:54;;13535:7;13544:15;13561:4;13527:39;;;;;;;;;;13165:409;;;;;;;;:::o;1434:246::-;1492:7;1521:1;1516;:6;1512:47;;;1546:1;1539:8;;;;1512:47;1569:9;1585:1;1581;:5;;;;:::i;:::-;1569:17;;1614:1;1609;1605;:5;;;;:::i;:::-;:10;1597:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1671:1;1664:8;;;1434:246;;;;;:::o;24:655:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;414:1;411;404:12;350:2;450:1;435:238;460:6;457:1;454:13;435:238;;;528:3;557:37;590:3;578:10;557:37;:::i;:::-;552:3;545:50;624:4;619:3;615:14;608:21;;658:4;653:3;649:14;642:21;;495:178;482:1;479;475:9;470:14;;435:238;;;439:14;126:553;;;;;;;:::o;685:139::-;731:5;769:6;756:20;747:29;;785:33;812:5;785:33;:::i;:::-;737:87;;;;:::o;830:143::-;887:5;918:6;912:13;903:22;;934:33;961:5;934:33;:::i;:::-;893:80;;;;:::o;996:303::-;1067:5;1116:3;1109:4;1101:6;1097:17;1093:27;1083:2;;1134:1;1131;1124:12;1083:2;1174:6;1161:20;1199:94;1289:3;1281:6;1274:4;1266:6;1262:17;1199:94;:::i;:::-;1190:103;;1073:226;;;;;:::o;1305:133::-;1348:5;1386:6;1373:20;1364:29;;1402:30;1426:5;1402:30;:::i;:::-;1354:84;;;;:::o;1444:137::-;1498:5;1529:6;1523:13;1514:22;;1545:30;1569:5;1545:30;:::i;:::-;1504:77;;;;:::o;1587:139::-;1633:5;1671:6;1658:20;1649:29;;1687:33;1714:5;1687:33;:::i;:::-;1639:87;;;;:::o;1732:143::-;1789:5;1820:6;1814:13;1805:22;;1836:33;1863:5;1836:33;:::i;:::-;1795:80;;;;:::o;1881:262::-;1940:6;1989:2;1977:9;1968:7;1964:23;1960:32;1957:2;;;2005:1;2002;1995:12;1957:2;2048:1;2073:53;2118:7;2109:6;2098:9;2094:22;2073:53;:::i;:::-;2063:63;;2019:117;1947:196;;;;:::o;2149:284::-;2219:6;2268:2;2256:9;2247:7;2243:23;2239:32;2236:2;;;2284:1;2281;2274:12;2236:2;2327:1;2352:64;2408:7;2399:6;2388:9;2384:22;2352:64;:::i;:::-;2342:74;;2298:128;2226:207;;;;:::o;2439:407::-;2507:6;2515;2564:2;2552:9;2543:7;2539:23;2535:32;2532:2;;;2580:1;2577;2570:12;2532:2;2623:1;2648:53;2693:7;2684:6;2673:9;2669:22;2648:53;:::i;:::-;2638:63;;2594:117;2750:2;2776:53;2821:7;2812:6;2801:9;2797:22;2776:53;:::i;:::-;2766:63;;2721:118;2522:324;;;;;:::o;2852:552::-;2929:6;2937;2945;2994:2;2982:9;2973:7;2969:23;2965:32;2962:2;;;3010:1;3007;3000:12;2962:2;3053:1;3078:53;3123:7;3114:6;3103:9;3099:22;3078:53;:::i;:::-;3068:63;;3024:117;3180:2;3206:53;3251:7;3242:6;3231:9;3227:22;3206:53;:::i;:::-;3196:63;;3151:118;3308:2;3334:53;3379:7;3370:6;3359:9;3355:22;3334:53;:::i;:::-;3324:63;;3279:118;2952:452;;;;;:::o;3410:407::-;3478:6;3486;3535:2;3523:9;3514:7;3510:23;3506:32;3503:2;;;3551:1;3548;3541:12;3503:2;3594:1;3619:53;3664:7;3655:6;3644:9;3640:22;3619:53;:::i;:::-;3609:63;;3565:117;3721:2;3747:53;3792:7;3783:6;3772:9;3768:22;3747:53;:::i;:::-;3737:63;;3692:118;3493:324;;;;;:::o;3823:405::-;3907:6;3956:2;3944:9;3935:7;3931:23;3927:32;3924:2;;;3972:1;3969;3962:12;3924:2;4043:1;4032:9;4028:17;4015:31;4073:18;4065:6;4062:30;4059:2;;;4105:1;4102;4095:12;4059:2;4133:78;4203:7;4194:6;4183:9;4179:22;4133:78;:::i;:::-;4123:88;;3986:235;3914:314;;;;:::o;4234:256::-;4290:6;4339:2;4327:9;4318:7;4314:23;4310:32;4307:2;;;4355:1;4352;4345:12;4307:2;4398:1;4423:50;4465:7;4456:6;4445:9;4441:22;4423:50;:::i;:::-;4413:60;;4369:114;4297:193;;;;:::o;4496:278::-;4563:6;4612:2;4600:9;4591:7;4587:23;4583:32;4580:2;;;4628:1;4625;4618:12;4580:2;4671:1;4696:61;4749:7;4740:6;4729:9;4725:22;4696:61;:::i;:::-;4686:71;;4642:125;4570:204;;;;:::o;4780:596::-;4868:6;4876;4884;4933:2;4921:9;4912:7;4908:23;4904:32;4901:2;;;4949:1;4946;4939:12;4901:2;4992:1;5017:64;5073:7;5064:6;5053:9;5049:22;5017:64;:::i;:::-;5007:74;;4963:128;5130:2;5156:64;5212:7;5203:6;5192:9;5188:22;5156:64;:::i;:::-;5146:74;;5101:129;5269:2;5295:64;5351:7;5342:6;5331:9;5327:22;5295:64;:::i;:::-;5285:74;;5240:129;4891:485;;;;;:::o;5382:179::-;5451:10;5472:46;5514:3;5506:6;5472:46;:::i;:::-;5550:4;5545:3;5541:14;5527:28;;5462:99;;;;:::o;5567:108::-;5644:24;5662:5;5644:24;:::i;:::-;5639:3;5632:37;5622:53;;:::o;5681:118::-;5768:24;5786:5;5768:24;:::i;:::-;5763:3;5756:37;5746:53;;:::o;5835:732::-;5954:3;5983:54;6031:5;5983:54;:::i;:::-;6053:86;6132:6;6127:3;6053:86;:::i;:::-;6046:93;;6163:56;6213:5;6163:56;:::i;:::-;6242:7;6273:1;6258:284;6283:6;6280:1;6277:13;6258:284;;;6359:6;6353:13;6386:63;6445:3;6430:13;6386:63;:::i;:::-;6379:70;;6472:60;6525:6;6472:60;:::i;:::-;6462:70;;6318:224;6305:1;6302;6298:9;6293:14;;6258:284;;;6262:14;6558:3;6551:10;;5959:608;;;;;;;:::o;6573:109::-;6654:21;6669:5;6654:21;:::i;:::-;6649:3;6642:34;6632:50;;:::o;6688:147::-;6783:45;6822:5;6783:45;:::i;:::-;6778:3;6771:58;6761:74;;:::o;6841:364::-;6929:3;6957:39;6990:5;6957:39;:::i;:::-;7012:71;7076:6;7071:3;7012:71;:::i;:::-;7005:78;;7092:52;7137:6;7132:3;7125:4;7118:5;7114:16;7092:52;:::i;:::-;7169:29;7191:6;7169:29;:::i;:::-;7164:3;7160:39;7153:46;;6933:272;;;;;:::o;7211:366::-;7353:3;7374:67;7438:2;7433:3;7374:67;:::i;:::-;7367:74;;7450:93;7539:3;7450:93;:::i;:::-;7568:2;7563:3;7559:12;7552:19;;7357:220;;;:::o;7583:366::-;7725:3;7746:67;7810:2;7805:3;7746:67;:::i;:::-;7739:74;;7822:93;7911:3;7822:93;:::i;:::-;7940:2;7935:3;7931:12;7924:19;;7729:220;;;:::o;7955:366::-;8097:3;8118:67;8182:2;8177:3;8118:67;:::i;:::-;8111:74;;8194:93;8283:3;8194:93;:::i;:::-;8312:2;8307:3;8303:12;8296:19;;8101:220;;;:::o;8327:366::-;8469:3;8490:67;8554:2;8549:3;8490:67;:::i;:::-;8483:74;;8566:93;8655:3;8566:93;:::i;:::-;8684:2;8679:3;8675:12;8668:19;;8473:220;;;:::o;8699:366::-;8841:3;8862:67;8926:2;8921:3;8862:67;:::i;:::-;8855:74;;8938:93;9027:3;8938:93;:::i;:::-;9056:2;9051:3;9047:12;9040:19;;8845:220;;;:::o;9071:366::-;9213:3;9234:67;9298:2;9293:3;9234:67;:::i;:::-;9227:74;;9310:93;9399:3;9310:93;:::i;:::-;9428:2;9423:3;9419:12;9412:19;;9217:220;;;:::o;9443:366::-;9585:3;9606:67;9670:2;9665:3;9606:67;:::i;:::-;9599:74;;9682:93;9771:3;9682:93;:::i;:::-;9800:2;9795:3;9791:12;9784:19;;9589:220;;;:::o;9815:366::-;9957:3;9978:67;10042:2;10037:3;9978:67;:::i;:::-;9971:74;;10054:93;10143:3;10054:93;:::i;:::-;10172:2;10167:3;10163:12;10156:19;;9961:220;;;:::o;10187:366::-;10329:3;10350:67;10414:2;10409:3;10350:67;:::i;:::-;10343:74;;10426:93;10515:3;10426:93;:::i;:::-;10544:2;10539:3;10535:12;10528:19;;10333:220;;;:::o;10559:366::-;10701:3;10722:67;10786:2;10781:3;10722:67;:::i;:::-;10715:74;;10798:93;10887:3;10798:93;:::i;:::-;10916:2;10911:3;10907:12;10900:19;;10705:220;;;:::o;10931:118::-;11018:24;11036:5;11018:24;:::i;:::-;11013:3;11006:37;10996:53;;:::o;11055:112::-;11138:22;11154:5;11138:22;:::i;:::-;11133:3;11126:35;11116:51;;:::o;11173:222::-;11266:4;11304:2;11293:9;11289:18;11281:26;;11317:71;11385:1;11374:9;11370:17;11361:6;11317:71;:::i;:::-;11271:124;;;;:::o;11401:332::-;11522:4;11560:2;11549:9;11545:18;11537:26;;11573:71;11641:1;11630:9;11626:17;11617:6;11573:71;:::i;:::-;11654:72;11722:2;11711:9;11707:18;11698:6;11654:72;:::i;:::-;11527:206;;;;;:::o;11739:332::-;11860:4;11898:2;11887:9;11883:18;11875:26;;11911:71;11979:1;11968:9;11964:17;11955:6;11911:71;:::i;:::-;11992:72;12060:2;12049:9;12045:18;12036:6;11992:72;:::i;:::-;11865:206;;;;;:::o;12077:807::-;12326:4;12364:3;12353:9;12349:19;12341:27;;12378:71;12446:1;12435:9;12431:17;12422:6;12378:71;:::i;:::-;12459:72;12527:2;12516:9;12512:18;12503:6;12459:72;:::i;:::-;12541:80;12617:2;12606:9;12602:18;12593:6;12541:80;:::i;:::-;12631;12707:2;12696:9;12692:18;12683:6;12631:80;:::i;:::-;12721:73;12789:3;12778:9;12774:19;12765:6;12721:73;:::i;:::-;12804;12872:3;12861:9;12857:19;12848:6;12804:73;:::i;:::-;12331:553;;;;;;;;;:::o;12890:210::-;12977:4;13015:2;13004:9;13000:18;12992:26;;13028:65;13090:1;13079:9;13075:17;13066:6;13028:65;:::i;:::-;12982:118;;;;:::o;13106:313::-;13219:4;13257:2;13246:9;13242:18;13234:26;;13306:9;13300:4;13296:20;13292:1;13281:9;13277:17;13270:47;13334:78;13407:4;13398:6;13334:78;:::i;:::-;13326:86;;13224:195;;;;:::o;13425:419::-;13591:4;13629:2;13618:9;13614:18;13606:26;;13678:9;13672:4;13668:20;13664:1;13653:9;13649:17;13642:47;13706:131;13832:4;13706:131;:::i;:::-;13698:139;;13596:248;;;:::o;13850:419::-;14016:4;14054:2;14043:9;14039:18;14031:26;;14103:9;14097:4;14093:20;14089:1;14078:9;14074:17;14067:47;14131:131;14257:4;14131:131;:::i;:::-;14123:139;;14021:248;;;:::o;14275:419::-;14441:4;14479:2;14468:9;14464:18;14456:26;;14528:9;14522:4;14518:20;14514:1;14503:9;14499:17;14492:47;14556:131;14682:4;14556:131;:::i;:::-;14548:139;;14446:248;;;:::o;14700:419::-;14866:4;14904:2;14893:9;14889:18;14881:26;;14953:9;14947:4;14943:20;14939:1;14928:9;14924:17;14917:47;14981:131;15107:4;14981:131;:::i;:::-;14973:139;;14871:248;;;:::o;15125:419::-;15291:4;15329:2;15318:9;15314:18;15306:26;;15378:9;15372:4;15368:20;15364:1;15353:9;15349:17;15342:47;15406:131;15532:4;15406:131;:::i;:::-;15398:139;;15296:248;;;:::o;15550:419::-;15716:4;15754:2;15743:9;15739:18;15731:26;;15803:9;15797:4;15793:20;15789:1;15778:9;15774:17;15767:47;15831:131;15957:4;15831:131;:::i;:::-;15823:139;;15721:248;;;:::o;15975:419::-;16141:4;16179:2;16168:9;16164:18;16156:26;;16228:9;16222:4;16218:20;16214:1;16203:9;16199:17;16192:47;16256:131;16382:4;16256:131;:::i;:::-;16248:139;;16146:248;;;:::o;16400:419::-;16566:4;16604:2;16593:9;16589:18;16581:26;;16653:9;16647:4;16643:20;16639:1;16628:9;16624:17;16617:47;16681:131;16807:4;16681:131;:::i;:::-;16673:139;;16571:248;;;:::o;16825:419::-;16991:4;17029:2;17018:9;17014:18;17006:26;;17078:9;17072:4;17068:20;17064:1;17053:9;17049:17;17042:47;17106:131;17232:4;17106:131;:::i;:::-;17098:139;;16996:248;;;:::o;17250:419::-;17416:4;17454:2;17443:9;17439:18;17431:26;;17503:9;17497:4;17493:20;17489:1;17478:9;17474:17;17467:47;17531:131;17657:4;17531:131;:::i;:::-;17523:139;;17421:248;;;:::o;17675:222::-;17768:4;17806:2;17795:9;17791:18;17783:26;;17819:71;17887:1;17876:9;17872:17;17863:6;17819:71;:::i;:::-;17773:124;;;;:::o;17903:831::-;18166:4;18204:3;18193:9;18189:19;18181:27;;18218:71;18286:1;18275:9;18271:17;18262:6;18218:71;:::i;:::-;18299:80;18375:2;18364:9;18360:18;18351:6;18299:80;:::i;:::-;18426:9;18420:4;18416:20;18411:2;18400:9;18396:18;18389:48;18454:108;18557:4;18548:6;18454:108;:::i;:::-;18446:116;;18572:72;18640:2;18629:9;18625:18;18616:6;18572:72;:::i;:::-;18654:73;18722:3;18711:9;18707:19;18698:6;18654:73;:::i;:::-;18171:563;;;;;;;;:::o;18740:214::-;18829:4;18867:2;18856:9;18852:18;18844:26;;18880:67;18944:1;18933:9;18929:17;18920:6;18880:67;:::i;:::-;18834:120;;;;:::o;18960:129::-;18994:6;19021:20;;:::i;:::-;19011:30;;19050:33;19078:4;19070:6;19050:33;:::i;:::-;19001:88;;;:::o;19095:75::-;19128:6;19161:2;19155:9;19145:19;;19135:35;:::o;19176:311::-;19253:4;19343:18;19335:6;19332:30;19329:2;;;19365:18;;:::i;:::-;19329:2;19415:4;19407:6;19403:17;19395:25;;19475:4;19469;19465:15;19457:23;;19258:229;;;:::o;19493:132::-;19560:4;19583:3;19575:11;;19613:4;19608:3;19604:14;19596:22;;19565:60;;;:::o;19631:114::-;19698:6;19732:5;19726:12;19716:22;;19705:40;;;:::o;19751:99::-;19803:6;19837:5;19831:12;19821:22;;19810:40;;;:::o;19856:113::-;19926:4;19958;19953:3;19949:14;19941:22;;19931:38;;;:::o;19975:184::-;20074:11;20108:6;20103:3;20096:19;20148:4;20143:3;20139:14;20124:29;;20086:73;;;;:::o;20165:169::-;20249:11;20283:6;20278:3;20271:19;20323:4;20318:3;20314:14;20299:29;;20261:73;;;;:::o;20340:305::-;20380:3;20399:20;20417:1;20399:20;:::i;:::-;20394:25;;20433:20;20451:1;20433:20;:::i;:::-;20428:25;;20587:1;20519:66;20515:74;20512:1;20509:81;20506:2;;;20593:18;;:::i;:::-;20506:2;20637:1;20634;20630:9;20623:16;;20384:261;;;;:::o;20651:185::-;20691:1;20708:20;20726:1;20708:20;:::i;:::-;20703:25;;20742:20;20760:1;20742:20;:::i;:::-;20737:25;;20781:1;20771:2;;20786:18;;:::i;:::-;20771:2;20828:1;20825;20821:9;20816:14;;20693:143;;;;:::o;20842:348::-;20882:7;20905:20;20923:1;20905:20;:::i;:::-;20900:25;;20939:20;20957:1;20939:20;:::i;:::-;20934:25;;21127:1;21059:66;21055:74;21052:1;21049:81;21044:1;21037:9;21030:17;21026:105;21023:2;;;21134:18;;:::i;:::-;21023:2;21182:1;21179;21175:9;21164:20;;20890:300;;;;:::o;21196:191::-;21236:4;21256:20;21274:1;21256:20;:::i;:::-;21251:25;;21290:20;21308:1;21290:20;:::i;:::-;21285:25;;21329:1;21326;21323:8;21320:2;;;21334:18;;:::i;:::-;21320:2;21379:1;21376;21372:9;21364:17;;21241:146;;;;:::o;21393:96::-;21430:7;21459:24;21477:5;21459:24;:::i;:::-;21448:35;;21438:51;;;:::o;21495:90::-;21529:7;21572:5;21565:13;21558:21;21547:32;;21537:48;;;:::o;21591:126::-;21628:7;21668:42;21661:5;21657:54;21646:65;;21636:81;;;:::o;21723:77::-;21760:7;21789:5;21778:16;;21768:32;;;:::o;21806:86::-;21841:7;21881:4;21874:5;21870:16;21859:27;;21849:43;;;:::o;21898:121::-;21956:9;21989:24;22007:5;21989:24;:::i;:::-;21976:37;;21966:53;;;:::o;22025:307::-;22093:1;22103:113;22117:6;22114:1;22111:13;22103:113;;;22202:1;22197:3;22193:11;22187:18;22183:1;22178:3;22174:11;22167:39;22139:2;22136:1;22132:10;22127:15;;22103:113;;;22234:6;22231:1;22228:13;22225:2;;;22314:1;22305:6;22300:3;22296:16;22289:27;22225:2;22074:258;;;;:::o;22338:281::-;22421:27;22443:4;22421:27;:::i;:::-;22413:6;22409:40;22551:6;22539:10;22536:22;22515:18;22503:10;22500:34;22497:62;22494:2;;;22562:18;;:::i;:::-;22494:2;22602:10;22598:2;22591:22;22381:238;;;:::o;22625:233::-;22664:3;22687:24;22705:5;22687:24;:::i;:::-;22678:33;;22733:66;22726:5;22723:77;22720:2;;;22803:18;;:::i;:::-;22720:2;22850:1;22843:5;22839:13;22832:20;;22668:190;;;:::o;22864:180::-;22912:77;22909:1;22902:88;23009:4;23006:1;22999:15;23033:4;23030:1;23023:15;23050:180;23098:77;23095:1;23088:88;23195:4;23192:1;23185:15;23219:4;23216:1;23209:15;23236:180;23284:77;23281:1;23274:88;23381:4;23378:1;23371:15;23405:4;23402:1;23395:15;23422:102;23463:6;23514:2;23510:7;23505:2;23498:5;23494:14;23490:28;23480:38;;23470:54;;;:::o;23530:222::-;23670:34;23666:1;23658:6;23654:14;23647:58;23739:5;23734:2;23726:6;23722:15;23715:30;23636:116;:::o;23758:229::-;23898:34;23894:1;23886:6;23882:14;23875:58;23967:12;23962:2;23954:6;23950:15;23943:37;23864:123;:::o;23993:221::-;24133:34;24129:1;24121:6;24117:14;24110:58;24202:4;24197:2;24189:6;24185:15;24178:29;24099:115;:::o;24220:177::-;24360:29;24356:1;24348:6;24344:14;24337:53;24326:71;:::o;24403:220::-;24543:34;24539:1;24531:6;24527:14;24520:58;24612:3;24607:2;24599:6;24595:15;24588:28;24509:114;:::o;24629:182::-;24769:34;24765:1;24757:6;24753:14;24746:58;24735:76;:::o;24817:228::-;24957:34;24953:1;24945:6;24941:14;24934:58;25026:11;25021:2;25013:6;25009:15;25002:36;24923:122;:::o;25051:224::-;25191:34;25187:1;25179:6;25175:14;25168:58;25260:7;25255:2;25247:6;25243:15;25236:32;25157:118;:::o;25281:223::-;25421:34;25417:1;25409:6;25405:14;25398:58;25490:6;25485:2;25477:6;25473:15;25466:31;25387:117;:::o;25510:173::-;25650:25;25646:1;25638:6;25634:14;25627:49;25616:67;:::o;25689:122::-;25762:24;25780:5;25762:24;:::i;:::-;25755:5;25752:35;25742:2;;25801:1;25798;25791:12;25742:2;25732:79;:::o;25817:116::-;25887:21;25902:5;25887:21;:::i;:::-;25880:5;25877:32;25867:2;;25923:1;25920;25913:12;25867:2;25857:76;:::o;25939:122::-;26012:24;26030:5;26012:24;:::i;:::-;26005:5;26002:35;25992:2;;26051:1;26048;26041:12;25992:2;25982:79;:::o

Swarm Source

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

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.