Contract 0x0f005dfe97c5041e538b7075915b2ee706677c26 1

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xefc304e7acdb5ef529442ac14977ec89386702ebb8d49eca7800c5b3907841d5Approve145605432022-01-21 13:59:2247 mins ago0xa81a86db0fb1b3aeb44fe8a71fc8048498f7a6b6 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022318
0x61d5445e9b1758598028dd1c62ce3195a3a50f1678648a56d508d9f51f6dc671Approve145588882022-01-21 12:36:112 hrs 11 mins ago0x934a84e136591aba7a4d81a2dc00ce02a251e195 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00007313
0xf7929b808c52908efe25dd3b2f155099681f00271964cfb29ed534da3c5ba285Approve145524282022-01-21 7:13:097 hrs 34 mins ago0x5cc1232193d14ad5acaf8e68f9c73a6591c5c744 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022318
0xd89c6e7b2ab861283dc1cdf1a33295bad7bbeef4bffe753f861778fbc482f097Approve145518022022-01-21 6:41:518 hrs 5 mins ago0xb4ecfe46681d36bce753231c60edaee9a13807a2 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022168
0x2e273cba2a4d8b15d22e98980e8c86d2fc7234feafc58714f678ddd9ebdd624dApprove145517282022-01-21 6:38:098 hrs 9 mins ago0x63548dade4be57982212e00332c65836120255e5 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022318
0xd192df651110a8c74c36696dcf5e998122145b14add77092f600813dfcf3a288Approve145481402022-01-21 3:38:3111 hrs 8 mins ago0xa37bd9dd5d260ed9ac0765e310b02a0f7cb68d20 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022318
0xad78daa7404c1e498b90451491617680d353109386408afd73c85820a9c6a670Approve145455592022-01-21 1:28:5213 hrs 18 mins ago0xe415235e293f1dfbc324f0c2f211ff78626f2bfc IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00012718
0xd79d6481621b6b1bc1e75ef536ebef9af5c7016995348758fff62b061132d625Approve145455552022-01-21 1:28:4013 hrs 18 mins ago0xe415235e293f1dfbc324f0c2f211ff78626f2bfc IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022318
0x59b85c80e210afe66018aa08f64cb5306d3eeda557abdb8cc8ce41f4cafcae58Approve145435302022-01-20 23:47:2414 hrs 59 mins ago0x37913dbf6e81ff8a0236dc46dc58ed2efab91475 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022318
0x06573bf4fb21ebe859d80aef8bf25ade0ebb9c4b3fe1773c0c3dbe6fb8a66f41Approve145338772022-01-20 15:43:5823 hrs 3 mins ago0x9bb07a2cfc71d668a602b392d7828521636c1cf6 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022318
0xdd31033f697fd830a8a8e4d22a3d13b76531fe32c4ce6c45f59e30f7938fb1bfApprove145334022022-01-20 15:20:1223 hrs 27 mins ago0x22076427aac375db546a554912d5fcd62be1e613 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022318
0x557d3e93c534f2b77662367aa79b53af136c892b28b920ca95792eb5580a7e34Approve145299002022-01-20 12:24:371 day 2 hrs ago0xfa7dc62f7ca59e3fa899bd47b2d883530c57a217 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022318
0xb14288cb8eefef4236d14779f64b91d754e997a1fae87db4e1e575bee1b6344dApprove145289122022-01-20 11:35:131 day 3 hrs ago0xcdc48d58cc2d70d43e9be888d34bcf16b4a2a796 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022318
0x6a9da0aaa975ef7a270d389e56d91460013316dd242b8cf3f5fed1e2be07a2c2Approve145261482022-01-20 9:17:011 day 5 hrs ago0x363ffa821f201cdcf4cb323131a0b64231631f38 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022318
0xf4322994c62ab200659375c6b84e5227fe70d2fd675cba4d73d1376ca03ea3fcApprove145252422022-01-20 8:31:421 day 6 hrs ago0x954b99778806462868ebb50e7192a51cbbc878e5 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022318
0x21f05f1cf0ea1df1e0a4a28fdeb43a9eca5ff057bfc7c7770a09e4227beb987bTransfer145228852022-01-20 6:33:511 day 8 hrs ago0x4ae5e91c7c4eed7c8f592adf4034088f49c646c7 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00500176
0x40ef0dcc4bde32cc9ef5eb09971dc533a33d5b1800802cbaf02b6ca3b887c20eApprove145188792022-01-20 3:13:331 day 11 hrs ago0x6e1499194c37730b7581c30290119bd3b31a785a IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022318
0x168985a52fcece2509105a4c20a29117b827e04f51ef6f738e7d08cf56090041Approve145151642022-01-20 0:07:481 day 14 hrs ago0xf179b559e9bdcd995f6b1dc1298e553fb17d70f2 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022318
0x95701ffe30b172ccd4b2b6342cbe868a830d0ece31e23bfc55c031e6e073c8b0Approve144960512022-01-19 8:06:262 days 6 hrs ago0x2e3ea5f0c0ceac141f91f48196a4bf116bdf0e24 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022156
0xb763b1c4cab50f9dbcc456eef9db18b6e24b243734973abcad2a68e849dc6095Approve144920902022-01-19 4:46:512 days 10 hrs ago0x0112cb7981db30fdda6cbff6fcfecb43bb253ae9 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00022318
0x14495d8fde85ccb1ca64528bc98851c2232f5cb51850d25b91cc387d88a27b4fTransfer144907962022-01-19 3:42:092 days 11 hrs ago0xd303b327ac406ce04febe8df3d313b6eb6b24ffc IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00985292
0xb51db59660a3252ef69c1f8a022ff203cc9a30ba169723394a6dda53d80b4199Transfer144905762022-01-19 3:31:092 days 11 hrs ago0xd303b327ac406ce04febe8df3d313b6eb6b24ffc IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00985328
0x451acf0c37e27960c8ff09b31b40d3b1da460003a585e48d851f22a36f2575a8Transfer144902972022-01-19 3:17:112 days 11 hrs ago0xd303b327ac406ce04febe8df3d313b6eb6b24ffc IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00985364
0x229479712b81033d33135485f7ce2da0024581df65e286e42327ae042f6fd1c0Transfer144899142022-01-19 2:58:022 days 11 hrs ago0xe13afceab1ef4224d71fa56ef501f28b83f01501 IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00492682
0xbc175f49e02a601a65006c94c6a9579ae2bd02359a23625cec0d3d31fa83ceccTransfer144897602022-01-19 2:50:202 days 11 hrs ago0xf9fce793e4d1d2282a7e798a244c75462707a57c IN  0x0f005dfe97c5041e538b7075915b2ee706677c260 BNB0.00500182
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xef11e8382a5c2d2860b0f9dc457a357bca5d83ba80448a771a3deba1ac9c7029145587752022-01-21 12:30:322 hrs 16 mins ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.011039881071113325 BNB
0xef11e8382a5c2d2860b0f9dc457a357bca5d83ba80448a771a3deba1ac9c7029145587752022-01-21 12:30:322 hrs 16 mins ago PancakeSwap: Router v2 0x0f005dfe97c5041e538b7075915b2ee706677c260.033119643213340014 BNB
0xef11e8382a5c2d2860b0f9dc457a357bca5d83ba80448a771a3deba1ac9c7029145587752022-01-21 12:30:322 hrs 16 mins ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.01 BNB
0x9d7c3fbf92e1238d41905c35dbeaf01aaea0c0733e92e78cfe1242f7a5b45c2f145562112022-01-21 10:22:184 hrs 25 mins ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.01104948726542465 BNB
0x9d7c3fbf92e1238d41905c35dbeaf01aaea0c0733e92e78cfe1242f7a5b45c2f145562112022-01-21 10:22:184 hrs 25 mins ago PancakeSwap: Router v2 0x0f005dfe97c5041e538b7075915b2ee706677c260.033148461796273986 BNB
0x9d7c3fbf92e1238d41905c35dbeaf01aaea0c0733e92e78cfe1242f7a5b45c2f145562112022-01-21 10:22:184 hrs 25 mins ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.01 BNB
0x8a142b70084843f7f56ebf233baff7a641a7f51d3c69fafc4bb294f5fb389597145524382022-01-21 7:13:397 hrs 33 mins ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.01105469300806305 BNB
0x8a142b70084843f7f56ebf233baff7a641a7f51d3c69fafc4bb294f5fb389597145524382022-01-21 7:13:397 hrs 33 mins ago PancakeSwap: Router v2 0x0f005dfe97c5041e538b7075915b2ee706677c260.033164079024189167 BNB
0x8a142b70084843f7f56ebf233baff7a641a7f51d3c69fafc4bb294f5fb389597145524382022-01-21 7:13:397 hrs 33 mins ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.01 BNB
0x7cb5ea39b955fd7823a9f2741728d2495134e8c47a0ae9e3954de71509db4080145518982022-01-21 6:46:398 hrs ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.011057707156803275 BNB
0x7cb5ea39b955fd7823a9f2741728d2495134e8c47a0ae9e3954de71509db4080145518982022-01-21 6:46:398 hrs ago PancakeSwap: Router v2 0x0f005dfe97c5041e538b7075915b2ee706677c260.033173121470409832 BNB
0x7cb5ea39b955fd7823a9f2741728d2495134e8c47a0ae9e3954de71509db4080145518982022-01-21 6:46:398 hrs ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.01 BNB
0x8acb24e0096902ca582ef4e30b055ddb6d45aeb88b57c8eb999169cda2ea51d3145517372022-01-21 6:38:368 hrs 8 mins ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.011061110130908025 BNB
0x8acb24e0096902ca582ef4e30b055ddb6d45aeb88b57c8eb999169cda2ea51d3145517372022-01-21 6:38:368 hrs 8 mins ago PancakeSwap: Router v2 0x0f005dfe97c5041e538b7075915b2ee706677c260.033183330392724139 BNB
0x8acb24e0096902ca582ef4e30b055ddb6d45aeb88b57c8eb999169cda2ea51d3145517372022-01-21 6:38:368 hrs 8 mins ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.01 BNB
0xc9ea46e5f269eecf2299b5f6e3d8e0222f3068ff7cae60f7772175daf90aef6e145481642022-01-21 3:39:4311 hrs 7 mins ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.011043990336155725 BNB
0xc9ea46e5f269eecf2299b5f6e3d8e0222f3068ff7cae60f7772175daf90aef6e145481642022-01-21 3:39:4311 hrs 7 mins ago PancakeSwap: Router v2 0x0f005dfe97c5041e538b7075915b2ee706677c260.033131971008467204 BNB
0xc9ea46e5f269eecf2299b5f6e3d8e0222f3068ff7cae60f7772175daf90aef6e145481642022-01-21 3:39:4311 hrs 7 mins ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.01 BNB
0x792bdb35de708fef1c0497d8d8f60e355ba0c30eb7c11c6d7d69aae26e811a6f145473672022-01-21 2:59:2211 hrs 47 mins ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.01106054650168625 BNB
0x792bdb35de708fef1c0497d8d8f60e355ba0c30eb7c11c6d7d69aae26e811a6f145473672022-01-21 2:59:2211 hrs 47 mins ago PancakeSwap: Router v2 0x0f005dfe97c5041e538b7075915b2ee706677c260.033181639505058821 BNB
0x792bdb35de708fef1c0497d8d8f60e355ba0c30eb7c11c6d7d69aae26e811a6f145473672022-01-21 2:59:2211 hrs 47 mins ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.01 BNB
0xc49452802d4b6c37b8516ac042ab7320d106d6307cbbca5e0d8f7fb719f3617e145455652022-01-21 1:29:1013 hrs 18 mins ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.011062420378393975 BNB
0xc49452802d4b6c37b8516ac042ab7320d106d6307cbbca5e0d8f7fb719f3617e145455652022-01-21 1:29:1013 hrs 18 mins ago PancakeSwap: Router v2 0x0f005dfe97c5041e538b7075915b2ee706677c260.033187261135181955 BNB
0xc49452802d4b6c37b8516ac042ab7320d106d6307cbbca5e0d8f7fb719f3617e145455652022-01-21 1:29:1013 hrs 18 mins ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.01 BNB
0x531efcad18423dcd0245135b4d7276397963c6bb9e64c8d90070da2647c1d100145398222022-01-20 20:41:2818 hrs 5 mins ago 0x0f005dfe97c5041e538b7075915b2ee706677c26 PancakeSwap: Router v20.0110857109738921 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
JeToken

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: NOLICENSE
pragma solidity ^0.8.0;

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 tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

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

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

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

