Contract 0xaad00d36dbc8343c3505ba51418a43d3622d2964 9

Contract Overview

Crolon Mars: CLMRS Token
Balance:
5,038.152083812382802207 CRO

CRO Value:
$534.19 (@ $0.11/CRO)

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x63947c5d5e67b458e5efcca96feb4dcbc43711642833c8104bd90343625678b3Approve115161762023-12-08 22:38:4516 hrs 23 mins ago0x0e841260f889ef3db7277c96172adbc7a13236b6 IN  Crolon Mars: CLMRS Token0 CRO0.214663708657 4,606.121977896
0xedf1ed0f50832194c40bf14585dc21640554938b4ef4b9725974654f6da7c89dApprove114963492023-12-07 15:44:461 day 23 hrs ago0xe22485a9b6d2f0d1e019bcfe6560c6ceaef126fe IN  Crolon Mars: CLMRS Token0 CRO0.1120056802530
0xd857752dba5b1888f1e8fbcaa67fa34d57519b04dfd543195bc1ffcd92d4b029Approve114662332023-12-05 16:40:163 days 22 hrs ago0x6656dc0b83cc6d91458fa34e3d95a699c159f896 IN  Crolon Mars: CLMRS Token0 CRO0.1230206671320
0x62216fe77bd2d8b724b017b47403a1c8536450b4e099a689f68c62c7bc2729caApprove114662272023-12-05 16:39:423 days 22 hrs ago0x6656dc0b83cc6d91458fa34e3d95a699c159f896 IN  Crolon Mars: CLMRS Token0 CRO0.2146964938230
0x6d2524a4f68caa90bfdd3411bdb460bdcd145e6e69dd65b72b9609c52c98ad26Approve114648452023-12-05 14:30:254 days 32 mins ago0x2c6409259a220c555249d52766b78aa6794950b3 IN  Crolon Mars: CLMRS Token0 CRO0.2146993281730
0x55e38a1c928362e3af7ce74a0e571d9cfc237e2739d97308368db0a709794fc1Approve114647172023-12-05 14:18:244 days 44 mins ago0xa9f863cb8447b837d57eaf47c8caa577d9c57b54 IN  Crolon Mars: CLMRS Token0 CRO0.2146995866670
0xc7ef9bf988a8d5ba7889fa46dc4269011eea357807f5290cce5b55405ce0a433Transfer114571402023-12-05 2:30:004 days 12 hrs ago0xa6c8b022baa38f77bfb7874e3c07dc9500627eb8 IN  Crolon Mars: CLMRS Token0 CRO0.3561147665370
0xdbed7479c7694333dfc016af1180b4d19f2fb73794773cfadeb8d0e084516481Transfer114571352023-12-05 2:29:354 days 12 hrs ago0xf5a29eb8c82dc048c6d4736d4a3ebc791d821dfe IN  Crolon Mars: CLMRS Token0 CRO0.356114783410
0xda6c6394200400e1e23a22595ae8ba17fcdfd038db2f89eee5f5deece77914c0Transfer114571322023-12-05 2:29:184 days 12 hrs ago0x8b5fb004423c2f35d578081e7a2e3719437347fa IN  Crolon Mars: CLMRS Token0 CRO0.3561147938070
0x46d766730c6d11cc82ef8cab1b9a677d7fa6d735f044ebd1dc3941b63985aafeApprove114381582023-12-03 20:53:205 days 18 hrs ago0xd608e2ba703805f0a405034a9f6ed4e277d4e9fa IN  Crolon Mars: CLMRS Token0 CRO0.121863581639 4,609.061332794
0xb635ec96c69b7153c8dbeba5043165167e92a40e20f9535da98bb05a3d876769Approve114356042023-12-03 16:54:305 days 22 hrs ago0xd608e2ba703805f0a405034a9f6ed4e277d4e9fa IN  Crolon Mars: CLMRS Token0 CRO0.121866576432 4,609.17460031
0x3c610978d55d722f8414abbc2acb46e0a9cb27a34deae2ae74ca88d6d5e5fa96Approve114355972023-12-03 16:53:505 days 22 hrs ago0xd608e2ba703805f0a405034a9f6ed4e277d4e9fa IN  Crolon Mars: CLMRS Token0 CRO0.213589165081 4,609.174904649
0xc8abe82bce1c7def3e2fc3626c2f8d8e5be0023a11f8f57779aabce565d46e20Approve114325122023-12-03 12:05:236 days 2 hrs ago0xd0f1f397d1c9dfd2bac5654c72c435e68873488a IN  Crolon Mars: CLMRS Token0 CRO0.214835668575 4,609.811788172
0x6b04f60803b5e4f7a6b743af690c2120a30c91a066c637f3320a26e14b6e1103Approve114241752023-12-02 23:06:296 days 15 hrs ago0x7a6d75b2ecb7922623abd860304904d6ff06a0f5 IN  Crolon Mars: CLMRS Token0 CRO0.134787167693 4,609.684257636
0x214c0188745d21c8af2ef7f95e942627417e0f53898c4bd17cb16c2c231f8817Approve114241692023-12-02 23:05:596 days 15 hrs ago0x7a6d75b2ecb7922623abd860304904d6ff06a0f5 IN  Crolon Mars: CLMRS Token0 CRO0.134787175536 4,609.684525883
0x8f6542281f499bfef8af214843da1729fcdec6f9adc00c8f80adcd2c05aa48edApprove114241602023-12-02 23:05:086 days 15 hrs ago0x7a6d75b2ecb7922623abd860304904d6ff06a0f5 IN  Crolon Mars: CLMRS Token0 CRO0.13478718684 4,609.68491248
0x5183bf3ffeb0da05a255125d1de067affca6c2989b79d221da4dd06d85cdfeb8Approve114241532023-12-02 23:04:296 days 15 hrs ago0x7a6d75b2ecb7922623abd860304904d6ff06a0f5 IN  Crolon Mars: CLMRS Token0 CRO0.134787195665 4,609.685214284
0x853af547a58d73ff6ea3bd95a3911ffe8bf327fb671908e580127eb808ed0c21Approve114158332023-12-02 10:06:117 days 4 hrs ago0x79adc0af2e308c8301c14c1dc593fb1de744a96a IN  Crolon Mars: CLMRS Token0 CRO0.214800375920
0x540beffe393fc0c115e22115273fa3fec6878b7c5264575e5ad8926f7302938fApprove114121292023-12-02 4:20:027 days 10 hrs ago0x49563102ad76fad0c0e63c3d98f102aa6374ef1a IN  Crolon Mars: CLMRS Token0 CRO0.213637581074 4,610.219703809
0x62ce11f2f32c2042da18e3d32df1a82975168ecc8dc3beaee3fe1157c4cf927fApprove114121182023-12-02 4:19:007 days 10 hrs ago0x49563102ad76fad0c0e63c3d98f102aa6374ef1a IN  Crolon Mars: CLMRS Token0 CRO0.134802838709 4,610.220202094
0xc58bc1590b8d7501afd4be293713230ee1bf5b26917e1f0bd37a9c51ec3ccdfbApprove114121042023-12-02 4:17:427 days 10 hrs ago0x49563102ad76fad0c0e63c3d98f102aa6374ef1a IN  Crolon Mars: CLMRS Token0 CRO0.213637633055 4,610.22082553
0x86ed0c56986448196dcfafe1408d5e4157c391393c80814872aa87321cb0c9abApprove114118612023-12-02 3:55:047 days 11 hrs ago0xf38591320ce1d382ebcadd2d9b5f44b9581d07ca IN  Crolon Mars: CLMRS Token0 CRO0.134803176353 4,610.231749444
0x250925c0d72c50ae63aaa1be152bf3a155c5c67a204f57bfeceb2e771a6340cdApprove114118292023-12-02 3:52:037 days 11 hrs ago0xf38591320ce1d382ebcadd2d9b5f44b9581d07ca IN  Crolon Mars: CLMRS Token0 CRO0.213638205133 4,610.233170772
0x834bc14c3063d658f538314c2432c7ec2a3524c1659cb999f8f4236d2bbe70c6Approve114117992023-12-02 3:49:147 days 11 hrs ago0xf38591320ce1d382ebcadd2d9b5f44b9581d07ca IN  Crolon Mars: CLMRS Token0 CRO0.134803256431 4,610.234488075
0xab25acae22c9d9353f3f638b27d8de7881bf8c9043a5743397ab559baffa64caApprove114104872023-12-02 1:46:427 days 13 hrs ago0xf38591320ce1d382ebcadd2d9b5f44b9581d07ca IN  Crolon Mars: CLMRS Token0 CRO0.134804963479 4,610.29286864
[ Download CSV Export 

OVERVIEW

A Mars Metaverse, created on the Cronos Blockchain accessible to anyone owning a CROLON NFT.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x7f128b467ad6be2c2579efff7c650c7efa3e3ab085f9ecadc3df9f0446c0ca6d114079982023-12-01 21:54:097 days 17 hrs ago Crolon Mars: CLMRS Token0x61ede7e97409ed30a270f89c33d2fedc10ce180f2,216.641243234130398548 CRO
0x7f128b467ad6be2c2579efff7c650c7efa3e3ab085f9ecadc3df9f0446c0ca6d114079982023-12-01 21:54:097 days 17 hrs ago Crolon Mars: CLMRS Token0x35131f790480cdd1fb79328234df215e9fc243752,216.641243234130398548 CRO
0x7f128b467ad6be2c2579efff7c650c7efa3e3ab085f9ecadc3df9f0446c0ca6d114079982023-12-01 21:54:097 days 17 hrs ago 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be Crolon Mars: CLMRS Token19.061874665355910901 CRO
0x7f128b467ad6be2c2579efff7c650c7efa3e3ab085f9ecadc3df9f0446c0ca6d114079982023-12-01 21:54:097 days 17 hrs ago Crolon Mars: CLMRS Token 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be738.880414411376799516 CRO
0x7f128b467ad6be2c2579efff7c650c7efa3e3ab085f9ecadc3df9f0446c0ca6d114079982023-12-01 21:54:097 days 17 hrs ago 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be Crolon Mars: CLMRS Token5,172.162900879637596615 CRO
0xfe3a0ba1a299b5d76f5b892661db99f9c02f783288b43f04bb7d39c2860b8bb3112016172023-11-18 12:19:0321 days 2 hrs ago Crolon Mars: CLMRS Token0x61ede7e97409ed30a270f89c33d2fedc10ce180f1,565.732676475195944112 CRO
0xfe3a0ba1a299b5d76f5b892661db99f9c02f783288b43f04bb7d39c2860b8bb3112016172023-11-18 12:19:0321 days 2 hrs ago Crolon Mars: CLMRS Token0x35131f790480cdd1fb79328234df215e9fc243751,565.732676475195944112 CRO
0xfe3a0ba1a299b5d76f5b892661db99f9c02f783288b43f04bb7d39c2860b8bb3112016172023-11-18 12:19:0321 days 2 hrs ago 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be Crolon Mars: CLMRS Token8.312709515857875559 CRO
0xfe3a0ba1a299b5d76f5b892661db99f9c02f783288b43f04bb7d39c2860b8bb3112016172023-11-18 12:19:0321 days 2 hrs ago Crolon Mars: CLMRS Token 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be391.433169118798986028 CRO
0xfe3a0ba1a299b5d76f5b892661db99f9c02f783288b43f04bb7d39c2860b8bb3112016172023-11-18 12:19:0321 days 2 hrs ago 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be Crolon Mars: CLMRS Token3,522.898522069190874257 CRO
0x7aeda896a2bd79eec19da8ab21b601e2d377fb00b74ae000f78ab8d2fd143754111818592023-11-17 5:31:2322 days 9 hrs ago Crolon Mars: CLMRS Token0x61ede7e97409ed30a270f89c33d2fedc10ce180f1,912.5081620815115106 CRO
0x7aeda896a2bd79eec19da8ab21b601e2d377fb00b74ae000f78ab8d2fd143754111818592023-11-17 5:31:2322 days 9 hrs ago Crolon Mars: CLMRS Token0x35131f790480cdd1fb79328234df215e9fc243751,912.5081620815115106 CRO
0x7aeda896a2bd79eec19da8ab21b601e2d377fb00b74ae000f78ab8d2fd143754111818592023-11-17 5:31:2322 days 9 hrs ago 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be Crolon Mars: CLMRS Token15.281310957688959494 CRO
0x7aeda896a2bd79eec19da8ab21b601e2d377fb00b74ae000f78ab8d2fd143754111818592023-11-17 5:31:2322 days 9 hrs ago Crolon Mars: CLMRS Token 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be637.5027206938371702 CRO
0x7aeda896a2bd79eec19da8ab21b601e2d377fb00b74ae000f78ab8d2fd143754111818592023-11-17 5:31:2322 days 9 hrs ago 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be Crolon Mars: CLMRS Token4,462.519044856860191407 CRO
0x958bfc754209c1ef2b84c99008417e594a4c9762237b55e5954a079f9818ad23109703982023-11-03 11:29:1136 days 3 hrs ago Crolon Mars: CLMRS Token0x61ede7e97409ed30a270f89c33d2fedc10ce180f3,082.68025737519399939 CRO
0x958bfc754209c1ef2b84c99008417e594a4c9762237b55e5954a079f9818ad23109703982023-11-03 11:29:1136 days 3 hrs ago Crolon Mars: CLMRS Token0x35131f790480cdd1fb79328234df215e9fc243753,082.68025737519399939 CRO
0x958bfc754209c1ef2b84c99008417e594a4c9762237b55e5954a079f9818ad23109703982023-11-03 11:29:1136 days 3 hrs ago 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be Crolon Mars: CLMRS Token32.169732983442771033 CRO
0x958bfc754209c1ef2b84c99008417e594a4c9762237b55e5954a079f9818ad23109703982023-11-03 11:29:1136 days 3 hrs ago Crolon Mars: CLMRS Token 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be1,027.56008579173133313 CRO
0x958bfc754209c1ef2b84c99008417e594a4c9762237b55e5954a079f9818ad23109703982023-11-03 11:29:1136 days 3 hrs ago 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be Crolon Mars: CLMRS Token7,192.920600542119331916 CRO
0x1132f96bc6d058512e1a3a34909a159313331bba34d87a315bd090c3b100de4c107637372023-10-20 23:46:3249 days 15 hrs ago Crolon Mars: CLMRS Token0x61ede7e97409ed30a270f89c33d2fedc10ce180f2,487.288653283216709592 CRO
0x1132f96bc6d058512e1a3a34909a159313331bba34d87a315bd090c3b100de4c107637372023-10-20 23:46:3249 days 15 hrs ago Crolon Mars: CLMRS Token0x35131f790480cdd1fb79328234df215e9fc243752,487.288653283216709592 CRO
0x1132f96bc6d058512e1a3a34909a159313331bba34d87a315bd090c3b100de4c107637372023-10-20 23:46:3249 days 15 hrs ago 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be Crolon Mars: CLMRS Token17.307469030363068423 CRO
0x1132f96bc6d058512e1a3a34909a159313331bba34d87a315bd090c3b100de4c107637372023-10-20 23:46:3249 days 15 hrs ago Crolon Mars: CLMRS Token 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be621.822163320804177398 CRO
0x1132f96bc6d058512e1a3a34909a159313331bba34d87a315bd090c3b100de4c107637372023-10-20 23:46:3249 days 15 hrs ago 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be Crolon Mars: CLMRS Token5,596.399469887237596588 CRO
[ Download CSV Export 
Index Block
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CROLONMARS

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at cronoscan.com on 2022-06-14
*/

// DEVELOPED BY: t.me/AnoopSafuDeveloper
//SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.7;

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

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

interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) internal _balances;

    mapping(address => mapping(address => uint256)) internal _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The defaut value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     */
    function _tokengeneration(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: generation to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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);
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * generation and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be generated for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

library Address {
    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");
    }
}

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

