Contract 0x80cba4031f7a75b650f4146e5ceba9d7562df939 1

 

Contract Overview

Balance:
0.04863586 BNB

BNB Value:
$20.23 (@ $415.98/BNB)

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xfee57917ebd69fad1a76c25566bcd47aea810639ae04b470dc2a216ef3bdbcbeApprove145606142022-01-21 14:03:0016 mins ago0xd71a929654a1ed811b3ea25f8543a5da19720eba IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.000222335
0xcc915e47bddd37887316c83bbafce616fe1748bfea8ffbab80e744490467242fApprove145604112022-01-21 13:52:2127 mins ago0xca81414b2ff2d3d4f21137799642907df1bd8422 IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.000221015
0xb6d7bda992a3f50d27d2ebe376f2e6d464f7b8d2df0335e9a543431d2c580263Approve145602982022-01-21 13:46:4232 mins ago0x4f525490b87e4bc5e8d245b380e5e8fa99d2806a IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.000222335
0x5b677cba9b3c36ace3f7ddf4a6caa67c43c480b30622ec4a9e9fc1640c5fc7deApprove145598722022-01-21 13:25:2454 mins ago0x8cf2ebaa4ebf809d82468273427aec1dd9d976a8 IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.00007271
0x7780364464191c73e2a17534b460e3b97939934d0ecf8f0efe504290d29c97e5Approve145598482022-01-21 13:24:1255 mins ago0x8cf2ebaa4ebf809d82468273427aec1dd9d976a8 IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.00007271
0x431b030acfc70fd197002626816ae613e2d5dbc98b6ea317cade53c0c9de8046Approve145598452022-01-21 13:24:0355 mins ago0x8cf2ebaa4ebf809d82468273427aec1dd9d976a8 IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.00007268
0x5064cb887553d3e5a41ff587add9e9bdde69a9160fe7ef1362b0155b083b7432Approve145597582022-01-21 13:19:4259 mins ago0x8ef6b84172fddedaf7a38a7cec575a004d2d728a IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.00007271
0x0951cfc17c5805abb2047dbfe9c15712632ade275877b1070c7f969cefe19a94Approve145596242022-01-21 13:13:001 hr 6 mins ago0x8ef6b84172fddedaf7a38a7cec575a004d2d728a IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.00007268
0x11e92193e24daef232e2de3e5ec64d6ae0772691f9dddc14e640165394da90ebTransfer145576792022-01-21 11:35:442 hrs 43 mins ago0x4636a89fdb0c1c2f4f0cd2e3d05b66b2619008eb IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.00601029
0x3eec3386c1edf4cb13278d0f60de4df2d9140d4521bf7453b939b0038406d6c3Transfer145565552022-01-21 10:39:303 hrs 39 mins ago0x324b9ca09378652f21a3f77aa44841b6fa927112 IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.006115405
0x9d0a83dbd43dccbc8ae31de0d61b2fb398a5c4be72b90fd947233f0bcde1fe8dApprove145562552022-01-21 10:24:303 hrs 54 mins ago0x863b20078a7e875fc7c5d3b3f9961873aaf85a30 IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.000221015
0xcd89436383a43eb5b0e95b589250f0ee28071911b7531d19e9efe6196d205187Approve145562222022-01-21 10:22:513 hrs 56 mins ago0xe06051e85ff690e56177da0b6025148fc61b8198 IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.000221075
0xb15be464ebfcd0698aa67be829b33e6caddc613bf42751827d3f02f7e8399fe6Approve145559772022-01-21 10:10:364 hrs 8 mins ago0x447798daac5df913b19f98a049859e91ad8f8aa9 IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.000221075
0x6e0a0829603cf01fca9ac177d90c9d7e77efc3d758c0e7e9d099543815230897Approve145555802022-01-21 9:50:454 hrs 28 mins ago0x5658d91dadf6129d85108eaba55d05ed85d214eb IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.000221075
0xb28aa2004b3c6ee9b3d250f898b9fdb96c6e8ac5184c130bf8245ea2973068d2Approve145553112022-01-21 9:37:184 hrs 42 mins ago0x447798daac5df913b19f98a049859e91ad8f8aa9 IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.000221015
0x36bb807af07c29db985d3d219522829d9358cfe11aa849ac86eb7c55c6858bb9Transfer145551862022-01-21 9:31:034 hrs 48 mins ago0x6dc3f0e67f4bcc7f103fb3b17a4d94e5a750e1ca IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.00563935
0x8a9e1167ba4b18ddf5c1cf61f367c01d14732073369094d28a2f0dba10291a23Transfer145550502022-01-21 9:24:154 hrs 55 mins ago0x6dc3f0e67f4bcc7f103fb3b17a4d94e5a750e1ca IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.00049792
0x53b07448e77b3d87a27c7691be57b93c82d08434e47df1f5242e1ce1ce7ccad4Transfer145550052022-01-21 9:22:004 hrs 57 mins ago0x6dc3f0e67f4bcc7f103fb3b17a4d94e5a750e1ca IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.00049792
0x273bace46824a21401aa8d58c8a324abc19dbe301f053e357f18a705b55eb4b8Approve145546432022-01-21 9:03:545 hrs 15 mins ago0x58f93019c11cc474509ecff87028c547ed91fd02 IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.000222335
0x236640b1102f51c37463c4398a90a645c783144f0a96c1802ae980c5ce6bd50fApprove145543772022-01-21 8:50:365 hrs 28 mins ago0xa639b5bc33a12268f36f47f957521089e610cf2d IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.000222335
0x284e7483875149011e0213bd942b73f08b0bbb82233377768d493ff3cafddd28Approve145543122022-01-21 8:47:215 hrs 32 mins ago0xe62c2bcf1fa21aa69d1ee92df0150617fc2c02b8 IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.000221075
0x6839b10b51ec2a7186ab6e51ff42b728c2c2140988f3756dcd5fc27f2c4565d7Approve145538282022-01-21 8:23:095 hrs 56 mins ago0x84f1def00676648c1de9b5ac9dc72a7e338e246c IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.000221075
0xa88250fe2e7415932c0645ecee5b7c72bd04c16c6807c0d6b6f4341df81ae540Transfer145538042022-01-21 8:21:575 hrs 57 mins ago0xb5cef326f2513f4716d1d382c1353efc5104a26c IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.00918282
0xd6f85381716897ad304ef7ea7c732696edf3740cb593f525bb35a63db095d0dcApprove145529362022-01-21 7:38:336 hrs 40 mins ago0x717eb750a2018fea1a79595b6aeebba3f77bf557 IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.000221015
0x7a1009cdeb7d54158d686c9682ca122235f8dc7c23adf4cc6475ddc801011897Approve145518422022-01-21 6:43:517 hrs 35 mins ago0xaa49a015d8886e8cb7357816b0db229bcc2056d3 IN  0x80cba4031f7a75b650f4146e5ceba9d7562df9390 BNB0.000221075
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xe238023130856972d783b357225cc0c4a4f5d60a4eb9e173b3cf172682ba40d8145555762022-01-21 9:50:334 hrs 28 mins ago 0x80cba4031f7a75b650f4146e5ceba9d7562df939 0x8e3ad8d73ee2439c3ce0a293e59c19563c2c56f52.744520431430275946 BNB
0xe238023130856972d783b357225cc0c4a4f5d60a4eb9e173b3cf172682ba40d8145555762022-01-21 9:50:334 hrs 28 mins ago PancakeSwap: Router v2 0x80cba4031f7a75b650f4146e5ceba9d7562df9392.744520431430275946 BNB
0xf956b462bc438f35a58fa8adf3700c70ae1b41e70977d44cb98537dda3a56e74145499072022-01-21 5:07:069 hrs 12 mins ago 0x80cba4031f7a75b650f4146e5ceba9d7562df939 0x8e3ad8d73ee2439c3ce0a293e59c19563c2c56f52.711747712226738581 BNB
0xf956b462bc438f35a58fa8adf3700c70ae1b41e70977d44cb98537dda3a56e74145499072022-01-21 5:07:069 hrs 12 mins ago PancakeSwap: Router v2 0x80cba4031f7a75b650f4146e5ceba9d7562df9392.711747712226738581 BNB
0x9a0a069c39209690f80bc328cd622b31904112d7db0a8c7827fa695cdfbee149145440562022-01-21 0:13:4214 hrs 5 mins ago 0x80cba4031f7a75b650f4146e5ceba9d7562df939 0x8e3ad8d73ee2439c3ce0a293e59c19563c2c56f52.742415227292478452 BNB
0x9a0a069c39209690f80bc328cd622b31904112d7db0a8c7827fa695cdfbee149145440562022-01-21 0:13:4214 hrs 5 mins ago PancakeSwap: Router v2 0x80cba4031f7a75b650f4146e5ceba9d7562df9392.742415227292478452 BNB
0xa577427d3825d675adae27e53f3cacbc164fadf4535f3515d03df78e00ad3c7b145401842022-01-20 20:59:3417 hrs 19 mins ago 0x80cba4031f7a75b650f4146e5ceba9d7562df939 0x8e3ad8d73ee2439c3ce0a293e59c19563c2c56f52.752601117159597294 BNB
0xa577427d3825d675adae27e53f3cacbc164fadf4535f3515d03df78e00ad3c7b145401842022-01-20 20:59:3417 hrs 19 mins ago PancakeSwap: Router v2 0x80cba4031f7a75b650f4146e5ceba9d7562df9392.752601117159597294 BNB
0x0fdb3a403ce78d8e4dfffeb8d6e7c63c47419a21eea232f38ac99d0be1543151145385322022-01-20 19:36:5718 hrs 42 mins ago 0x80cba4031f7a75b650f4146e5ceba9d7562df939 0x8e3ad8d73ee2439c3ce0a293e59c19563c2c56f52.801737855913802315 BNB
0x0fdb3a403ce78d8e4dfffeb8d6e7c63c47419a21eea232f38ac99d0be1543151145385322022-01-20 19:36:5718 hrs 42 mins ago PancakeSwap: Router v2 0x80cba4031f7a75b650f4146e5ceba9d7562df9392.801737855913802315 BNB
0xd54dad329128d4bbd9428f8e381e09a378b9ea1257b213ede21da3f7cb1da492145368172022-01-20 18:11:1220 hrs 8 mins ago 0x80cba4031f7a75b650f4146e5ceba9d7562df939 0x8e3ad8d73ee2439c3ce0a293e59c19563c2c56f52.708068309417051069 BNB
0xd54dad329128d4bbd9428f8e381e09a378b9ea1257b213ede21da3f7cb1da492145368172022-01-20 18:11:1220 hrs 8 mins ago PancakeSwap: Router v2 0x80cba4031f7a75b650f4146e5ceba9d7562df9392.708068309417051069 BNB
0x1cac5f90847533bdd126dc872b81a9de39ec81c5512a5e0030862f87f0c0b199145356322022-01-20 17:11:5221 hrs 7 mins ago 0x80cba4031f7a75b650f4146e5ceba9d7562df939 0x8e3ad8d73ee2439c3ce0a293e59c19563c2c56f52.647677050578769063 BNB
0x1cac5f90847533bdd126dc872b81a9de39ec81c5512a5e0030862f87f0c0b199145356322022-01-20 17:11:5221 hrs 7 mins ago PancakeSwap: Router v2 0x80cba4031f7a75b650f4146e5ceba9d7562df9392.647677050578769063 BNB
0xed75dc2c65cad11fb3151c589d6a423140cce121dcf0f82bb54e73ab53fb9c60145346702022-01-20 16:23:3721 hrs 55 mins ago 0x80cba4031f7a75b650f4146e5ceba9d7562df939 0x8e3ad8d73ee2439c3ce0a293e59c19563c2c56f52.694959877018709488 BNB
0xed75dc2c65cad11fb3151c589d6a423140cce121dcf0f82bb54e73ab53fb9c60145346702022-01-20 16:23:3721 hrs 55 mins ago PancakeSwap: Router v2 0x80cba4031f7a75b650f4146e5ceba9d7562df9392.694959877018709488 BNB
0x1a5197588582e0cf0f8e15cd09d9b5fa6d876ac57a132af074c278e181014a64145346332022-01-20 16:21:4621 hrs 57 mins ago 0x80cba4031f7a75b650f4146e5ceba9d7562df939 0x8e3ad8d73ee2439c3ce0a293e59c19563c2c56f52.78663450544078004 BNB
0x1a5197588582e0cf0f8e15cd09d9b5fa6d876ac57a132af074c278e181014a64145346332022-01-20 16:21:4621 hrs 57 mins ago PancakeSwap: Router v2 0x80cba4031f7a75b650f4146e5ceba9d7562df9392.78663450544078004 BNB
0x1ca6a9993acec80aa8960cdcaebb7be3c2d1aaef4ab2f925833db7768c059ed6145283682022-01-20 11:08:011 day 3 hrs ago 0x80cba4031f7a75b650f4146e5ceba9d7562df939 0x8e3ad8d73ee2439c3ce0a293e59c19563c2c56f52.796581014281689031 BNB
0x1ca6a9993acec80aa8960cdcaebb7be3c2d1aaef4ab2f925833db7768c059ed6145283682022-01-20 11:08:011 day 3 hrs ago PancakeSwap: Router v2 0x80cba4031f7a75b650f4146e5ceba9d7562df9392.796581014281689031 BNB
0x7dd3fdb2aa00e193436641b08c018098de2bc2ae73493216c7c7e90efc621a1c145265152022-01-20 9:35:221 day 4 hrs ago 0x80cba4031f7a75b650f4146e5ceba9d7562df939 0x8e3ad8d73ee2439c3ce0a293e59c19563c2c56f52.752037546509757378 BNB
0x7dd3fdb2aa00e193436641b08c018098de2bc2ae73493216c7c7e90efc621a1c145265152022-01-20 9:35:221 day 4 hrs ago PancakeSwap: Router v2 0x80cba4031f7a75b650f4146e5ceba9d7562df9392.752037546509757378 BNB
0xbba61fecc3093c3531f16a5bf5dcb33dd72d934c1ed57ac8b1d1b3ddd4c5671d145243982022-01-20 7:49:301 day 6 hrs ago 0x80cba4031f7a75b650f4146e5ceba9d7562df939 0x8e3ad8d73ee2439c3ce0a293e59c19563c2c56f52.786358166462725763 BNB
0xbba61fecc3093c3531f16a5bf5dcb33dd72d934c1ed57ac8b1d1b3ddd4c5671d145243982022-01-20 7:49:301 day 6 hrs ago PancakeSwap: Router v2 0x80cba4031f7a75b650f4146e5ceba9d7562df9392.786358166462725763 BNB
0x222cfb89d6c8e56c4506ad0711bb569cd989be29fbfb0bc60cb086862c634720145230762022-01-20 6:43:241 day 7 hrs ago 0x80cba4031f7a75b650f4146e5ceba9d7562df939 0x8e3ad8d73ee2439c3ce0a293e59c19563c2c56f52.81881223618978281 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EarnHub

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 999999 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-12-01
*/

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