library Address {
    function isContract(address account) internal view returns (bool) {

        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

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

        (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");
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

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

    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

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

    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) private pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {

                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

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

interface IFactory{
        function createPair(address tokenA, address tokenB) external returns (address pair);
        function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IRouter {
    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);

    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 JeToken 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;
    mapping (address => bool) private _isBot;
    

    address[] private _excluded;

    bool public tradingEnabled;
    bool public swapEnabled;
    bool public buyBackEnabled = false;
    bool private swapping;

    IRouter public router;
    address public pair;

    uint8 private constant _decimals = 9;
    uint256 private constant MAX = ~uint256(0);

    uint256 private _tTotal = 100000000000 * 10**_decimals;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));

    uint256 public maxBuyAmount = _tTotal.mul(2).div(100);
    uint256 public maxSellAmount = _tTotal.mul(1).div(100);
    uint256 public swapTokensAtAmount = 500000 * 10**_decimals;
    uint256 public _maxWalletSize = 200000000 * 10**9;
    uint256 public buyBackUpperLimit = 1 * 10**18;

    address public marketingAddress = 0x3b10b1f53142575BdfB47D4cf057cE589e1fEF53;
    address public operationsAddress = 0x3b10b1f53142575BdfB47D4cf057cE589e1fEF53;
    address public constant deadAddress = 0x000000000000000000000000000000000000dEaD;

    string private constant _name = "JeToken";
    string private constant _symbol = "JETS";

    struct feeRatesStruct {
      uint256 rfi;
      uint256 operations;
      uint256 marketing;
      uint256 liquidity;
      uint256 buyback;
    }

    feeRatesStruct public feeRates = feeRatesStruct(
     {rfi: 20,
      operations: 0,
      marketing: 30,
      liquidity: 30,
      buyback: 30
    });

    feeRatesStruct public sellFeeRates = feeRatesStruct(
    {rfi: 60,
     operations: 7,
     marketing: 130,
     liquidity: 30,
     buyback: 30
    });

    struct TotFeesPaidStruct{
        uint256 rfi;
        uint256 operations;
        uint256 marketing;
        uint256 liquidity;
        uint256 buyBack;
    }
    TotFeesPaidStruct public totFeesPaid;

    struct valuesFromGetValues{
      uint256 rAmount;
      uint256 rTransferAmount;
      uint256 rRfi;
      uint256 rOperations;
      uint256 rMarketing;
      uint256 rLiquidity;
      uint256 rBuyback;
      uint256 tTransferAmount;
      uint256 tRfi;
      uint256 tOperations;
      uint256 tMarketing;
      uint256 tLiquidity;
      uint256 tBuyback;
    }

    event FeesChanged();
    event TradingEnabled(uint256 startDate);
    event UpdatedRouter(address oldRouter, address newRouter);

    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }

    constructor (address routerAddress) {
        IRouter _router = IRouter(routerAddress);
        address _pair = IFactory(_router.factory())
            .createPair(address(this), _router.WETH());

        router = _router;
        pair = _pair;

        _rOwned[owner()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[marketingAddress]=true;
        _isExcludedFromFee[operationsAddress] = true;

        emit Transfer(address(0), owner(), _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 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]+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 deliver(uint256 tAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");
        valuesFromGetValues memory s = _getValues(tAmount, true, false);
        _rOwned[sender] = _rOwned[sender].sub(s.rAmount);
        _rTotal = _rTotal.sub(s.rAmount);
        totFeesPaid.rfi += tAmount;
    }
    
    function reflectionFromToken(uint256 tAmount, bool deductTransferRfi) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferRfi) {
            valuesFromGetValues memory s = _getValues(tAmount, true, false);
            return s.rAmount;
        } else {
            valuesFromGetValues memory s = _getValues(tAmount, true, false);
            return s.rTransferAmount;
        }
    }

    function startTrading() external onlyOwner{
        tradingEnabled = true;
        swapEnabled = true;
        emit TradingEnabled(block.timestamp);
    }


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

    function excludeFromReward(address account) public onlyOwner() {
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeInReward(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is not 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 excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

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


    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

   function setMaxWalletPercent(uint256 maxWallPercent) external onlyOwner() {
        _maxWalletSize = _tTotal.mul(maxWallPercent).div(
            10**2
        );
   }   
   
    function setFeeRates(uint256 _rfi, uint256 _operations, uint256 _marketing, uint256 _liquidity, uint256 _buyback) external onlyOwner {
        feeRates.rfi = _rfi;
        feeRates.operations = _operations;
        feeRates.marketing = _marketing;
        feeRates.liquidity = _liquidity;
        feeRates.buyback = _buyback;
        emit FeesChanged();
    }

    function setSellFeeRates(uint256 _rfi, uint256 _operations, uint256 _marketing, uint256 _liquidity, uint256 _buyback) external onlyOwner{
        sellFeeRates.rfi = _rfi;
        sellFeeRates.operations = _operations;
        sellFeeRates.marketing = _marketing;
        sellFeeRates.liquidity = _liquidity;
        sellFeeRates.buyback = _buyback;
        emit FeesChanged();
    }

    function _reflectRfi(uint256 rRfi, uint256 tRfi) private {
        _rTotal -=rRfi;
        totFeesPaid.rfi +=tRfi;
    }

    function _takeOperations(uint256 rOperations, uint256 tOperations) private {
        totFeesPaid.operations +=tOperations;
        if(_isExcluded[address(this)]){
             _tOwned[address(this)]+=tOperations;
        }
        _rOwned[address(this)] +=rOperations;

    }

    function _takeBuyback(uint256 rBuyback, uint256 tBuyback) private {
        totFeesPaid.buyBack +=tBuyback;

        if(_isExcluded[address(this)])
        {
            _tOwned[address(this)]+=tBuyback;
        }
        _rOwned[address(this)] +=rBuyback;
    }

    function _takeLiquidity(uint256 rLiquidity, uint256 tLiquidity) private {
        totFeesPaid.liquidity +=tLiquidity;

        if(_isExcluded[address(this)])
        {
            _tOwned[address(this)]+=tLiquidity;
        }
        _rOwned[address(this)] +=rLiquidity;
    }

    function _takeMarketing(uint256 rMarketing, uint256 tMarketing) private {
        totFeesPaid.marketing +=tMarketing;

        if(_isExcluded[marketingAddress])
        {
            _tOwned[marketingAddress]+=tMarketing;
        }
        _rOwned[marketingAddress] +=rMarketing;
    }


    function _getValues(uint256 tAmount, bool takeFee, bool isSale) private view returns (valuesFromGetValues memory to_return) {
        to_return = _getTValues(tAmount, takeFee, isSale);
        (to_return.rAmount, to_return.rTransferAmount, to_return.rRfi,to_return.rOperations, to_return.rMarketing, to_return.rLiquidity, to_return.rBuyback) = _getRValues(to_return, tAmount, takeFee, _getRate());
        return to_return;
    }

    function _getTValues(uint256 tAmount, bool takeFee, bool isSale) private view returns (valuesFromGetValues memory s) {

        if(!takeFee) {
          s.tTransferAmount = tAmount;
          return s;
        }

        if(isSale){
            s.tRfi = tAmount*sellFeeRates.rfi/1000;
            s.tOperations = tAmount*sellFeeRates.operations/1000;
            s.tMarketing = tAmount*sellFeeRates.marketing/1000;
            s.tLiquidity = tAmount*sellFeeRates.liquidity/1000;
            s.tBuyback = tAmount*sellFeeRates.buyback/1000;
            s.tTransferAmount = tAmount-s.tRfi-s.tOperations-s.tMarketing-s.tLiquidity-s.tBuyback;
        }
        else{
            s.tRfi = tAmount*feeRates.rfi/1000;
            s.tOperations = tAmount*feeRates.operations/1000;
            s.tMarketing = tAmount*feeRates.marketing/1000;
            s.tLiquidity = tAmount*feeRates.liquidity/1000;
            s.tBuyback = tAmount*feeRates.buyback/1000;
            s.tTransferAmount = tAmount-s.tRfi-s.tOperations-s.tMarketing-s.tLiquidity-s.tBuyback;
        }
        return s;
    }

    function _getRValues(valuesFromGetValues memory s, uint256 tAmount, bool takeFee, uint256 currentRate) private pure returns (uint256 rAmount, uint256 rTransferAmount, uint256 rRfi, uint256 rOperations,uint256 rMarketing, uint256 rLiquidity, uint256 rBuyback) {
        rAmount = tAmount*currentRate;

        if(!takeFee) {
          return(rAmount, rAmount, 0,0,0,0,0);
        }

        rRfi = s.tRfi*currentRate;
        rOperations = s.tOperations*currentRate;
        rMarketing = s.tMarketing*currentRate;
        rLiquidity = s.tLiquidity*currentRate;
        rBuyback = s.tBuyback*currentRate;
        rTransferAmount =  rAmount-rRfi-rOperations-rMarketing-rLiquidity-rBuyback;
        return (rAmount, rTransferAmount, rRfi,rOperations,rMarketing,rLiquidity, rBuyback);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply/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-_rOwned[_excluded[i]];
            tSupply = tSupply-_tOwned[_excluded[i]];
        }
        if (rSupply < _rTotal/_tTotal) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    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");
        require(amount <= balanceOf(from),"You are trying to transfer more than your balance");
        require(!_isBot[from] && !_isBot[to], "Fuck you Bots");

        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            require(tradingEnabled, "Trading is not enabled yet");
        }

        if( from != owner() &&
            to != owner() &&
            to != address(0) &&
            to != address(0xdead) &&
            from == pair){
            require(amount <= maxBuyAmount, "you are exceeding maxBuyAmount");
           uint256 walletCurrentBalance = balanceOf(to);
            require(walletCurrentBalance + amount <= _maxWalletSize, "Exceeds maximum wallet token amount");
        }

        if( from != owner() &&
            to != owner() &&
            to != address(0) &&
            to != address(0xdead) &&
            from == pair){
            require(amount <= maxSellAmount, "Amount is exceeding maxSellAmount");
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance >= swapTokensAtAmount;
        if(!swapping && swapEnabled && canSwap && from != pair){
            uint256 balance = address(this).balance;
            if (buyBackEnabled && balance > uint256(1 * 10**18) && to == pair) {
                if (balance > buyBackUpperLimit) balance = buyBackUpperLimit;
                buyBackTokens(balance.div(100));
            }

            swapAndLiquify(swapTokensAtAmount);
        }
        bool isSale;
        if(to == pair) isSale = true;

        _tokenTransfer(from, to, amount, !(_isExcludedFromFee[from] || _isExcludedFromFee[to]), isSale);
    }


    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee, bool isSale) private {

        valuesFromGetValues memory s = _getValues(tAmount, takeFee, isSale);

        if (_isExcluded[sender] ) {  //from excluded
                _tOwned[sender] = _tOwned[sender]-tAmount;
        }
        if (_isExcluded[recipient]) { //to excluded
                _tOwned[recipient] = _tOwned[recipient]+s.tTransferAmount;
        }

        _rOwned[sender] = _rOwned[sender]-s.rAmount;
        _rOwned[recipient] = _rOwned[recipient]+s.rTransferAmount;
        _reflectRfi(s.rRfi, s.tRfi);
        _takeOperations(s.rOperations,s.tOperations);
        _takeLiquidity(s.rLiquidity,s.tLiquidity);
        _takeMarketing(s.rMarketing, s.tMarketing);
        _takeBuyback(s.rBuyback, s.tBuyback);
        emit Transfer(sender, recipient, s.tTransferAmount);
        emit Transfer(sender, address(this), s.tLiquidity + s.tOperations + s.tBuyback);
        emit Transfer(sender, marketingAddress, s.tMarketing);

    }

    function buyBackTokens(uint256 amount) private lockTheSwap{
    	if (amount > 0) {
    	    swapETHForTokens(amount);
	    }
    }

    function swapETHForTokens(uint256 amount) private {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

      // make the swap
        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0, // accept any amount of Tokens
            path,
            deadAddress, // Burn address
            block.timestamp.add(300)
        );
     }

    function swapAndLiquify(uint256 tokens) private lockTheSwap{
        uint256 denominator= (feeRates.liquidity + feeRates.buyback + feeRates.operations) * 2;
        uint256 tokensToAddLiquidityWith = tokens * feeRates.liquidity / denominator;
        uint256 toSwap = tokens - tokensToAddLiquidityWith;

        uint256 initialBalance = address(this).balance;

        swapTokensForBNB(toSwap);

        uint256 deltaBalance = address(this).balance - initialBalance;
        uint256 unitBalance= deltaBalance / (denominator - feeRates.liquidity);
        uint256 bnbToAddLiquidityWith = unitBalance * feeRates.liquidity;

        if(bnbToAddLiquidityWith > 0){
            addLiquidity(tokensToAddLiquidityWith, bnbToAddLiquidityWith);
        }

        uint256 operationsAmt = unitBalance * 2 * feeRates.operations;
        if(operationsAmt > 0){
          payable(operationsAddress).transfer(operationsAmt);
        }
    }

    function addLiquidity(uint256 tokenAmount, uint256 bnbAmount) private {
        _approve(address(this), address(router), tokenAmount);

        router.addLiquidityETH{value: bnbAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }

    function swapTokensForBNB(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

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

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

    }


    function updateMarketingWallet(address newWallet) external onlyOwner{
        require(marketingAddress != newWallet ,'Wallet already set');
        marketingAddress = newWallet;
        _isExcludedFromFee[marketingAddress];
    }

    function updateOperationsWallet(address newWallet) external onlyOwner{
        require(operationsAddress != newWallet ,'Wallet already set');
        operationsAddress = newWallet;
        _isExcludedFromFee[operationsAddress];
    }

    function setMaxBuyAndSellAmount(uint256 _maxBuyamount, uint256 _maxSellAmount) external onlyOwner{
        maxBuyAmount = _maxBuyamount * 10**9;
        maxSellAmount = _maxSellAmount * 10**9;
    }

    function updateSwapTokensAtAmount(uint256 amount) external onlyOwner{
        swapTokensAtAmount = amount * 10**_decimals;
    }

    function updateSwapEnabled(bool _enabled) external onlyOwner{
        swapEnabled = _enabled;
    }

    function updateTradingEnabled(bool _enabled) external onlyOwner{
        tradingEnabled = _enabled;
    }

    function updateBuybackEnabled(bool _enabled) external onlyOwner{
        buyBackEnabled = _enabled;
    }

    function setAntibot(address account, bool _bot) external onlyOwner{
        require(_isBot[account] != _bot, 'Value already set');
        _isBot[account] = _bot;
    }

    function setBuybackUpperLimit(uint256 buyBackLimit) external onlyOwner() {
        buyBackUpperLimit = buyBackLimit * 10**15;
    }

    function isBot(address account) public view returns(bool){
        return _isBot[account];
    }

    function rescueBNB(uint256 weiAmount) external onlyOwner{
        require(address(this).balance >= weiAmount, "insufficient BNB balance");
        payable(msg.sender).transfer(weiAmount);
    }

    function rescueBEP20Tokens(address tokenAddress) external onlyOwner{
        IERC20(tokenAddress).transfer(msg.sender, IERC20(tokenAddress).balanceOf(address(this)));
    }

    function setRouterAddress(address newRouter) external onlyOwner {
        require(newRouter != address(router));
        IRouter _newRouter = IRouter(newRouter);
        address get_pair = IFactory(_newRouter.factory()).getPair(address(this), _newRouter.WETH());
        if (get_pair == address(0)) {
            pair = IFactory(_newRouter.factory()).createPair(address(this), _newRouter.WETH());
        }
        else {
            pair = get_pair;
        }
        router = _newRouter;
    }

    receive() external payable{
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"}],"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":[],"name":"FeesChanged","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":"startDate","type":"uint256"}],"name":"TradingEnabled","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldRouter","type":"address"},{"indexed":false,"internalType":"address","name":"newRouter","type":"address"}],"name":"UpdatedRouter","type":"event"},{"inputs":[],"name":"_maxWalletSize","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":"buyBackEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyBackUpperLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeRates","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"operations","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"buyback","type":"uint256"}],"stateMutability":"view","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":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"marketingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"operationsAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferRfi","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"rescueBEP20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueBNB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFeeRates","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"operations","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"buyback","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"_bot","type":"bool"}],"name":"setAntibot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyBackLimit","type":"uint256"}],"name":"setBuybackUpperLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rfi","type":"uint256"},{"internalType":"uint256","name":"_operations","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_buyback","type":"uint256"}],"name":"setFeeRates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxBuyamount","type":"uint256"},{"internalType":"uint256","name":"_maxSellAmount","type":"uint256"}],"name":"setMaxBuyAndSellAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"setMaxWalletPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"}],"name":"setRouterAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rfi","type":"uint256"},{"internalType":"uint256","name":"_operations","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_buyback","type":"uint256"}],"name":"setSellFeeRates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totFeesPaid","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"operations","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"buyBack","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"updateBuybackEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateOperationsWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"updateTradingEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526008805462ff0000191690556200001e6009600a620005e9565b6200002f9064174876e800620006d4565b600a819055620000429060001962000710565b6200005090600019620006f6565b600b556200008a6064620000766002600a54620004b360201b62001f071790919060201c565b620004c860201b62001f131790919060201c565b600c55620000b06064620000766001600a54620004b360201b62001f071790919060201c565b600d55620000c16009600a620005e9565b620000d0906207a120620006d4565b600e556702c68af0bb140000600f55670de0b6b3a764000060105560118054733b10b1f53142575bdfb47d4cf057ce589e1fef536001600160a01b031991821681179092556012805490911690911790556040805160a08082018352601480835260006020808501829052601e8587018190526060808701829052608096870182905260138590559290935560158390556016839055601783905585519384018652603c8085526007918501829052608296850187905291840183905292909301819052601892909255601955601a91909155601b819055601c55348015620001b857600080fd5b50604051620047a3380380620047a3833981016040819052620001db9162000539565b620001ef620001e9620004d6565b620004da565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200023057600080fd5b505afa15801562000245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026b919062000539565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002b457600080fd5b505afa158015620002c9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ef919062000539565b6040518363ffffffff1660e01b81526004016200030e92919062000562565b602060405180830381600087803b1580156200032957600080fd5b505af11580156200033e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000364919062000539565b60088054600160201b600160c01b0319166401000000006001600160a01b038681169190910291909117909155600980546001600160a01b031916918316919091179055600b5490915060016000620003bc6200052a565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160046000620003f66200052a60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556011548216815260049093528183208054851660019081179091556012549091168352912080549092161790556200045b6200052a565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a54604051620004a291906200057c565b60405180910390a350505062000753565b6000620004c18284620006d4565b9392505050565b6000620004c1828462000585565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b031690565b6000602082840312156200054b578081fd5b81516001600160a01b0381168114620004c1578182fd5b6001600160a01b0392831681529116602082015260400190565b90815260200190565b6000826200059757620005976200073d565b500490565b80825b6001808611620005b05750620005e0565b818704821115620005c557620005c562000727565b80861615620005d357918102915b9490941c9380026200059f565b94509492505050565b6000620004c160001960ff8516846000826200060857506001620004c1565b816200061757506000620004c1565b81600181146200063057600281146200063b576200066f565b6001915050620004c1565b60ff8411156200064f576200064f62000727565b6001841b91508482111562000668576200066862000727565b50620004c1565b5060208310610133831016604e8410600b8410161715620006a7575081810a83811115620006a157620006a162000727565b620004c1565b620006b684848460016200059c565b808604821115620006cb57620006cb62000727565b02949350505050565b6000816000190483118215151615620006f157620006f162000727565b500290565b6000828210156200070b576200070b62000727565b500390565b6000826200072257620007226200073d565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b61404080620007636000396000f3fe60806040526004361061036f5760003560e01c806370e50241116101c6578063a8aa1b31116100f7578063e116554511610095578063ea4cfe121161006f578063ea4cfe1214610971578063f2fde38b14610986578063f887ea40146109a6578063f9e08969146109bb57610376565b8063e11655451461091c578063e2f456051461093c578063ea2f0b371461095157610376565b8063abeef102116100d1578063abeef1021461089c578063cdebfea3146108bc578063d257b34f146108dc578063dd62ed3e146108fc57610376565b8063a8aa1b3114610847578063a9059cbb1461085c578063aacebbe31461087c57610376565b80638da5cb5b1161016457806395d89b411161013e57806395d89b41146107e85780639ba5e4d5146107fd578063a457c2d714610812578063a5ece9411461083257610376565b80638da5cb5b1461079e5780638f9a55c0146107b3578063924de9b7146107c857610376565b806382bf293c116101a057806382bf293c1461072957806382d2a4bb1461074957806388e765ff1461076957806388f820201461077e57610376565b806370e50241146106ea578063715018a6146106ff5780637688c5841461071457610376565b80633bbac579116102a057806352390c021161023e57806366d602ae1161021857806366d602ae1461068057806368ca6145146106955780636ddd1713146106b557806370a08231146106ca57610376565b806352390c021461062b5780635342acb41461064b5780636053a0e31461066b57610376565b8063437823ec1161027a578063437823ec146105b6578063441b1d30146105d65780634549b039146105f65780634ada218b1461061657610376565b80633bbac579146105565780633bd5d1731461057657806341cb87fc1461059657610376565b8063293230b81161030d578063313ce567116102e7578063313ce567146104d457806331df8aa4146104f65780633685d41914610516578063395093511461053657610376565b8063293230b81461047f5780632d8381191461049457806330d5d18d146104b457610376565b806318160ddd1161034957806318160ddd146103f557806318a90c441461041757806323b872dd1461043d57806327c8f8351461045d57610376565b8063042cfb511461037b57806306fdde031461039d578063095ea7b3146103c857610376565b3661037657005b600080fd5b34801561038757600080fd5b5061039b6103963660046133d7565b6109db565b005b3480156103a957600080fd5b506103b2610b35565b6040516103bf91906136f8565b60405180910390f35b3480156103d457600080fd5b506103e86103e33660046134b4565b610b6c565b6040516103bf91906136b8565b34801561040157600080fd5b5061040a610b8a565b6040516103bf9190613d6e565b34801561042357600080fd5b5061042c610b90565b6040516103bf959493929190613db3565b34801561044957600080fd5b506103e8610458366004613447565b610ba2565b34801561046957600080fd5b50610472610c2a565b6040516103bf9190613636565b34801561048b57600080fd5b5061039b610c30565b3480156104a057600080fd5b5061040a6104af366004613517565b610cc1565b3480156104c057600080fd5b5061039b6104cf3660046133d7565b610d04565b3480156104e057600080fd5b506104e9610d9a565b6040516103bf9190613dd6565b34801561050257600080fd5b5061039b6105113660046134df565b610d9f565b34801561052257600080fd5b5061039b6105313660046133d7565b610df1565b34801561054257600080fd5b506103e86105513660046134b4565b610fc2565b34801561056257600080fd5b506103e86105713660046133d7565b611011565b34801561058257600080fd5b5061039b610591366004613517565b61102f565b3480156105a257600080fd5b5061039b6105b13660046133d7565b6110f5565b3480156105c257600080fd5b5061039b6105d13660046133d7565b6114b1565b3480156105e257600080fd5b5061039b6105f1366004613517565b611514565b34801561060257600080fd5b5061040a610611366004613547565b6115a0565b34801561062257600080fd5b506103e86115fe565b34801561063757600080fd5b5061039b6106463660046133d7565b611607565b34801561065757600080fd5b506103e86106663660046133d7565b61173f565b34801561067757600080fd5b506103e861175d565b34801561068c57600080fd5b5061040a61176c565b3480156106a157600080fd5b5061039b6106b03660046135b9565b611772565b3480156106c157600080fd5b506103e86117fa565b3480156106d657600080fd5b5061040a6106e53660046133d7565b611808565b3480156106f657600080fd5b5061040a61186a565b34801561070b57600080fd5b5061039b611870565b34801561072057600080fd5b5061042c6118bb565b34801561073557600080fd5b5061039b610744366004613517565b6118cd565b34801561075557600080fd5b5061039b610764366004613517565b611932565b34801561077557600080fd5b5061040a611988565b34801561078a57600080fd5b506103e86107993660046133d7565b61198e565b3480156107aa57600080fd5b506104726119ac565b3480156107bf57600080fd5b5061040a6119bb565b3480156107d457600080fd5b5061039b6107e33660046134df565b6119c1565b3480156107f457600080fd5b506103b2611a1a565b34801561080957600080fd5b5061042c611a51565b34801561081e57600080fd5b506103e861082d3660046134b4565b611a63565b34801561083e57600080fd5b50610472611acb565b34801561085357600080fd5b50610472611ada565b34801561086857600080fd5b506103e86108773660046134b4565b611ae9565b34801561088857600080fd5b5061039b6108973660046133d7565b611afd565b3480156108a857600080fd5b5061039b6108b73660046135b9565b611b93565b3480156108c857600080fd5b5061039b6108d736600461356b565b611c1b565b3480156108e857600080fd5b5061039b6108f7366004613517565b611c80565b34801561090857600080fd5b5061040a61091736600461340f565b611cdb565b34801561092857600080fd5b5061039b610937366004613487565b611d06565b34801561094857600080fd5b5061040a611daf565b34801561095d57600080fd5b5061039b61096c3660046133d7565b611db5565b34801561097d57600080fd5b50610472611e15565b34801561099257600080fd5b5061039b6109a13660046133d7565b611e24565b3480156109b257600080fd5b50610472611e95565b3480156109c757600080fd5b5061039b6109d63660046134df565b611eac565b6109e3611f1f565b6001600160a01b03166109f46119ac565b6001600160a01b031614610a235760405162461bcd60e51b8152600401610a1a90613ac3565b60405180910390fd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063a9059cbb90339083906370a0823190610a72903090600401613636565b60206040518083038186803b158015610a8a57600080fd5b505afa158015610a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac2919061352f565b6040518363ffffffff1660e01b8152600401610adf929190613664565b602060405180830381600087803b158015610af957600080fd5b505af1158015610b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3191906134fb565b5050565b60408051808201909152600781527f4a65546f6b656e00000000000000000000000000000000000000000000000000602082015290565b6000610b80610b79611f1f565b8484611f23565b5060015b92915050565b600a5490565b601854601954601a54601b54601c5485565b6000610baf848484611fd7565b610c1f84610bbb611f1f565b610c1a85604051806060016040528060288152602001613fbe602891396001600160a01b038a16600090815260036020526040812090610bf9611f1f565b6001600160a01b031681526020810191909152604001600020549190612408565b611f23565b5060015b9392505050565b61dead81565b610c38611f1f565b6001600160a01b0316610c496119ac565b6001600160a01b031614610c6f5760405162461bcd60e51b8152600401610a1a90613ac3565b6008805461ff001960ff19909116600117166101001790556040517fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e92390610cb7904290613d6e565b60405180910390a1565b6000600b54821115610ce55760405162461bcd60e51b8152600401610a1a90613873565b6000610cef612434565b9050610cfb8184613dfc565b9150505b919050565b610d0c611f1f565b6001600160a01b0316610d1d6119ac565b6001600160a01b031614610d435760405162461bcd60e51b8152600401610a1a90613ac3565b6012546001600160a01b0382811691161415610d715760405162461bcd60e51b8152600401610a1a90613b55565b601280546001600160a01b0319166001600160a01b039283161790819055166000526004602052565b600990565b610da7611f1f565b6001600160a01b0316610db86119ac565b6001600160a01b031614610dde5760405162461bcd60e51b8152600401610a1a90613ac3565b6008805460ff1916911515919091179055565b610df9611f1f565b6001600160a01b0316610e0a6119ac565b6001600160a01b031614610e305760405162461bcd60e51b8152600401610a1a90613ac3565b6001600160a01b03811660009081526005602052604090205460ff16610e685760405162461bcd60e51b8152600401610a1a90613a1e565b60005b600754811015610b3157816001600160a01b031660078281548110610ea057634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610fb05760078054610ecb90600190613f52565b81548110610ee957634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600780546001600160a01b039092169183908110610f2357634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff191690556007805480610f8957634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b0319169055019055610b31565b80610fba81613f69565b915050610e6b565b6000610b80610fcf611f1f565b848460036000610fdd611f1f565b6001600160a01b03908116825260208083019390935260409182016000908120918b1681529252902054610c1a9190613de4565b6001600160a01b031660009081526006602052604090205460ff1690565b6000611039611f1f565b6001600160a01b03811660009081526005602052604090205490915060ff16156110755760405162461bcd60e51b8152600401610a1a90613cb4565b60006110848360016000612457565b80516001600160a01b0384166000908152600160205260409020549192506110ac91906124a6565b6001600160a01b0383166000908152600160205260409020558051600b546110d3916124a6565b600b55601d80548491906000906110eb908490613de4565b9091555050505050565b6110fd611f1f565b6001600160a01b031661110e6119ac565b6001600160a01b0316146111345760405162461bcd60e51b8152600401610a1a90613ac3565b6008546001600160a01b0382811664010000000090920416141561115757600080fd5b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561119757600080fd5b505afa1580156111ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cf91906133f3565b6001600160a01b031663e6a4390530846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561121757600080fd5b505afa15801561122b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124f91906133f3565b6040518363ffffffff1660e01b815260040161126c92919061364a565b60206040518083038186803b15801561128457600080fd5b505afa158015611298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bc91906133f3565b90506001600160a01b03811661145157816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561130557600080fd5b505afa158015611319573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133d91906133f3565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561138557600080fd5b505afa158015611399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bd91906133f3565b6040518363ffffffff1660e01b81526004016113da92919061364a565b602060405180830381600087803b1580156113f457600080fd5b505af1158015611408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142c91906133f3565b600980546001600160a01b0319166001600160a01b039290921691909117905561146d565b600980546001600160a01b0319166001600160a01b0383161790555b50600880546001600160a01b03909216640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff90921691909117905550565b6114b9611f1f565b6001600160a01b03166114ca6119ac565b6001600160a01b0316146114f05760405162461bcd60e51b8152600401610a1a90613ac3565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b61151c611f1f565b6001600160a01b031661152d6119ac565b6001600160a01b0316146115535760405162461bcd60e51b8152600401610a1a90613ac3565b804710156115735760405162461bcd60e51b8152600401610a1a90613a8c565b604051339082156108fc029083906000818181858888f19350505050158015610b31573d6000803e3d6000fd5b6000600a548311156115c45760405162461bcd60e51b8152600401610a1a90613a55565b816115e25760006115d88460016000612457565b519150610b849050565b60006115f18460016000612457565b602001519150610b849050565b60085460ff1681565b61160f611f1f565b6001600160a01b03166116206119ac565b6001600160a01b0316146116465760405162461bcd60e51b8152600401610a1a90613ac3565b6001600160a01b03811660009081526005602052604090205460ff161561167f5760405162461bcd60e51b8152600401610a1a9061398a565b6001600160a01b038116600090815260016020526040902054156116d9576001600160a01b0381166000908152600160205260409020546116bf90610cc1565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556007805491820181559091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319169091179055565b6001600160a01b031660009081526004602052604090205460ff1690565b60085462010000900460ff1681565b600d5481565b61177a611f1f565b6001600160a01b031661178b6119ac565b6001600160a01b0316146117b15760405162461bcd60e51b8152600401610a1a90613ac3565b601385905560148490556015839055601682905560178190556040517f846206d6c3449ac0b05841dfb88bf28b55aef00f96152490c69c96238048de1590600090a15050505050565b600854610100900460ff1681565b6001600160a01b03811660009081526005602052604081205460ff161561184857506001600160a01b038116600090815260026020526040902054610cff565b6001600160a01b038216600090815260016020526040902054610b8490610cc1565b60105481565b611878611f1f565b6001600160a01b03166118896119ac565b6001600160a01b0316146118af5760405162461bcd60e51b8152600401610a1a90613ac3565b6118b960006124b2565b565b60135460145460155460165460175485565b6118d5611f1f565b6001600160a01b03166118e66119ac565b6001600160a01b03161461190c5760405162461bcd60e51b8152600401610a1a90613ac3565b61192c606461192683600a54611f0790919063ffffffff16565b90611f13565b600f5550565b61193a611f1f565b6001600160a01b031661194b6119ac565b6001600160a01b0316146119715760405162461bcd60e51b8152600401610a1a90613ac3565b6119828166038d7ea4c68000613f33565b60105550565b600c5481565b6001600160a01b031660009081526005602052604090205460ff1690565b6000546001600160a01b031690565b600f5481565b6119c9611f1f565b6001600160a01b03166119da6119ac565b6001600160a01b031614611a005760405162461bcd60e51b8152600401610a1a90613ac3565b600880549115156101000261ff0019909216919091179055565b60408051808201909152600481527f4a45545300000000000000000000000000000000000000000000000000000000602082015290565b601d54601e54601f5460205460215485565b6000610b80611a70611f1f565b84610c1a85604051806060016040528060258152602001613fe66025913960036000611a9a611f1f565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190612408565b6011546001600160a01b031681565b6009546001600160a01b031681565b6000610b80611af6611f1f565b8484611fd7565b611b05611f1f565b6001600160a01b0316611b166119ac565b6001600160a01b031614611b3c5760405162461bcd60e51b8152600401610a1a90613ac3565b6011546001600160a01b0382811691161415611b6a5760405162461bcd60e51b8152600401610a1a90613b55565b601180546001600160a01b0319166001600160a01b039283161790819055166000526004602052565b611b9b611f1f565b6001600160a01b0316611bac6119ac565b6001600160a01b031614611bd25760405162461bcd60e51b8152600401610a1a90613ac3565b60188590556019849055601a839055601b829055601c8190556040517f846206d6c3449ac0b05841dfb88bf28b55aef00f96152490c69c96238048de1590600090a15050505050565b611c23611f1f565b6001600160a01b0316611c346119ac565b6001600160a01b031614611c5a5760405162461bcd60e51b8152600401610a1a90613ac3565b611c6882633b9aca00613f33565b600c55611c7981633b9aca00613f33565b600d555050565b611c88611f1f565b6001600160a01b0316611c996119ac565b6001600160a01b031614611cbf5760405162461bcd60e51b8152600401610a1a90613ac3565b611ccb6009600a613e62565b611cd59082613f33565b600e5550565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b611d0e611f1f565b6001600160a01b0316611d1f6119ac565b6001600160a01b031614611d455760405162461bcd60e51b8152600401610a1a90613ac3565b6001600160a01b03821660009081526006602052604090205460ff1615158115151415611d845760405162461bcd60e51b8152600401610a1a906137df565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600e5481565b611dbd611f1f565b6001600160a01b0316611dce6119ac565b6001600160a01b031614611df45760405162461bcd60e51b8152600401610a1a90613ac3565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6012546001600160a01b031681565b611e2c611f1f565b6001600160a01b0316611e3d6119ac565b6001600160a01b031614611e635760405162461bcd60e51b8152600401610a1a90613ac3565b6001600160a01b038116611e895760405162461bcd60e51b8152600401610a1a906138d0565b611e92816124b2565b50565b60085464010000000090046001600160a01b031681565b611eb4611f1f565b6001600160a01b0316611ec56119ac565b6001600160a01b031614611eeb5760405162461bcd60e51b8152600401610a1a90613ac3565b60088054911515620100000262ff000019909216919091179055565b6000610c238284613f33565b6000610c238284613dfc565b3390565b6001600160a01b038316611f495760405162461bcd60e51b8152600401610a1a90613c20565b6001600160a01b038216611f6f5760405162461bcd60e51b8152600401610a1a9061392d565b6001600160a01b0380841660008181526003602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590611fca908590613d6e565b60405180910390a3505050565b6001600160a01b038316611ffd5760405162461bcd60e51b8152600401610a1a90613bc3565b6001600160a01b0382166120235760405162461bcd60e51b8152600401610a1a9061374b565b600081116120435760405162461bcd60e51b8152600401610a1a90613af8565b61204c83611808565b81111561206b5760405162461bcd60e51b8152600401610a1a90613816565b6001600160a01b03831660009081526006602052604090205460ff161580156120ad57506001600160a01b03821660009081526006602052604090205460ff16155b6120c95760405162461bcd60e51b8152600401610a1a90613b8c565b6001600160a01b03831660009081526004602052604090205460ff1615801561210b57506001600160a01b03821660009081526004602052604090205460ff16155b156121325760085460ff166121325760405162461bcd60e51b8152600401610a1a906137a8565b61213a6119ac565b6001600160a01b0316836001600160a01b031614158015612174575061215e6119ac565b6001600160a01b0316826001600160a01b031614155b801561218857506001600160a01b03821615155b801561219f57506001600160a01b03821661dead14155b80156121b857506009546001600160a01b038481169116145b1561221a57600c548111156121df5760405162461bcd60e51b8152600401610a1a90613c7d565b60006121ea83611808565b600f549091506121fa8383613de4565b11156122185760405162461bcd60e51b8152600401610a1a906139c1565b505b6122226119ac565b6001600160a01b0316836001600160a01b03161415801561225c57506122466119ac565b6001600160a01b0316826001600160a01b031614155b801561227057506001600160a01b03821615155b801561228757506001600160a01b03821661dead14155b80156122a057506009546001600160a01b038481169116145b156122c757600d548111156122c75760405162461bcd60e51b8152600401610a1a90613d11565b60006122d230611808565b600e54600854919250821015906301000000900460ff161580156122fd5750600854610100900460ff165b80156123065750805b801561232057506009546001600160a01b03868116911614155b1561239357600854479062010000900460ff1680156123465750670de0b6b3a764000081115b801561235f57506009546001600160a01b038681169116145b156123865760105481111561237357506010545b612386612381826064611f13565b612502565b612391600e54612534565b505b6009546000906001600160a01b03868116911614156123b0575060015b6001600160a01b0386166000908152600460205260409020546124009087908790879060ff16806123f957506001600160a01b03891660009081526004602052604090205460ff165b1585612671565b505050505050565b6000818484111561242c5760405162461bcd60e51b8152600401610a1a91906136f8565b505050900390565b6000806000612441612932565b90925090506124508183613dfc565b9250505090565b61245f61336f565b61246a848484612af0565b905061247f81858561247a612434565b612d07565b60c088015260a0870152608086015260608501526040840152602083015281529392505050565b6000610c238284613f52565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6008805463ff0000001916630100000017905580156125245761252481612ddd565b506008805463ff00000019169055565b6008805463ff000000191663010000001790556014546017546016546000929161255d91613de4565b6125679190613de4565b612572906002613f33565b9050600081601360030154846125889190613f33565b6125929190613dfc565b905060006125a08285613f52565b9050476125ac82612f76565b60006125b88247613f52565b6016549091506000906125cb9087613f52565b6125d59083613dfc565b6016549091506000906125e89083613f33565b905080156125fa576125fa8682613135565b60145460009061260b846002613f33565b6126159190613f33565b90508015612659576012546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015612657573d6000803e3d6000fd5b505b50506008805463ff0000001916905550505050505050565b600061267e848484612457565b6001600160a01b03871660009081526005602052604090205490915060ff16156126e0576001600160a01b0386166000908152600260205260409020546126c6908590613f52565b6001600160a01b0387166000908152600260205260409020555b6001600160a01b03851660009081526005602052604090205460ff16156127435760e08101516001600160a01b0386166000908152600260205260409020546127299190613de4565b6001600160a01b0386166000908152600260205260409020555b80516001600160a01b0387166000908152600160205260409020546127689190613f52565b6001600160a01b038088166000908152600160209081526040808320949094558401519188168152919091205461279f9190613de4565b6001600160a01b03861660009081526001602052604090819020919091558101516101008201516127d091906131f7565b6127e3816060015182610120015161322c565b6127f68160a001518261016001516132a2565b61280981608001518261014001516132b7565b61281c8160c0015182610180015161334e565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360e001516040516128639190613d6e565b60405180910390a3306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8361018001518461012001518561016001516128bc9190613de4565b6128c69190613de4565b6040516128d39190613d6e565b60405180910390a36011546101408201516040516001600160a01b03928316928916917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916129229190613d6e565b60405180910390a3505050505050565b600b54600a546000918291825b600754811015612abd5782600160006007848154811061296f57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806129e857508160026000600784815481106129c157634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156129ff57600b54600a5494509450505050612aec565b6001600060078381548110612a2457634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054612a539084613f52565b92506002600060078381548110612a7a57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054612aa99083613f52565b915080612ab581613f69565b91505061293f565b50600a54600b54612ace9190613dfc565b821015612ae657600b54600a54935093505050612aec565b90925090505b9091565b612af861336f565b82612b095760e08101849052610c23565b8115612c0a576018546103e890612b209086613f33565b612b2a9190613dfc565b6101008201526019546103e890612b419086613f33565b612b4b9190613dfc565b610120820152601a546103e890612b629086613f33565b612b6c9190613dfc565b610140820152601b546103e890612b839086613f33565b612b8d9190613dfc565b610160820152601c546103e890612ba49086613f33565b612bae9190613dfc565b6101808201819052610160820151610140830151610120840151610100850151612bd89089613f52565b612be29190613f52565b612bec9190613f52565b612bf69190613f52565b612c009190613f52565b60e0820152610c23565b6013546103e890612c1b9086613f33565b612c259190613dfc565b6101008201526014546103e890612c3c9086613f33565b612c469190613dfc565b6101208201526015546103e890612c5d9086613f33565b612c679190613dfc565b6101408201526016546103e890612c7e9086613f33565b612c889190613dfc565b6101608201526017546103e890612c9f9086613f33565b612ca99190613dfc565b6101808201819052610160820151610140830151610120840151610100850151612cd39089613f52565b612cdd9190613f52565b612ce79190613f52565b612cf19190613f52565b612cfb9190613f52565b60e08201529392505050565b6000808080808080612d19888b613f33565b965088612d3757508594506000935083925082915081905080612dcf565b878b6101000151612d489190613f33565b9450878b6101200151612d5b9190613f33565b9350878b6101400151612d6e9190613f33565b9250878b6101600151612d819190613f33565b9150878b6101800151612d949190613f33565b905080828486612da4898c613f52565b612dae9190613f52565b612db89190613f52565b612dc29190613f52565b612dcc9190613f52565b95505b949950949992975094509450565b604080516002808252606082018352600092602083019080368337019050509050600860049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612e4c57600080fd5b505afa158015612e60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e8491906133f3565b81600081518110612ea557634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110612ee757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260085464010000000090041663b6f9de958360008461dead612f214261012c613363565b6040518663ffffffff1660e01b8152600401612f4094939291906136c3565b6000604051808303818588803b158015612f5957600080fd5b505af1158015612f6d573d6000803e3d6000fd5b50505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612fb957634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050600860049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561302757600080fd5b505afa15801561303b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061305f91906133f3565b8160018151811061308057634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526008546130ae91309164010000000090041684611f23565b6008546040517f791ac9470000000000000000000000000000000000000000000000000000000081526401000000009091046001600160a01b03169063791ac94790613107908590600090869030904290600401613d77565b600060405180830381600087803b15801561312157600080fd5b505af1158015612400573d6000803e3d6000fd5b60085461315590309064010000000090046001600160a01b031684611f23565b60085464010000000090046001600160a01b031663f305d71982308560008061317c6119ac565b426040518863ffffffff1660e01b815260040161319e9695949392919061367d565b6060604051808303818588803b1580156131b757600080fd5b505af11580156131cb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131f0919061358c565b5050505050565b81600b60008282546132099190613f52565b9091555050601d8054829190600090613223908490613de4565b90915550505050565b80601d60010160008282546132419190613de4565b90915550503060009081526005602052604090205460ff161561328357306000908152600260205260408120805483929061327d908490613de4565b90915550505b3060009081526001602052604081208054849290613223908490613de4565b80601d60030160008282546132419190613de4565b80601d60020160008282546132cc9190613de4565b90915550506011546001600160a01b031660009081526005602052604090205460ff1615613324576011546001600160a01b03166000908152600260205260408120805483929061331e908490613de4565b90915550505b6011546001600160a01b031660009081526001602052604081208054849290613223908490613de4565b80601d60040160008282546132419190613de4565b6000610c238284613de4565b604051806101a00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000602082840312156133e8578081fd5b8135610c2381613f9a565b600060208284031215613404578081fd5b8151610c2381613f9a565b60008060408385031215613421578081fd5b823561342c81613f9a565b9150602083013561343c81613f9a565b809150509250929050565b60008060006060848603121561345b578081fd5b833561346681613f9a565b9250602084013561347681613f9a565b929592945050506040919091013590565b60008060408385031215613499578182fd5b82356134a481613f9a565b9150602083013561343c81613faf565b600080604083850312156134c6578182fd5b82356134d181613f9a565b946020939093013593505050565b6000602082840312156134f0578081fd5b8135610c2381613faf565b60006020828403121561350c578081fd5b8151610c2381613faf565b600060208284031215613528578081fd5b5035919050565b600060208284031215613540578081fd5b5051919050565b60008060408385031215613559578182fd5b82359150602083013561343c81613faf565b6000806040838503121561357d578182fd5b50508035926020909101359150565b6000806000606084860312156135a0578283fd5b8351925060208401519150604084015190509250925092565b600080600080600060a086880312156135d0578081fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000815180845260208085019450808401835b8381101561362b5781516001600160a01b031687529582019590820190600101613606565b509495945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000858252608060208301526136dc60808301866135f3565b6001600160a01b03949094166040830152506060015292915050565b6000602080835283518082850152825b8181101561372457858101830151858201604001528201613708565b818111156137355783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601a908201527f54726164696e67206973206e6f7420656e61626c656420796574000000000000604082015260600190565b60208082526011908201527f56616c756520616c726561647920736574000000000000000000000000000000604082015260600190565b60208082526031908201527f596f752061726520747279696e6720746f207472616e73666572206d6f72652060408201527f7468616e20796f75722062616c616e6365000000000000000000000000000000606082015260800190565b6020808252602a908201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260408201527f65666c656374696f6e7300000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201527f6464726573730000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604082015260600190565b60208082526023908201527f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f60408201527f756e740000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526017908201527f4163636f756e74206973206e6f74206578636c75646564000000000000000000604082015260600190565b6020808252601f908201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604082015260600190565b60208082526018908201527f696e73756666696369656e7420424e422062616c616e63650000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060408201527f7468616e207a65726f0000000000000000000000000000000000000000000000606082015260800190565b60208082526012908201527f57616c6c657420616c7265616479207365740000000000000000000000000000604082015260600190565b6020808252600d908201527f4675636b20796f7520426f747300000000000000000000000000000000000000604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f796f752061726520657863656564696e67206d6178427579416d6f756e740000604082015260600190565b6020808252602c908201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460408201527f6869732066756e6374696f6e0000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f416d6f756e7420697320657863656564696e67206d617853656c6c416d6f756e60408201527f7400000000000000000000000000000000000000000000000000000000000000606082015260800190565b90815260200190565b600086825285602083015260a06040830152613d9660a08301866135f3565b6001600160a01b0394909416606083015250608001529392505050565b948552602085019390935260408401919091526060830152608082015260a00190565b60ff91909116815260200190565b60008219821115613df757613df7613f84565b500190565b600082613e1757634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611613e2e5750613e59565b818704821115613e4057613e40613f84565b80861615613e4d57918102915b9490941c938002613e1f565b94509492505050565b6000610c2360001960ff851684600082613e7e57506001610c23565b81613e8b57506000610c23565b8160018114613ea15760028114613eab57613ed8565b6001915050610c23565b60ff841115613ebc57613ebc613f84565b6001841b915084821115613ed257613ed2613f84565b50610c23565b5060208310610133831016604e8410600b8410161715613f0b575081810a83811115613f0657613f06613f84565b610c23565b613f188484846001613e1c565b808604821115613f2a57613f2a613f84565b02949350505050565b6000816000190483118215151615613f4d57613f4d613f84565b500290565b600082821015613f6457613f64613f84565b500390565b6000600019821415613f7d57613f7d613f84565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611e9257600080fd5b8015158114611e9257600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e3ff516b46abf3bfae68f7e6debc31770cf8f1d8add19d1e439bbb7e9b88896064736f6c6343000800003300000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e