interface IRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

contract CROLONMARS is ERC20, Ownable {
    using Address for address payable;

    IRouter public router;
    address public pair;

    bool private _liquidityMutex = false;
    bool public providingLiquidity = false;
    bool public tradingEnabled = false;

    uint256 public tokenLiquidityThreshold = 2_500_000 * 10**18;
    uint256 public maxBuyLimit = 10_000_000 * 10**18;
    uint256 public maxSellLimit = 10_000_000 * 10**18;
    uint256 public maxWalletLimit = 10_000_000 * 10**18;

    uint256 public genesis_block;
    uint256 private deadline = 3;
    uint256 private launchtax = 99;

    address public marketingWallet = 0x35131f790480cdD1Fb79328234Df215e9FC24375;
    address public devWallet = 0x5194Bd6a8C26e75A27BFD3DcE0316042f630EBA9;
    address public opsWallet = 0xFc1F51C6D6ce0de412a343f8bccD31EB1193bEb0;
	address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;

    struct Taxes {
        uint256 marketing;
        uint256 liquidity;
        uint256 ops;
        uint256 dev;
    }

    Taxes public taxes = Taxes(3, 3, 3, 1);
    Taxes public sellTaxes = Taxes(3, 3, 3, 1);

    mapping(address => bool) public exemptFee;
    mapping(address => bool) public allowedTransfer;

    //Anti Dump
    mapping(address => uint256) private _lastSell;
    bool public coolDownEnabled = true;
    uint256 public coolDownTime = 60 seconds;

    modifier mutexLock() {
        if (!_liquidityMutex) {
            _liquidityMutex = true;
            _;
            _liquidityMutex = false;
        }
    }

    constructor(address routerAdd) ERC20("Crolon Mars", "CLMRS") {
        _tokengeneration(msg.sender, 1e9 * 10**decimals());
        exemptFee[msg.sender] = true;

        IRouter _router = IRouter(routerAdd);
        // Create a pair for this new token
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());

        router = _router;
        pair = _pair;
        exemptFee[address(this)] = true;
        exemptFee[marketingWallet] = true;
        exemptFee[opsWallet] = true;
        exemptFee[devWallet] = true;
        exemptFee[deadWallet] = true;

        allowedTransfer[address(this)] = true;
        allowedTransfer[owner()] = true;
        allowedTransfer[pair] = true;
        allowedTransfer[marketingWallet] = true;
        allowedTransfer[opsWallet] = true;
        allowedTransfer[devWallet] = true;
        allowedTransfer[deadWallet] = true;

    }

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

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        override
        returns (bool)
    {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

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

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal override {
        require(amount > 0, "Transfer amount must be greater than zero");

        if (!exemptFee[sender] && !exemptFee[recipient]) {
            require(tradingEnabled, "Trading not enabled");
        }

        if (sender == pair && !exemptFee[recipient] && !_liquidityMutex) {
            require(amount <= maxBuyLimit, "You are exceeding maxBuyLimit");
            require(
                balanceOf(recipient) + amount <= maxWalletLimit,
                "You are exceeding maxWalletLimit"
            );
        }

        if (
            sender != pair && !exemptFee[recipient] && !exemptFee[sender] && !_liquidityMutex
        ) {
            require(amount <= maxSellLimit, "You are exceeding maxSellLimit");
            if (recipient != pair) {
                require(
                    balanceOf(recipient) + amount <= maxWalletLimit,
                    "You are exceeding maxWalletLimit"
                );
            }
            if (coolDownEnabled) {
                uint256 timePassed = block.timestamp - _lastSell[sender];
                require(timePassed >= coolDownTime, "Cooldown enabled");
                _lastSell[sender] = block.timestamp;
            }
        }

        uint256 feeswap;
        uint256 feesum;
        uint256 fee;
        Taxes memory currentTaxes;

        bool useLaunchFee = !exemptFee[sender] &&
            !exemptFee[recipient] &&
            block.number < genesis_block + deadline;

        //set fee to zero if fees in contract are handled or exempted
        if (_liquidityMutex || exemptFee[sender] || exemptFee[recipient])
            fee = 0;

            //calculate fee
        else if (recipient == pair && !useLaunchFee) {
            feeswap =
                sellTaxes.liquidity +
                sellTaxes.marketing +
                sellTaxes.ops +                
                sellTaxes.dev;
            feesum = feeswap;
            currentTaxes = sellTaxes;
        } else if (!useLaunchFee) {
            feeswap =
                taxes.liquidity +
                taxes.marketing +
                taxes.ops +
                taxes.dev ;
            feesum = feeswap;
            currentTaxes = taxes;
        } else if (useLaunchFee) {
            feeswap = launchtax;
            feesum = launchtax;
        }

        fee = (amount * feesum) / 100;

        //send fees if threshold has been reached
        //don't do this on buys, breaks swap
        if (providingLiquidity && sender != pair) handle_fees(feeswap, currentTaxes);

        //rest to recipient
        super._transfer(sender, recipient, amount - fee);
        if (fee > 0) {
            //send the fee to the contract
            if (feeswap > 0) {
                uint256 feeAmount = (amount * feeswap) / 100;
                super._transfer(sender, address(this), feeAmount);
            }

        }
    }

    function handle_fees(uint256 feeswap, Taxes memory swapTaxes) private mutexLock {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance >= tokenLiquidityThreshold) {
            if (tokenLiquidityThreshold > 1) {
                contractBalance = tokenLiquidityThreshold;
            }

            // Split the contract balance into halves
            uint256 denominator = feeswap * 2;
            uint256 tokensToAddLiquidityWith = (contractBalance * swapTaxes.liquidity) /
                denominator;
            uint256 toSwap = contractBalance - tokensToAddLiquidityWith;

            uint256 initialBalance = address(this).balance;

            swapTokensForETH(toSwap);

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

            if (croToAddLiquidityWith > 0) {
                // Add liquidity 
                addLiquidity(tokensToAddLiquidityWith, croToAddLiquidityWith);
            }

            uint256 marketingAmt = unitBalance * 2 * swapTaxes.marketing;
            if (marketingAmt > 0) {
                payable(marketingWallet).sendValue(marketingAmt);
            }

            uint256 opsAmt = unitBalance * 2 * swapTaxes.ops;
            if (opsAmt > 0) {
                payable(opsWallet).sendValue(opsAmt);
            }

            uint256 devAmt = unitBalance * 2 * swapTaxes.dev;
            if (devAmt > 0) {
                payable(devWallet).sendValue(devAmt);
            }

        }
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        // generate the pair path of token -> weth
        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,
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(router), tokenAmount);

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

    function updateLiquidityProvide(bool state) external onlyOwner {
        //update liquidity providing state
        providingLiquidity = state;
    }

    function updateLiquidityTreshhold(uint256 new_amount) external onlyOwner {
        //update the treshhold
        tokenLiquidityThreshold = new_amount * 10**decimals();
    }

    function SetBuyTaxes(
        uint256 _marketing,
        uint256 _liquidity,
        uint256 _ops,
        uint256 _dev
    ) external onlyOwner {
        taxes = Taxes(_marketing, _liquidity,  _ops, _dev);
        require((_marketing + _liquidity + _ops + _dev) <= 20, "Must keep fees at 20% or less");
    }

    function SetSellTaxes(
        uint256 _marketing,
        uint256 _liquidity,
        uint256 _ops,
        uint256 _dev
    ) external onlyOwner {
        sellTaxes = Taxes(_marketing, _liquidity,  _ops, _dev);
        require((_marketing + _liquidity + _ops + _dev) <= 20, "Must keep fees at 20% or less");
    }

    function updateRouterAndPair(address newRouter, address newPair) external onlyOwner {
        router = IRouter(newRouter);
        pair = newPair;
    }

    function EnableTrading() external onlyOwner {
        require(!tradingEnabled, "Cannot re-enable trading");
        tradingEnabled = true;
        providingLiquidity = true;
        genesis_block = block.number;
    }

    function updatedeadline(uint256 _deadline) external onlyOwner {
        require(!tradingEnabled, "Can't change when trading has started");
        deadline = _deadline;
    }

    function updateMarketingWallet(address newWallet) external onlyOwner {
        marketingWallet = newWallet;
    }

    function updateOpsWallet(address newWallet) external onlyOwner {
        opsWallet = newWallet;
    }

    function updateDevWallet(address newWallet) external onlyOwner {
        devWallet = newWallet;
    }

    function updateCooldown(bool state, uint256 time) external onlyOwner {
        coolDownTime = time * 1 seconds;
        coolDownEnabled = state;
        require(time <= 300, "cooldown timer cannot exceed 5 minutes");
    }

    function updateAllowedTransfer(address account, bool state) external onlyOwner {
        allowedTransfer[account] = state;
    }

    function bulkAllowedTransfer(address[] memory accounts, bool state) external onlyOwner {
        for (uint256 i = 0; i < accounts.length; i++) {
            allowedTransfer[accounts[i]] = state;
        }
    }

    function updateExemptFee(address _address, bool state) external onlyOwner {
        exemptFee[_address] = state;
    }

    function bulkExemptFee(address[] memory accounts, bool state) external onlyOwner {
        for (uint256 i = 0; i < accounts.length; i++) {
            exemptFee[accounts[i]] = state;
        }
    }

    function updateMaxBuyTxLimit(uint256 maxBuy) external onlyOwner {
        maxBuyLimit = maxBuy * 10**decimals();
        require(maxBuy >= 1_000_000, "Cannot set max buy amount lower than 0.1%");
    }

    function updateMaxSellTxLimit(uint256 maxSell) external onlyOwner {
        maxSellLimit = maxSell * 10**decimals();
        require(maxSell >= 1_000_000, "Cannot set max sell amount lower than 0.1%");
    }

    function updateMaxWalletlimit(uint256 amount) external onlyOwner {
        maxWalletLimit = amount * 10**decimals();
        require(amount >= 1_000_000, "Cannot set max wallet amount lower than 0.1%");
    }

    function rescueCRO(uint256 weiAmount) external onlyOwner {
        payable(devWallet).transfer(weiAmount);
    }

    function rescueCROtokens(address tokenAdd, uint256 amount) external onlyOwner {
        IERC20(tokenAdd).transfer(devWallet, amount);
    }

    // fallbacks
    receive() external payable {}
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"routerAdd","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":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_ops","type":"uint256"},{"internalType":"uint256","name":"_dev","type":"uint256"}],"name":"SetBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_ops","type":"uint256"},{"internalType":"uint256","name":"_dev","type":"uint256"}],"name":"SetSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allowedTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkAllowedTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"coolDownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"coolDownTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesis_block","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"opsWallet","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":[],"name":"providingLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueCRO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAdd","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueCROtokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"ops","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"ops","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenLiquidityThreshold","outputs":[{"internalType":"uint256","name":"","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":"address","name":"account","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateAllowedTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"},{"internalType":"uint256","name":"time","type":"uint256"}],"name":"updateCooldown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"updateLiquidityProvide","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_amount","type":"uint256"}],"name":"updateLiquidityTreshhold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBuy","type":"uint256"}],"name":"updateMaxBuyTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxSell","type":"uint256"}],"name":"updateMaxSellTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxWalletlimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateOpsWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"},{"internalType":"address","name":"newPair","type":"address"}],"name":"updateRouterAndPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_deadline","type":"uint256"}],"name":"updatedeadline","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6007805462ffffff60a01b191690556a02116545850052128000006008556a084595161401484a0000006009819055600a819055600b556003600d8190556063600e55600f80546001600160a01b03199081167335131f790480cdd1fb79328234df215e9fc2437517909155601080548216735194bd6a8c26e75a27bfd3dce0316042f630eba91790556011805490911673fc1f51c6d6ce0de412a343f8bccd31eb1193beb0179055608081905260a081905260c0819052600160e08190526012829055601382905560148290556015819055610180604052610100829052610120829052610140829052610160819052601682905560178290556018919091556019819055601d805460ff19169091179055603c601e553480156200012457600080fd5b506040516200350538038062003505833981016040819052620001479162000718565b604080518082018252600b81526a43726f6c6f6e204d61727360a81b602080830191825283518085019094526005845264434c4d525360d81b908401528151919291620001979160039162000672565b508051620001ad90600490602084019062000672565b505050620001ca620001c46200052660201b60201c565b6200052a565b620001f333620001dd6012600a620007ae565b620001ed90633b9aca006200086f565b6200057c565b336000908152601a60209081526040808320805460ff19166001179055805163c45a015560e01b815290518493926001600160a01b0385169263c45a01559260048083019392829003018186803b1580156200024e57600080fd5b505afa15801562000263573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000289919062000718565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002d257600080fd5b505afa158015620002e7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030d919062000718565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200035657600080fd5b505af11580156200036b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000391919062000718565b600680546001600160a01b038086166001600160a01b031992831617909255600780548385169216919091179055306000818152601a60209081526040808320805460ff199081166001908117909255600f54871685528285208054821683179055601154871685528285208054821683179055601054909616845281842080548716821790557f428bdc965569ef4717764ecfd84e88946a9a226b52b813e6ab6a7f46aad86e888054871682179055938352601b91829052822080549094168317909355929350916200046d6005546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560075482168152601b909352818320805485166001908117909155600f548216845282842080548616821790556011548216845282842080548616821790556010549091168352908220805484168217905561dead9091527f6790d4910a095e0e04c8daa388834616a295bac3f59038957b6d0b93a2d21684805490921617905550620008e4915050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620005e55760405162461bcd60e51b815260206004820152602560248201527f45524332303a2067656e65726174696f6e20746f20746865207a65726f206164604482015264647265737360d81b606482015260840160405180910390fd5b8060026000828254620005f991906200074a565b90915550506001600160a01b03821660009081526020819052604081208054839290620006289084906200074a565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b828054620006809062000891565b90600052602060002090601f016020900481019282620006a45760008555620006ef565b82601f10620006bf57805160ff1916838001178555620006ef565b82800160010185558215620006ef579182015b82811115620006ef578251825591602001919060010190620006d2565b50620006fd92915062000701565b5090565b5b80821115620006fd576000815560010162000702565b6000602082840312156200072b57600080fd5b81516001600160a01b03811681146200074357600080fd5b9392505050565b60008219821115620007605762000760620008ce565b500190565b600181815b80851115620007a65781600019048211156200078a576200078a620008ce565b808516156200079857918102915b93841c93908002906200076a565b509250929050565b60006200074360ff841683600082620007ca5750600162000869565b81620007d95750600062000869565b8160018114620007f25760028114620007fd576200081d565b600191505062000869565b60ff841115620008115762000811620008ce565b50506001821b62000869565b5060208310610133831016604e8410600b841016171562000842575081810a62000869565b6200084e838362000765565b8060001904821115620008655762000865620008ce565b0290505b92915050565b60008160001904831182151516156200088c576200088c620008ce565b500290565b600181811c90821680620008a657607f821691505b60208210811415620008c857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b612c1180620008f46000396000f3fe60806040526004361061031e5760003560e01c8063728f8eea116101ab578063b5c57145116100f7578063e517f2b911610095578063f2fde38b1161006f578063f2fde38b1461098f578063f66895a3146109af578063f887ea40146109d2578063fbe6324e146109f257600080fd5b8063e517f2b914610935578063edaa116814610955578063ee36e3591461097557600080fd5b8063cc309d84116100d1578063cc309d8414610899578063d2ce0db2146108b9578063d8672e51146108cf578063dd62ed3e146108ef57600080fd5b8063b5c5714514610829578063c0a9da6614610849578063c5d32bb21461086957600080fd5b80638ea5220f11610164578063a457c2d71161013e578063a457c2d7146107a9578063a8aa1b31146107c9578063a9059cbb146107e9578063aacebbe31461080957600080fd5b80638ea5220f1461075457806395d89b411461077457806397973a2b1461078957600080fd5b8063728f8eea1461067d57806375f0a874146106c05780637c5b5723146106e057806381428be11461070057806385141a77146107205780638da5cb5b1461073657600080fd5b806331fe5ec61161026a57806362695eae1161022357806368db925a116101fd57806368db925a146105e45780636aa5b37f1461061c57806370a0823114610632578063715018a61461066857600080fd5b806362695eae14610588578063652e2f04146105b857806366a88d96146105ce57600080fd5b806331fe5ec6146104c7578063355496ca146104e7578063395093511461050757806340b28c2f1461052757806342b6fa11146105475780634ada218b1461056757600080fd5b806318160ddd116102d75780631d97b7cd116102b15780631d97b7cd1461046057806323b872dd14610475578063274a533c14610495578063313ce567146104ab57600080fd5b806318160ddd1461040b5780631816467f146104205780631c3909e61461044057600080fd5b806306fdde031461032a578063095ea7b3146103555780630e375a5c14610385578063105cafb6146103a75780631340538f146103c75780631675d802146103e757600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061033f610a13565b60405161034c91906128c7565b60405180910390f35b34801561036157600080fd5b506103756103703660046126ec565b610aa5565b604051901515815260200161034c565b34801561039157600080fd5b506103a56103a0366004612718565b610abc565b005b3480156103b357600080fd5b506103a56103c2366004612895565b610b5b565b3480156103d357600080fd5b506103a56103e23660046127f6565b610c2f565b3480156103f357600080fd5b506103fd60085481565b60405190815260200161034c565b34801561041757600080fd5b506002546103fd565b34801561042c57600080fd5b506103a561043b366004612603565b610c77565b34801561044c57600080fd5b506103a561045b366004612603565b610cc3565b34801561046c57600080fd5b506103a5610d0f565b34801561048157600080fd5b5061037561049036600461267d565b610dae565b3480156104a157600080fd5b506103fd600c5481565b3480156104b757600080fd5b506040516012815260200161034c565b3480156104d357600080fd5b506103a56104e23660046126ec565b610e5f565b3480156104f357600080fd5b506103a56105023660046126be565b610f0f565b34801561051357600080fd5b506103756105223660046126ec565b610f64565b34801561053357600080fd5b506103a5610542366004612644565b610f9b565b34801561055357600080fd5b506103a561056236600461284e565b610ff3565b34801561057357600080fd5b5060075461037590600160b01b900460ff1681565b34801561059457600080fd5b506103756105a3366004612603565b601b6020526000908152604090205460ff1681565b3480156105c457600080fd5b506103fd600a5481565b3480156105da57600080fd5b506103fd600b5481565b3480156105f057600080fd5b50601154610604906001600160a01b031681565b6040516001600160a01b03909116815260200161034c565b34801561062857600080fd5b506103fd60095481565b34801561063e57600080fd5b506103fd61064d366004612603565b6001600160a01b031660009081526020819052604090205490565b34801561067457600080fd5b506103a5611039565b34801561068957600080fd5b506012546013546014546015546106a09392919084565b60408051948552602085019390935291830152606082015260800161034c565b3480156106cc57600080fd5b50600f54610604906001600160a01b031681565b3480156106ec57600080fd5b506103a56106fb36600461284e565b61106f565b34801561070c57600080fd5b506103a561071b366004612718565b6110d7565b34801561072c57600080fd5b5061060461dead81565b34801561074257600080fd5b506005546001600160a01b0316610604565b34801561076057600080fd5b50601054610604906001600160a01b031681565b34801561078057600080fd5b5061033f611168565b34801561079557600080fd5b506103a56107a4366004612895565b611177565b3480156107b557600080fd5b506103756107c43660046126ec565b6111e1565b3480156107d557600080fd5b50600754610604906001600160a01b031681565b3480156107f557600080fd5b506103756108043660046126ec565b61127c565b34801561081557600080fd5b506103a5610824366004612603565b611289565b34801561083557600080fd5b506103a56108443660046126be565b6112d5565b34801561085557600080fd5b506103a561086436600461284e565b61132a565b34801561087557600080fd5b50610375610884366004612603565b601a6020526000908152604090205460ff1681565b3480156108a557600080fd5b506103a56108b436600461284e565b6113d5565b3480156108c557600080fd5b506103fd601e5481565b3480156108db57600080fd5b506103a56108ea36600461284e565b61147e565b3480156108fb57600080fd5b506103fd61090a366004612644565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561094157600080fd5b506103a5610950366004612830565b611529565b34801561096157600080fd5b506103a561097036600461284e565b6115d0565b34801561098157600080fd5b50601d546103759060ff1681565b34801561099b57600080fd5b506103a56109aa366004612603565b611667565b3480156109bb57600080fd5b506016546017546018546019546106a09392919084565b3480156109de57600080fd5b50600654610604906001600160a01b031681565b3480156109fe57600080fd5b5060075461037590600160a81b900460ff1681565b606060038054610a2290612b20565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4e90612b20565b8015610a9b5780601f10610a7057610100808354040283529160200191610a9b565b820191906000526020600020905b815481529060010190602001808311610a7e57829003601f168201915b5050505050905090565b6000610ab23384846116ff565b5060015b92915050565b6005546001600160a01b03163314610aef5760405162461bcd60e51b8152600401610ae69061291c565b60405180910390fd5b60005b8251811015610b565781601a6000858481518110610b1257610b12612b8c565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b4e81612b5b565b915050610af2565b505050565b6005546001600160a01b03163314610b855760405162461bcd60e51b8152600401610ae69061291c565b6040805160808101825285815260208101859052908101839052606001819052601684905560178390556018829055601981905560148183610bc786886129c2565b610bd191906129c2565b610bdb91906129c2565b1115610c295760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323025206f72206c6573730000006044820152606401610ae6565b50505050565b6005546001600160a01b03163314610c595760405162461bcd60e51b8152600401610ae69061291c565b60078054911515600160a81b0260ff60a81b19909216919091179055565b6005546001600160a01b03163314610ca15760405162461bcd60e51b8152600401610ae69061291c565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610ced5760405162461bcd60e51b8152600401610ae69061291c565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610d395760405162461bcd60e51b8152600401610ae69061291c565b600754600160b01b900460ff1615610d935760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f742072652d656e61626c652074726164696e6700000000000000006044820152606401610ae6565b6007805461ffff60a81b191661010160a81b17905543600c55565b6000610dbb848484611823565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610e405760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610ae6565b610e548533610e4f8685612b09565b6116ff565b506001949350505050565b6005546001600160a01b03163314610e895760405162461bcd60e51b8152600401610ae69061291c565b60105460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb90604401602060405180830381600087803b158015610ed757600080fd5b505af1158015610eeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b569190612813565b6005546001600160a01b03163314610f395760405162461bcd60e51b8152600401610ae69061291c565b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610ab2918590610e4f9086906129c2565b6005546001600160a01b03163314610fc55760405162461bcd60e51b8152600401610ae69061291c565b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b6005546001600160a01b0316331461101d5760405162461bcd60e51b8152600401610ae69061291c565b6110296012600a612a3f565b6110339082612aea565b60085550565b6005546001600160a01b031633146110635760405162461bcd60e51b8152600401610ae69061291c565b61106d6000611ea8565b565b6005546001600160a01b031633146110995760405162461bcd60e51b8152600401610ae69061291c565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156110d3573d6000803e3d6000fd5b5050565b6005546001600160a01b031633146111015760405162461bcd60e51b8152600401610ae69061291c565b60005b8251811015610b565781601b600085848151811061112457611124612b8c565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061116081612b5b565b915050611104565b606060048054610a2290612b20565b6005546001600160a01b031633146111a15760405162461bcd60e51b8152600401610ae69061291c565b604080516080810182528581526020810185905290810183905260600181905260128490556013839055601482815560158290558183610bc786886129c2565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156112635760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610ae6565b6112723385610e4f8685612b09565b5060019392505050565b6000610ab2338484611823565b6005546001600160a01b031633146112b35760405162461bcd60e51b8152600401610ae69061291c565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146112ff5760405162461bcd60e51b8152600401610ae69061291c565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146113545760405162461bcd60e51b8152600401610ae69061291c565b6113606012600a612a3f565b61136a9082612aea565b600955620f42408110156113d25760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f776572206044820152687468616e20302e312560b81b6064820152608401610ae6565b50565b6005546001600160a01b031633146113ff5760405162461bcd60e51b8152600401610ae69061291c565b61140b6012600a612a3f565b6114159082612aea565b600a55620f42408110156113d25760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f776572604482015269207468616e20302e312560b01b6064820152608401610ae6565b6005546001600160a01b031633146114a85760405162461bcd60e51b8152600401610ae69061291c565b6114b46012600a612a3f565b6114be9082612aea565b600b55620f42408110156113d25760405162461bcd60e51b815260206004820152602c60248201527f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760448201526b6572207468616e20302e312560a01b6064820152608401610ae6565b6005546001600160a01b031633146115535760405162461bcd60e51b8152600401610ae69061291c565b61155e816001612aea565b601e55601d805460ff191683151517905561012c8111156110d35760405162461bcd60e51b815260206004820152602660248201527f636f6f6c646f776e2074696d65722063616e6e6f74206578636565642035206d604482015265696e7574657360d01b6064820152608401610ae6565b6005546001600160a01b031633146115fa5760405162461bcd60e51b8152600401610ae69061291c565b600754600160b01b900460ff16156116625760405162461bcd60e51b815260206004820152602560248201527f43616e2774206368616e6765207768656e2074726164696e6720686173207374604482015264185c9d195960da1b6064820152608401610ae6565b600d55565b6005546001600160a01b031633146116915760405162461bcd60e51b8152600401610ae69061291c565b6001600160a01b0381166116f65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ae6565b6113d281611ea8565b6001600160a01b0383166117615760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ae6565b6001600160a01b0382166117c25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ae6565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600081116118855760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610ae6565b6001600160a01b0383166000908152601a602052604090205460ff161580156118c757506001600160a01b0382166000908152601a602052604090205460ff16155b1561191b57600754600160b01b900460ff1661191b5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610ae6565b6007546001600160a01b03848116911614801561195157506001600160a01b0382166000908152601a602052604090205460ff16155b80156119675750600754600160a01b900460ff16155b15611a39576009548111156119be5760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61784275794c696d69740000006044820152606401610ae6565b600b54816119e1846001600160a01b031660009081526020819052604090205490565b6119eb91906129c2565b1115611a395760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d69746044820152606401610ae6565b6007546001600160a01b03848116911614801590611a7057506001600160a01b0382166000908152601a602052604090205460ff16155b8015611a9557506001600160a01b0383166000908152601a602052604090205460ff16155b8015611aab5750600754600160a01b900460ff16155b15611c2457600a54811115611b025760405162461bcd60e51b815260206004820152601e60248201527f596f752061726520657863656564696e67206d617853656c6c4c696d697400006044820152606401610ae6565b6007546001600160a01b03838116911614611b9257600b5481611b3a846001600160a01b031660009081526020819052604090205490565b611b4491906129c2565b1115611b925760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d69746044820152606401610ae6565b601d5460ff1615611c24576001600160a01b0383166000908152601c6020526040812054611bc09042612b09565b9050601e54811015611c075760405162461bcd60e51b815260206004820152601060248201526f10dbdbdb191bdddb88195b98589b195960821b6044820152606401610ae6565b506001600160a01b0383166000908152601c602052604090204290555b6000806000611c546040518060800160405280600081526020016000815260200160008152602001600081525090565b6001600160a01b0387166000908152601a602052604081205460ff16158015611c9657506001600160a01b0387166000908152601a602052604090205460ff16155b8015611cb05750600d54600c54611cad91906129c2565b43105b600754909150600160a01b900460ff1680611ce357506001600160a01b0388166000908152601a602052604090205460ff165b80611d0657506001600160a01b0387166000908152601a602052604090205460ff165b15611d145760009250611e08565b6007546001600160a01b038881169116148015611d2f575080155b15611d9457601954601854601654601754611d4a91906129c2565b611d5491906129c2565b611d5e91906129c2565b60408051608081018252601654815260175460208201526018549181019190915260195460608201529095508594509150611e08565b80611df957601554601454601254601354611daf91906129c2565b611db991906129c2565b611dc391906129c2565b60408051608081018252601254815260135460208201526014549181019190915260155460608201529095508594509150611e08565b8015611e0857600e5494508493505b6064611e148588612aea565b611e1e91906129da565b600754909350600160a81b900460ff168015611e4857506007546001600160a01b03898116911614155b15611e5757611e578583611efa565b611e6b8888611e66868a612b09565b6120aa565b8215611e9e578415611e9e5760006064611e858789612aea565b611e8f91906129da565b9050611e9c8930836120aa565b505b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600754600160a01b900460ff166110d3576007805460ff60a01b1916600160a01b17905530600090815260208190526040812054905060085481106120985760016008541115611f4957506008545b6000611f56846002612aea565b9050600081846020015184611f6b9190612aea565b611f7591906129da565b90506000611f838285612b09565b905047611f8f82612282565b6000611f9b8247612b09565b90506000876020015186611faf9190612b09565b611fb990836129da565b90506000886020015182611fcd9190612aea565b90508015611fdf57611fdf86826123eb565b8851600090611fef846002612aea565b611ff99190612aea565b9050801561201757600f54612017906001600160a01b0316826124cf565b60408a015160009061202a856002612aea565b6120349190612aea565b9050801561205257601154612052906001600160a01b0316826124cf565b60608b0151600090612065866002612aea565b61206f9190612aea565b9050801561208d5760105461208d906001600160a01b0316826124cf565b505050505050505050505b506007805460ff60a01b191690555050565b6001600160a01b03831661210e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ae6565b6001600160a01b0382166121705760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ae6565b6001600160a01b038316600090815260208190526040902054818110156121e85760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610ae6565b6121f28282612b09565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906122289084906129c2565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161227491815260200190565b60405180910390a350505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106122b7576122b7612b8c565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561230b57600080fd5b505afa15801561231f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123439190612627565b8160018151811061235657612356612b8c565b6001600160a01b03928316602091820292909201015260065461237c91309116846116ff565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906123b5908590600090869030904290600401612951565b600060405180830381600087803b1580156123cf57600080fd5b505af11580156123e3573d6000803e3d6000fd5b505050505050565b6006546124039030906001600160a01b0316846116ff565b6006546001600160a01b031663f305d71982308560008061242c6005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561248f57600080fd5b505af11580156124a3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124c89190612867565b5050505050565b8047101561251f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610ae6565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461256c576040519150601f19603f3d011682016040523d82523d6000602084013e612571565b606091505b5050905080610b565760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610ae6565b80356125f381612bb8565b919050565b80356125f381612bcd565b60006020828403121561261557600080fd5b813561262081612bb8565b9392505050565b60006020828403121561263957600080fd5b815161262081612bb8565b6000806040838503121561265757600080fd5b823561266281612bb8565b9150602083013561267281612bb8565b809150509250929050565b60008060006060848603121561269257600080fd5b833561269d81612bb8565b925060208401356126ad81612bb8565b929592945050506040919091013590565b600080604083850312156126d157600080fd5b82356126dc81612bb8565b9150602083013561267281612bcd565b600080604083850312156126ff57600080fd5b823561270a81612bb8565b946020939093013593505050565b6000806040838503121561272b57600080fd5b823567ffffffffffffffff8082111561274357600080fd5b818501915085601f83011261275757600080fd5b813560208282111561276b5761276b612ba2565b8160051b604051601f19603f8301168101818110868211171561279057612790612ba2565b604052838152828101945085830182870184018b10156127af57600080fd5b600096505b848710156127d9576127c5816125e8565b8652600196909601959483019483016127b4565b5096506127e990508782016125f8565b9450505050509250929050565b60006020828403121561280857600080fd5b813561262081612bcd565b60006020828403121561282557600080fd5b815161262081612bcd565b6000806040838503121561284357600080fd5b823561270a81612bcd565b60006020828403121561286057600080fd5b5035919050565b60008060006060848603121561287c57600080fd5b8351925060208401519150604084015190509250925092565b600080600080608085870312156128ab57600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b818110156128f4578581018301518582016040015282016128d8565b81811115612906576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156129a15784516001600160a01b03168352938301939183019160010161297c565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156129d5576129d5612b76565b500190565b6000826129f757634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115612a37578160001904821115612a1d57612a1d612b76565b80851615612a2a57918102915b93841c9390800290612a01565b509250929050565b600061262060ff841683600082612a5857506001610ab6565b81612a6557506000610ab6565b8160018114612a7b5760028114612a8557612aa1565b6001915050610ab6565b60ff841115612a9657612a96612b76565b50506001821b610ab6565b5060208310610133831016604e8410600b8410161715612ac4575081810a610ab6565b612ace83836129fc565b8060001904821115612ae257612ae2612b76565b029392505050565b6000816000190483118215151615612b0457612b04612b76565b500290565b600082821015612b1b57612b1b612b76565b500390565b600181811c90821680612b3457607f821691505b60208210811415612b5557634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612b6f57612b6f612b76565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146113d257600080fd5b80151581146113d257600080fdfea2646970667358221220edea9a07fea9978aa62f1ca0e7ae5867b29bd90b94c9f73bff002a571178c6e564736f6c63430008070033000000000000000000000000ec0a7a0c2439e8cb67b992b12ecd020ea943c7be

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