///$$$$       /$$$$$$$$                               /$$   /$$           /$$             /$$$$
//| $$_/      | $$_____/                              | $$  | $$          | $$            |_  $$
//| $$        | $$        /$$$$$$   /$$$$$$  /$$$$$$$ | $$  | $$ /$$   /$$| $$$$$$$         | $$
//| $$        | $$$$$    |____  $$ /$$__  $$| $$__  $$| $$$$$$$$| $$  | $$| $$__  $$        | $$
//| $$        | $$__/     /$$$$$$$| $$  \__/| $$  \ $$| $$__  $$| $$  | $$| $$  \ $$        | $$
//| $$        | $$       /$$__  $$| $$      | $$  | $$| $$  | $$| $$  | $$| $$  | $$        | $$
//| $$$$      | $$$$$$$$|  $$$$$$$| $$      | $$  | $$| $$  | $$|  $$$$$$/| $$$$$$$/       /$$$$
//|____/      |________/ \_______/|__/      |__/  |__/|__/  |__/ \______/ |_______/       |____/
//
//
//    JOIN OUR TELEGRAM GROUP > t.me/earnhubBSC
//    JOIN OUR TELEGRAM GROUP > t.me/earnhubBSC
//    JOIN OUR TELEGRAM GROUP > t.me/earnhubBSC
//    JOIN OUR TELEGRAM GROUP > t.me/earnhubBSC
//    JOIN OUR TELEGRAM GROUP > t.me/earnhubBSC
//    JOIN OUR TELEGRAM GROUP > t.me/earnhubBSC
//
//
///$$      /$$ /$$                                           /$$
//| $$  /$ | $$| $$                                          |__/
//| $$ /$$$| $$| $$$$$$$   /$$$$$$   /$$$$$$   /$$$$$$        /$$ /$$$$$$$   /$$$$$$$  /$$$$$$  /$$$$$$/$$$$   /$$$$$$
//| $$/$$ $$ $$| $$__  $$ /$$__  $$ /$$__  $$ /$$__  $$      | $$| $$__  $$ /$$_____/ /$$__  $$| $$_  $$_  $$ /$$__  $$
//| $$$$_  $$$$| $$  \ $$| $$$$$$$$| $$  \__/| $$$$$$$$      | $$| $$  \ $$| $$      | $$  \ $$| $$ \ $$ \ $$| $$$$$$$$
//| $$$/ \  $$$| $$  | $$| $$_____/| $$      | $$_____/      | $$| $$  | $$| $$      | $$  | $$| $$ | $$ | $$| $$_____/
//| $$/   \  $$| $$  | $$|  $$$$$$$| $$      |  $$$$$$$      | $$| $$  | $$|  $$$$$$$|  $$$$$$/| $$ | $$ | $$|  $$$$$$$
//|__/     \__/|__/  |__/ \_______/|__/       \_______/      |__/|__/  |__/ \_______/ \______/ |__/ |__/ |__/ \_______/
//
//
//
///$$                   /$$     /$$                                             /$$
//|__/                  | $$    | $$                                            | $$
///$$  /$$$$$$$       /$$$$$$  | $$$$$$$   /$$$$$$         /$$$$$$  /$$   /$$ /$$$$$$    /$$$$$$$  /$$$$$$  /$$$$$$/$$$$   /$$$$$$
//| $$ /$$_____/      |_  $$_/  | $$__  $$ /$$__  $$       /$$__  $$| $$  | $$|_  $$_/   /$$_____/ /$$__  $$| $$_  $$_  $$ /$$__  $$
//| $$|  $$$$$$         | $$    | $$  \ $$| $$$$$$$$      | $$  \ $$| $$  | $$  | $$    | $$      | $$  \ $$| $$ \ $$ \ $$| $$$$$$$$
//| $$ \____  $$        | $$ /$$| $$  | $$| $$_____/      | $$  | $$| $$  | $$  | $$ /$$| $$      | $$  | $$| $$ | $$ | $$| $$_____/
//| $$ /$$$$$$$/        |  $$$$/| $$  | $$|  $$$$$$$      |  $$$$$$/|  $$$$$$/  |  $$$$/|  $$$$$$$|  $$$$$$/| $$ | $$ | $$|  $$$$$$$
//|__/|_______/          \___/  |__/  |__/ \_______/       \______/  \______/    \___/   \_______/ \______/ |__/ |__/ |__/ \_______/



/**
 * Allows for contract ownership along with multi-address authorization
 */
abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    /**
     * Function modifier to require caller to be contract owner
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    /**
     * Function modifier to require caller to be authorized
     */
    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }

    /**
     * Authorize address. Owner only. Calls internal _authorize method
     */
    function authorize(address adr) external onlyOwner {
        _authorize(adr);
    }
    
    function _authorize (address adr) internal {
        authorizations[adr] = true;
    }
    /**
     * Remove address' authorization. Owner only
     */
    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Return address' authorization status
     */
    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    /**
     * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}


library EarnHubLib {
    struct User {
        address _address;
        uint256 lastPurchase;
        bool isReferral;
        uint256 referralBuyDiscount;
        uint256 referralSellDiscount;
        uint256 referralCount;
    }

    enum TransferType {
        Sale,
        Purchase,
        Transfer
    }

    struct Transfer {
        User user;
        uint256 amt;
        TransferType transferType;
        address from;
        address to;
    }
}

/**
 * BEP20 standard interface.
 */
interface IBEP20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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 IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

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

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

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


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

interface ITransferGateway {
    function removeHookedContract(uint256 _hookedContractId) external;
    function updateHookedContractShares(uint256 _hookedContractId, uint256 _newShares) external;
    function updateHookedContractHandicap(uint256 _hookedContractId, uint256 _newHandicap) external;
    function onTransfer(EarnHubLib.Transfer memory _transfer) external;
    function setBpScale(uint256 _newBpScale) external;
    function setMinGasThreshold(uint256 _newMinGas) external;
    function setMaxGas(uint256 _newMaxGas) external;
    function depositBNB() external payable;
}


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


interface IAnyflect {
    function subscribeToReflection(IDEXRouter router, IBEP20 token) external;
    function excludeFromProcess(bool _val) external;
    function setShares(address from, address to, uint256 toBalance, uint256 fromBalance) external;
    function setExcludedFrom(address from, bool val) external;
    function setExcludedTo(address from, bool val) external;
}

interface ILoyaltyTracker {
    function getReferralData(address _addr) external returns(bool, uint256, uint256, uint256); // * gets all of the data below in a single DELEGATECALL
    function getReferralStatus(address _addr) external returns (bool);
    function getBuyDiscount(address _addr) external returns (uint256);
    function getSellDiscount(address _addr) external returns (uint256);
    function getReferralCount(address _addr) external returns (uint256);
}