-----Decoded View---------------
Arg [0] : routerAddress (address): 0x10ed43c718714eb63d5aa57b78b54704e256024e

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e


Deployed ByteCode Sourcemap

9099:21679:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30045:174;;;;;;;;;;-1:-1:-1;30045:174:0;;;;;:::i;:::-;;:::i;:::-;;12497:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13405:161;;;;;;;;;;-1:-1:-1;13405:161:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12770:95::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;10977:157::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;13574:313::-;;;;;;;;;;-1:-1:-1;13574:313:0;;;;;:::i;:::-;;:::i;10464:80::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;15401:158::-;;;;;;;;;;;;;:::i;15569:248::-;;;;;;;;;;-1:-1:-1;15569:248:0;;;;;:::i;:::-;;:::i;28484:237::-;;;;;;;;;;-1:-1:-1;28484:237:0;;;;;:::i;:::-;;:::i;12679:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;29185:107::-;;;;;;;;;;-1:-1:-1;29185:107:0;;;;;:::i;:::-;;:::i;16166:475::-;;;;;;;;;;-1:-1:-1;16166:475:0;;;;;:::i;:::-;;:::i;13895:213::-;;;;;;;;;;-1:-1:-1;13895:213:0;;;;;:::i;:::-;;:::i;29735:98::-;;;;;;;;;;-1:-1:-1;29735:98:0;;;;;:::i;:::-;;:::i;14521:390::-;;;;;;;;;;-1:-1:-1;14521:390:0;;;;;:::i;:::-;;:::i;30227:506::-;;;;;;;;;;-1:-1:-1;30227:506:0;;;;;:::i;:::-;;:::i;16649:111::-;;;;;;;;;;-1:-1:-1;16649:111:0;;;;;:::i;:::-;;:::i;29841:196::-;;;;;;;;;;-1:-1:-1;29841:196:0;;;;;:::i;:::-;;:::i;14923:470::-;;;;;;;;;;-1:-1:-1;14923:470:0;;;;;:::i;:::-;;:::i;9598:26::-;;;;;;;;;;;;;:::i;15825:333::-;;;;;;;;;;-1:-1:-1;15825:333:0;;;;;:::i;:::-;;:::i;16888:123::-;;;;;;;;;;-1:-1:-1;16888:123:0;;;;;:::i;:::-;;:::i;9661:34::-;;;;;;;;;;;;;:::i;10061:54::-;;;;;;;;;;;;;:::i;17203:366::-;;;;;;;;;;-1:-1:-1;17203:366:0;;;;;:::i;:::-;;:::i;9631:23::-;;;;;;;;;;;;;:::i;12873:198::-;;;;;;;;;;-1:-1:-1;12873:198:0;;;;;:::i;:::-;;:::i;10243:45::-;;;;;;;;;;;;;:::i;7581:94::-;;;;;;;;;;;;;:::i;10811:157::-;;;;;;;;;;;;;:::i;17018:171::-;;;;;;;;;;-1:-1:-1;17018:171:0;;;;;:::i;:::-;;:::i;29594:133::-;;;;;;;;;;-1:-1:-1;29594:133:0;;;;;:::i;:::-;;:::i;10001:53::-;;;;;;;;;;;;;:::i;14393:120::-;;;;;;;;;;-1:-1:-1;14393:120:0;;;;;:::i;:::-;;:::i;7358:87::-;;;;;;;;;;;;;:::i;10187:49::-;;;;;;;;;;;;;:::i;29076:101::-;;;;;;;;;;-1:-1:-1;29076:101:0;;;;;:::i;:::-;;:::i;12586:87::-;;;;;;;;;;;;;:::i;11314:36::-;;;;;;;;;;;;;:::i;14116:269::-;;;;;;;;;;-1:-1:-1;14116:269:0;;;;;:::i;:::-;;:::i;10297:76::-;;;;;;;;;;;;;:::i;9760:19::-;;;;;;;;;;;;;:::i;13079:167::-;;;;;;;;;;-1:-1:-1;13079:167:0;;;;;:::i;:::-;;:::i;28243:233::-;;;;;;;;;;-1:-1:-1;28243:233:0;;;;;:::i;:::-;;:::i;17577:389::-;;;;;;;;;;-1:-1:-1;17577:389:0;;;;;:::i;:::-;;:::i;28729:201::-;;;;;;;;;;-1:-1:-1;28729:201:0;;;;;:::i;:::-;;:::i;28938:130::-;;;;;;;;;;-1:-1:-1;28938:130:0;;;;;:::i;:::-;;:::i;13254:143::-;;;;;;;;;;-1:-1:-1;13254:143:0;;;;;:::i;:::-;;:::i;29415:171::-;;;;;;;;;;-1:-1:-1;29415:171:0;;;;;:::i;:::-;;:::i;10122:58::-;;;;;;;;;;;;;:::i;16768:110::-;;;;;;;;;;-1:-1:-1;16768:110:0;;;;;:::i;:::-;;:::i;10380:77::-;;;;;;;;;;;;;:::i;7683:192::-;;;;;;;;;;-1:-1:-1;7683:192:0;;;;;:::i;:::-;;:::i;9732:21::-;;;;;;;;;;;;;:::i;29300:107::-;;;;;;;;;;-1:-1:-1;29300:107:0;;;;;:::i;:::-;;:::i;30045:174::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;;;;;;;;;30165:45:::1;::::0;;;;-1:-1:-1;;;;;30123:29:0;::::1;::::0;::::1;::::0;30153:10:::1;::::0;30123:29;;30165:30:::1;::::0;:45:::1;::::0;30204:4:::1;::::0;30165:45:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30123:88;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;30045:174:::0;:::o;12497:83::-;12567:5;;;;;;;;;;;;;;;;;12497:83;:::o;13405:161::-;13480:4;13497:39;13506:12;:10;:12::i;:::-;13520:7;13529:6;13497:8;:39::i;:::-;-1:-1:-1;13554:4:0;13405:161;;;;;:::o;12770:95::-;12850:7;;12770:95;:::o;10977:157::-;;;;;;;;;;;;:::o;13574:313::-;13672:4;13689:36;13699:6;13707:9;13718:6;13689:9;:36::i;:::-;13736:121;13745:6;13753:12;:10;:12::i;:::-;13767:89;13805:6;13767:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13767:19:0;;;;;;:11;:19;;;;;;13787:12;:10;:12::i;:::-;-1:-1:-1;;;;;13767:33:0;;;;;;;;;;;;-1:-1:-1;13767:33:0;;;:89;:37;:89::i;:::-;13736:8;:121::i;:::-;-1:-1:-1;13875:4:0;13574:313;;;;;;:::o;10464:80::-;10502:42;10464:80;:::o;15401:158::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;15454:14:::1;:21:::0;;-1:-1:-1;;;;15454:21:0;;::::1;15471:4;15454:21;15486:18;15454:21;15486:18;::::0;;15520:31:::1;::::0;::::1;::::0;::::1;::::0;15535:15:::1;::::0;15520:31:::1;:::i;:::-;;;;;;;;15401:158::o:0;15569:248::-;15635:7;15674;;15663;:18;;15655:73;;;;-1:-1:-1;;;15655:73:0;;;;;;;:::i;:::-;15739:19;15762:10;:8;:10::i;:::-;15739:33;-1:-1:-1;15790:19:0;15739:33;15790:7;:19;:::i;:::-;15783:26;;;15569:248;;;;:::o;28484:237::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;28572:17:::1;::::0;-1:-1:-1;;;;;28572:30:0;;::::1;:17:::0;::::1;:30;;28564:61;;;;-1:-1:-1::0;;;28564:61:0::1;;;;;;;:::i;:::-;28636:17;:29:::0;;-1:-1:-1;;;;;;28636:29:0::1;-1:-1:-1::0;;;;;28636:29:0;;::::1;;::::0;;;;28695:17:::1;-1:-1:-1::0;28676:37:0;:18:::1;:37;::::0;28484:237::o;12679:83::-;9823:1;12679:83;:::o;29185:107::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;29259:14:::1;:25:::0;;-1:-1:-1;;29259:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;29185:107::o;16166:475::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16248:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;16240:56;;;;-1:-1:-1::0;;;16240:56:0::1;;;;;;;:::i;:::-;16312:9;16307:327;16331:9;:16:::0;16327:20;::::1;16307:327;;;16389:7;-1:-1:-1::0;;;;;16373:23:0::1;:9;16383:1;16373:12;;;;;;-1:-1:-1::0;;;16373:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;16373:12:0::1;:23;16369:254;;;16432:9;16442:16:::0;;:20:::1;::::0;16461:1:::1;::::0;16442:20:::1;:::i;:::-;16432:31;;;;;;-1:-1:-1::0;;;16432:31:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;16417:9:::1;:12:::0;;-1:-1:-1;;;;;16432:31:0;;::::1;::::0;16427:1;;16417:12;::::1;;;-1:-1:-1::0;;;16417:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;16417:46:0::1;-1:-1:-1::0;;;;;16417:46:0;;::::1;;::::0;;16482:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;16521:11:::1;:20:::0;;;;:28;;-1:-1:-1;;16521:28:0::1;::::0;;16568:9:::1;:15:::0;;;::::1;;-1:-1:-1::0;;;16568:15:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;16568:15:0;;;;;-1:-1:-1;;;;;;16568:15:0::1;::::0;;;;;16602:5:::1;;16369:254;16349:3:::0;::::1;::::0;::::1;:::i;:::-;;;;16307:327;;13895:213:::0;13983:4;14000:78;14009:12;:10;:12::i;:::-;14023:7;14067:10;14032:11;:25;14044:12;:10;:12::i;:::-;-1:-1:-1;;;;;14032:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;14032:25:0;;;:34;;;;;;;;;;:45;;;;:::i;29735:98::-;-1:-1:-1;;;;;29810:15:0;29787:4;29810:15;;;:6;:15;;;;;;;;;29735:98::o;14521:390::-;14573:14;14590:12;:10;:12::i;:::-;-1:-1:-1;;;;;14622:19:0;;;;;;:11;:19;;;;;;14573:29;;-1:-1:-1;14622:19:0;;14621:20;14613:77;;;;-1:-1:-1;;;14613:77:0;;;;;;;:::i;:::-;14701:28;14732:32;14743:7;14752:4;14758:5;14732:10;:32::i;:::-;14813:9;;-1:-1:-1;;;;;14793:15:0;;14813:9;14793:15;;;:7;:15;;;;;;14701:63;;-1:-1:-1;14793:30:0;;:15;:19;:30::i;:::-;-1:-1:-1;;;;;14775:15:0;;;;;;:7;:15;;;;;:48;14856:9;;14844:7;;:22;;:11;:22::i;:::-;14834:7;:32;14877:11;:26;;14896:7;;14877:11;:15;;:26;;14896:7;;14877:26;:::i;:::-;;;;-1:-1:-1;;;;;14521:390:0:o;30227:506::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;30331:6:::1;::::0;-1:-1:-1;;;;;30310:28:0;;::::1;30331:6:::0;;;::::1;;30310:28;;30302:37;;;::::0;::::1;;30350:18;30379:9;30350:39;;30400:16;30428:10;-1:-1:-1::0;;;;;30428:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;30419:38:0::1;;30466:4;30473:10;-1:-1:-1::0;;;;;30473:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30419:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30400:91:::0;-1:-1:-1;;;;;;30506:22:0;::::1;30502:194;;30561:10;-1:-1:-1::0;;;;;30561:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;30552:41:0::1;;30602:4;30609:10;-1:-1:-1::0;;;;;30609:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30552:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30545:4;:82:::0;;-1:-1:-1;;;;;;30545:82:0::1;-1:-1:-1::0;;;;;30545:82:0;;;::::1;::::0;;;::::1;::::0;;30502:194:::1;;;30669:4;:15:::0;;-1:-1:-1;;;;;;30669:15:0::1;-1:-1:-1::0;;;;;30669:15:0;::::1;;::::0;;30502:194:::1;-1:-1:-1::0;30706:6:0::1;:19:::0;;-1:-1:-1;;;;;30706:19:0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;30227:506:0:o;16649:111::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16718:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;16718:34:0::1;16748:4;16718:34;::::0;;16649:111::o;29841:196::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;29941:9:::1;29916:21;:34;;29908:71;;;;-1:-1:-1::0;;;29908:71:0::1;;;;;;;:::i;:::-;29990:39;::::0;29998:10:::1;::::0;29990:39;::::1;;;::::0;30019:9;;29990:39:::1;::::0;;;30019:9;29998:10;29990:39;::::1;;;;;;;;;;;;;::::0;::::1;;;;14923:470:::0;15013:7;15052;;15041;:18;;15033:62;;;;-1:-1:-1;;;15033:62:0;;;;;;;:::i;:::-;15111:17;15106:280;;15145:28;15176:32;15187:7;15196:4;15202:5;15176:10;:32::i;:::-;15230:9;;-1:-1:-1;15223:16:0;;-1:-1:-1;15223:16:0;15106:280;15272:28;15303:32;15314:7;15323:4;15329:5;15303:10;:32::i;:::-;15357:17;;;;-1:-1:-1;15350:24:0;;-1:-1:-1;15350:24:0;9598:26;;;;;;:::o;15825:333::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15908:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;15907:21;15899:61;;;;-1:-1:-1::0;;;15899:61:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15974:16:0;::::1;15993:1;15974:16:::0;;;:7:::1;:16;::::0;;;;;:20;15971:108:::1;;-1:-1:-1::0;;;;;16050:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;16030:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;16011:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;15971:108:::1;-1:-1:-1::0;;;;;16089:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;16089:27:0::1;16112:4;16089:27:::0;;::::1;::::0;;;16127:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;16127:23:0::1;::::0;;::::1;::::0;;15825:333::o;16888:123::-;-1:-1:-1;;;;;16976:27:0;16952:4;16976:27;;;:18;:27;;;;;;;;;16888:123::o;9661:34::-;;;;;;;;;:::o;10061:54::-;;;;:::o;17203:366::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;17347:8:::1;:19:::0;;;17377;:33;;;17421:18;:31;;;17463:18;:31;;;17505:16;:27;;;17548:13:::1;::::0;::::1;::::0;17347:12:::1;::::0;17548:13:::1;17203:366:::0;;;;;:::o;9631:23::-;;;;;;;;;:::o;12873:198::-;-1:-1:-1;;;;;12963:20:0;;12939:7;12963:20;;;:11;:20;;;;;;;;12959:49;;;-1:-1:-1;;;;;;12992:16:0;;;;;;:7;:16;;;;;;12985:23;;12959:49;-1:-1:-1;;;;;13046:16:0;;;;;;:7;:16;;;;;;13026:37;;:19;:37::i;10243:45::-;;;;:::o;7581:94::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;7646:21:::1;7664:1;7646:9;:21::i;:::-;7581:94::o:0;10811:157::-;;;;;;;;;;;;:::o;17018:171::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;17120:62:::1;17166:5;17120:27;17132:14;17120:7;;:11;;:27;;;;:::i;:::-;:31:::0;::::1;:62::i;:::-;17103:14;:79:::0;-1:-1:-1;17018:171:0:o;29594:133::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;29698:21:::1;:12:::0;29713:6:::1;29698:21;:::i;:::-;29678:17;:41:::0;-1:-1:-1;29594:133:0:o;10001:53::-;;;;:::o;14393:120::-;-1:-1:-1;;;;;14485:20:0;14461:4;14485:20;;;:11;:20;;;;;;;;;14393:120::o;7358:87::-;7404:7;7431:6;-1:-1:-1;;;;;7431:6:0;7358:87;:::o;10187:49::-;;;;:::o;29076:101::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;29147:11:::1;:22:::0;;;::::1;;;;-1:-1:-1::0;;29147:22:0;;::::1;::::0;;;::::1;::::0;;29076:101::o;12586:87::-;12658:7;;;;;;;;;;;;;;;;;12586:87;:::o;11314:36::-;;;;;;;;;;;;:::o;14116:269::-;14209:4;14226:129;14235:12;:10;:12::i;:::-;14249:7;14258:96;14297:15;14258:96;;;;;;;;;;;;;;;;;:11;:25;14270:12;:10;:12::i;:::-;-1:-1:-1;;;;;14258:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;14258:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;10297:76::-;;;-1:-1:-1;;;;;10297:76:0;;:::o;9760:19::-;;;-1:-1:-1;;;;;9760:19:0;;:::o;13079:167::-;13157:4;13174:42;13184:12;:10;:12::i;:::-;13198:9;13209:6;13174:9;:42::i;28243:233::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;28330:16:::1;::::0;-1:-1:-1;;;;;28330:29:0;;::::1;:16:::0;::::1;:29;;28322:60;;;;-1:-1:-1::0;;;28322:60:0::1;;;;;;;:::i;:::-;28393:16;:28:::0;;-1:-1:-1;;;;;;28393:28:0::1;-1:-1:-1::0;;;;;28393:28:0;;::::1;;::::0;;;;28451:16:::1;-1:-1:-1::0;28432:36:0;:18:::1;:36;::::0;28243:233::o;17577:389::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;17724:12:::1;:23:::0;;;17758;:37;;;17806:22;:35;;;17852:22;:35;;;17898:20;:31;;;17945:13:::1;::::0;::::1;::::0;17724:16:::1;::::0;17945:13:::1;17577:389:::0;;;;;:::o;28729:201::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;28852:21:::1;:13:::0;28868:5:::1;28852:21;:::i;:::-;28837:12;:36:::0;28900:22:::1;:14:::0;28917:5:::1;28900:22;:::i;:::-;28884:13;:38:::0;-1:-1:-1;;28729:201:0:o;28938:130::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;29047:13:::1;9823:1;29047:2;:13;:::i;:::-;29038:22;::::0;:6;:22:::1;:::i;:::-;29017:18;:43:::0;-1:-1:-1;28938:130:0:o;13254:143::-;-1:-1:-1;;;;;13362:18:0;;;13335:7;13362:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;13254:143::o;29415:171::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;29500:15:0;::::1;;::::0;;;:6:::1;:15;::::0;;;;;::::1;;:23;;::::0;::::1;;;;29492:53;;;;-1:-1:-1::0;;;29492:53:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;29556:15:0;;;::::1;;::::0;;;:6:::1;:15;::::0;;;;:22;;-1:-1:-1;;29556:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;29415:171::o;10122:58::-;;;;:::o;16768:110::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16835:27:0::1;16865:5;16835:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;16835:35:0::1;::::0;;16768:110::o;10380:77::-;;;-1:-1:-1;;;;;10380:77:0;;:::o;7683:192::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7772:22:0;::::1;7764:73;;;;-1:-1:-1::0;;;7764:73:0::1;;;;;;;:::i;:::-;7848:19;7858:8;7848:9;:19::i;:::-;7683:192:::0;:::o;9732:21::-;;;;;;-1:-1:-1;;;;;9732:21:0;;:::o;29300:107::-;7504:12;:10;:12::i;:::-;-1:-1:-1;;;;;7493:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7493:23:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;;;;;;:::i;:::-;29374:14:::1;:25:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;29374:25:0;;::::1;::::0;;;::::1;::::0;;29300:107::o;2143:98::-;2201:7;2228:5;2232:1;2228;:5;:::i;2249:98::-;2307:7;2334:5;2338:1;2334;:5;:::i;3235:98::-;3315:10;3235:98;:::o;22342:335::-;-1:-1:-1;;;;;22435:19:0;;22427:68;;;;-1:-1:-1;;;22427:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22514:21:0;;22506:68;;;;-1:-1:-1;;;22506:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22585:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;22637:32;;;;;22615:6;;22637:32;:::i;:::-;;;;;;;;22342:335;;;:::o;22685:2017::-;-1:-1:-1;;;;;22781:18:0;;22773:68;;;;-1:-1:-1;;;22773:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22860:16:0;;22852:64;;;;-1:-1:-1;;;22852:64:0;;;;;;;:::i;:::-;22944:1;22935:6;:10;22927:64;;;;-1:-1:-1;;;22927:64:0;;;;;;;:::i;:::-;23020:15;23030:4;23020:9;:15::i;:::-;23010:6;:25;;23002:86;;;;-1:-1:-1;;;23002:86:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23108:12:0;;;;;;:6;:12;;;;;;;;23107:13;:28;;;;-1:-1:-1;;;;;;23125:10:0;;;;;;:6;:10;;;;;;;;23124:11;23107:28;23099:54;;;;-1:-1:-1;;;23099:54:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23170:24:0;;;;;;:18;:24;;;;;;;;23169:25;:52;;;;-1:-1:-1;;;;;;23199:22:0;;;;;;:18;:22;;;;;;;;23198:23;23169:52;23166:136;;;23245:14;;;;23237:53;;;;-1:-1:-1;;;23237:53:0;;;;;;;:::i;:::-;23326:7;:5;:7::i;:::-;-1:-1:-1;;;;;23318:15:0;:4;-1:-1:-1;;;;;23318:15:0;;;:45;;;;;23356:7;:5;:7::i;:::-;-1:-1:-1;;;;;23350:13:0;:2;-1:-1:-1;;;;;23350:13:0;;;23318:45;:78;;;;-1:-1:-1;;;;;;23380:16:0;;;;23318:78;:116;;;;-1:-1:-1;;;;;;23413:21:0;;23427:6;23413:21;;23318:116;:145;;;;-1:-1:-1;23459:4:0;;-1:-1:-1;;;;;23451:12:0;;;23459:4;;23451:12;23318:145;23314:410;;;23497:12;;23487:6;:22;;23479:65;;;;-1:-1:-1;;;23479:65:0;;;;;;;:::i;:::-;23558:28;23589:13;23599:2;23589:9;:13::i;:::-;23658:14;;23558:44;;-1:-1:-1;23625:29:0;23648:6;23558:44;23625:29;:::i;:::-;:47;;23617:95;;;;-1:-1:-1;;;23617:95:0;;;;;;;:::i;:::-;23314:410;;23748:7;:5;:7::i;:::-;-1:-1:-1;;;;;23740:15:0;:4;-1:-1:-1;;;;;23740:15:0;;;:45;;;;;23778:7;:5;:7::i;:::-;-1:-1:-1;;;;;23772:13:0;:2;-1:-1:-1;;;;;23772:13:0;;;23740:45;:78;;;;-1:-1:-1;;;;;;23802:16:0;;;;23740:78;:116;;;;-1:-1:-1;;;;;;23835:21:0;;23849:6;23835:21;;23740:116;:145;;;;-1:-1:-1;23881:4:0;;-1:-1:-1;;;;;23873:12:0;;;23881:4;;23873:12;23740:145;23736:246;;;23919:13;;23909:6;:23;;23901:69;;;;-1:-1:-1;;;23901:69:0;;;;;;;:::i;:::-;23994:28;24025:24;24043:4;24025:9;:24::i;:::-;24099:18;;24132:8;;23994:55;;-1:-1:-1;24075:42:0;;;;24132:8;;;;;24131:9;:24;;;;-1:-1:-1;24144:11:0;;;;;;;24131:24;:35;;;;;24159:7;24131:35;:51;;;;-1:-1:-1;24178:4:0;;-1:-1:-1;;;;;24170:12:0;;;24178:4;;24170:12;;24131:51;24128:398;;;24256:14;;24216:21;;24256:14;;;;;:47;;;;;24292:10;24274:7;:29;24256:47;:61;;;;-1:-1:-1;24313:4:0;;-1:-1:-1;;;;;24307:10:0;;;24313:4;;24307:10;24256:61;24252:212;;;24352:17;;24342:7;:27;24338:60;;;-1:-1:-1;24381:17:0;;24338:60;24417:31;24431:16;:7;24443:3;24431:11;:16::i;:::-;24417:13;:31::i;:::-;24480:34;24495:18;;24480:14;:34::i;:::-;24128:398;;24567:4;;24536:11;;-1:-1:-1;;;;;24561:10:0;;;24567:4;;24561:10;24558:28;;;-1:-1:-1;24582:4:0;24558:28;-1:-1:-1;;;;;24634:24:0;;;;;;:18;:24;;;;;;24599:95;;24614:4;;24620:2;;24624:6;;24634:24;;;:50;;-1:-1:-1;;;;;;24662:22:0;;;;;;:18;:22;;;;;;;;24634:50;24632:53;24687:6;24599:14;:95::i;:::-;22685:2017;;;;;;:::o;2461:240::-;2581:7;2642:12;2634:6;;;;2626:29;;;;-1:-1:-1;;;2626:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2677:5:0;;;2461:240::o;21628:158::-;21669:7;21690:15;21707;21726:19;:17;:19::i;:::-;21689:56;;-1:-1:-1;21689:56:0;-1:-1:-1;21763:15:0;21689:56;;21763:15;:::i;:::-;21756:22;;;;21628:158;:::o;19268:433::-;19354:36;;:::i;:::-;19415:37;19427:7;19436;19445:6;19415:11;:37::i;:::-;19403:49;;19614:52;19626:9;19637:7;19646;19655:10;:8;:10::i;:::-;19614:11;:52::i;:::-;19592:18;;;19463:203;19570:20;;;19463:203;19548:20;;;19463:203;19525:21;;;19463:203;19510:14;;;19463:203;19483:25;;;19463:203;;;19268:433;;;;;:::o;2037:98::-;2095:7;2122:5;2126:1;2122;:5;:::i;7883:173::-;7939:16;7958:6;;-1:-1:-1;;;;;7975:17:0;;;-1:-1:-1;;;;;;7975:17:0;;;;;;8008:40;;7958:6;;;;;;;8008:40;;7939:16;8008:40;7883:173;;:::o;25773:134::-;11915:8;:15;;-1:-1:-1;;11915:15:0;;;;;25843:10;;25839:61:::1;;25867:24;25884:6;25867:16;:24::i;:::-;-1:-1:-1::0;11953:8:0;:16;;-1:-1:-1;;11953:16:0;;;25773:134::o;26368:947::-;11915:8;:15;;-1:-1:-1;;11915:15:0;;;;;26500:19;;26481:16;;26460:18;;11915:15;;26500:19;26460:37:::1;::::0;::::1;:::i;:::-;:59;;;;:::i;:::-;26459:65;::::0;26523:1:::1;26459:65;:::i;:::-;26438:86;;26535:32;26600:11;26579:8;:18;;;26570:6;:27;;;;:::i;:::-;:41;;;;:::i;:::-;26535:76:::0;-1:-1:-1;26622:14:0::1;26639:33;26535:76:::0;26639:6;:33:::1;:::i;:::-;26622:50:::0;-1:-1:-1;26710:21:0::1;26744:24;26622:50:::0;26744:16:::1;:24::i;:::-;26781:20;26804:38;26828:14:::0;26804:21:::1;:38;:::i;:::-;26904:18:::0;;26781:61;;-1:-1:-1;26853:19:0::1;::::0;26890:32:::1;::::0;:11;:32:::1;:::i;:::-;26874:49;::::0;:12;:49:::1;:::i;:::-;26980:18:::0;;26853:70;;-1:-1:-1;26934:29:0::1;::::0;26966:32:::1;::::0;26853:70;26966:32:::1;:::i;:::-;26934:64:::0;-1:-1:-1;27014:25:0;;27011:117:::1;;27055:61;27068:24;27094:21;27055:12;:61::i;:::-;27182:19:::0;;27140:21:::1;::::0;27164:15:::1;:11:::0;27178:1:::1;27164:15;:::i;:::-;:37;;;;:::i;:::-;27140:61:::0;-1:-1:-1;27215:17:0;;27212:96:::1;;27254:17;::::0;27246:50:::1;::::0;-1:-1:-1;;;;;27254:17:0;;::::1;::::0;27246:50;::::1;;;::::0;27282:13;;27254:17:::1;27246:50:::0;27254:17;27246:50;27282:13;27254:17;27246:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;27212:96;-1:-1:-1::0;;11953:8:0;:16;;-1:-1:-1;;11953:16:0;;;-1:-1:-1;;;;;;;26368:947:0:o;24712:1053::-;24836:28;24867:36;24878:7;24887;24896:6;24867:10;:36::i;:::-;-1:-1:-1;;;;;24920:19:0;;;;;;:11;:19;;;;;;24836:67;;-1:-1:-1;24920:19:0;;24916:115;;;-1:-1:-1;;;;;24996:15:0;;;;;;:7;:15;;;;;;:23;;25012:7;;24996:23;:::i;:::-;-1:-1:-1;;;;;24978:15:0;;;;;;:7;:15;;;;;:41;24916:115;-1:-1:-1;;;;;25045:22:0;;;;;;:11;:22;;;;;;;;25041:130;;;25142:17;;;;-1:-1:-1;;;;;25123:18:0;;;;;;:7;:18;;;;;;:36;;25142:17;25123:36;:::i;:::-;-1:-1:-1;;;;;25102:18:0;;;;;;:7;:18;;;;;:57;25041:130;25217:9;;-1:-1:-1;;;;;25201:15:0;;25217:9;25201:15;;;:7;:15;;;;;;:25;;25217:9;25201:25;:::i;:::-;-1:-1:-1;;;;;25183:15:0;;;;;;;:7;:15;;;;;;;;:43;;;;25277:17;;;25258:18;;;;;;;;;;:36;;25277:17;25258:36;:::i;:::-;-1:-1:-1;;;;;25237:18:0;;;;;;:7;:18;;;;;;;:57;;;;25317:6;;;25325;;;;25305:27;;25317:6;25305:11;:27::i;:::-;25343:44;25359:1;:13;;;25373:1;:13;;;25343:15;:44::i;:::-;25398:41;25413:1;:12;;;25426:1;:12;;;25398:14;:41::i;:::-;25450:42;25465:1;:12;;;25479:1;:12;;;25450:14;:42::i;:::-;25503:36;25516:1;:10;;;25528:1;:10;;;25503:12;:36::i;:::-;25572:9;-1:-1:-1;;;;;25555:46:0;25564:6;-1:-1:-1;;;;;25555:46:0;;25583:1;:17;;;25555:46;;;;;;:::i;:::-;;;;;;;;25642:4;-1:-1:-1;;;;;25617:74:0;25626:6;-1:-1:-1;;;;;25617:74:0;;25680:1;:10;;;25664:1;:13;;;25649:1;:12;;;:28;;;;:::i;:::-;:41;;;;:::i;:::-;25617:74;;;;;;:::i;:::-;;;;;;;;25724:16;;25742:12;;;;25707:48;;-1:-1:-1;;;;;25724:16:0;;;;25707:48;;;;;;;25742:12;25707:48;:::i;:::-;;;;;;;;24712:1053;;;;;;:::o;21794:540::-;21891:7;;21927;;21844;;;;;21945:279;21969:9;:16;21965:20;;21945:279;;;22035:7;22011;:21;22019:9;22029:1;22019:12;;;;;;-1:-1:-1;;;22019:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22019:12:0;22011:21;;;;;;;;;;;;;:31;;:66;;;22070:7;22046;:21;22054:9;22064:1;22054:12;;;;;;-1:-1:-1;;;22054:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22054:12:0;22046:21;;;;;;;;;;;;;:31;22011:66;22007:97;;;22087:7;;22096;;22079:25;;;;;;;;;22007:97;22137:7;:21;22145:9;22155:1;22145:12;;;;;;-1:-1:-1;;;22145:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22145:12:0;22137:21;;;;;;;;;;;;;22129:29;;:7;:29;:::i;:::-;22119:39;;22191:7;:21;22199:9;22209:1;22199:12;;;;;;-1:-1:-1;;;22199:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22199:12:0;22191:21;;;;;;;;;;;;;22183:29;;:7;:29;:::i;:::-;22173:39;-1:-1:-1;21987:3:0;;;;:::i;:::-;;;;21945:279;;;;22256:7;;22248;;:15;;;;:::i;:::-;22238:7;:25;22234:56;;;22273:7;;22282;;22265:25;;;;;;;;22234:56;22309:7;;-1:-1:-1;22318:7:0;-1:-1:-1;21794:540:0;;;:::o;19709:1104::-;19796:28;;:::i;:::-;19843:7;19839:86;;19865:17;;;:27;;;19905:8;;19839:86;19940:6;19937:850;;;19979:12;:16;19996:4;;19971:24;;:7;:24;:::i;:::-;:29;;;;:::i;:::-;19962:6;;;:38;20039:23;;20063:4;;20031:31;;:7;:31;:::i;:::-;:36;;;;:::i;:::-;20015:13;;;:52;20105:22;;20128:4;;20097:30;;:7;:30;:::i;:::-;:35;;;;:::i;:::-;20082:12;;;:50;20170:22;;20193:4;;20162:30;;:7;:30;:::i;:::-;:35;;;;:::i;:::-;20147:12;;;:50;20233:20;;20254:4;;20225:28;;:7;:28;:::i;:::-;:33;;;;:::i;:::-;20212:10;;;:46;;;20335:12;;;;20322;;;;20308:13;;;;20301:6;;;;20293:14;;:7;:14;:::i;:::-;:28;;;;:::i;:::-;:41;;;;:::i;:::-;:54;;;;:::i;:::-;:65;;;;:::i;:::-;20273:17;;;:85;19937:850;;;20416:8;:12;20429:4;;20408:20;;:7;:20;:::i;:::-;:25;;;;:::i;:::-;20399:6;;;:34;20472:19;;20492:4;;20464:27;;:7;:27;:::i;:::-;:32;;;;:::i;:::-;20448:13;;;:48;20534:18;;20553:4;;20526:26;;:7;:26;:::i;:::-;:31;;;;:::i;:::-;20511:12;;;:46;20595:18;;20614:4;;20587:26;;:7;:26;:::i;:::-;:31;;;;:::i;:::-;20572:12;;;:46;20654:16;;20671:4;;20646:24;;:7;:24;:::i;:::-;:29;;;;:::i;:::-;20633:10;;;:42;;;20752:12;;;;20739;;;;20725:13;;;;20718:6;;;;20710:14;;:7;:14;:::i;:::-;:28;;;;:::i;:::-;:41;;;;:::i;:::-;:54;;;;:::i;:::-;:65;;;;:::i;:::-;20690:17;;;:85;19709:1104;;;;;:::o;20821:799::-;20946:15;;;;;;;21101:19;21109:11;21101:7;:19;:::i;:::-;21091:29;;21137:7;21133:73;;-1:-1:-1;21166:7:0;;-1:-1:-1;21184:1:0;;-1:-1:-1;21184:1:0;;-1:-1:-1;21184:1:0;;-1:-1:-1;21184:1:0;;-1:-1:-1;21184:1:0;21159:35;;21133:73;21232:11;21225:1;:6;;;:18;;;;:::i;:::-;21218:25;;21282:11;21268:1;:13;;;:25;;;;:::i;:::-;21254:39;;21330:11;21317:1;:12;;;:24;;;;:::i;:::-;21304:37;;21378:11;21365:1;:12;;;:24;;;;:::i;:::-;21352:37;;21422:11;21411:1;:10;;;:22;;;;:::i;:::-;21400:33;-1:-1:-1;21400:33:0;21499:10;21488;21476:11;21463:12;21471:4;21463:7;:12;:::i;:::-;:24;;;;:::i;:::-;:35;;;;:::i;:::-;:46;;;;:::i;:::-;:55;;;;:::i;:::-;21444:74;;20821:799;;;;;;;;;;;;;:::o;25915:445::-;26000:16;;;26014:1;26000:16;;;;;;;;25976:21;;26000:16;;;;;;;;;;-1:-1:-1;26000:16:0;25976:40;;26037:6;;;;;;;;;-1:-1:-1;;;;;26037:6:0;-1:-1:-1;;;;;26037:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26027:4;26032:1;26027:7;;;;;;-1:-1:-1;;;26027:7:0;;;;;;;;;;;;;;:23;-1:-1:-1;;;;;26027:23:0;;;-1:-1:-1;;;;;26027:23:0;;;;;26079:4;26061;26066:1;26061:7;;;;;;-1:-1:-1;;;26061:7:0;;;;;;;;;-1:-1:-1;;;;;26061:23:0;;;:7;;;;;;;;;:23;26121:6;;;;;;:57;26186:6;26208:1;26255:4;10502:42;26316:24;:15;26336:3;26316:19;:24::i;:::-;26121:230;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25915:445;;:::o;27729:504::-;27819:16;;;27833:1;27819:16;;;;;;;;27795:21;;27819:16;;;;;;;;;;-1:-1:-1;27819:16:0;27795:40;;27864:4;27846;27851:1;27846:7;;;;;;-1:-1:-1;;;27846:7:0;;;;;;;;;;;;;;:23;-1:-1:-1;;;;;27846:23:0;;;-1:-1:-1;;;;;27846:23:0;;;;;27890:6;;;;;;;;;-1:-1:-1;;;;;27890:6:0;-1:-1:-1;;;;;27890:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27880:4;27885:1;27880:7;;;;;;-1:-1:-1;;;27880:7:0;;;;;;;;;-1:-1:-1;;;;;27880:23:0;;;:7;;;;;;;;;:23;27948:6;;27916:53;;27933:4;;27948:6;;;;27957:11;27916:8;:53::i;:::-;28008:6;;:215;;;;;:6;;;;-1:-1:-1;;;;;28008:6:0;;:57;;:215;;28080:11;;28106:1;;28150:4;;28177;;28197:15;;28008:6;:215;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27323:398;27436:6;;27404:53;;27421:4;;27436:6;;;-1:-1:-1;;;;;27436:6:0;27445:11;27404:8;:53::i;:::-;27470:6;;;;;-1:-1:-1;;;;;27470:6:0;:22;27500:9;27533:4;27553:11;27579:1;;27665:7;:5;:7::i;:::-;27687:15;27470:243;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;27323:398;;:::o;17974:123::-;18052:4;18042:7;;:14;;;;;;;:::i;:::-;;;;-1:-1:-1;;18067:11:0;:22;;18085:4;;18067:11;:15;;:22;;18085:4;;18067:22;:::i;:::-;;;;-1:-1:-1;;;;17974:123:0:o;18105:282::-;18216:11;18191;:22;;;:36;;;;;;;:::i;:::-;;;;-1:-1:-1;;18261:4:0;18241:26;;;;:11;:26;;;;;;;;18238:93;;;18300:4;18284:22;;;;:7;:22;;;;;:35;;18308:11;;18284:22;:35;;18308:11;;18284:35;:::i;:::-;;;;-1:-1:-1;;18238:93:0;18357:4;18341:22;;;;:7;:22;;;;;:36;;18366:11;;18341:22;:36;;18366:11;;18341:36;:::i;18673:284::-;18780:10;18756:11;:21;;;:34;;;;;;;:::i;18965:293::-;19072:10;19048:11;:21;;;:34;;;;;;;:::i;:::-;;;;-1:-1:-1;;19110:16:0;;-1:-1:-1;;;;;19110:16:0;19098:29;;;;:11;:29;;;;;;;;19095:107;;;19161:16;;-1:-1:-1;;;;;19161:16:0;19153:25;;;;:7;:25;;;;;:37;;19180:10;;19153:25;:37;;19180:10;;19153:37;:::i;:::-;;;;-1:-1:-1;;19095:107:0;19220:16;;-1:-1:-1;;;;;19220:16:0;19212:25;;;;:7;:25;;;;;:38;;19240:10;;19212:25;:38;;19240:10;;19212:38;:::i;18395:270::-;18494:8;18472:11;:19;;;:30;;;;;;;:::i;1931:98::-;1989:7;2016:5;2020:1;2016;:5;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:259:1:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:33;237:5;210:33;:::i;278:263::-;;401:2;389:9;380:7;376:23;372:32;369:2;;;422:6;414;407:22;369:2;459:9;453:16;478:33;505:5;478:33;:::i;546:402::-;;;675:2;663:9;654:7;650:23;646:32;643:2;;;696:6;688;681:22;643:2;740:9;727:23;759:33;786:5;759:33;:::i;:::-;811:5;-1:-1:-1;868:2:1;853:18;;840:32;881:35;840:32;881:35;:::i;:::-;935:7;925:17;;;633:315;;;;;:::o;953:470::-;;;;1099:2;1087:9;1078:7;1074:23;1070:32;1067:2;;;1120:6;1112;1105:22;1067:2;1164:9;1151:23;1183:33;1210:5;1183:33;:::i;:::-;1235:5;-1:-1:-1;1292:2:1;1277:18;;1264:32;1305:35;1264:32;1305:35;:::i;:::-;1057:366;;1359:7;;-1:-1:-1;;;1413:2:1;1398:18;;;;1385:32;;1057:366::o;1428:396::-;;;1554:2;1542:9;1533:7;1529:23;1525:32;1522:2;;;1575:6;1567;1560:22;1522:2;1619:9;1606:23;1638:33;1665:5;1638:33;:::i;:::-;1690:5;-1:-1:-1;1747:2:1;1732:18;;1719:32;1760;1719;1760;:::i;1829:327::-;;;1958:2;1946:9;1937:7;1933:23;1929:32;1926:2;;;1979:6;1971;1964:22;1926:2;2023:9;2010:23;2042:33;2069:5;2042:33;:::i;:::-;2094:5;2146:2;2131:18;;;;2118:32;;-1:-1:-1;;;1916:240:1:o;2161:253::-;;2270:2;2258:9;2249:7;2245:23;2241:32;2238:2;;;2291:6;2283;2276:22;2238:2;2335:9;2322:23;2354:30;2378:5;2354:30;:::i;2419:257::-;;2539:2;2527:9;2518:7;2514:23;2510:32;2507:2;;;2560:6;2552;2545:22;2507:2;2597:9;2591:16;2616:30;2640:5;2616:30;:::i;2681:190::-;;2793:2;2781:9;2772:7;2768:23;2764:32;2761:2;;;2814:6;2806;2799:22;2761:2;-1:-1:-1;2842:23:1;;2751:120;-1:-1:-1;2751:120:1:o;2876:194::-;;2999:2;2987:9;2978:7;2974:23;2970:32;2967:2;;;3020:6;3012;3005:22;2967:2;-1:-1:-1;3048:16:1;;2957:113;-1:-1:-1;2957:113:1:o;3075:321::-;;;3201:2;3189:9;3180:7;3176:23;3172:32;3169:2;;;3222:6;3214;3207:22;3169:2;3263:9;3250:23;3240:33;;3323:2;3312:9;3308:18;3295:32;3336:30;3360:5;3336:30;:::i;3401:258::-;;;3530:2;3518:9;3509:7;3505:23;3501:32;3498:2;;;3551:6;3543;3536:22;3498:2;-1:-1:-1;;3579:23:1;;;3649:2;3634:18;;;3621:32;;-1:-1:-1;3488:171:1:o;3664:316::-;;;;3821:2;3809:9;3800:7;3796:23;3792:32;3789:2;;;3842:6;3834;3827:22;3789:2;3876:9;3870:16;3860:26;;3926:2;3915:9;3911:18;3905:25;3895:35;;3970:2;3959:9;3955:18;3949:25;3939:35;;3779:201;;;;;:::o;3985:464::-;;;;;;4165:3;4153:9;4144:7;4140:23;4136:33;4133:2;;;4187:6;4179;4172:22;4133:2;-1:-1:-1;;4215:23:1;;;4285:2;4270:18;;4257:32;;-1:-1:-1;4336:2:1;4321:18;;4308:32;;4387:2;4372:18;;4359:32;;-1:-1:-1;4438:3:1;4423:19;4410:33;;-1:-1:-1;4123:326:1;-1:-1:-1;4123:326:1:o;4454:492::-;;4551:5;4545:12;4578:6;4573:3;4566:19;4604:4;4633:2;4628:3;4624:12;4617:19;;4670:2;4663:5;4659:14;4691:3;4703:218;4717:6;4714:1;4711:13;4703:218;;;4782:13;;-1:-1:-1;;;;;4778:62:1;4766:75;;4861:12;;;;4896:15;;;;4739:1;4732:9;4703:218;;;-1:-1:-1;4937:3:1;;4521:425;-1:-1:-1;;;;;4521:425:1:o;4951:226::-;-1:-1:-1;;;;;5115:55:1;;;;5097:74;;5085:2;5070:18;;5052:125::o;5182:327::-;-1:-1:-1;;;;;5435:15:1;;;5417:34;;5487:15;;5482:2;5467:18;;5460:43;5344:2;5329:18;;5311:198::o;5514:297::-;-1:-1:-1;;;;;5706:55:1;;;;5688:74;;5793:2;5778:18;;5771:34;5676:2;5661:18;;5643:168::o;5816:630::-;-1:-1:-1;;;;;6198:15:1;;;6180:34;;6245:2;6230:18;;6223:34;;;;6288:2;6273:18;;6266:34;;;;6331:2;6316:18;;6309:34;;;;6380:15;;;6374:3;6359:19;;6352:44;6427:3;6412:19;;6405:35;;;;6106:3;6091:19;;6073:373::o;6451:187::-;6616:14;;6609:22;6591:41;;6579:2;6564:18;;6546:92::o;6889:539::-;;7160:6;7149:9;7142:25;7203:3;7198:2;7187:9;7183:18;7176:31;7224:63;7282:3;7271:9;7267:19;7259:6;7224:63;:::i;:::-;-1:-1:-1;;;;;7323:55:1;;;;7318:2;7303:18;;7296:83;-1:-1:-1;7410:2:1;7395:18;7388:34;7216:71;7132:296;-1:-1:-1;;7132:296:1:o;7433:603::-;;7574:2;7603;7592:9;7585:21;7635:6;7629:13;7678:6;7673:2;7662:9;7658:18;7651:34;7703:4;7716:140;7730:6;7727:1;7724:13;7716:140;;;7825:14;;;7821:23;;7815:30;7791:17;;;7810:2;7787:26;7780:66;7745:10;;7716:140;;;7874:6;7871:1;7868:13;7865:2;;;7944:4;7939:2;7930:6;7919:9;7915:22;7911:31;7904:45;7865:2;-1:-1:-1;8020:2:1;7999:15;-1:-1:-1;;7995:29:1;7980:45;;;;8027:2;7976:54;;7554:482;-1:-1:-1;;;7554:482:1:o;8041:399::-;8243:2;8225:21;;;8282:2;8262:18;;;8255:30;8321:34;8316:2;8301:18;;8294:62;8392:5;8387:2;8372:18;;8365:33;8430:3;8415:19;;8215:225::o;8445:350::-;8647:2;8629:21;;;8686:2;8666:18;;;8659:30;8725:28;8720:2;8705:18;;8698:56;8786:2;8771:18;;8619:176::o;8800:341::-;9002:2;8984:21;;;9041:2;9021:18;;;9014:30;9080:19;9075:2;9060:18;;9053:47;9132:2;9117:18;;8974:167::o;9146:413::-;9348:2;9330:21;;;9387:2;9367:18;;;9360:30;9426:34;9421:2;9406:18;;9399:62;9497:19;9492:2;9477:18;;9470:47;9549:3;9534:19;;9320:239::o;9564:406::-;9766:2;9748:21;;;9805:2;9785:18;;;9778:30;9844:34;9839:2;9824:18;;9817:62;9915:12;9910:2;9895:18;;9888:40;9960:3;9945:19;;9738:232::o;9975:402::-;10177:2;10159:21;;;10216:2;10196:18;;;10189:30;10255:34;10250:2;10235:18;;10228:62;10326:8;10321:2;10306:18;;10299:36;10367:3;10352:19;;10149:228::o;10382:398::-;10584:2;10566:21;;;10623:2;10603:18;;;10596:30;10662:34;10657:2;10642:18;;10635:62;10733:4;10728:2;10713:18;;10706:32;10770:3;10755:19;;10556:224::o;10785:351::-;10987:2;10969:21;;;11026:2;11006:18;;;10999:30;11065:29;11060:2;11045:18;;11038:57;11127:2;11112:18;;10959:177::o;11141:399::-;11343:2;11325:21;;;11382:2;11362:18;;;11355:30;11421:34;11416:2;11401:18;;11394:62;11492:5;11487:2;11472:18;;11465:33;11530:3;11515:19;;11315:225::o;11545:347::-;11747:2;11729:21;;;11786:2;11766:18;;;11759:30;11825:25;11820:2;11805:18;;11798:53;11883:2;11868:18;;11719:173::o;11897:355::-;12099:2;12081:21;;;12138:2;12118:18;;;12111:30;12177:33;12172:2;12157:18;;12150:61;12243:2;12228:18;;12071:181::o;12257:348::-;12459:2;12441:21;;;12498:2;12478:18;;;12471:30;12537:26;12532:2;12517:18;;12510:54;12596:2;12581:18;;12431:174::o;12610:356::-;12812:2;12794:21;;;12831:18;;;12824:30;12890:34;12885:2;12870:18;;12863:62;12957:2;12942:18;;12784:182::o;12971:405::-;13173:2;13155:21;;;13212:2;13192:18;;;13185:30;13251:34;13246:2;13231:18;;13224:62;13322:11;13317:2;13302:18;;13295:39;13366:3;13351:19;;13145:231::o;13381:342::-;13583:2;13565:21;;;13622:2;13602:18;;;13595:30;13661:20;13656:2;13641:18;;13634:48;13714:2;13699:18;;13555:168::o;13728:337::-;13930:2;13912:21;;;13969:2;13949:18;;;13942:30;14008:15;14003:2;13988:18;;13981:43;14056:2;14041:18;;13902:163::o;14070:401::-;14272:2;14254:21;;;14311:2;14291:18;;;14284:30;14350:34;14345:2;14330:18;;14323:62;14421:7;14416:2;14401:18;;14394:35;14461:3;14446:19;;14244:227::o;14476:400::-;14678:2;14660:21;;;14717:2;14697:18;;;14690:30;14756:34;14751:2;14736:18;;14729:62;14827:6;14822:2;14807:18;;14800:34;14866:3;14851:19;;14650:226::o;14881:354::-;15083:2;15065:21;;;15122:2;15102:18;;;15095:30;15161:32;15156:2;15141:18;;15134:60;15226:2;15211:18;;15055:180::o;15240:408::-;15442:2;15424:21;;;15481:2;15461:18;;;15454:30;15520:34;15515:2;15500:18;;15493:62;15591:14;15586:2;15571:18;;15564:42;15638:3;15623:19;;15414:234::o;15653:397::-;15855:2;15837:21;;;15894:2;15874:18;;;15867:30;15933:34;15928:2;15913:18;;15906:62;16004:3;15999:2;15984:18;;15977:31;16040:3;16025:19;;15827:223::o;16055:177::-;16201:25;;;16189:2;16174:18;;16156:76::o;16237:611::-;;16536:6;16525:9;16518:25;16579:6;16574:2;16563:9;16559:18;16552:34;16622:3;16617:2;16606:9;16602:18;16595:31;16643:63;16701:3;16690:9;16686:19;16678:6;16643:63;:::i;:::-;-1:-1:-1;;;;;16742:55:1;;;;16737:2;16722:18;;16715:83;-1:-1:-1;16829:3:1;16814:19;16807:35;16635:71;16508:340;-1:-1:-1;;;16508:340:1:o;16853:463::-;17112:25;;;17168:2;17153:18;;17146:34;;;;17211:2;17196:18;;17189:34;;;;17254:2;17239:18;;17232:34;17297:3;17282:19;;17275:35;17099:3;17084:19;;17066:250::o;17321:184::-;17493:4;17481:17;;;;17463:36;;17451:2;17436:18;;17418:87::o;17510:128::-;;17581:1;17577:6;17574:1;17571:13;17568:2;;;17587:18;;:::i;:::-;-1:-1:-1;17623:9:1;;17558:80::o;17643:274::-;;17709:1;17699:2;;-1:-1:-1;;;17741:1:1;17734:88;17845:4;17842:1;17835:15;17873:4;17870:1;17863:15;17699:2;-1:-1:-1;17902:9:1;;17689:228::o;17922:453::-;18018:6;18041:5;18055:314;18104:1;18141:2;18131:8;18128:16;18118:2;;18148:5;;;18118:2;18189:4;18184:3;18180:14;18174:4;18171:24;18168:2;;;18198:18;;:::i;:::-;18248:2;18238:8;18234:17;18231:2;;;18263:16;;;;18231:2;18342:17;;;;;18302:15;;18055:314;;;17999:376;;;;;;;:::o;18380:148::-;;18467:55;-1:-1:-1;;18508:4:1;18494:19;;18488:4;18533:922;18617:8;18607:2;;-1:-1:-1;18658:1:1;18672:5;;18607:2;18706:4;18696:2;;-1:-1:-1;18743:1:1;18757:5;;18696:2;18788:4;18806:1;18801:59;;;;18874:1;18869:183;;;;18781:271;;18801:59;18831:1;18822:10;;18845:5;;;18869:183;18906:3;18896:8;18893:17;18890:2;;;18913:18;;:::i;:::-;18969:1;18959:8;18955:16;18946:25;;18997:3;18990:5;18987:14;18984:2;;;19004:18;;:::i;:::-;19037:5;;;18781:271;;19136:2;19126:8;19123:16;19117:3;19111:4;19108:13;19104:36;19098:2;19088:8;19085:16;19080:2;19074:4;19071:12;19067:35;19064:77;19061:2;;;-1:-1:-1;19173:19:1;;;19208:14;;;19205:2;;;19225:18;;:::i;:::-;19258:5;;19061:2;19305:42;19343:3;19333:8;19327:4;19324:1;19305:42;:::i;:::-;19380:6;19375:3;19371:16;19362:7;19359:29;19356:2;;;19391:18;;:::i;:::-;19429:20;;18597:858;-1:-1:-1;;;;18597:858:1:o;19460:168::-;;19566:1;19562;19558:6;19554:14;19551:1;19548:21;19543:1;19536:9;19529:17;19525:45;19522:2;;;19573:18;;:::i;:::-;-1:-1:-1;19613:9:1;;19512:116::o;19633:125::-;;19701:1;19698;19695:8;19692:2;;;19706:18;;:::i;:::-;-1:-1:-1;19743:9:1;;19682:76::o;19763:135::-;;-1:-1:-1;;19823:17:1;;19820:2;;;19843:18;;:::i;:::-;-1:-1:-1;19890:1:1;19879:13;;19810:88::o;19903:184::-;-1:-1:-1;;;19952:1:1;19945:88;20052:4;20049:1;20042:15;20076:4;20073:1;20066:15;20092:156;-1:-1:-1;;;;;20173:5:1;20169:54;20162:5;20159:65;20149:2;;20238:1;20235;20228:12;20253:120;20341:5;20334:13;20327:21;20320:5;20317:32;20307:2;;20363:1;20360;20353:12

Swarm Source

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