000000000000000000000000ec0a7a0c2439e8cb67b992b12ecd020ea943c7be

-----Decoded View---------------
Arg [0] : routerAdd (address): 0xec0a7a0c2439e8cb67b992b12ecd020ea943c7be

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000ec0a7a0c2439e8cb67b992b12ecd020ea943c7be


Deployed ByteCode Sourcemap

13645:13653:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2421:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16180:161;;;;;;;;;;-1:-1:-1;16180:161:0;;;;;:::i;:::-;;:::i;:::-;;;6732:14:1;;6725:22;6707:41;;6695:2;6680:18;16180:161:0;6567:187:1;26118:202:0;;;;;;;;;;-1:-1:-1;26118:202:0;;;;;:::i;:::-;;:::i;:::-;;24142:323;;;;;;;;;;-1:-1:-1;24142:323:0;;;;;:::i;:::-;;:::i;23471:152::-;;;;;;;;;;-1:-1:-1;23471:152:0;;;;;:::i;:::-;;:::i;13919:59::-;;;;;;;;;;;;;;;;;;;17062:25:1;;;17050:2;17035:18;13919:59:0;16916:177:1;3541:108:0;;;;;;;;;;-1:-1:-1;3629:12:0;;3541:108;;25285:103;;;;;;;;;;-1:-1:-1;25285:103:0;;;;;:::i;:::-;;:::i;25174:::-;;;;;;;;;;-1:-1:-1;25174:103:0;;;;;:::i;:::-;;:::i;24636:222::-;;;;;;;;;;;;;:::i;16349:448::-;;;;;;;;;;-1:-1:-1;16349:448:0;;;;;:::i;:::-;;:::i;14156:28::-;;;;;;;;;;;;;;;;3383:93;;;;;;;;;;-1:-1:-1;3383:93:0;;3466:2;18621:36:1;;18609:2;18594:18;3383:93:0;18479:184:1;27099:141:0;;;;;;;;;;-1:-1:-1;27099:141:0;;;;;:::i;:::-;;:::i;25990:120::-;;;;;;;;;;-1:-1:-1;25990:120:0;;;;;:::i;:::-;;:::i;16805:248::-;;;;;;;;;;-1:-1:-1;16805:248:0;;;;;:::i;:::-;;:::i;24473:155::-;;;;;;;;;;-1:-1:-1;24473:155:0;;;;;:::i;:::-;;:::i;23631:177::-;;;;;;;;;;-1:-1:-1;23631:177:0;;;;;:::i;:::-;;:::i;13876:34::-;;;;;;;;;;-1:-1:-1;13876:34:0;;;;-1:-1:-1;;;13876:34:0;;;;;;14857:47;;;;;;;;;;-1:-1:-1;14857:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14040:49;;;;;;;;;;;;;;;;14096:51;;;;;;;;;;;;;;;;14423:69;;;;;;;;;;-1:-1:-1;14423:69:0;;;;-1:-1:-1;;;;;14423:69:0;;;;;;-1:-1:-1;;;;;5632:32:1;;;5614:51;;5602:2;5587:18;14423:69:0;5468:203:1;13985:48:0;;;;;;;;;;;;;;;;3712:127;;;;;;;;;;-1:-1:-1;3712:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;3813:18:0;3786:7;3813:18;;;;;;;;;;;;3712:127;12308:94;;;;;;;;;;;;;:::i;14713:38::-;;;;;;;;;;-1:-1:-1;14713:38:0;;;;;;;;;;;;;;;;;;;18314:25:1;;;18370:2;18355:18;;18348:34;;;;18398:18;;;18391:34;18456:2;18441:18;;18434:34;18301:3;18286:19;14713:38:0;18083:391:1;14265:75:0;;;;;;;;;;-1:-1:-1;14265:75:0;;;;-1:-1:-1;;;;;14265:75:0;;;26977:114;;;;;;;;;;-1:-1:-1;26977:114:0;;;;;:::i;:::-;;:::i;25768:214::-;;;;;;;;;;-1:-1:-1;25768:214:0;;;;;:::i;:::-;;:::i;14496:79::-;;;;;;;;;;;;14533:42;14496:79;;12085:87;;;;;;;;;;-1:-1:-1;12158:6:0;;-1:-1:-1;;;;;12158:6:0;12085:87;;14347:69;;;;;;;;;;-1:-1:-1;14347:69:0;;;;-1:-1:-1;;;;;14347:69:0;;;2640:104;;;;;;;;;;;;;:::i;23816:318::-;;;;;;;;;;-1:-1:-1;23816:318:0;;;;;:::i;:::-;;:::i;17061:410::-;;;;;;;;;;-1:-1:-1;17061:410:0;;;;;:::i;:::-;;:::i;13760:19::-;;;;;;;;;;-1:-1:-1;13760:19:0;;;;-1:-1:-1;;;;;13760:19:0;;;17479:165;;;;;;;;;;-1:-1:-1;17479:165:0;;;;;:::i;:::-;;:::i;25051:115::-;;;;;;;;;;-1:-1:-1;25051:115:0;;;;;:::i;:::-;;:::i;25630:130::-;;;;;;;;;;-1:-1:-1;25630:130:0;;;;;:::i;:::-;;:::i;26328:204::-;;;;;;;;;;-1:-1:-1;26328:204:0;;;;;:::i;:::-;;:::i;14809:41::-;;;;;;;;;;-1:-1:-1;14809:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;26540:210;;;;;;;;;;-1:-1:-1;26540:210:0;;;;;:::i;:::-;;:::i;15023:40::-;;;;;;;;;;;;;;;;26758:211;;;;;;;;;;-1:-1:-1;26758:211:0;;;;;:::i;:::-;;:::i;4331:201::-;;;;;;;;;;-1:-1:-1;4331:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;4497:18:0;;;4465:7;4497:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4331:201;25396:226;;;;;;;;;;-1:-1:-1;25396:226:0;;;;;:::i;:::-;;:::i;24866:177::-;;;;;;;;;;-1:-1:-1;24866:177:0;;;;;:::i;:::-;;:::i;14982:34::-;;;;;;;;;;-1:-1:-1;14982:34:0;;;;;;;;12410:192;;;;;;;;;;-1:-1:-1;12410:192:0;;;;;:::i;:::-;;:::i;14758:42::-;;;;;;;;;;-1:-1:-1;14758:42:0;;;;;;;;;;;;;;;13732:21;;;;;;;;;;-1:-1:-1;13732:21:0;;;;-1:-1:-1;;;;;13732:21:0;;;13831:38;;;;;;;;;;-1:-1:-1;13831:38:0;;;;-1:-1:-1;;;13831:38:0;;;;;;2421:100;2475:13;2508:5;2501:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2421:100;:::o;16180:161::-;16255:4;16272:39;223:10;16295:7;16304:6;16272:8;:39::i;:::-;-1:-1:-1;16329:4:0;16180:161;;;;;:::o;26118:202::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;;;;;;;;;26215:9:::1;26210:103;26234:8;:15;26230:1;:19;26210:103;;;26296:5;26271:9;:22;26281:8;26290:1;26281:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;26271:22:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;26271:22:0;:30;;-1:-1:-1;;26271:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;26251:3;::::1;::::0;::::1;:::i;:::-;;;;26210:103;;;;26118:202:::0;;:::o;24142:323::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;24317:42:::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;24305:9:::1;:54:::0;;;;;;;;;;;;;;;24421:2:::1;24354:4:::0;24348;24379:23:::1;24335:10:::0;24323;24379:23:::1;:::i;:::-;:30;;;;:::i;:::-;:37;;;;:::i;:::-;24378:45;;24370:87;;;::::0;-1:-1:-1;;;24370:87:0;;12145:2:1;24370:87:0::1;::::0;::::1;12127:21:1::0;12184:2;12164:18;;;12157:30;12223:31;12203:18;;;12196:59;12272:18;;24370:87:0::1;11943:353:1::0;24370:87:0::1;24142:323:::0;;;;:::o;23471:152::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;23589:18:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;23589:26:0::1;-1:-1:-1::0;;;;23589:26:0;;::::1;::::0;;;::::1;::::0;;23471:152::o;25285:103::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;25359:9:::1;:21:::0;;-1:-1:-1;;;;;;25359:21:0::1;-1:-1:-1::0;;;;;25359:21:0;;;::::1;::::0;;;::::1;::::0;;25285:103::o;25174:::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;25248:9:::1;:21:::0;;-1:-1:-1;;;;;;25248:21:0::1;-1:-1:-1::0;;;;;25248:21:0;;;::::1;::::0;;;::::1;::::0;;25174:103::o;24636:222::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;24700:14:::1;::::0;-1:-1:-1;;;24700:14:0;::::1;;;24699:15;24691:52;;;::::0;-1:-1:-1;;;24691:52:0;;12503:2:1;24691:52:0::1;::::0;::::1;12485:21:1::0;12542:2;12522:18;;;12515:30;12581:26;12561:18;;;12554:54;12625:18;;24691:52:0::1;12301:348:1::0;24691:52:0::1;24754:14;:21:::0;;-1:-1:-1;;;;24786:25:0;-1:-1:-1;;;24786:25:0;;;24838:12:::1;24822:13;:28:::0;24636:222::o;16349:448::-;16481:4;16498:36;16508:6;16516:9;16527:6;16498:9;:36::i;:::-;-1:-1:-1;;;;;16574:19:0;;16547:24;16574:19;;;:11;:19;;;;;;;;223:10;16574:33;;;;;;;;16626:26;;;;16618:79;;;;-1:-1:-1;;;16618:79:0;;13262:2:1;16618:79:0;;;13244:21:1;13301:2;13281:18;;;13274:30;13340:34;13320:18;;;13313:62;-1:-1:-1;;;13391:18:1;;;13384:38;13439:19;;16618:79:0;13060:404:1;16618:79:0;16708:57;16717:6;223:10;16739:25;16758:6;16739:16;:25;:::i;:::-;16708:8;:57::i;:::-;-1:-1:-1;16785:4:0;;16349:448;-1:-1:-1;;;;16349:448:0:o;27099:141::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;27214:9:::1;::::0;27188:44:::1;::::0;-1:-1:-1;;;27188:44:0;;-1:-1:-1;;;;;27214:9:0;;::::1;27188:44;::::0;::::1;5850:51:1::0;5917:18;;;5910:34;;;27188:25:0;;::::1;::::0;::::1;::::0;5823:18:1;;27188:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;25990:120::-:0;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26075:19:0;;;::::1;;::::0;;;:9:::1;:19;::::0;;;;:27;;-1:-1:-1;;26075:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25990:120::o;16805:248::-;223:10;16921:4;16975:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16975:34:0;;;;;;;;;;16921:4;;16943:80;;16966:7;;16975:47;;17012:10;;16975:47;:::i;24473:155::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;24568:6:::1;:27:::0;;-1:-1:-1;;;;;24568:27:0;;::::1;-1:-1:-1::0;;;;;;24568:27:0;;::::1;;::::0;;;24606:4:::1;:14:::0;;;;;::::1;::::0;::::1;;::::0;;24473:155::o;23631:177::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;23786:14:::1;3466:2:::0;23786::::1;:14;:::i;:::-;23773:27;::::0;:10;:27:::1;:::i;:::-;23747:23;:53:::0;-1:-1:-1;23631:177:0:o;12308:94::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;12373:21:::1;12391:1;12373:9;:21::i;:::-;12308:94::o:0;26977:114::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;27053:9:::1;::::0;27045:38:::1;::::0;-1:-1:-1;;;;;27053:9:0;;::::1;::::0;27045:38;::::1;;;::::0;27073:9;;27053::::1;27045:38:::0;27053:9;27045:38;27073:9;27053;27045:38;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;26977:114:::0;:::o;25768:214::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;25871:9:::1;25866:109;25890:8;:15;25886:1;:19;25866:109;;;25958:5;25927:15;:28;25943:8;25952:1;25943:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;25927:28:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;25927:28:0;:36;;-1:-1:-1;;25927:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25907:3;::::1;::::0;::::1;:::i;:::-;;;;25866:109;;2640:104:::0;2696:13;2729:7;2722:14;;;;;:::i;23816:318::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;23986:42:::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;23978:5:::1;:50:::0;;;;;;;;;;;;;;;24023:4;24017;24048:23:::1;24004:10:::0;23992;24048:23:::1;:::i;17061:410::-:0;223:10;17182:4;17231:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17231:34:0;;;;;;;;;;17284:35;;;;17276:85;;;;-1:-1:-1;;;17276:85:0;;16712:2:1;17276:85:0;;;16694:21:1;16751:2;16731:18;;;16724:30;16790:34;16770:18;;;16763:62;-1:-1:-1;;;16841:18:1;;;16834:35;16886:19;;17276:85:0;16510:401:1;17276:85:0;17372:67;223:10;17395:7;17404:34;17423:15;17404:16;:34;:::i;17372:67::-;-1:-1:-1;17459:4:0;;17061:410;-1:-1:-1;;;17061:410:0:o;17479:165::-;17557:4;17574:40;17584:10;17596:9;17607:6;17574:9;:40::i;25051:115::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;25131:15:::1;:27:::0;;-1:-1:-1;;;;;;25131:27:0::1;-1:-1:-1::0;;;;;25131:27:0;;;::::1;::::0;;;::::1;::::0;;25051:115::o;25630:130::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25720:24:0;;;::::1;;::::0;;;:15:::1;:24;::::0;;;;:32;;-1:-1:-1;;25720:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25630:130::o;26328:204::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;26426:14:::1;3466:2:::0;26426::::1;:14;:::i;:::-;26417:23;::::0;:6;:23:::1;:::i;:::-;26403:11;:37:::0;26469:9:::1;26459:19:::0;::::1;;26451:73;;;::::0;-1:-1:-1;;;26451:73:0;;11735:2:1;26451:73:0::1;::::0;::::1;11717:21:1::0;11774:2;11754:18;;;11747:30;11813:34;11793:18;;;11786:62;-1:-1:-1;;;11864:18:1;;;11857:39;11913:19;;26451:73:0::1;11533:405:1::0;26451:73:0::1;26328:204:::0;:::o;26540:210::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;26642:14:::1;3466:2:::0;26642::::1;:14;:::i;:::-;26632:24;::::0;:7;:24:::1;:::i;:::-;26617:12;:39:::0;26686:9:::1;26675:20:::0;::::1;;26667:75;;;::::0;-1:-1:-1;;;26667:75:0;;9358:2:1;26667:75:0::1;::::0;::::1;9340:21:1::0;9397:2;9377:18;;;9370:30;9436:34;9416:18;;;9409:62;-1:-1:-1;;;9487:18:1;;;9480:40;9537:19;;26667:75:0::1;9156:406:1::0;26758:211:0;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;26860:14:::1;3466:2:::0;26860::::1;:14;:::i;:::-;26851:23;::::0;:6;:23:::1;:::i;:::-;26834:14;:40:::0;26903:9:::1;26893:19:::0;::::1;;26885:76;;;::::0;-1:-1:-1;;;26885:76:0;;10537:2:1;26885:76:0::1;::::0;::::1;10519:21:1::0;10576:2;10556:18;;;10549:30;10615:34;10595:18;;;10588:62;-1:-1:-1;;;10666:18:1;;;10659:42;10718:19;;26885:76:0::1;10335:408:1::0;25396:226:0;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;25491:16:::1;:4:::0;25498:9:::1;25491:16;:::i;:::-;25476:12;:31:::0;25518:15:::1;:23:::0;;-1:-1:-1;;25518:23:0::1;::::0;::::1;;;::::0;;25568:3:::1;25560:11:::0;::::1;;25552:62;;;::::0;-1:-1:-1;;;25552:62:0;;15135:2:1;25552:62:0::1;::::0;::::1;15117:21:1::0;15174:2;15154:18;;;15147:30;15213:34;15193:18;;;15186:62;-1:-1:-1;;;15264:18:1;;;15257:36;15310:19;;25552:62:0::1;14933:402:1::0;24866:177:0;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;24948:14:::1;::::0;-1:-1:-1;;;24948:14:0;::::1;;;24947:15;24939:65;;;::::0;-1:-1:-1;;;24939:65:0;;12856:2:1;24939:65:0::1;::::0;::::1;12838:21:1::0;12895:2;12875:18;;;12868:30;12934:34;12914:18;;;12907:62;-1:-1:-1;;;12985:18:1;;;12978:35;13030:19;;24939:65:0::1;12654:401:1::0;24939:65:0::1;25015:8;:20:::0;24866:177::o;12410:192::-;12158:6;;-1:-1:-1;;;;;12158:6:0;223:10;12220:23;12212:68;;;;-1:-1:-1;;;12212:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12499:22:0;::::1;12491:73;;;::::0;-1:-1:-1;;;12491:73:0;;8548:2:1;12491:73:0::1;::::0;::::1;8530:21:1::0;8587:2;8567:18;;;8560:30;8626:34;8606:18;;;8599:62;-1:-1:-1;;;8677:18:1;;;8670:36;8723:19;;12491:73:0::1;8346:402:1::0;12491:73:0::1;12575:19;12585:8;12575:9;:19::i;10384:380::-:0;-1:-1:-1;;;;;10520:19:0;;10512:68;;;;-1:-1:-1;;;10512:68:0;;15948:2:1;10512:68:0;;;15930:21:1;15987:2;15967:18;;;15960:30;16026:34;16006:18;;;15999:62;-1:-1:-1;;;16077:18:1;;;16070:34;16121:19;;10512:68:0;15746:400:1;10512:68:0;-1:-1:-1;;;;;10599:21:0;;10591:68;;;;-1:-1:-1;;;10591:68:0;;8955:2:1;10591:68:0;;;8937:21:1;8994:2;8974:18;;;8967:30;9033:34;9013:18;;;9006:62;-1:-1:-1;;;9084:18:1;;;9077:32;9126:19;;10591:68:0;8753:398:1;10591:68:0;-1:-1:-1;;;;;10672:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10724:32;;17062:25:1;;;10724:32:0;;17035:18:1;10724:32:0;;;;;;;10384:380;;;:::o;17652:3066::-;17802:1;17793:6;:10;17785:64;;;;-1:-1:-1;;;17785:64:0;;14032:2:1;17785:64:0;;;14014:21:1;14071:2;14051:18;;;14044:30;14110:34;14090:18;;;14083:62;-1:-1:-1;;;14161:18:1;;;14154:39;14210:19;;17785:64:0;13830:405:1;17785:64:0;-1:-1:-1;;;;;17867:17:0;;;;;;:9;:17;;;;;;;;17866:18;:43;;;;-1:-1:-1;;;;;;17889:20:0;;;;;;:9;:20;;;;;;;;17888:21;17866:43;17862:122;;;17934:14;;-1:-1:-1;;;17934:14:0;;;;17926:46;;;;-1:-1:-1;;;17926:46:0;;14442:2:1;17926:46:0;;;14424:21:1;14481:2;14461:18;;;14454:30;-1:-1:-1;;;14500:18:1;;;14493:49;14559:18;;17926:46:0;14240:343:1;17926:46:0;18010:4;;-1:-1:-1;;;;;18000:14:0;;;18010:4;;18000:14;:39;;;;-1:-1:-1;;;;;;18019:20:0;;;;;;:9;:20;;;;;;;;18018:21;18000:39;:59;;;;-1:-1:-1;18044:15:0;;-1:-1:-1;;;18044:15:0;;;;18043:16;18000:59;17996:311;;;18094:11;;18084:6;:21;;18076:63;;;;-1:-1:-1;;;18076:63:0;;8190:2:1;18076:63:0;;;8172:21:1;8229:2;8209:18;;;8202:30;8268:31;8248:18;;;8241:59;8317:18;;18076:63:0;7988:353:1;18076:63:0;18213:14;;18203:6;18180:20;18190:9;-1:-1:-1;;;;;3813:18:0;3786:7;3813:18;;;;;;;;;;;;3712:127;18180:20;:29;;;;:::i;:::-;:47;;18154:141;;;;-1:-1:-1;;;18154:141:0;;10176:2:1;18154:141:0;;;10158:21:1;;;10195:18;;;10188:30;10254:34;10234:18;;;10227:62;10306:18;;18154:141:0;9974:356:1;18154:141:0;18347:4;;-1:-1:-1;;;;;18337:14:0;;;18347:4;;18337:14;;;;:39;;-1:-1:-1;;;;;;18356:20:0;;;;;;:9;:20;;;;;;;;18355:21;18337:39;:61;;;;-1:-1:-1;;;;;;18381:17:0;;;;;;:9;:17;;;;;;;;18380:18;18337:61;:81;;;;-1:-1:-1;18403:15:0;;-1:-1:-1;;;18403:15:0;;;;18402:16;18337:81;18319:682;;;18463:12;;18453:6;:22;;18445:65;;;;-1:-1:-1;;;18445:65:0;;16353:2:1;18445:65:0;;;16335:21:1;16392:2;16372:18;;;16365:30;16431:32;16411:18;;;16404:60;16481:18;;18445:65:0;16151:354:1;18445:65:0;18542:4;;-1:-1:-1;;;;;18529:17:0;;;18542:4;;18529:17;18525:211;;18630:14;;18620:6;18597:20;18607:9;-1:-1:-1;;;;;3813:18:0;3786:7;3813:18;;;;;;;;;;;;3712:127;18597:20;:29;;;;:::i;:::-;:47;;18567:153;;;;-1:-1:-1;;;18567:153:0;;10176:2:1;18567:153:0;;;10158:21:1;;;10195:18;;;10188:30;10254:34;10234:18;;;10227:62;10306:18;;18567:153:0;9974:356:1;18567:153:0;18754:15;;;;18750:240;;;-1:-1:-1;;;;;18829:17:0;;18790:18;18829:17;;;:9;:17;;;;;;18811:35;;:15;:35;:::i;:::-;18790:56;;18887:12;;18873:10;:26;;18865:55;;;;-1:-1:-1;;;18865:55:0;;14790:2:1;18865:55:0;;;14772:21:1;14829:2;14809:18;;;14802:30;-1:-1:-1;;;14848:18:1;;;14841:46;14904:18;;18865:55:0;14588:340:1;18865:55:0;-1:-1:-1;;;;;;18939:17:0;;;;;;:9;:17;;;;;18959:15;18939:35;;18750:240;19013:15;19039:14;19064:11;19086:25;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19086:25:0;-1:-1:-1;;;;;19145:17:0;;19124;19145;;;:9;:17;;;;;;;;19144:18;:56;;;;-1:-1:-1;;;;;;19180:20:0;;;;;;:9;:20;;;;;;;;19179:21;19144:56;:112;;;;;19248:8;;19232:13;;:24;;;;:::i;:::-;19217:12;:39;19144:112;19344:15;;19124:132;;-1:-1:-1;;;;19344:15:0;;;;;:36;;-1:-1:-1;;;;;;19363:17:0;;;;;;:9;:17;;;;;;;;19344:36;:60;;;-1:-1:-1;;;;;;19384:20:0;;;;;;:9;:20;;;;;;;;19344:60;19340:794;;;19425:1;19419:7;;19340:794;;;19490:4;;-1:-1:-1;;;;;19477:17:0;;;19490:4;;19477:17;:34;;;;;19499:12;19498:13;19477:34;19473:661;;;19682:13;;19633;;19682:9;19594:19;19555;;:58;;19594:19;19555:58;:::i;:::-;:91;;;;:::i;:::-;:140;;;;:::i;:::-;19741:24;;;;;;;;19756:9;19741:24;;;;;;;;;;;;;;;;;;;;;;;;19528:167;;-1:-1:-1;19528:167:0;;-1:-1:-1;19741:24:0;-1:-1:-1;19473:661:0;;;19788:12;19783:351;;19943:9;;19914;;19943:5;19879:15;19844;;:50;;19879:15;19844:50;:::i;:::-;:79;;;;:::i;:::-;:108;;;;:::i;:::-;19999:20;;;;;;;;20014:5;19999:20;;;;;;;;;;;;;;;;;;;;;;;;19817:135;;-1:-1:-1;19817:135:0;;-1:-1:-1;19999:20:0;-1:-1:-1;19783:351:0;;;20041:12;20037:97;;;20080:9;;;-1:-1:-1;20080:9:0;;-1:-1:-1;20037:97:0;20172:3;20153:15;20162:6;20153;:15;:::i;:::-;20152:23;;;;:::i;:::-;20289:18;;20146:29;;-1:-1:-1;;;;20289:18:0;;;;:36;;;;-1:-1:-1;20321:4:0;;-1:-1:-1;;;;;20311:14:0;;;20321:4;;20311:14;;20289:36;20285:76;;;20327:34;20339:7;20348:12;20327:11;:34::i;:::-;20403:48;20419:6;20427:9;20438:12;20447:3;20438:6;:12;:::i;:::-;20403:15;:48::i;:::-;20466:7;;20462:249;;20538:11;;20534:164;;20570:17;20611:3;20591:16;20600:7;20591:6;:16;:::i;:::-;20590:24;;;;:::i;:::-;20570:44;;20633:49;20649:6;20665:4;20672:9;20633:15;:49::i;:::-;20551:147;20534:164;17774:2944;;;;;17652:3066;;;:::o;12610:173::-;12685:6;;;-1:-1:-1;;;;;12702:17:0;;;-1:-1:-1;;;;;;12702:17:0;;;;;;;12735:40;;12685:6;;;12702:17;12685:6;;12735:40;;12666:16;;12735:40;12655:128;12610:173;:::o;20726:1698::-;15109:15;;-1:-1:-1;;;15109:15:0;;;;15104:125;;15141:15;:22;;-1:-1:-1;;;;15141:22:0;-1:-1:-1;;;15141:22:0;;;20861:4:::1;-1:-1:-1::0;3813:18:0;;;;;;;;;;;20817:50:::1;;20901:23;;20882:15;:42;20878:1539;;20971:1;20945:23;;:27;20941:109;;;-1:-1:-1::0;21011:23:0::1;::::0;20941:109:::1;21121:19;21143:11;:7:::0;21153:1:::1;21143:11;:::i;:::-;21121:33;;21169:32;21263:11;21223:9;:19;;;21205:15;:37;;;;:::i;:::-;21204:70;;;;:::i;:::-;21169:105:::0;-1:-1:-1;21289:14:0::1;21306:42;21169:105:::0;21306:15;:42:::1;:::i;:::-;21289:59:::0;-1:-1:-1;21390:21:0::1;21428:24;21289:59:::0;21428:16:::1;:24::i;:::-;21469:20;21492:38;21516:14:::0;21492:21:::1;:38;:::i;:::-;21469:61;;21545:19;21597:9;:19;;;21583:11;:33;;;;:::i;:::-;21567:50;::::0;:12;:50:::1;:::i;:::-;21545:72;;21632:29;21678:9;:19;;;21664:11;:33;;;;:::i;:::-;21632:65:::0;-1:-1:-1;21718:25:0;;21714:162:::1;;21799:61;21812:24;21838:21;21799:12;:61::i;:::-;21933:19:::0;;21892:20:::1;::::0;21915:15:::1;:11:::0;21929:1:::1;21915:15;:::i;:::-;:37;;;;:::i;:::-;21892:60:::0;-1:-1:-1;21971:16:0;;21967:105:::1;;22016:15;::::0;22008:48:::1;::::0;-1:-1:-1;;;;;22016:15:0::1;22043:12:::0;22008:34:::1;:48::i;:::-;22123:13;::::0;::::1;::::0;22088:14:::1;::::0;22105:15:::1;:11:::0;22119:1:::1;22105:15;:::i;:::-;:31;;;;:::i;:::-;22088:48:::0;-1:-1:-1;22155:10:0;;22151:87:::1;;22194:9;::::0;22186:36:::1;::::0;-1:-1:-1;;;;;22194:9:0::1;22215:6:::0;22186:28:::1;:36::i;:::-;22289:13;::::0;::::1;::::0;22254:14:::1;::::0;22271:15:::1;:11:::0;22285:1:::1;22271:15;:::i;:::-;:31;;;;:::i;:::-;22254:48:::0;-1:-1:-1;22321:10:0;;22317:87:::1;;22360:9;::::0;22352:36:::1;::::0;-1:-1:-1;;;;;22360:9:0::1;22381:6:::0;22352:28:::1;:36::i;:::-;20926:1491;;;;;;;;;;20878:1539;-1:-1:-1::0;15194:15:0;:23;;-1:-1:-1;;;;15194:23:0;;;20726:1698;;:::o;7844:638::-;-1:-1:-1;;;;;7984:20:0;;7976:70;;;;-1:-1:-1;;;7976:70:0;;15542:2:1;7976:70:0;;;15524:21:1;15581:2;15561:18;;;15554:30;15620:34;15600:18;;;15593:62;-1:-1:-1;;;15671:18:1;;;15664:35;15716:19;;7976:70:0;15340:401:1;7976:70:0;-1:-1:-1;;;;;8065:23:0;;8057:71;;;;-1:-1:-1;;;8057:71:0;;7786:2:1;8057:71:0;;;7768:21:1;7825:2;7805:18;;;7798:30;7864:34;7844:18;;;7837:62;-1:-1:-1;;;7915:18:1;;;7908:33;7958:19;;8057:71:0;7584:399:1;8057:71:0;-1:-1:-1;;;;;8225:17:0;;8201:21;8225:17;;;;;;;;;;;8261:23;;;;8253:74;;;;-1:-1:-1;;;8253:74:0;;9769:2:1;8253:74:0;;;9751:21:1;9808:2;9788:18;;;9781:30;9847:34;9827:18;;;9820:62;-1:-1:-1;;;9898:18:1;;;9891:36;9944:19;;8253:74:0;9567:402:1;8253:74:0;8358:22;8374:6;8358:13;:22;:::i;:::-;-1:-1:-1;;;;;8338:17:0;;;:9;:17;;;;;;;;;;;:42;;;;8391:20;;;;;;;;:30;;8415:6;;8338:9;8391:30;;8415:6;;8391:30;:::i;:::-;;;;;;;;8456:9;-1:-1:-1;;;;;8439:35:0;8448:6;-1:-1:-1;;;;;8439:35:0;;8467:6;8439:35;;;;17062:25:1;;17050:2;17035:18;;16916:177;8439:35:0;;;;;;;;7965:517;7844:638;;;:::o;22432:526::-;22574:16;;;22588:1;22574:16;;;;;;;;22550:21;;22574:16;;;;;;;;;;-1:-1:-1;22574:16:0;22550:40;;22619:4;22601;22606:1;22601:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22601:23:0;;;:7;;;;;;;;;;:23;;;;22645:6;;:13;;;-1:-1:-1;;;22645:13:0;;;;:6;;;;;:11;;:13;;;;;22601:7;;22645:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22635:4;22640:1;22635:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22635:23:0;;;:7;;;;;;;;;:23;22703:6;;22671:53;;22688:4;;22703:6;22712:11;22671:8;:53::i;:::-;22763:6;;:187;;-1:-1:-1;;;22763:187:0;;-1:-1:-1;;;;;22763:6:0;;;;:57;;:187;;22835:11;;22763:6;;22877:4;;22904;;22924:15;;22763:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22487:471;22432:526;:::o;22966:497::-;23146:6;;23114:53;;23131:4;;-1:-1:-1;;;;;23146:6:0;23155:11;23114:8;:53::i;:::-;23210:6;;-1:-1:-1;;;;;23210:6:0;:22;23241:9;23275:4;23295:11;23210:6;;23407:7;12158:6;;-1:-1:-1;;;;;12158:6:0;;12085:87;23407:7;23210:245;;;;;;-1:-1:-1;;;;;;23210:245:0;;;-1:-1:-1;;;;;6314:15:1;;;23210:245:0;;;6296:34:1;6346:18;;;6339:34;;;;6389:18;;;6382:34;;;;6432:18;;;6425:34;6496:15;;;6475:19;;;6468:44;23429:15:0;6528:19:1;;;6521:35;6230:19;;23210:245:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;22966:497;;:::o;11528:319::-;11643:6;11618:21;:31;;11610:73;;;;-1:-1:-1;;;11610:73:0;;11377:2:1;11610:73:0;;;11359:21:1;11416:2;11396:18;;;11389:30;11455:31;11435:18;;;11428:59;11504:18;;11610:73:0;11175:353:1;11610:73:0;11697:12;11715:9;-1:-1:-1;;;;;11715:14:0;11738:6;11715:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11696:54;;;11769:7;11761:78;;;;-1:-1:-1;;;11761:78:0;;10950:2:1;11761:78:0;;;10932:21:1;10989:2;10969:18;;;10962:30;11028:34;11008:18;;;11001:62;11099:28;11079:18;;;11072:56;11145:19;;11761:78:0;10748:422:1;14:134;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:128::-;218:20;;247:28;218:20;247:28;:::i;286:247::-;345:6;398:2;386:9;377:7;373:23;369:32;366:52;;;414:1;411;404:12;366:52;453:9;440:23;472:31;497:5;472:31;:::i;:::-;522:5;286:247;-1:-1:-1;;;286:247:1:o;538:251::-;608:6;661:2;649:9;640:7;636:23;632:32;629:52;;;677:1;674;667:12;629:52;709:9;703:16;728:31;753:5;728:31;:::i;794:388::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;978:9;965:23;997:31;1022:5;997:31;:::i;:::-;1047:5;-1:-1:-1;1104:2:1;1089:18;;1076:32;1117:33;1076:32;1117:33;:::i;:::-;1169:7;1159:17;;;794:388;;;;;:::o;1187:456::-;1264:6;1272;1280;1333:2;1321:9;1312:7;1308:23;1304:32;1301:52;;;1349:1;1346;1339:12;1301:52;1388:9;1375:23;1407:31;1432:5;1407:31;:::i;:::-;1457:5;-1:-1:-1;1514:2:1;1499:18;;1486:32;1527:33;1486:32;1527:33;:::i;:::-;1187:456;;1579:7;;-1:-1:-1;;;1633:2:1;1618:18;;;;1605:32;;1187:456::o;1648:382::-;1713:6;1721;1774:2;1762:9;1753:7;1749:23;1745:32;1742:52;;;1790:1;1787;1780:12;1742:52;1829:9;1816:23;1848:31;1873:5;1848:31;:::i;:::-;1898:5;-1:-1:-1;1955:2:1;1940:18;;1927:32;1968:30;1927:32;1968:30;:::i;2035:315::-;2103:6;2111;2164:2;2152:9;2143:7;2139:23;2135:32;2132:52;;;2180:1;2177;2170:12;2132:52;2219:9;2206:23;2238:31;2263:5;2238:31;:::i;:::-;2288:5;2340:2;2325:18;;;;2312:32;;-1:-1:-1;;;2035:315:1:o;2355:1202::-;2445:6;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2562:9;2549:23;2591:18;2632:2;2624:6;2621:14;2618:34;;;2648:1;2645;2638:12;2618:34;2686:6;2675:9;2671:22;2661:32;;2731:7;2724:4;2720:2;2716:13;2712:27;2702:55;;2753:1;2750;2743:12;2702:55;2789:2;2776:16;2811:4;2834:2;2830;2827:10;2824:36;;;2840:18;;:::i;:::-;2886:2;2883:1;2879:10;2918:2;2912:9;2981:2;2977:7;2972:2;2968;2964:11;2960:25;2952:6;2948:38;3036:6;3024:10;3021:22;3016:2;3004:10;3001:18;2998:46;2995:72;;;3047:18;;:::i;:::-;3083:2;3076:22;3133:18;;;3167:15;;;;-1:-1:-1;3202:11:1;;;3232;;;3228:20;;3225:33;-1:-1:-1;3222:53:1;;;3271:1;3268;3261:12;3222:53;3293:1;3284:10;;3303:169;3317:2;3314:1;3311:9;3303:169;;;3374:23;3393:3;3374:23;:::i;:::-;3362:36;;3335:1;3328:9;;;;;3418:12;;;;3450;;3303:169;;;-1:-1:-1;3491:6:1;-1:-1:-1;3516:35:1;;-1:-1:-1;3532:18:1;;;3516:35;:::i;:::-;3506:45;;;;;;2355:1202;;;;;:::o;3562:241::-;3618:6;3671:2;3659:9;3650:7;3646:23;3642:32;3639:52;;;3687:1;3684;3677:12;3639:52;3726:9;3713:23;3745:28;3767:5;3745:28;:::i;3808:245::-;3875:6;3928:2;3916:9;3907:7;3903:23;3899:32;3896:52;;;3944:1;3941;3934:12;3896:52;3976:9;3970:16;3995:28;4017:5;3995:28;:::i;4058:309::-;4123:6;4131;4184:2;4172:9;4163:7;4159:23;4155:32;4152:52;;;4200:1;4197;4190:12;4152:52;4239:9;4226:23;4258:28;4280:5;4258:28;:::i;4372:180::-;4431:6;4484:2;4472:9;4463:7;4459:23;4455:32;4452:52;;;4500:1;4497;4490:12;4452:52;-1:-1:-1;4523:23:1;;4372:180;-1:-1:-1;4372:180:1:o;4557:306::-;4645:6;4653;4661;4714:2;4702:9;4693:7;4689:23;4685:32;4682:52;;;4730:1;4727;4720:12;4682:52;4759:9;4753:16;4743:26;;4809:2;4798:9;4794:18;4788:25;4778:35;;4853:2;4842:9;4838:18;4832:25;4822:35;;4557:306;;;;;:::o;4868:385::-;4954:6;4962;4970;4978;5031:3;5019:9;5010:7;5006:23;5002:33;4999:53;;;5048:1;5045;5038:12;4999:53;-1:-1:-1;;5071:23:1;;;5141:2;5126:18;;5113:32;;-1:-1:-1;5192:2:1;5177:18;;5164:32;;5243:2;5228:18;5215:32;;-1:-1:-1;4868:385:1;-1:-1:-1;4868:385:1:o;6982:597::-;7094:4;7123:2;7152;7141:9;7134:21;7184:6;7178:13;7227:6;7222:2;7211:9;7207:18;7200:34;7252:1;7262:140;7276:6;7273:1;7270:13;7262:140;;;7371:14;;;7367:23;;7361:30;7337:17;;;7356:2;7333:26;7326:66;7291:10;;7262:140;;;7420:6;7417:1;7414:13;7411:91;;;7490:1;7485:2;7476:6;7465:9;7461:22;7457:31;7450:42;7411:91;-1:-1:-1;7563:2:1;7542:15;-1:-1:-1;;7538:29:1;7523:45;;;;7570:2;7519:54;;6982:597;-1:-1:-1;;;6982:597:1:o;13469:356::-;13671:2;13653:21;;;13690:18;;;13683:30;13749:34;13744:2;13729:18;;13722:62;13816:2;13801:18;;13469:356::o;17098:980::-;17360:4;17408:3;17397:9;17393:19;17439:6;17428:9;17421:25;17465:2;17503:6;17498:2;17487:9;17483:18;17476:34;17546:3;17541:2;17530:9;17526:18;17519:31;17570:6;17605;17599:13;17636:6;17628;17621:22;17674:3;17663:9;17659:19;17652:26;;17713:2;17705:6;17701:15;17687:29;;17734:1;17744:195;17758:6;17755:1;17752:13;17744:195;;;17823:13;;-1:-1:-1;;;;;17819:39:1;17807:52;;17914:15;;;;17879:12;;;;17855:1;17773:9;17744:195;;;-1:-1:-1;;;;;;;17995:32:1;;;;17990:2;17975:18;;17968:60;-1:-1:-1;;;18059:3:1;18044:19;18037:35;17956:3;17098:980;-1:-1:-1;;;17098:980:1:o;18668:128::-;18708:3;18739:1;18735:6;18732:1;18729:13;18726:39;;;18745:18;;:::i;:::-;-1:-1:-1;18781:9:1;;18668:128::o;18801:217::-;18841:1;18867;18857:132;;18911:10;18906:3;18902:20;18899:1;18892:31;18946:4;18943:1;18936:15;18974:4;18971:1;18964:15;18857:132;-1:-1:-1;19003:9:1;;18801:217::o;19023:422::-;19112:1;19155:5;19112:1;19169:270;19190:7;19180:8;19177:21;19169:270;;;19249:4;19245:1;19241:6;19237:17;19231:4;19228:27;19225:53;;;19258:18;;:::i;:::-;19308:7;19298:8;19294:22;19291:55;;;19328:16;;;;19291:55;19407:22;;;;19367:15;;;;19169:270;;;19173:3;19023:422;;;;;:::o;19450:140::-;19508:5;19537:47;19578:4;19568:8;19564:19;19558:4;19644:5;19674:8;19664:80;;-1:-1:-1;19715:1:1;19729:5;;19664:80;19763:4;19753:76;;-1:-1:-1;19800:1:1;19814:5;;19753:76;19845:4;19863:1;19858:59;;;;19931:1;19926:130;;;;19838:218;;19858:59;19888:1;19879:10;;19902:5;;;19926:130;19963:3;19953:8;19950:17;19947:43;;;19970:18;;:::i;:::-;-1:-1:-1;;20026:1:1;20012:16;;20041:5;;19838:218;;20140:2;20130:8;20127:16;20121:3;20115:4;20112:13;20108:36;20102:2;20092:8;20089:16;20084:2;20078:4;20075:12;20071:35;20068:77;20065:159;;;-1:-1:-1;20177:19:1;;;20209:5;;20065:159;20256:34;20281:8;20275:4;20256:34;:::i;:::-;20326:6;20322:1;20318:6;20314:19;20305:7;20302:32;20299:58;;;20337:18;;:::i;:::-;20375:20;;19595:806;-1:-1:-1;;;19595:806:1:o;20406:168::-;20446:7;20512:1;20508;20504:6;20500:14;20497:1;20494:21;20489:1;20482:9;20475:17;20471:45;20468:71;;;20519:18;;:::i;:::-;-1:-1:-1;20559:9:1;;20406:168::o;20579:125::-;20619:4;20647:1;20644;20641:8;20638:34;;;20652:18;;:::i;:::-;-1:-1:-1;20689:9:1;;20579:125::o;20709:380::-;20788:1;20784:12;;;;20831;;;20852:61;;20906:4;20898:6;20894:17;20884:27;;20852:61;20959:2;20951:6;20948:14;20928:18;20925:38;20922:161;;;21005:10;21000:3;20996:20;20993:1;20986:31;21040:4;21037:1;21030:15;21068:4;21065:1;21058:15;20922:161;;20709:380;;;:::o;21094:135::-;21133:3;-1:-1:-1;;21154:17:1;;21151:43;;;21174:18;;:::i;:::-;-1:-1:-1;21221:1:1;21210:13;;21094:135::o;21234:127::-;21295:10;21290:3;21286:20;21283:1;21276:31;21326:4;21323:1;21316:15;21350:4;21347:1;21340:15;21366:127;21427:10;21422:3;21418:20;21415:1;21408:31;21458:4;21455:1;21448:15;21482:4;21479:1;21472:15;21498:127;21559:10;21554:3;21550:20;21547:1;21540:31;21590:4;21587:1;21580:15;21614:4;21611:1;21604:15;21630:131;-1:-1:-1;;;;;21705:31:1;;21695:42;;21685:70;;21751:1;21748;21741:12;21766:118;21852:5;21845:13;21838:21;21831:5;21828:32;21818:60;;21874:1;21871;21864:12

Swarm Source

ipfs://edea9a07fea9978aa62f1ca0e7ae5867b29bd90b94c9f73bff002a571178c6e5
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.