contract EarnHub is IBEP20, Auth {
    // * Custom Event declarations
    event GenericErrorEvent(string reason);

    address deadAddress = 0x000000000000000000000000000000000000dEaD;

    // Fees
    uint256 public baseSellFee = 1700; //! default floor sale Fee, always taxes higher and decays to this value after N days (see getVariableFee())
    uint256 public currentSellFee = baseSellFee;
    uint256 public maxSellFee = 0;
    uint256 public transferFee = 0;
    uint256 public baseBuyFee = 1200;

    // Variable Fee timestamps
    uint256 public variableFeeStartingTimestamp;
    uint256 public variableFeeEndingTimestamp;

    // Convenience data
    address public pair;
    mapping(address => bool) liquidityPairs;

    mapping(address => bool) isPresale;

    // Token data
    string constant _name = "EarnHub Token";
    string constant _symbol = "EHB";
    uint8 constant _decimals = 9;
    uint256 public _totalSupply = 7e13 * 1e9;
    uint256 public _maxTxAmount = _totalSupply;
    uint256 public _swapThreshold = 1000 * 1e9;

    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;
    mapping (address => bool ) isBasicTransfer;

    mapping(address => bool) public isFeeExempt;
    mapping(address => bool) isTxLimitExempt;

    // User data
    mapping(address => EarnHubLib.User) public users;

    IAnyflect public anyflect;
    mapping(address => bool) public isAnyflectExempt;

    IDEXRouter public router;
    ITransferGateway public transferGateway;
    ILoyaltyTracker public loyaltyTracker;

    // Modifier used to know if our own contract executed a swap and this transfer corresponds to a swap executed by this contract. This is used to prevent circular liquidity issues.
    bool inSwap;
    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (address _dexRouter, ITransferGateway _transferGateway, string memory _name, string memory _symbol) Auth(msg.sender) {
        // Token Variables
        _name = _name;
        _symbol = _symbol;

        transferGateway = _transferGateway;
        _authorize(address(transferGateway));

        isFeeExempt[msg.sender] = true;
        isFeeExempt[_dexRouter] = true;
        isTxLimitExempt[msg.sender] = true;

        // Enabling Dex trading
        router = IDEXRouter(_dexRouter);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        liquidityPairs[pair] = true;
        _allowances[address(this)][address(router)] = _totalSupply;
        approve(_dexRouter, _totalSupply);
        approve(address(pair), _totalSupply);

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != _totalSupply) {
            _allowances[sender][msg.sender] -= amount;
        }
        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (inSwap || sender == address(anyflect) || isBasicTransfer[sender]) {return _basicTransfer(sender, recipient, amount);}


        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");

        if (_shouldSwapBack()) { _swapBack(); }
        EarnHubLib.TransferType transferType = _createTransferType(sender, recipient);

        // * Getting referral data for transferType
        bool isReferral;
        uint256 referralBuyDiscount;
        uint256 referralSellDiscount;
        uint256 referralCount;
        if (address(loyaltyTracker) != address(0)) {
            (isReferral, referralBuyDiscount, referralSellDiscount, referralCount) = getReferralData(sender);
            if (referralSellDiscount > baseSellFee) {
                emit GenericErrorEvent("_transferFrom(): referralSellDiscount > baseSellFee");
            }
            if (referralBuyDiscount > baseBuyFee) {
                emit GenericErrorEvent("_transferFrom(): referralBuyDiscount > baseBuyFee");
            }
        }

        uint amountAfterFee = !isFeeExempt[sender] ? _takeFee(sender, recipient, amount, transferType, referralBuyDiscount, referralSellDiscount) : amount;
        _balances[sender] -= amount;
        _balances[recipient] += amountAfterFee;

        EarnHubLib.User memory user = _createOrUpdateUser(address(sender), block.timestamp, isReferral, referralBuyDiscount, referralSellDiscount, referralCount);

        EarnHubLib.Transfer memory transf = _createTransfer(user, amount, transferType, sender, recipient);


        if (address(anyflect) != address(0)) {
            uint256 balancesSender = _balances[sender];
            uint256 balancesRecipient = _balances[recipient];

            try anyflect.setShares(sender, recipient, balancesSender, balancesRecipient) {

            } catch Error (string memory reason) {
                emit GenericErrorEvent("_transferFrom(): anyflect.setShares() Failed");
                emit GenericErrorEvent(reason);
            }
        }


        try transferGateway.onTransfer(transf) {

        } catch Error (string memory reason) {
            emit GenericErrorEvent('_transferFrom(): transferGateway.onTransfer() Failed');
            emit GenericErrorEvent(reason);
        }

        emit Transfer(sender, recipient, amountAfterFee);
        return true;
    }

    function _createOrUpdateUser(address _addr, uint256 _lastPurchase, bool _isReferral, uint256 _referralBuyDiscount, uint256 _referralSellDiscount, uint256 _referralCount) internal returns (EarnHubLib.User memory) {
        EarnHubLib.User memory user = EarnHubLib.User(_addr, _lastPurchase, _isReferral, _referralBuyDiscount, _referralSellDiscount, _referralCount);

        users[_addr] = user;

        return user;
    }

    function _createTransferType(address _from, address _recipient) internal view returns (EarnHubLib.TransferType) {
        if (liquidityPairs[_recipient]) {
            return EarnHubLib.TransferType.Sale;
        } else if (liquidityPairs[_from] || isPresale[_from]) {
            return EarnHubLib.TransferType.Purchase;
        }
        return EarnHubLib.TransferType.Transfer;
    }

    function _createTransfer(EarnHubLib.User memory _address, uint256 _amt, EarnHubLib.TransferType _transferType, address _from, address _to) internal pure returns (EarnHubLib.Transfer memory) {
        EarnHubLib.Transfer memory _transfer = EarnHubLib.Transfer(_address, _amt, _transferType, _from, _to);
        return _transfer;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function _takeFee(address _sender, address _receiver, uint256 _amount, EarnHubLib.TransferType _transferType, uint256 _referralBuyDiscount, uint256 _referralSellDiscount) internal returns (uint256) {
        // * Takes the fee and keeps remainder in contract
        uint256 feeAmount = _amount * getTotalFee(_transferType, _referralBuyDiscount, _referralSellDiscount) / 10000;

        if (feeAmount > 0) {
            _balances[address(this)] += feeAmount;
            emit Transfer(_sender, address(this), feeAmount);
        }

        return (_amount - feeAmount);
    }

    function _shouldSwapBack() internal view returns (bool) {
        return ((msg.sender != pair) && (!inSwap) && (_balances[address(this)] >= _swapThreshold));
    }

    function _swapBack() internal swapping {
        uint256 amountToSwap = _swapThreshold;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountBNB = address(this).balance - balanceBefore;

        try transferGateway.depositBNB{value : amountBNB}() {

        } catch Error(string memory reason) {
            emit GenericErrorEvent("_swapBack(): transferGateway.depositBNB() Failed");
            emit GenericErrorEvent(reason);
        }
    }


    // * Getter (view only) Functions
    function getCirculatingSupply() public view returns (uint256) {
        return (_totalSupply - balanceOf(deadAddress) - balanceOf(address(0)));
    }

    function getLiquidityBacking(uint256 _accuracy) public view returns (uint256) {
        return (_accuracy * (balanceOf(pair) * 2) / getCirculatingSupply());
    }

    function isOverLiquified(uint256 _target, uint256 _accuracy) public view returns (bool) {
        return (getLiquidityBacking(_accuracy) > _target);
    }

    function getTotalFee(EarnHubLib.TransferType _transferType, uint256 _referralBuyDiscount, uint256 _referralSellDiscount) public returns (uint256) {


        if (_transferType == EarnHubLib.TransferType.Sale) {
            uint256 sellFee = maxSellFee > 0 ? getVariableSellFee() : baseSellFee;
            if (_referralSellDiscount > 0) sellFee -= _referralSellDiscount;
            return sellFee;
        }
        if (_transferType == EarnHubLib.TransferType.Transfer) {
            return transferFee;
        }
        else {
            uint256 buyFee = baseBuyFee;
            if (_referralBuyDiscount > 0) buyFee -= _referralBuyDiscount;
            return buyFee;
        }
    }

    function getVariableSellFee() public returns (uint256) {
        // ! starts at maxSellFee then lineally decays to baseSellFee over variableTaxTimeframe

        // * variable sell fee timeframe ended or timeframe hasn't started
        if (variableFeeStartingTimestamp > block.timestamp || variableFeeEndingTimestamp < block.timestamp) {
            if (variableFeeEndingTimestamp < block.timestamp) maxSellFee = 0;

            currentSellFee = baseSellFee;
            return baseSellFee;
        } else if (variableFeeStartingTimestamp <= block.timestamp && block.timestamp <= variableFeeEndingTimestamp) {// * while in variable fee timeframe
            // * how long does variableFee timeframe lasts in seconds
            uint256 variableTaxTimeframe = variableFeeEndingTimestamp - variableFeeStartingTimestamp;
            uint256 sellFee = baseSellFee + ((maxSellFee - baseSellFee) * (variableTaxTimeframe - (block.timestamp - variableFeeStartingTimestamp))) / variableTaxTimeframe;
            currentSellFee = sellFee;
            return sellFee;
        }
        return baseSellFee;
    }

    function getReferralData(address _addr) public returns (bool isReferral, uint256 referralBuyDiscount, uint256 referralSellDiscount, uint256 referralCount) {

        try loyaltyTracker.getReferralData(_addr) returns (bool isReferral, uint256 referralBuyDiscount, uint256 referralSellDiscount, uint256 referralCount){
            isReferral = isReferral;
            referralBuyDiscount = referralBuyDiscount;
            referralSellDiscount = referralSellDiscount;
            referralCount = referralCount;

        } catch Error (string memory reason){
            emit GenericErrorEvent('getReferralData(): loyaltyTracker.getReferralData() Failed');
            emit GenericErrorEvent(reason);

            isReferral = false;
            referralBuyDiscount = 0;
            referralSellDiscount = 0;
            referralCount = 0;
        }

        return (isReferral, referralBuyDiscount, referralSellDiscount, referralCount);

    }


    // * Setter (write only) Functions
    function setVariableSellFeeParams(uint256 _maxSellFee, bool _useCurrentTimestampForStart, uint256 _startingTimestamp, uint256 _endingTimestamp) external authorized {
        require(_endingTimestamp >= _startingTimestamp, "_endingTimestamp should be >= _startingTimestamp");
        require(_maxSellFee >= baseSellFee, "_maxFee should be >= baseSellFee");

        maxSellFee = _maxSellFee;
        variableFeeStartingTimestamp = _useCurrentTimestampForStart ? block.timestamp : _startingTimestamp;
        variableFeeEndingTimestamp = _endingTimestamp;
    }

    function setNewBaseFees(uint256 _newBaseSellFee, uint256 _newTransferFee, uint256 _newBaseBuyFee) external authorized {
        require(_newBaseSellFee <= 10000 && _newTransferFee <= 10000 && _newBaseBuyFee <= 10000, "New fees should be less than 100%");
        baseSellFee = _newBaseSellFee;
        transferFee = _newTransferFee;
        baseBuyFee = _newBaseBuyFee;
    }

    function setTransferGateway(ITransferGateway _transferGateway) external authorized {
        transferGateway = _transferGateway;
        _authorize(address(_transferGateway));
    }

    function setAnyflect(IAnyflect _anyflect) external authorized {
        anyflect = _anyflect;
        anyflect.setExcludedFrom(pair, true);
        anyflect.setExcludedTo(pair, true);
        anyflect.setExcludedFrom(address(this), true);
        anyflect.setExcludedFrom(address(0), true);
        anyflect.setExcludedFrom(0x000000000000000000000000000000000000dEaD, true);
        _authorize(address(anyflect));
    }

    function setDexRouter(IDEXRouter _router) external authorized {
        router = _router;
    }

    function setLoyaltyTracker(ILoyaltyTracker _loyaltyTracker) external authorized {
        loyaltyTracker = _loyaltyTracker;
        _authorize(address(_loyaltyTracker));
    }

    function setTxLimit(uint256 _amount) external authorized {
        _maxTxAmount = _amount;
    }

    function setIsFeeExempt(address _addr, bool _exempt) external authorized {
        isFeeExempt[_addr] = _exempt;
    }

    function setIsTxLimitExempt(address _addr, bool _exempt) external authorized {
        isTxLimitExempt[_addr] = _exempt;
    }

    function setLiquidityPair(address _pair, bool _value) external authorized {
        liquidityPairs[_pair] = _value;
    }

    function setSwapThreshold(uint256 _amount) external authorized {
        _swapThreshold = _amount;
    }

    function setAnyflectExempt(address _addr, bool _value) external authorized {
        isAnyflectExempt[_addr] = _value;
    }

    function setPresaleContract(address _addr, bool _value) external authorized {
        isPresale[_addr] = _value;
    }

    function setBasicTransfer(address _addr, bool _value) external authorized {
        isBasicTransfer[_addr] = _value;
    }

    function rescueSquad(address payable _to) external authorized {
        (bool success,) = _to.call{value : address(this).balance}("");
        require(success, "unable to send value, recipient may have reverted");
    }

    // Grabs any shitcoin someone sends to our contract, converts it to rewards for our holders ♥
    function fuckShitcoins(IBEP20 _shitcoin, address[] memory _path, address _to) external authorized {
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            _shitcoin.balanceOf(address(this)),
            0,
            _path,
            address(_to),
            block.timestamp
        );
    }

    // * Interface-compliant functions
    receive() external payable {}

    function totalSupply() external view override returns (uint256) {return _totalSupply;}

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

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

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

    function getOwner() external view override returns (address) {return owner;}

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

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, _totalSupply);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_dexRouter","type":"address"},{"internalType":"contract ITransferGateway","name":"_transferGateway","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"GenericErrorEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"anyflect","outputs":[{"internalType":"contract IAnyflect","name":"","type":"address"}],"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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"contract IBEP20","name":"_shitcoin","type":"address"},{"internalType":"address[]","name":"_path","type":"address[]"},{"internalType":"address","name":"_to","type":"address"}],"name":"fuckShitcoins","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"getReferralData","outputs":[{"internalType":"bool","name":"isReferral","type":"bool"},{"internalType":"uint256","name":"referralBuyDiscount","type":"uint256"},{"internalType":"uint256","name":"referralSellDiscount","type":"uint256"},{"internalType":"uint256","name":"referralCount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum EarnHubLib.TransferType","name":"_transferType","type":"uint8"},{"internalType":"uint256","name":"_referralBuyDiscount","type":"uint256"},{"internalType":"uint256","name":"_referralSellDiscount","type":"uint256"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getVariableSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isAnyflectExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"loyaltyTracker","outputs":[{"internalType":"contract ILoyaltyTracker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_to","type":"address"}],"name":"rescueSquad","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IAnyflect","name":"_anyflect","type":"address"}],"name":"setAnyflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"setAnyflectExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"setBasicTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IDEXRouter","name":"_router","type":"address"}],"name":"setDexRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"setLiquidityPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ILoyaltyTracker","name":"_loyaltyTracker","type":"address"}],"name":"setLoyaltyTracker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBaseSellFee","type":"uint256"},{"internalType":"uint256","name":"_newTransferFee","type":"uint256"},{"internalType":"uint256","name":"_newBaseBuyFee","type":"uint256"}],"name":"setNewBaseFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"setPresaleContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ITransferGateway","name":"_transferGateway","type":"address"}],"name":"setTransferGateway","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxSellFee","type":"uint256"},{"internalType":"bool","name":"_useCurrentTimestampForStart","type":"bool"},{"internalType":"uint256","name":"_startingTimestamp","type":"uint256"},{"internalType":"uint256","name":"_endingTimestamp","type":"uint256"}],"name":"setVariableSellFeeParams","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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":[],"name":"transferFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"transferGateway","outputs":[{"internalType":"contract ITransferGateway","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"lastPurchase","type":"uint256"},{"internalType":"bool","name":"isReferral","type":"bool"},{"internalType":"uint256","name":"referralBuyDiscount","type":"uint256"},{"internalType":"uint256","name":"referralSellDiscount","type":"uint256"},{"internalType":"uint256","name":"referralCount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"variableFeeEndingTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"variableFeeStartingTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b03191661dead1790556106a46003819055600455600060058190556006556104b0600755690ed2b525841adfc00000600d819055600e5564e8d4a51000600f553480156200005c57600080fd5b50604051620040bd380380620040bd8339810160408190526200007f91620004f8565b600080546001600160a01b03199081163390811783558252600160208190526040909220805460ff1916909217909155601980546001600160a01b03868116919093161790819055620000d3911662000394565b3360008181526013602090815260408083208054600160ff1991821681179092556001600160a01b038a81168087528487208054841685179055968652601485529483902080549091169091179055601880546001600160a01b03191690941793849055805163c45a015560e01b81529051939092169263c45a0155926004808201939291829003018186803b1580156200016d57600080fd5b505afa15801562000182573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a89190620004d2565b6001600160a01b031663c9c65396601860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020557600080fd5b505afa1580156200021a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002409190620004d2565b306040518363ffffffff1660e01b8152600401620002609291906200058a565b602060405180830381600087803b1580156200027b57600080fd5b505af115801562000290573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b69190620004d2565b600a80546001600160a01b0319166001600160a01b03928316179081905581166000908152600b60209081526040808320805460ff19166001179055600d543084526011835281842060185490951684529390915290208190556200031d908590620003bb565b50600a54600d5462000339916001600160a01b031690620003bb565b50600d543360008181526010602052604080822084905551919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916200038291620005a4565b60405180910390a350505050620005dc565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b3360008181526011602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259062000416908690620005a4565b60405180910390a350600192915050565b600082601f83011262000438578081fd5b81516001600160401b0380821115620004555762000455620005ad565b6040516020601f8401601f19168201810183811183821017156200047d576200047d620005ad565b604052838252858401810187101562000494578485fd5b8492505b83831015620004b7578583018101518284018201529182019162000498565b83831115620004c857848185840101525b5095945050505050565b600060208284031215620004e4578081fd5b8151620004f181620005c3565b9392505050565b600080600080608085870312156200050e578283fd5b84516200051b81620005c3565b60208601519094506200052e81620005c3565b60408601519093506001600160401b03808211156200054b578384fd5b620005598883890162000427565b935060608701519150808211156200056f578283fd5b506200057e8782880162000427565b91505092959194509250565b6001600160a01b0392831681529116602082015260400190565b90815260200190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114620005d957600080fd5b50565b613ad180620005ec6000396000f3fe60806040526004361061036f5760003560e01c806399360b1d116101c6578063d385739e116100f7578063f0b37c0411610095578063f84ba65d1161006f578063f84ba65d14610982578063f887ea40146109a2578063fb7b12f7146109b7578063fe9fbb80146109d757610376565b8063f0b37c0414610922578063f2fde38b14610942578063f72f863b1461096257610376565b8063dd62ed3e116100d1578063dd62ed3e146108b8578063df9808a8146108d8578063e7f65a80146108f8578063efe25ad21461090d57610376565b8063d385739e1461086e578063d51ed1c814610883578063d726b221146108a357610376565b8063a9059cbb11610164578063b8a1ee1d1161013e578063b8a1ee1d14610804578063c2cb6e4314610824578063d06f566214610844578063d073a01f1461085957610376565b8063a9059cbb146107af578063acb2ad6f146107cf578063b6a5d7de146107e457610376565b8063a3674633116101a0578063a367463314610718578063a85e07b914610748578063a87430ba14610768578063a8aa1b311461079a57610376565b806399360b1d146106ce5780639d0014b1146106e35780639e035e5b1461070357610376565b80633f4218e0116102a057806377b9ddf91161023e578063856a05db11610218578063856a05db14610662578063893d20e8146106825780638a72ca31146106a457806395d89b41146106b957610376565b806377b9ddf91461060d57806378b3a3a31461062d5780637d1db4a51461064d57610376565b80635c85974f1161027a5780635c85974f1461058d5780636564d1b0146105ad578063658d4b7f146105cd57806370a08231146105ed57610376565b80633f4218e01461052d57806347ef04f81461054d578063571ac8b01461056d57610376565b806318160ddd1161030d5780632b112e49116102e75780632b112e49146104c15780632f54bf6e146104d6578063313ce567146104f65780633eaaf86b1461051857610376565b806318160ddd1461046c578063238760641461048157806323b872dd146104a157610376565b80630b1e142a116103495780630b1e142a146103f55780630e5a9231146104155780631161ae391461043757806314905c401461045757610376565b806303ce811e1461037b57806306fdde031461039d578063095ea7b3146103c857610376565b3661037657005b600080fd5b34801561038757600080fd5b5061039b610396366004613144565b6109f7565b005b3480156103a957600080fd5b506103b2610aa5565b6040516103bf91906132ab565b60405180910390f35b3480156103d457600080fd5b506103e86103e3366004612f31565b610add565b6040516103bf9190613283565b34801561040157600080fd5b5061039b610410366004612f04565b610b55565b34801561042157600080fd5b5061042a610bea565b6040516103bf91906137e0565b34801561044357600080fd5b506103e8610452366004613123565b610bf0565b34801561046357600080fd5b5061042a610c04565b34801561047857600080fd5b5061042a610c0a565b34801561048d57600080fd5b5061039b61049c366004612f04565b610c10565b3480156104ad57600080fd5b506103e86104bc366004612ec4565b610ca5565b3480156104cd57600080fd5b5061042a610d3b565b3480156104e257600080fd5b506103e86104f1366004612e54565b610d85565b34801561050257600080fd5b5061050b610da9565b6040516103bf9190613873565b34801561052457600080fd5b5061042a610dae565b34801561053957600080fd5b506103e8610548366004612e54565b610db4565b34801561055957600080fd5b5061039b610568366004612e54565b610dc9565b34801561057957600080fd5b506103e8610588366004612e54565b610e54565b34801561059957600080fd5b5061039b6105a83660046130b7565b610e62565b3480156105b957600080fd5b5061039b6105c8366004612f04565b610ea6565b3480156105d957600080fd5b5061039b6105e8366004612f04565b610f3b565b3480156105f957600080fd5b5061042a610608366004612e54565b610fd0565b34801561061957600080fd5b5061042a610628366004613080565b610ff8565b34801561063957600080fd5b5061039b610648366004612e54565b6110ce565b34801561065957600080fd5b5061042a611156565b34801561066e57600080fd5b506103e861067d366004612e54565b61115c565b34801561068e57600080fd5b50610697611171565b6040516103bf91906131c4565b3480156106b057600080fd5b5061069761118d565b3480156106c557600080fd5b506103b26111a9565b3480156106da57600080fd5b506106976111e0565b3480156106ef57600080fd5b5061039b6106fe3660046130b7565b6111fc565b34801561070f57600080fd5b5061042a611240565b34801561072457600080fd5b50610738610733366004612e54565b611246565b6040516103bf949392919061328e565b34801561075457600080fd5b5061039b610763366004612f04565b6113c1565b34801561077457600080fd5b50610788610783366004612e54565b611456565b6040516103bf96959493929190613243565b3480156107a657600080fd5b506106976114a6565b3480156107bb57600080fd5b506103e86107ca366004612f31565b6114c2565b3480156107db57600080fd5b5061042a6114cf565b3480156107f057600080fd5b5061039b6107ff366004612e54565b6114d5565b34801561081057600080fd5b5061039b61081f366004612e54565b61151d565b34801561083057600080fd5b5061039b61083f366004612e54565b611603565b34801561085057600080fd5b50610697611955565b34801561086557600080fd5b5061042a611971565b34801561087a57600080fd5b5061042a611977565b34801561088f57600080fd5b5061042a61089e3660046130b7565b611a3c565b3480156108af57600080fd5b5061042a611a87565b3480156108c457600080fd5b5061042a6108d3366004612e8c565b611a8d565b3480156108e457600080fd5b5061039b6108f33660046130e7565b611ac5565b34801561090457600080fd5b5061042a611b97565b34801561091957600080fd5b5061042a611b9d565b34801561092e57600080fd5b5061039b61093d366004612e54565b611ba3565b34801561094e57600080fd5b5061039b61095d366004612e54565b611c2e565b34801561096e57600080fd5b5061039b61097d366004612e54565b611d20565b34801561098e57600080fd5b5061039b61099d366004612f04565b611da6565b3480156109ae57600080fd5b50610697611e3b565b3480156109c357600080fd5b5061039b6109d2366004612f9a565b611e57565b3480156109e357600080fd5b506103e86109f2366004612e54565b611fa2565b610a0033611fa2565b610a3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b60405180910390fd5b6127108311158015610a5357506127108211155b8015610a6157506127108111155b610a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a36906134c7565b600392909255600655600755565b60408051808201909152600d81527f4561726e48756220546f6b656e0000000000000000000000000000000000000060208201525b90565b33600081815260116020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b439086906137e0565b60405180910390a35060015b92915050565b610b5e33611fa2565b610b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152600c6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b600f5481565b600082610bfc83611a3c565b119392505050565b60045481565b600d5490565b610c1933611fa2565b610c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152600b6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b600d5473ffffffffffffffffffffffffffffffffffffffff84166000908152601160209081526040808320338452909152812054909114610d265773ffffffffffffffffffffffffffffffffffffffff8416600090815260116020908152604080832033845290915281208054849290610d2090849061390f565b90915550505b610d31848484611fcd565b90505b9392505050565b6000610d476000610fd0565b600254610d699073ffffffffffffffffffffffffffffffffffffffff16610fd0565b600d54610d76919061390f565b610d80919061390f565b905090565b60005473ffffffffffffffffffffffffffffffffffffffff8281169116145b919050565b600990565b600d5481565b60136020526000908152604090205460ff1681565b610dd233611fa2565b610e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b601980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316179055610e51816125b4565b50565b6000610b4f82600d54610add565b610e6b33611fa2565b610ea1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b600e55565b610eaf33611fa2565b610ee5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260126020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b610f4433611fa2565b610f7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260136020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b73ffffffffffffffffffffffffffffffffffffffff1660009081526010602052604090205490565b600080846002811115611034577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415611071576000806005541161104d57600354611055565b611055611977565b9050821561106a57611067838261390f565b90505b9050610d34565b60028460028111156110ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14156110bb5750600654610d34565b600754831561106a57611067848261390f565b6110d733611fa2565b61110d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b601a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316179055610e51816125b4565b600e5481565b60176020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60165473ffffffffffffffffffffffffffffffffffffffff1681565b60408051808201909152600381527f4548420000000000000000000000000000000000000000000000000000000000602082015290565b601a5473ffffffffffffffffffffffffffffffffffffffff1681565b61120533611fa2565b61123b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b600f55565b60095481565b601a546040517fa367463300000000000000000000000000000000000000000000000000000000815260009182918291829173ffffffffffffffffffffffffffffffffffffffff9091169063a3674633906112a59088906004016131c4565b608060405180830381600087803b1580156112bf57600080fd5b505af192505050801561130d575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261130a91810190612f5c565b60015b6113b55761131961398a565b8061132457506113a6565b7f6bb22edb6252e9e04a83e4886d28bc5662efe624ec664e2d0e4b38854c3c23836040516113519061340d565b60405180910390a17f6bb22edb6252e9e04a83e4886d28bc5662efe624ec664e2d0e4b38854c3c23838160405161138891906132ab565b60405180910390a160009450600093506000925060009150506113b0565b3d6000803e3d6000fd5b6113ba565b505050505b9193509193565b6113ca33611fa2565b611400576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260176020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60156020526000908152604090208054600182015460028301546003840154600485015460059095015473ffffffffffffffffffffffffffffffffffffffff90941694929360ff90921692909186565b600a5473ffffffffffffffffffffffffffffffffffffffff1681565b6000610d34338484611fcd565b60065481565b6114de33610d85565b611514576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a369061363b565b610e51816125b4565b61152633611fa2565b61155c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b60008173ffffffffffffffffffffffffffffffffffffffff164760405161158290610ada565b60006040518083038185875af1925050503d80600081146115bf576040519150601f19603f3d011682016040523d82523d6000602084013e6115c4565b606091505b50509050806115ff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613524565b5050565b61160c33611fa2565b611642576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b601680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8381169190911791829055600a546040517f3898e4a300000000000000000000000000000000000000000000000000000000815292821692633898e4a3926116cc92169060019060040161321b565b600060405180830381600087803b1580156116e657600080fd5b505af11580156116fa573d6000803e3d6000fd5b5050601654600a546040517f757cbe4800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316945063757cbe48935061175c929091169060019060040161321b565b600060405180830381600087803b15801561177657600080fd5b505af115801561178a573d6000803e3d6000fd5b50506016546040517f3898e4a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169250633898e4a391506117e790309060019060040161321b565b600060405180830381600087803b15801561180157600080fd5b505af1158015611815573d6000803e3d6000fd5b50506016546040517f3898e4a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169250633898e4a391506118739060009060019060040161321b565b600060405180830381600087803b15801561188d57600080fd5b505af11580156118a1573d6000803e3d6000fd5b50506016546040517f3898e4a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169250633898e4a391506119009061dead9060019060040161321b565b600060405180830381600087803b15801561191a57600080fd5b505af115801561192e573d6000803e3d6000fd5b5050601654610e51925073ffffffffffffffffffffffffffffffffffffffff1690506125b4565b60195473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b600042600854118061198a575042600954105b156119ad5742600954101561199f5760006005555b506003546004819055610ada565b42600854111580156119c157506009544211155b15611a355760006008546009546119d8919061390f565b9050600081600854426119eb919061390f565b6119f5908461390f565b600354600554611a05919061390f565b611a0f91906138d2565b611a199190613899565b600354611a269190613881565b60048190559250610ada915050565b5060035490565b6000611a46610d3b565b600a54611a689073ffffffffffffffffffffffffffffffffffffffff16610fd0565b611a739060026138d2565b611a7d90846138d2565b610b4f9190613899565b60075481565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260116020908152604080832093909416825291909152205490565b611ace33611fa2565b611b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b81811015611b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a369061346a565b600354841015611b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a36906136cf565b600584905582611b8a5781611b8c565b425b600855600955505050565b60085481565b60055481565b611bac33610d85565b611be2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a369061363b565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b611c3733610d85565b611c6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a369061363b565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117825581526001602081905260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390611d159083906131c4565b60405180910390a150565b611d2933611fa2565b611d5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b601880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611daf33611fa2565b611de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260146020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60185473ffffffffffffffffffffffffffffffffffffffff1681565b611e6033611fa2565b611e96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3690613704565b6018546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182169163791ac94791908616906370a0823190611ef69030906004016131c4565b60206040518083038186803b158015611f0e57600080fd5b505afa158015611f22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4691906130cf565b60008585426040518663ffffffff1660e01b8152600401611f6b9594939291906137e9565b600060405180830381600087803b158015611f8557600080fd5b505af1158015611f99573d6000803e3d6000fd5b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b601a5460009074010000000000000000000000000000000000000000900460ff1680612013575060165473ffffffffffffffffffffffffffffffffffffffff8581169116145b80612043575073ffffffffffffffffffffffffffffffffffffffff841660009081526012602052604090205460ff165b156120535761106a848484612606565b600e5482111580612089575073ffffffffffffffffffffffffffffffffffffffff841660009081526014602052604090205460ff165b6120bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a369061331c565b6120c76126ed565b156120d4576120d4612753565b60006120e08585612abe565b601a5490915060009081908190819073ffffffffffffffffffffffffffffffffffffffff161561219d5761211389611246565b6003549397509195509350915082111561215d577f6bb22edb6252e9e04a83e4886d28bc5662efe624ec664e2d0e4b38854c3c2383604051612154906135de565b60405180910390a15b60075483111561219d577f6bb22edb6252e9e04a83e4886d28bc5662efe624ec664e2d0e4b38854c3c238360405161219490613581565b60405180910390a15b73ffffffffffffffffffffffffffffffffffffffff891660009081526013602052604081205460ff16156121d157876121df565b6121df8a8a8a898888612b63565b73ffffffffffffffffffffffffffffffffffffffff8b16600090815260106020526040812080549293508a9290919061221990849061390f565b909155505073ffffffffffffffffffffffffffffffffffffffff891660009081526010602052604081208054839290612253908490613881565b90915550600090506122698b4288888888612c1d565b9050600061227a828b8a8f8f612d01565b60165490915073ffffffffffffffffffffffffffffffffffffffff1615612437576000601060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000601060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634c6ea8988f8f85856040518563ffffffff1660e01b815260040161238494939291906131e5565b600060405180830381600087803b15801561239e57600080fd5b505af19250505080156123af575060015b612434576123bb61398a565b806123c657506113a6565b7f6bb22edb6252e9e04a83e4886d28bc5662efe624ec664e2d0e4b38854c3c23836040516123f3906133b0565b60405180910390a17f6bb22edb6252e9e04a83e4886d28bc5662efe624ec664e2d0e4b38854c3c23838160405161242a91906132ab565b60405180910390a1505b50505b6019546040517faa0272eb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aa0272eb9061248d90849060040161373b565b600060405180830381600087803b1580156124a757600080fd5b505af19250505080156124b8575060015b61253d576124c461398a565b806124cf57506113a6565b7f6bb22edb6252e9e04a83e4886d28bc5662efe624ec664e2d0e4b38854c3c23836040516124fc90613672565b60405180910390a17f6bb22edb6252e9e04a83e4886d28bc5662efe624ec664e2d0e4b38854c3c23838160405161253391906132ab565b60405180910390a1505b8a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161259a91906137e0565b60405180910390a35060019b9a5050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055565b73ffffffffffffffffffffffffffffffffffffffff831660009081526010602052604081208054839190839061263d90849061390f565b909155505073ffffffffffffffffffffffffffffffffffffffff831660009081526010602052604081208054849290612677908490613881565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126db91906137e0565b60405180910390a35060019392505050565b600a5460009073ffffffffffffffffffffffffffffffffffffffff1633148015906127335750601a5474010000000000000000000000000000000000000000900460ff16155b8015610d80575050600f5430600090815260106020526040902054101590565b601a80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055600f5460408051600280825260608201835260009260208301908036833701905050905030816000815181106127f1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201810191909152601854604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b15801561286b57600080fd5b505afa15801561287f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a39190612e70565b816001815181106128dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526018546040517f791ac9470000000000000000000000000000000000000000000000000000000081524792919091169063791ac9479061294d9086906000908790309042906004016137e9565b600060405180830381600087803b15801561296757600080fd5b505af115801561297b573d6000803e3d6000fd5b505050506000814761298d919061390f565b9050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342220f34826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156129f957600080fd5b505af193505050508015612a0b575060015b612a9057612a1761398a565b80612a2257506113a6565b7f6bb22edb6252e9e04a83e4886d28bc5662efe624ec664e2d0e4b38854c3c2383604051612a4f90613353565b60405180910390a17f6bb22edb6252e9e04a83e4886d28bc5662efe624ec664e2d0e4b38854c3c238381604051612a8691906132ab565b60405180910390a1505b5050601a80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690555050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600b602052604081205460ff1615612af457506000610b4f565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600b602052604090205460ff1680612b4d575073ffffffffffffffffffffffffffffffffffffffff83166000908152600c602052604090205460ff165b15612b5a57506001610b4f565b50600292915050565b600080612710612b74868686610ff8565b612b7e90886138d2565b612b889190613899565b90508015612c07573060009081526010602052604081208054839290612baf908490613881565b9091555050604051309073ffffffffffffffffffffffffffffffffffffffff8a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612bfe9085906137e0565b60405180910390a35b612c11818761390f565b98975050505050505050565b612c25612d8e565b506040805160c08101825273ffffffffffffffffffffffffffffffffffffffff9788168082526020808301988952961515828401908152606083019687526080830195865260a083019485526000918252601590975291909120815181547fffffffffffffffffffffffff00000000000000000000000000000000000000001698169790971787559451600187015592516002860180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055905160038501555160048401555160059092019190915590565b612d09612ddc565b60006040518060a00160405280888152602001878152602001866002811115612d5b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b815273ffffffffffffffffffffffffffffffffffffffff8087166020830152851660409091015291505095945050505050565b6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b6040518060a00160405280612def612d8e565b81526020016000815260200160006002811115612e35577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b815260006020820181905260409091015290565b8035610da481613a6b565b600060208284031215612e65578081fd5b8135610d3481613a6b565b600060208284031215612e81578081fd5b8151610d3481613a6b565b60008060408385031215612e9e578081fd5b8235612ea981613a6b565b91506020830135612eb981613a6b565b809150509250929050565b600080600060608486031215612ed8578081fd5b8335612ee381613a6b565b92506020840135612ef381613a6b565b929592945050506040919091013590565b60008060408385031215612f16578182fd5b8235612f2181613a6b565b91506020830135612eb981613a8d565b60008060408385031215612f43578182fd5b8235612f4e81613a6b565b946020939093013593505050565b60008060008060808587031215612f71578081fd5b8451612f7c81613a8d565b60208601516040870151606090970151919890975090945092505050565b600080600060608486031215612fae578283fd5b8335612fb981613a6b565b925060208481013567ffffffffffffffff80821115612fd6578485fd5b818701915087601f830112612fe9578485fd5b813581811115612ffb57612ffb613955565b8381026040518582820101818110858211171561301a5761301a613955565b604052828152858101935084860182860187018c1015613038578889fd5b8895505b838610156130615761304d81612e49565b85526001959095019493860193860161303c565b5080975050505050505061307760408501612e49565b90509250925092565b600080600060608486031215613094578081fd5b8335600381106130a2578182fd5b95602085013595506040909401359392505050565b6000602082840312156130c8578081fd5b5035919050565b6000602082840312156130e0578081fd5b5051919050565b600080600080608085870312156130fc578182fd5b84359350602085013561310e81613a8d565b93969395505050506040820135916060013590565b60008060408385031215613135578182fd5b50508035926020909101359150565b600080600060608486031215613158578081fd5b505081359360208301359350604090920135919050565b73ffffffffffffffffffffffffffffffffffffffff169052565b600381106131c0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff94851681529290931660208301526040820152606081019190915260800190565b73ffffffffffffffffffffffffffffffffffffffff9290921682521515602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff969096168652602086019490945291151560408501526060840152608083015260a082015260c00190565b901515815260200190565b931515845260208401929092526040830152606082015260800190565b6000602080835283518082850152825b818110156132d7578581018301518582016040015282016132bb565b818111156132e85783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60208082526011908201527f5458204c696d6974204578636565646564000000000000000000000000000000604082015260600190565b60208082526030908201527f5f737761704261636b28293a207472616e73666572476174657761792e64657060408201527f6f736974424e422829204661696c656400000000000000000000000000000000606082015260800190565b6020808252602c908201527f5f7472616e7366657246726f6d28293a20616e79666c6563742e73657453686160408201527f7265732829204661696c65640000000000000000000000000000000000000000606082015260800190565b6020808252603a908201527f676574526566657272616c4461746128293a206c6f79616c7479547261636b6560408201527f722e676574526566657272616c446174612829204661696c6564000000000000606082015260800190565b60208082526030908201527f5f656e64696e6754696d657374616d702073686f756c64206265203e3d205f7360408201527f74617274696e6754696d657374616d7000000000000000000000000000000000606082015260800190565b60208082526021908201527f4e657720666565732073686f756c64206265206c657373207468616e2031303060408201527f2500000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526031908201527f756e61626c6520746f2073656e642076616c75652c20726563697069656e742060408201527f6d61792068617665207265766572746564000000000000000000000000000000606082015260800190565b60208082526031908201527f5f7472616e7366657246726f6d28293a20726566657272616c4275794469736360408201527f6f756e74203e2062617365427579466565000000000000000000000000000000606082015260800190565b60208082526033908201527f5f7472616e7366657246726f6d28293a20726566657272616c53656c6c44697360408201527f636f756e74203e206261736553656c6c46656500000000000000000000000000606082015260800190565b60208082526006908201527f214f574e45520000000000000000000000000000000000000000000000000000604082015260600190565b60208082526034908201527f5f7472616e7366657246726f6d28293a207472616e736665724761746577617960408201527f2e6f6e5472616e736665722829204661696c6564000000000000000000000000606082015260800190565b6020808252818101527f5f6d61784665652073686f756c64206265203e3d206261736553656c6c466565604082015260600190565b6020808252600b908201527f21415554484f52495a4544000000000000000000000000000000000000000000604082015260600190565b600061014082019050825173ffffffffffffffffffffffffffffffffffffffff815116835260208101516020840152604081015115156040840152606081015160608401526080810151608084015260a081015160a084015250602083015160c083015260408301516137b160e0840182613189565b5060608301516137c561010084018261316f565b5060808301516137d961012084018261316f565b5092915050565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561384557845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101613813565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b60ff91909116815260200190565b6000821982111561389457613894613926565b500190565b6000826138cd577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561390a5761390a613926565b500290565b60008282101561392157613921613926565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60e01c90565b600060443d101561399a57610ada565b600481823e6308c379a06139ae8251613984565b146139b857610ada565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3d016004823e80513d67ffffffffffffffff8160248401118184111715613a065750505050610ada565b82840192508251915080821115613a205750505050610ada565b503d83016020828401011115613a3857505050610ada565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810160200160405291505090565b73ffffffffffffffffffffffffffffffffffffffff81168114610e5157600080fd5b8015158114610e5157600080fdfea264697066735822122028d336b03602aec51b4387f27c3c26d9c41448d8fcd31a2719cc9df55f28520564736f6c6343000800003300000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e000000000000000000000000e5b8ff8a46251acedf07ec762f66493c23a073d6000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000001540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015400000000000000000000000000000000000000000000000000000000000000

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

00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e000000000000000000000000e5b8ff8a46251acedf07ec762f66493c23a073d6000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000001540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015400000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _dexRouter (address): 0x10ed43c718714eb63d5aa57b78b54704e256024e
Arg [1] : _transferGateway (address): 0xe5b8ff8a46251acedf07ec762f66493c23a073d6
Arg [2] : _name (string): T
Arg [3] : _symbol (string): T

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e
Arg [1] : 000000000000000000000000e5b8ff8a46251acedf07ec762f66493c23a073d6
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [5] : 5400000000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [7] : 5400000000000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

9471:16915:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22130:380;;;;;;;;;;-1:-1:-1;22130:380:0;;;;;:::i;:::-;;:::i;:::-;;25458:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25878:216;;;;;;;;;;-1:-1:-1;25878:216:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;24185:120::-;;;;;;;;;;-1:-1:-1;24185:120:0;;;;;:::i;:::-;;:::i;10501:42::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;18543:156::-;;;;;;;;;;-1:-1:-1;18543:156:0;;;;;:::i;:::-;;:::i;9829:43::-;;;;;;;;;;;;;:::i;25188:86::-;;;;;;;;;;;;;:::i;23806:123::-;;;;;;;;;;-1:-1:-1;23806:123:0;;;;;:::i;:::-;;:::i;12320:303::-;;;;;;;;;;-1:-1:-1;12320:303:0;;;;;:::i;:::-;;:::i;18212:151::-;;;;;;;;;;;;;:::i;4177:103::-;;;;;;;;;;-1:-1:-1;4177:103:0;;;;;:::i;:::-;;:::i;25282:78::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;10405:40::-;;;;;;;;;;;;;:::i;10713:43::-;;;;;;;;;;-1:-1:-1;10713:43:0;;;;;:::i;:::-;;:::i;22518:184::-;;;;;;;;;;-1:-1:-1;22518:184:0;;;;;:::i;:::-;;:::i;26102:117::-;;;;;;;;;;-1:-1:-1;26102:117:0;;;;;:::i;:::-;;:::i;23436:98::-;;;;;;;;;;-1:-1:-1;23436:98:0;;;;;:::i;:::-;;:::i;24313:124::-;;;;;;;;;;-1:-1:-1;24313:124:0;;;;;:::i;:::-;;:::i;23542:120::-;;;;;;;;;;-1:-1:-1;23542:120:0;;;;;:::i;:::-;;:::i;25628:103::-;;;;;;;;;;-1:-1:-1;25628:103:0;;;;;:::i;:::-;;:::i;18707:704::-;;;;;;;;;;-1:-1:-1;18707:704:0;;;;;:::i;:::-;;:::i;23250:178::-;;;;;;;;;;-1:-1:-1;23250:178:0;;;;;:::i;:::-;;:::i;10452:42::-;;;;;;;;;;;;;:::i;10919:48::-;;;;;;;;;;-1:-1:-1;10919:48:0;;;;;:::i;:::-;;:::i;25544:76::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;10887:25::-;;;;;;;;;;;;;:::i;25368:82::-;;;;;;;;;;;;;:::i;11053:37::-;;;;;;;;;;;;;:::i;23937:106::-;;;;;;;;;;-1:-1:-1;23937:106:0;;;;;:::i;:::-;;:::i;10075:41::-;;;;;;;;;;;;;:::i;20545:961::-;;;;;;;;;;-1:-1:-1;20545:961:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;24051:126::-;;;;;;;;;;-1:-1:-1;24051:126:0;;;;;:::i;:::-;;:::i;10830:48::-;;;;;;;;;;-1:-1:-1;10830:48:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;10150:19::-;;;;;;;;;;;;;:::i;26227:156::-;;;;;;;;;;-1:-1:-1;26227:156:0;;;;;:::i;:::-;;:::i;9915:30::-;;;;;;;;;;;;;:::i;3761:85::-;;;;;;;;;;-1:-1:-1;3761:85:0;;;;;:::i;:::-;;:::i;24445:222::-;;;;;;;;;;-1:-1:-1;24445:222:0;;;;;:::i;:::-;;:::i;22710:427::-;;;;;;;;;;-1:-1:-1;22710:427:0;;;;;:::i;:::-;;:::i;11007:39::-;;;;;;;;;;;;;:::i;9680:33::-;;;;;;;;;;;;;:::i;19419:1118::-;;;;;;;;;;;;;:::i;18371:164::-;;;;;;;;;;-1:-1:-1;18371:164:0;;;;;:::i;:::-;;:::i;9952:32::-;;;;;;;;;;;;;:::i;25739:131::-;;;;;;;;;;-1:-1:-1;25739:131:0;;;;;:::i;:::-;;:::i;21556:566::-;;;;;;;;;;-1:-1:-1;21556:566:0;;;;;:::i;:::-;;:::i;10025:43::-;;;;;;;;;;;;;:::i;9879:29::-;;;;;;;;;;;;;:::i;4020:97::-;;;;;;;;;;-1:-1:-1;4020:97:0;;;;;:::i;:::-;;:::i;4577:173::-;;;;;;;;;;-1:-1:-1;4577:173:0;;;;;:::i;:::-;;:::i;23145:97::-;;;;;;;;;;-1:-1:-1;23145:97:0;;;;;:::i;:::-;;:::i;23670:128::-;;;;;;;;;;-1:-1:-1;23670:128:0;;;;;:::i;:::-;;:::i;10976:24::-;;;;;;;;;;;;;:::i;24776:327::-;;;;;;;;;;-1:-1:-1;24776:327:0;;;;;:::i;:::-;;:::i;4351:107::-;;;;;;;;;;-1:-1:-1;4351:107:0;;;;;:::i;:::-;;:::i;22130:380::-;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;22286:5:::1;22267:15;:24;;:52;;;;;22314:5;22295:15;:24;;22267:52;:79;;;;;22341:5;22323:14;:23;;22267:79;22259:125;;;;;;;;;;;;:::i;:::-;22395:11;:29:::0;;;;22435:11:::1;:29:::0;22475:10:::1;:27:::0;22130:380::o;25458:78::-;25529:5;;;;;;;;;;;;;;;;;25458:78;;:::o;25878:216::-;25982:10;25953:4;25970:23;;;:11;:23;;;;;;;;;:32;;;;;;;;;;:41;;;26027:37;25953:4;;25970:32;;26027:37;;;;26005:6;;26027:37;:::i;:::-;;;;;;;;-1:-1:-1;26082:4:0;25878:216;;;;;:::o;24185:120::-;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;24272:16:::1;::::0;;;::::1;;::::0;;;:9:::1;:16;::::0;;;;:25;;;::::1;::::0;::::1;;::::0;;;::::1;::::0;;24185:120::o;10501:42::-;;;;:::o;18543:156::-;18625:4;18683:7;18650:30;18670:9;18650:19;:30::i;:::-;:40;;18543:156;-1:-1:-1;;;18543:156:0:o;9829:43::-;;;;:::o;25188:86::-;25260:12;;25188:86;:::o;23806:123::-;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;23891:21:::1;::::0;;;::::1;;::::0;;;:14:::1;:21;::::0;;;;:30;;;::::1;::::0;::::1;;::::0;;;::::1;::::0;;23806:123::o;12320:303::-;12476:12;;12441:19;;;12420:4;12441:19;;;:11;:19;;;;;;;;12461:10;12441:31;;;;;;;;12420:4;;12441:47;12437:121;;12505:19;;;;;;;:11;:19;;;;;;;;12525:10;12505:31;;;;;;;:41;;12540:6;;12505:19;:41;;12540:6;;12505:41;:::i;:::-;;;;-1:-1:-1;;12437:121:0;12575:40;12589:6;12597:9;12608:6;12575:13;:40::i;:::-;12568:47;;12320:303;;;;;;:::o;18212:151::-;18265:7;18333:21;18351:1;18333:9;:21::i;:::-;18318:11;;18308:22;;18318:11;;18308:9;:22::i;:::-;18293:12;;:37;;;;:::i;:::-;:61;;;;:::i;:::-;18285:70;;18212:151;:::o;4177:103::-;4232:4;4267:5;;4256:16;;;4267:5;;4256:16;4177:103;;;;:::o;25282:78::-;10397:1;25282:78;:::o;10405:40::-;;;;:::o;10713:43::-;;;;;;;;;;;;;;;:::o;22518:184::-;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;22612:15:::1;:34:::0;;;::::1;;::::0;::::1;;::::0;;22657:37:::1;22612:34:::0;22657:10:::1;:37::i;:::-;22518:184:::0;:::o;26102:117::-;26157:4;26181:30;26189:7;26198:12;;26181:7;:30::i;23436:98::-;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;23504:12:::1;:22:::0;23436:98::o;24313:124::-;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;24398:22:::1;::::0;;;::::1;;::::0;;;:15:::1;:22;::::0;;;;:31;;;::::1;::::0;::::1;;::::0;;;::::1;::::0;;24313:124::o;23542:120::-;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;23626:18:::1;::::0;;;::::1;;::::0;;;:11:::1;:18;::::0;;;;:28;;;::::1;::::0;::::1;;::::0;;;::::1;::::0;;23542:120::o;25628:103::-;25711:18;;25694:7;25711:18;;;:9;:18;;;;;;;25628:103::o;18707:704::-;18844:7;;18872:13;:45;;;;;;;;;;;;;;;;;18868:254;;;18934:15;18965:1;18952:10;;:14;:51;;18992:11;;18952:51;;;18969:20;:18;:20::i;:::-;18934:69;-1:-1:-1;19022:25:0;;19018:63;;19049:32;19060:21;19049:32;;:::i;:::-;;;19018:63;19103:7;-1:-1:-1;19096:14:0;;18868:254;19153:32;19136:13;:49;;;;;;;;;;;;;;;;;19132:272;;;-1:-1:-1;19209:11:0;;19202:18;;19132:272;19279:10;;19308:24;;19304:60;;19334:30;19344:20;19334:30;;:::i;23250:178::-;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;23341:14:::1;:32:::0;;;::::1;;::::0;::::1;;::::0;;23384:36:::1;23341:32:::0;23384:10:::1;:36::i;10452:42::-:0;;;;:::o;10919:48::-;;;;;;;;;;;;;;;:::o;25544:76::-;25596:7;25613:5;;;25544:76;:::o;10887:25::-;;;;;;:::o;25368:82::-;25441:7;;;;;;;;;;;;;;;;;25368:82;:::o;11053:37::-;;;;;;:::o;23937:106::-;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;24011:14:::1;:24:::0;23937:106::o;10075:41::-;;;;:::o;20545:961::-;20717:14;;:37;;;;;20601:15;;;;;;;;20717:14;;;;;:30;;:37;;20748:5;;20717:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20717:37:0;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;20713:694;;;;:::i;:::-;;;;;;;;21127:79;;;;;;:::i;:::-;;;;;;;;21226:25;21244:6;21226:25;;;;;;:::i;:::-;;;;;;;;21281:5;21268:18;;21323:1;21301:23;;21362:1;21339:24;;21394:1;21378:17;;21073:334;20713:694;;;;;;;;;;;;;;20755:317;;;;20713:694;20545:961;;;;;:::o;24051:126::-;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;24137:23:::1;::::0;;;::::1;;::::0;;;:16:::1;:23;::::0;;;;:32;;;::::1;::::0;::::1;;::::0;;;::::1;::::0;;24051:126::o;10830:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10150:19::-;;;;;;:::o;26227:156::-;26307:4;26331:44;26345:10;26357:9;26368:6;26331:13;:44::i;9915:30::-;;;;:::o;3761:85::-;3443:19;3451:10;3443:7;:19::i;:::-;3435:38;;;;;;;;;;;;:::i;:::-;3823:15:::1;3834:3;3823:10;:15::i;24445:222::-:0;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;24519:12:::1;24536:3;:8;;24553:21;24536:43;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24518:61;;;24598:7;24590:69;;;;;;;;;;;;:::i;:::-;3654:1;24445:222:::0;:::o;22710:427::-;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;22783:8:::1;:20:::0;;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;;22839:4:::1;::::0;22814:36:::1;::::0;;;;:8;;::::1;::::0;:24:::1;::::0;:36:::1;::::0;22839:4:::1;::::0;-1:-1:-1;;22814:36:0::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;22861:8:0::1;::::0;22884:4:::1;::::0;22861:34:::1;::::0;;;;:8:::1;::::0;;::::1;::::0;-1:-1:-1;22861:22:0::1;::::0;-1:-1:-1;22861:34:0::1;::::0;22884:4;;::::1;::::0;22861:8;;:34:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;22906:8:0::1;::::0;:45:::1;::::0;;;;:8:::1;::::0;;::::1;::::0;-1:-1:-1;22906:24:0::1;::::0;-1:-1:-1;22906:45:0::1;::::0;22939:4:::1;::::0;22906:8;;:45:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;22962:8:0::1;::::0;:42:::1;::::0;;;;:8:::1;::::0;;::::1;::::0;-1:-1:-1;22962:24:0::1;::::0;-1:-1:-1;22962:42:0::1;::::0;:8:::1;::::0;;;:42:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;23015:8:0::1;::::0;:74:::1;::::0;;;;:8:::1;::::0;;::::1;::::0;-1:-1:-1;23015:24:0::1;::::0;-1:-1:-1;23015:74:0::1;::::0;23040:42:::1;::::0;23015:8;;:74:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;23119:8:0::1;::::0;23100:29:::1;::::0;-1:-1:-1;23119:8:0::1;;::::0;-1:-1:-1;23100:10:0::1;:29::i;11007:39::-:0;;;;;;:::o;9680:33::-;;;;:::o;19419:1118::-;19465:7;19695:15;19664:28;;:46;:94;;;;19743:15;19714:26;;:44;19664:94;19660:841;;;19808:15;19779:26;;:44;19775:64;;;19838:1;19825:10;:14;19775:64;-1:-1:-1;19873:11:0;;19856:14;:28;;;19899:18;;19660:841;19971:15;19939:28;;:47;;:96;;;;;20009:26;;19990:15;:45;;19939:96;19935:566;;;20159:28;20219;;20190:26;;:57;;;;:::i;:::-;20159:88;;20262:15;20401:20;20367:28;;20349:15;:46;;;;:::i;:::-;20325:71;;:20;:71;:::i;:::-;20309:11;;20296:10;;:24;;;;:::i;:::-;20295:102;;;;:::i;:::-;20294:127;;;;:::i;:::-;20280:11;;:141;;;;:::i;:::-;20436:14;:24;;;20262:159;-1:-1:-1;20475:14:0;;-1:-1:-1;;20475:14:0;19935:566;-1:-1:-1;20518:11:0;;19419:1118;:::o;18371:164::-;18440:7;18504:22;:20;:22::i;:::-;18491:4;;18481:15;;18491:4;;18481:9;:15::i;:::-;:19;;18499:1;18481:19;:::i;:::-;18468:33;;:9;:33;:::i;:::-;:58;;;;:::i;9952:32::-;;;;:::o;25739:131::-;25840:19;;;;25823:7;25840:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;25739:131::o;21556:566::-;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;21759:18:::1;21739:16;:38;;21731:99;;;;;;;;;;;;:::i;:::-;21864:11;;21849;:26;;21841:71;;;;;;;;;;;;:::i;:::-;21925:10;:24:::0;;;21991:28;:67:::1;;22040:18;21991:67;;;22022:15;21991:67;21960:28;:98:::0;22069:26:::1;:45:::0;-1:-1:-1;;;21556:566:0:o;10025:43::-;;;;:::o;9879:29::-;;;;:::o;4020:97::-;3443:19;3451:10;3443:7;:19::i;:::-;3435:38;;;;;;;;;;;;:::i;:::-;4082:19:::1;;4104:5;4082:19:::0;;;:14:::1;:19;::::0;;;;:27;;;::::1;::::0;;4020:97::o;4577:173::-;3443:19;3451:10;3443:7;:19::i;:::-;3435:38;;;;;;;;;;;;:::i;:::-;4653:5:::1;:11:::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;4675:19;;-1:-1:-1;4675:19:0::1;::::0;;;;;;;;:26;;;::::1;::::0;;::::1;::::0;;4717:25;::::1;::::0;::::1;::::0;4653:11;;4717:25:::1;:::i;:::-;;;;;;;;4577:173:::0;:::o;23145:97::-;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;23218:6:::1;:16:::0;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;23145:97::o;23670:128::-;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;23758:22:::1;::::0;;;::::1;;::::0;;;:15:::1;:22;::::0;;;;:32;;;::::1;::::0;::::1;;::::0;;;::::1;::::0;;23670:128::o;10976:24::-;;;;;;:::o;24776:327::-;3612:24;3625:10;3612:12;:24::i;:::-;3604:48;;;;;;;;;;;;:::i;:::-;24885:6:::1;::::0;24957:34:::1;::::0;;;;24885:6:::1;::::0;;::::1;::::0;:57:::1;::::0;24957:19;;::::1;::::0;::::1;::::0;:34:::1;::::0;24985:4:::1;::::0;24957:34:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25006:1;25022:5;25050:3;25069:15;24885:210;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;24776:327:::0;;;:::o;4351:107::-;4431:19;;4407:4;4431:19;;;:14;:19;;;;;;;;;4351:107::o;12631:2507::-;12744:6;;12723:4;;12744:6;;;;;;:37;;-1:-1:-1;12772:8:0;;;12754:27;;;12772:8;;12754:27;12744:37;:64;;;-1:-1:-1;12785:23:0;;;;;;;:15;:23;;;;;;;;12744:64;12740:121;;;12818:41;12833:6;12841:9;12852:6;12818:14;:41::i;12740:121::-;12893:12;;12883:6;:22;;:49;;;-1:-1:-1;12909:23:0;;;;;;;:15;:23;;;;;;;;12883:49;12875:79;;;;;;;;;;;;:::i;:::-;12971:17;:15;:17::i;:::-;12967:39;;;12992:11;:9;:11::i;:::-;13016:36;13055:38;13075:6;13083:9;13055:19;:38::i;:::-;13306:14;;13016:77;;-1:-1:-1;13159:15:0;;;;;;;;13298:37;13306:14;13298:37;13294:494;;13425:23;13441:6;13425:15;:23::i;:::-;13490:11;;13352:96;;-1:-1:-1;13352:96:0;;-1:-1:-1;13352:96:0;-1:-1:-1;13352:96:0;-1:-1:-1;13467:34:0;;13463:152;;;13527:72;;;;;;:::i;:::-;;;;;;;;13463:152;13655:10;;13633:19;:32;13629:148;;;13691:70;;;;;;:::i;:::-;;;;;;;;13629:148;13823:19;;;13800;13823;;;:11;:19;;;;;;;;13822:20;:124;;13940:6;13822:124;;;13845:92;13854:6;13862:9;13873:6;13881:12;13895:19;13916:20;13845:8;:92::i;:::-;13957:17;;;;;;;:9;:17;;;;;:27;;13800:146;;-1:-1:-1;13978:6:0;;13957:17;;;:27;;13978:6;;13957:27;:::i;:::-;;;;-1:-1:-1;;13995:20:0;;;;;;;:9;:20;;;;;:38;;14019:14;;13995:20;:38;;14019:14;;13995:38;:::i;:::-;;;;-1:-1:-1;14046:27:0;;-1:-1:-1;14076:123:0;14104:6;14113:15;14130:10;14142:19;14163:20;14185:13;14076:19;:123::i;:::-;14046:153;;14212:33;14248:62;14264:4;14270:6;14278:12;14292:6;14300:9;14248:15;:62::i;:::-;14337:8;;14212:98;;-1:-1:-1;14329:31:0;14337:8;14329:31;14325:470;;14377:22;14402:9;:17;14412:6;14402:17;;;;;;;;;;;;;;;;14377:42;;14434:25;14462:9;:20;14472:9;14462:20;;;;;;;;;;;;;;;;14434:48;;14503:8;;;;;;;;;;;:18;;;14522:6;14530:9;14541:14;14557:17;14503:72;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14499:285;;;;:::i;:::-;;;;;;;;14654:65;;;;;;:::i;:::-;;;;;;;;14743:25;14761:6;14743:25;;;;;;:::i;:::-;;;;;;;;14595:189;14499:285;14325:470;;;14813:15;;:34;;;;;:15;;;;;:26;;:34;;14840:6;;14813:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14809:239;;;;:::i;:::-;;;;;;;;14918:73;;;;;;:::i;:::-;;;;;;;;15011:25;15029:6;15011:25;;;;;;:::i;:::-;;;;;;;;14863:185;14809:239;15082:9;15065:43;;15074:6;15065:43;;;15093:14;15065:43;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;15126:4:0;;12631:2507;-1:-1:-1;;;;;;;;;;;12631:2507:0:o;3858:88::-;3912:19;;;;;;3934:4;3912:19;;;;;;;;:26;;;;;;;;;3858:88::o;16328:259::-;16438:17;;;16421:4;16438:17;;;:9;:17;;;;;:27;;16459:6;;16438:17;16421:4;;16438:27;;16459:6;;16438:27;:::i;:::-;;;;-1:-1:-1;;16476:20:0;;;;;;;:9;:20;;;;;:30;;16500:6;;16476:20;:30;;16500:6;;16476:30;:::i;:::-;;;;;;;;16539:9;16522:35;;16531:6;16522:35;;;16550:6;16522:35;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;16575:4:0;16328:259;;;;;:::o;17188:165::-;17278:4;;17238;;17278;;17264:10;:18;;;;17263:33;;-1:-1:-1;17289:6:0;;;;;;;17288:7;17263:33;:81;;;;-1:-1:-1;;17329:14:0;;17319:4;17301:24;;;;:9;:24;;;;;;:42;;;17188:165::o;17361:802::-;11332:6;:13;;;;;;;;17434:14:::1;::::0;17485:16:::1;::::0;;17499:1:::1;17485:16:::0;;;;;::::1;::::0;;-1:-1:-1;;17485:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;17485:16:0::1;17461:40;;17530:4;17512;17517:1;17512:7;;;;;;;;;;;;;;;;:23;::::0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;17556:6:::1;::::0;:13:::1;::::0;;;;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;17512:7;;17556:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17546:4;17551:1;17546:7;;;;;;;;;;;;;;;;:23;::::0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;17638:6:::1;::::0;:188:::1;::::0;;;;17604:21:::1;::::0;17638:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;17710:12;;17580:21:::1;::::0;17753:4;;17780::::1;::::0;17800:15:::1;::::0;17638:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;17839:17;17883:13;17859:21;:37;;;;:::i;:::-;17839:57;;17913:15;;;;;;;;;;;:26;;;17948:9;17913:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;17909:247;;;;:::i;:::-;;;;;;;;18030:69;;;;;;:::i;:::-;;;;;;;;18119:25;18137:6;18119:25;;;;;;:::i;:::-;;;;;;;;17976:180;17909:247;-1:-1:-1::0;;11368:6:0;:14;;;;;;-1:-1:-1;;17361:802:0:o;15582:393::-;15709:26;;;15669:23;15709:26;;;:14;:26;;;;;;;;15705:213;;;-1:-1:-1;15759:28:0;15752:35;;15705:213;15809:21;;;;;;;:14;:21;;;;;;;;;:41;;-1:-1:-1;15834:16:0;;;;;;;:9;:16;;;;;;;;15809:41;15805:113;;;-1:-1:-1;15874:32:0;15867:39;;15805:113;-1:-1:-1;15935:32:0;15582:393;;;;:::o;16595:585::-;16784:7;16864:17;16968:5;16894:71;16906:13;16921:20;16943:21;16894:11;:71::i;:::-;16884:81;;:7;:81;:::i;:::-;:89;;;;:::i;:::-;16864:109;-1:-1:-1;16990:13:0;;16986:146;;17038:4;17020:24;;;;:9;:24;;;;;:37;;17048:9;;17020:24;:37;;17048:9;;17020:37;:::i;:::-;;;;-1:-1:-1;;17077:43:0;;17103:4;;17077:43;;;;;;;;17110:9;;17077:43;:::i;:::-;;;;;;;;16986:146;17152:19;17162:9;17152:7;:19;:::i;:::-;17144:28;16595:585;-1:-1:-1;;;;;;;;16595:585:0:o;15146:428::-;15334:22;;:::i;:::-;-1:-1:-1;15399:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15523:12:0;;;:5;:12;;;;;;;:19;;;;;;;;;;;;;;;;-1:-1:-1;15523:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15399:111;15146:428::o;15983:337::-;16145:26;;:::i;:::-;16184:36;16223:62;;;;;;;;16243:8;16223:62;;;;16253:4;16223:62;;;;16259:13;16223:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16184:101;-1:-1:-1;;15983:337:0;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:138:1:-;84:20;;113:33;84:20;113:33;:::i;157:259::-;;269:2;257:9;248:7;244:23;240:32;237:2;;;290:6;282;275:22;237:2;334:9;321:23;353:33;380:5;353:33;:::i;421:263::-;;544:2;532:9;523:7;519:23;515:32;512:2;;;565:6;557;550:22;512:2;602:9;596:16;621:33;648:5;621:33;:::i;961:402::-;;;1090:2;1078:9;1069:7;1065:23;1061:32;1058:2;;;1111:6;1103;1096:22;1058:2;1155:9;1142:23;1174:33;1201:5;1174:33;:::i;:::-;1226:5;-1:-1:-1;1283:2:1;1268:18;;1255:32;1296:35;1255:32;1296:35;:::i;:::-;1350:7;1340:17;;;1048:315;;;;;:::o;1368:470::-;;;;1514:2;1502:9;1493:7;1489:23;1485:32;1482:2;;;1535:6;1527;1520:22;1482:2;1579:9;1566:23;1598:33;1625:5;1598:33;:::i;:::-;1650:5;-1:-1:-1;1707:2:1;1692:18;;1679:32;1720:35;1679:32;1720:35;:::i;:::-;1472:366;;1774:7;;-1:-1:-1;;;1828:2:1;1813:18;;;;1800:32;;1472:366::o;1843:396::-;;;1969:2;1957:9;1948:7;1944:23;1940:32;1937:2;;;1990:6;1982;1975:22;1937:2;2034:9;2021:23;2053:33;2080:5;2053:33;:::i;:::-;2105:5;-1:-1:-1;2162:2:1;2147:18;;2134:32;2175;2134;2175;:::i;2244:327::-;;;2373:2;2361:9;2352:7;2348:23;2344:32;2341:2;;;2394:6;2386;2379:22;2341:2;2438:9;2425:23;2457:33;2484:5;2457:33;:::i;:::-;2509:5;2561:2;2546:18;;;;2533:32;;-1:-1:-1;;;2331:240:1:o;2576:441::-;;;;;2747:3;2735:9;2726:7;2722:23;2718:33;2715:2;;;2769:6;2761;2754:22;2715:2;2806:9;2800:16;2825:30;2849:5;2825:30;:::i;:::-;2919:2;2904:18;;2898:25;2963:2;2948:18;;2942:25;3007:2;2992:18;;;2986:25;2874:5;;2898:25;;-1:-1:-1;2986:25:1;;-1:-1:-1;2705:312:1;-1:-1:-1;;;2705:312:1:o;3303:1393::-;;;;3488:2;3476:9;3467:7;3463:23;3459:32;3456:2;;;3509:6;3501;3494:22;3456:2;3553:9;3540:23;3572:33;3599:5;3572:33;:::i;:::-;3624:5;-1:-1:-1;3648:2:1;3686:18;;;3673:32;3724:18;3754:14;;;3751:2;;;3786:6;3778;3771:22;3751:2;3829:6;3818:9;3814:22;3804:32;;3874:7;3867:4;3863:2;3859:13;3855:27;3845:2;;3901:6;3893;3886:22;3845:2;3942;3929:16;3964:2;3960;3957:10;3954:2;;;3970:18;;:::i;:::-;4017:2;4013;4009:11;4049:2;4043:9;4100:2;4095;4087:6;4083:15;4079:24;4153:6;4141:10;4138:22;4133:2;4121:10;4118:18;4115:46;4112:2;;;4164:18;;:::i;:::-;4200:2;4193:22;4250:18;;;4284:15;;;;-1:-1:-1;4319:11:1;;;4349;;;4345:20;;4342:33;-1:-1:-1;4339:2:1;;;4393:6;4385;4378:22;4339:2;4420:6;4411:15;;4435:171;4449:2;4446:1;4443:9;4435:171;;;4506:25;4527:3;4506:25;:::i;:::-;4494:38;;4467:1;4460:9;;;;;4552:12;;;;4584;;4435:171;;;4439:3;4625:6;4615:16;;;;;;;;4650:40;4686:2;4675:9;4671:18;4650:40;:::i;:::-;4640:50;;3446:1250;;;;;:::o;5558:428::-;;;;5720:2;5708:9;5699:7;5695:23;5691:32;5688:2;;;5741:6;5733;5726:22;5688:2;5785:9;5772:23;5824:1;5817:5;5814:12;5804:2;;5845:6;5837;5830:22;5804:2;5873:5;5925:2;5910:18;;5897:32;;-1:-1:-1;5976:2:1;5961:18;;;5948:32;;5678:308;-1:-1:-1;;;5678:308:1:o;5991:190::-;;6103:2;6091:9;6082:7;6078:23;6074:32;6071:2;;;6124:6;6116;6109:22;6071:2;-1:-1:-1;6152:23:1;;6061:120;-1:-1:-1;6061:120:1:o;6186:194::-;;6309:2;6297:9;6288:7;6284:23;6280:32;6277:2;;;6330:6;6322;6315:22;6277:2;-1:-1:-1;6358:16:1;;6267:113;-1:-1:-1;6267:113:1:o;6385:458::-;;;;;6545:3;6533:9;6524:7;6520:23;6516:33;6513:2;;;6567:6;6559;6552:22;6513:2;6608:9;6595:23;6585:33;;6668:2;6657:9;6653:18;6640:32;6681:30;6705:5;6681:30;:::i;:::-;6503:340;;6730:5;;-1:-1:-1;;;;6782:2:1;6767:18;;6754:32;;6833:2;6818:18;6805:32;;6503:340::o;6848:258::-;;;6977:2;6965:9;6956:7;6952:23;6948:32;6945:2;;;6998:6;6990;6983:22;6945:2;-1:-1:-1;;7026:23:1;;;7096:2;7081:18;;;7068:32;;-1:-1:-1;6935:171:1:o;7111:326::-;;;;7257:2;7245:9;7236:7;7232:23;7228:32;7225:2;;;7278:6;7270;7263:22;7225:2;-1:-1:-1;;7306:23:1;;;7376:2;7361:18;;7348:32;;-1:-1:-1;7427:2:1;7412:18;;;7399:32;;7215:222;-1:-1:-1;7215:222:1:o;7442:129::-;7521:42;7510:54;7498:67;;7488:83::o;7576:300::-;7663:1;7656:5;7653:12;7643:2;;7699:77;7696:1;7689:88;7800:4;7797:1;7790:15;7828:4;7825:1;7818:15;7643:2;7852:18;;7633:243::o;8091:226::-;8267:42;8255:55;;;;8237:74;;8225:2;8210:18;;8192:125::o;8561:470::-;8802:42;8871:15;;;8853:34;;8923:15;;;;8918:2;8903:18;;8896:43;8970:2;8955:18;;8948:34;9013:2;8998:18;;8991:34;;;;8779:3;8764:19;;8746:285::o;9036:307::-;9234:42;9222:55;;;;9204:74;;9321:14;9314:22;9309:2;9294:18;;9287:50;9192:2;9177:18;;9159:184::o;9348:594::-;9659:42;9647:55;;;;9629:74;;9734:2;9719:18;;9712:34;;;;9789:14;;9782:22;9777:2;9762:18;;9755:50;9836:2;9821:18;;9814:34;9879:3;9864:19;;9857:35;9923:3;9908:19;;9901:35;9616:3;9601:19;;9583:359::o;9947:187::-;10112:14;;10105:22;10087:41;;10075:2;10060:18;;10042:92::o;10139:401::-;10389:14;;10382:22;10364:41;;10436:2;10421:18;;10414:34;;;;10479:2;10464:18;;10457:34;10522:2;10507:18;;10500:34;10351:3;10336:19;;10318:222::o;11551:662::-;;11692:2;11721;11710:9;11703:21;11753:6;11747:13;11796:6;11791:2;11780:9;11776:18;11769:34;11821:4;11834:140;11848:6;11845:1;11842:13;11834:140;;;11943:14;;;11939:23;;11933:30;11909:17;;;11928:2;11905:26;11898:66;11863:10;;11834:140;;;11992:6;11989:1;11986:13;11983:2;;;12062:4;12057:2;12048:6;12037:9;12033:22;12029:31;12022:45;11983:2;-1:-1:-1;12129:2:1;12117:15;12134:66;12113:88;12098:104;;;;12204:2;12094:113;;11672:541;-1:-1:-1;;;11672:541:1:o;12218:341::-;12420:2;12402:21;;;12459:2;12439:18;;;12432:30;12498:19;12493:2;12478:18;;12471:47;12550:2;12535:18;;12392:167::o;12564:412::-;12766:2;12748:21;;;12805:2;12785:18;;;12778:30;12844:34;12839:2;12824:18;;12817:62;12915:18;12910:2;12895:18;;12888:46;12966:3;12951:19;;12738:238::o;12981:408::-;13183:2;13165:21;;;13222:2;13202:18;;;13195:30;13261:34;13256:2;13241:18;;13234:62;13332:14;13327:2;13312:18;;13305:42;13379:3;13364:19;;13155:234::o;13394:422::-;13596:2;13578:21;;;13635:2;13615:18;;;13608:30;13674:34;13669:2;13654:18;;13647:62;13745:28;13740:2;13725:18;;13718:56;13806:3;13791:19;;13568:248::o;13821:412::-;14023:2;14005:21;;;14062:2;14042:18;;;14035:30;14101:34;14096:2;14081:18;;14074:62;14172:18;14167:2;14152:18;;14145:46;14223:3;14208:19;;13995:238::o;14238:397::-;14440:2;14422:21;;;14479:2;14459:18;;;14452:30;14518:34;14513:2;14498:18;;14491:62;14589:3;14584:2;14569:18;;14562:31;14625:3;14610:19;;14412:223::o;14640:413::-;14842:2;14824:21;;;14881:2;14861:18;;;14854:30;14920:34;14915:2;14900:18;;14893:62;14991:19;14986:2;14971:18;;14964:47;15043:3;15028:19;;14814:239::o;15058:413::-;15260:2;15242:21;;;15299:2;15279:18;;;15272:30;15338:34;15333:2;15318:18;;15311:62;15409:19;15404:2;15389:18;;15382:47;15461:3;15446:19;;15232:239::o;15476:415::-;15678:2;15660:21;;;15717:2;15697:18;;;15690:30;15756:34;15751:2;15736:18;;15729:62;15827:21;15822:2;15807:18;;15800:49;15881:3;15866:19;;15650:241::o;15896:329::-;16098:2;16080:21;;;16137:1;16117:18;;;16110:29;16175:8;16170:2;16155:18;;16148:36;16216:2;16201:18;;16070:155::o;16230:416::-;16432:2;16414:21;;;16471:2;16451:18;;;16444:30;16510:34;16505:2;16490:18;;16483:62;16581:22;16576:2;16561:18;;16554:50;16636:3;16621:19;;16404:242::o;16651:356::-;16853:2;16835:21;;;16872:18;;;16865:30;16931:34;16926:2;16911:18;;16904:62;16998:2;16983:18;;16825:182::o;17012:335::-;17214:2;17196:21;;;17253:2;17233:18;;;17226:30;17292:13;17287:2;17272:18;;17265:41;17338:2;17323:18;;17186:161::o;17352:1063::-;;17536:3;17525:9;17521:19;17513:27;;17565:6;17559:13;17614:42;17609:2;17603:9;17599:58;17588:9;17581:77;17710:4;17706:2;17702:13;17696:20;17689:4;17678:9;17674:20;17667:50;17783:4;17779:2;17775:13;17769:20;17762:28;17755:36;17748:4;17737:9;17733:20;17726:66;17844:4;17840:2;17836:13;17830:20;17823:4;17812:9;17808:20;17801:50;17903:4;17899:2;17895:13;17889:20;17882:4;17871:9;17867:20;17860:50;17962:4;17958:2;17954:13;17948:20;17941:4;17930:9;17926:20;17919:50;;18025:4;18017:6;18013:17;18007:24;18000:4;17989:9;17985:20;17978:54;18079:4;18071:6;18067:17;18061:24;18094:67;18155:4;18144:9;18140:20;18126:12;18094:67;:::i;:::-;;18210:4;18202:6;18198:17;18192:24;18225:60;18277:6;18266:9;18262:22;18246:14;18225:60;:::i;:::-;;18334:4;18326:6;18322:17;18316:24;18349:60;18401:6;18390:9;18386:22;18370:14;18349:60;:::i;:::-;;17503:912;;;;:::o;18420:177::-;18566:25;;;18554:2;18539:18;;18521:76::o;18602:1029::-;;18912:3;18901:9;18897:19;18943:6;18932:9;18925:25;18969:2;19007:6;19002:2;18991:9;18987:18;18980:34;19050:3;19045:2;19034:9;19030:18;19023:31;19074:6;19109;19103:13;19140:6;19132;19125:22;19178:3;19167:9;19163:19;19156:26;;19217:2;19209:6;19205:15;19191:29;;19238:4;19251:218;19265:6;19262:1;19259:13;19251:218;;;19330:13;;19345:42;19326:62;19314:75;;19444:15;;;;19409:12;;;;19287:1;19280:9;19251:218;;;-1:-1:-1;;19537:42:1;19525:55;;;;19520:2;19505:18;;19498:83;-1:-1:-1;;;19612:3:1;19597:19;19590:35;19486:3;18873:758;-1:-1:-1;;;18873:758:1:o;19636:184::-;19808:4;19796:17;;;;19778:36;;19766:2;19751:18;;19733:87::o;19825:128::-;;19896:1;19892:6;19889:1;19886:13;19883:2;;;19902:18;;:::i;:::-;-1:-1:-1;19938:9:1;;19873:80::o;19958:274::-;;20024:1;20014:2;;20059:77;20056:1;20049:88;20160:4;20157:1;20150:15;20188:4;20185:1;20178:15;20014:2;-1:-1:-1;20217:9:1;;20004:228::o;20237:::-;;20403:1;20335:66;20331:74;20328:1;20325:81;20320:1;20313:9;20306:17;20302:105;20299:2;;;20410:18;;:::i;:::-;-1:-1:-1;20450:9:1;;20289:176::o;20470:125::-;;20538:1;20535;20532:8;20529:2;;;20543:18;;:::i;:::-;-1:-1:-1;20580:9:1;;20519:76::o;20600:184::-;20652:77;20649:1;20642:88;20749:4;20746:1;20739:15;20773:4;20770:1;20763:15;20789:184;20841:77;20838:1;20831:88;20938:4;20935:1;20928:15;20962:4;20959:1;20952:15;20978:88;21053:3;21049:15;;21035:31::o;21071:883::-;;21152:4;21134:16;21131:26;21128:2;;;21160:5;;21128:2;21201:1;21196:3;21191;21176:27;21263:10;21225:36;21256:3;21250:10;21225:36;:::i;:::-;21222:52;21212:2;;21278:5;;21212:2;21312;21306:9;21370:66;21352:16;21348:89;21345:1;21339:4;21324:114;21467:4;21461:11;21491:16;21526:18;21597:2;21590:4;21582:6;21578:17;21575:25;21570:2;21562:6;21559:14;21556:45;21553:2;;;21604:5;;;;;;21553:2;21641:6;21635:4;21631:17;21620:28;;21677:3;21671:10;21657:24;;21704:2;21696:6;21693:14;21690:2;;;21710:5;;;;;;21690:2;;21771:16;21765:4;21761:27;21754:4;21745:6;21740:3;21736:16;21732:27;21729:60;21726:2;;;21792:5;;;;;21726:2;21848;21836:15;21853:66;21832:88;21823:98;;21923:4;21819:109;21815:2;21808:121;21827:3;-1:-1:-1;;21118:836:1;:::o;21959:156::-;22047:42;22040:5;22036:54;22029:5;22026:65;22016:2;;22105:1;22102;22095:12;22120:120;22208:5;22201:13;22194:21;22187:5;22184:32;22174:2;;22230:1;22227;22220:12

Swarm Source

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