Contract 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb 6

 

Contract Overview

Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0xa2a98a5edadcb7346b35b5ccc3b47ba99205c05cb16dea915622c5631c3c7900Withdraw299696222022-06-25 4:46:50453 days 7 hrs ago0x0a303b387a6b236de27ce8de38cf1781f523d8a8 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.000129487694 2.500003759
0x77619220f6118438d06ab04cf34e2cca74307b3f0c62119fcc822409f11cac12Withdraw278509622022-05-02 22:24:50506 days 14 hrs ago0xfbf9964c498afd66dc21c1ca12ef22cdd2879d0d IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.0000593425 2.50000002
0x05d545c5482983b27cdbeea1ed3b595f6bcf61e57b68cc5da4e35cd04e74242aWithdraw278501712022-05-02 21:55:20506 days 14 hrs ago0xd9f8127e8ab1ac853265c66d64c3da0eade9a859 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.000129487501 2.50000002
0xa92f9f48077d775e9fcb74276060b2055dd946b49db3339e030e8e1c1dde82ddWithdraw278501432022-05-02 21:53:28506 days 14 hrs ago0xb1ceff4b56dfb6d2063f1ef59ec9e4bc8cbac1ca IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.0000593425 2.500000032
0x7178488bb9dafa0c252008419c481291fcaa50e618515cdd39d7ab3d4ed56328Withdraw278501432022-05-02 21:53:28506 days 14 hrs ago0xb1ceff4b56dfb6d2063f1ef59ec9e4bc8cbac1ca IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.0000593425 2.500000026
0x8fdc4b677d3d8b4866b4323b710ea07b232ca762f0d852283dcd6b45e8793356Withdraw278501432022-05-02 21:53:28506 days 14 hrs ago0xb1ceff4b56dfb6d2063f1ef59ec9e4bc8cbac1ca IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.000129487501 2.500000022
0xe7099ebd1aa9ffeb810d1508d8e483eb25ea89e9a4940c2fc61e40eae5877ff3Withdraw278480612022-05-02 20:38:33506 days 15 hrs ago0x6de9287c30eae9e69567db117c16942bd0222ae0 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.000129487501 2.500000022
0xb74232d149112bad12c65503bfdd4d2160b5d5a3a7565abea5075521d4fb9ea2Withdraw278480612022-05-02 20:38:33506 days 15 hrs ago0x09a2a3457fdc4ae60fad3edcb1f644aabd180814 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.001089118646 30.756506346
0x4159d1f6ccfb373fdfa3d0cd0e249c78c75a32c60f36078a4aa7aecffb736caaWithdraw278480612022-05-02 20:38:33506 days 15 hrs ago0x09a2a3457fdc4ae60fad3edcb1f644aabd180814 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.001076465652 30.399188189
0xd5bd294771fcf44f161833238677420921ebf74d3b591d18bc2c61b6fe860256Withdraw278480602022-05-02 20:38:29506 days 15 hrs ago0x09a2a3457fdc4ae60fad3edcb1f644aabd180814 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.000088527508 2.500000236
0x310e9c7028a2484b4b820f5e4e952b74e8df2ce627f2a31c074f09de462879e2Withdraw278480602022-05-02 20:38:29506 days 15 hrs ago0x09a2a3457fdc4ae60fad3edcb1f644aabd180814 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.0000885275 2.500000026
0x6e141c358ddce1257da51ddaeec90e098de8f100f41ad7ab05763c09d15e1ba1Withdraw278480602022-05-02 20:38:29506 days 15 hrs ago0x09a2a3457fdc4ae60fad3edcb1f644aabd180814 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.0000885275 2.500000024
0x8e71907d033504d35d6e0d57a1da0f2f194385e9268a493fb4183c5ef6558209Withdraw278480602022-05-02 20:38:29506 days 15 hrs ago0x09a2a3457fdc4ae60fad3edcb1f644aabd180814 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.0000885275 2.500000022
0xa03a0e458104ad858b75735d8f9b089056a7b1bb95d0b3acde9014e3beaa0b5dWithdraw278480492022-05-02 20:37:45506 days 15 hrs ago0x9ac6058de4bd756080f7df1eeda4f854a23dc3c1 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.000126675001 2.500000022
0x615e3930349d444962cb9927eb5a18e0a8409c5064dae7103f735629c3760b71Withdraw278480302022-05-02 20:36:29506 days 15 hrs ago0xfbf9964c498afd66dc21c1ca12ef22cdd2879d0d IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.0000593425 2.500000024
0x4c3162e0f4c87646207858bf0b0d057b3c8981afe49001171af907a814547e56Withdraw278480272022-05-02 20:36:17506 days 15 hrs ago0xfbf9964c498afd66dc21c1ca12ef22cdd2879d0d IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.000129487501 2.500000024
0x6b4174ab6048243b0adf579503f2e5833d29eade82888336b3c87058f9ed1f84Withdraw278480262022-05-02 20:36:13506 days 15 hrs ago0x14669db07b191996c24a2e56b68a2f21c8a4cc15 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.000096520001 2.500000038
0x61ae005cd0c15c345b4698d09cdb999148fb1cf71fec2671cec2c8cc9eb04068Withdraw278480262022-05-02 20:36:13506 days 15 hrs ago0x14669db07b191996c24a2e56b68a2f21c8a4cc15 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.00009652 2.500000024
0x877e6f479a7ff8e9067ec4ea20d5c9c5b6d1595041f97c1981b9d0c9b57058daWithdraw278459112022-05-02 19:17:46506 days 17 hrs ago0xa0cc870be287c232d4d3cde3f868287bad239937 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.0001294875 2.500000009
0x8fbbb0a12a516ea0d22cc49ce83256700570e16c7b773fb27de7a2ea07abfbeeWithdraw277710282022-04-30 22:09:02508 days 14 hrs ago0x23fa1d425612499070d7c5ed95c8e89042243bc3 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.000122487501 2.500000026
0xe06216a4f7cb275dad1cb8f4e3a2e112676fb17201278f62cec99cb016850ac0Withdraw277351872022-04-30 0:06:52509 days 12 hrs ago0x13f1ebd234cfa50e707e254f1584705c586245f7 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.000126675 2.500000015
0x400ccc12cf4d34d4f145c963acc3aa2b567eb70f66a4e9eaa649716efcd4b522Withdraw277351822022-04-30 0:06:42509 days 12 hrs ago0x9ac6058de4bd756080f7df1eeda4f854a23dc3c1 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.0001294875 2.500000017
0x18534477a79eb467521ddc0147362cd846dae07a5f7ccba1b0bcc6e1ecf1ed86Withdraw276215612022-04-27 3:18:16512 days 9 hrs ago0xb8d2c52e4381a9718f2c081c4fbb8c5e4583fdf7 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.0000593425 2.50000003
0x1c79bbbbdc27d0005e03985a76b1b344df576761a97393b61ba538f7f1a032a2Withdraw276209092022-04-27 2:53:08512 days 9 hrs ago0xb8d2c52e4381a9718f2c081c4fbb8c5e4583fdf7 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.000129487501 2.50000003
0x3aabd720ed60ddc667453a43b601bfe0f4e0172c295031db04b125701a8887f6Withdraw276209082022-04-27 2:53:04512 days 9 hrs ago0x09a2a3457fdc4ae60fad3edcb1f644aabd180814 IN  0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0 MATIC0.000129487501 2.50000003
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x88ead5ad24586b96646f3cc1bd3bd8e75824d4ce41f0fd0628ea52a557f6f097263811382022-03-26 11:33:06544 days 1 hr ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x869b2343fec314608b2601e58f82d081bd57a7e34 wei
0xa10cae31bbb8aef38ba693b0c2b392f7b47f03d1682948cb1f5ca627967b1ff8263793672022-03-26 10:30:04544 days 2 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x0c46b9b4f997e3dc578dc113d521043368ca780138 wei
0x99a40611ea9376c0cf0d9f87a2ac65c32c5f3412637881740108e1954edf621e263791512022-03-26 10:22:40544 days 2 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0xeaec75feb6ef3f23009164d005978f54a18eadf2386 wei
0xcc559abfad294ff6591aad9b6acfc874dc0165961c5185716e96800763896b41263778572022-03-26 9:33:56544 days 3 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x664bf8f6c1242bde9865d531353cc36125b91ab50.000000000000003853 MATIC
0x2f5d11ff4767a5c996f1d07dc1ef20a574062f7e7dd2cb8fd6cea7fe9d970809263768272022-03-26 8:56:20544 days 3 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x146eae5b512fe591947d32114a1504a30465c27d0.000000000000038533 MATIC
0xcac626c2091ba6e48f31ea1f396f33f64ba353331233d686e63d56b0034ab823263765162022-03-26 8:45:42544 days 3 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x87e987b8e13d24cae98e6a25b50070464f8b73550.000000000000385327 MATIC
0x176d783f3e344911e9eb50719d0e4cd77a1fb299da18ea198ac2acbff66a8664263753372022-03-26 8:03:00544 days 4 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x34b78698f346b2ec58d4adf5b50370bf69fdea510.00000000000385327 MATIC
0xffcd7fc2016c540ee7049662fee479f82ab906bb41447a94705a1e279625cc60263735662022-03-26 6:49:00544 days 5 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x560c4260fbd8964982ea0ba3014814391dcefdef0.000000000038532707 MATIC
0x4ca68e5fb2c959d248b057eac05ada4b847d6534053bd71a26c94d2572240c4d263734742022-03-26 6:45:52544 days 5 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x5664d088a62e15afc34bd11cc0792cddb8733ad40.000000000385327062 MATIC
0x4f87bf940a3e808bfec468f9554b7c27f11f9ba1fdeea23b24e6f57ae07346d1263730932022-03-26 6:30:38544 days 6 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0xaa124836852d5ba875ae6f97b523ee2bf1721c0d0.000000003853270627 MATIC
0x31bb198fe33b42f41efa968a5b968ff223fb6d2d90ae503a3377f9572b499670263719532022-03-26 5:46:37544 days 6 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x8c4b9397410af84021bc4bdec7733a8e49dc4f6e0.000000038532706268 MATIC
0x7b344838a6efdd0151e85c2424200013d800515b81ba6df793bb78f87d8ebc20263688652022-03-26 3:39:15544 days 8 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x76e4549d45ec8f4d9bdafb57b3763cffd3fb0bbb0.000000385327062683 MATIC
0xcc1588113eaeaa829cfa2e6c2266519e86f0d7b670606dfb43136567c5e79c0a263682362022-03-26 3:16:29544 days 9 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x939b472d2438dd849c02ef08cf632808271170730.000003853270626826 MATIC
0xbbd46746a3256810c1e801d39d5d96fadf4502193ee0fb688fc746dd0b9b05db263681332022-03-26 3:12:59544 days 9 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x976517309ba0ef20902fa0dbd458d0502cc6ec240.000038532706268263 MATIC
0x4cc255aa3d1727756d8554c855fadc4c3a147230300a371725d80fd8073882d9263679002022-03-26 3:04:55544 days 9 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x456d4194781bda64b20dfa1b9b0a641a6f1ea8e00.000385327062682629 MATIC
0x0f467fbaceab625394cedac227971a44b65fc8464a201513a7a529cc13e2fd84263673552022-03-26 2:44:01544 days 9 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0xcde9382b2108f1ce8eb929c885258c5b57c2cda30.003853270626826284 MATIC
0x1bdd513293d5b767c1c6d3155ba33164f675bfe7afd235e46ebb77ab8176a53d263670512022-03-26 2:31:53544 days 10 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x778602169d454367dbc3425ccac1bd5c678ad5d20.038532706268262848 MATIC
0xd799af826ef3b9d2ccde452169c05c52fae5aa5732d2b57f26c63b56f0412ed9263657232022-03-26 1:45:49544 days 10 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x6962719e9a0bdc344fedc28b918c13f13b5bc0570.385327062682628478 MATIC
0x1966155eb6a46694393de605c9aa845fff7eab5ef6a72950b8b65925df594887263656852022-03-26 1:44:29544 days 10 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x394bb32c7d143f13ab720159e5ac77bf6ae899443.853270626826284783 MATIC
0xab4f5a547d64f39de461f364f02a42755d6c0e9763d1f4e38aed4c5780e20d6a263656442022-03-26 1:43:07544 days 10 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x84a6b0c091c57313e3350b1c9d59472517f60d412.901541041666666666 MATIC
0xf4e5ab5b0e77a9c1073a4326b0d6267fdebf844d3c9beb6b9569e5f4dc2737b7263656192022-03-26 1:42:13544 days 10 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x8dd69d5e8903a4872c30cbde4b01a3d6fc6e44311.082617977132608505 MATIC
0x016bbe4ecaa9f86e177539a1727e9778fd99309b9656afc45629d0d9a4050dfc263653722022-03-26 1:33:43544 days 11 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0xdc0658becd811133a5078a66ed424a9f795a91464.3885029375 MATIC
0x76a2e06ea0f5e3037969e59253e0b8a2734592b6efd3910999b9e78729e2d2aa263652152022-03-26 1:28:21544 days 11 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0xd0a1d5d8bd89de6b30fe23257b494a8ad7883a6f108.004649224999999995 MATIC
0x2b668aa327f185d0eeac8922de5480fcfac995cad36f57a3b03da836049b0aba263651972022-03-26 1:27:45544 days 11 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0x35afa41349a8eebbf85f5b02a123903b901b6481108.096799112499999953 MATIC
0xe93a4268a8a4519a0d2e9db63e05b44a9f623f0de1649d20f891734fb7bde2d5263651662022-03-26 1:26:39544 days 11 hrs ago 0x799a2b1b0a84a943501ddc40ab82b9735e8ae6cb0xe8fd9718eff1b9e7d805906640609eaa9678bd71120.424262979166666618 MATIC
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MaticKing

Compiler Version
v0.5.10+commit.5a6ea5b1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at PolygonScan.com on 2022-03-06
*/

pragma solidity 0.5.10;

contract MaticKing {
    using SafeMath for uint;
    uint constant public DEPOSITS_MAX = 100;
    uint constant public INVEST_MIN_AMOUNT = 1 ether;
    uint constant public WITHDRAW_MIN_AMOUNT = 1 ether;
    uint constant public WITHDRAW_MAX_AMOUNT = 10000 ether;
    uint constant public WITHDRAW_RETURN = 1000;
    uint constant public BASE_PERCENT = 1000;
    uint[] public REFERRAL_PERCENTS = [500, 300, 200, 100, 50];
    uint constant public DEV_FEE = 1000;
    uint constant public REINVEST_DEV_FEE = 800;
    uint constant public REINVEST_BONUS = 500;
    uint constant public MAX_HOLD_PERCENT = 100;
    uint constant public MAX_COMMUNITY_PERCENT = 50;
    uint constant public COMMUNITY_BONUS_STEP = 250;
    uint constant public PERCENTS_DIVIDER = 10000;
    uint constant public CONTRACT_BALANCE_STEP = 25000 ether;
    uint constant public MAX_CONTRACT_PERCENT = 50;
    uint constant public TIME_STEP = 1 days;

    address payable public devAddress;
    uint256 public startDate;

    uint public totalInvested;
    uint public totalUsers;
    uint public totalDeposits;
    uint public totalWithdrawn;
    uint public contractPercent;
    uint public totalRefBonus;
    
    struct Deposit {
        uint64 amount;
        uint64 withdrawn;
        uint32 start;
    }

    struct User {
        Deposit[] deposits;
        uint32 checkpoint;
        uint32 checkpointWithdraw;
        uint32 checkpointReinvest;
        address referrer;
        uint64 bonus;
        uint24[5] refs;
    }

    mapping (address => User) internal users;
    event Newbie(address indexed user, address indexed parent);
    event NewDeposit(address indexed user, uint amount);
    event Withdrawn(address indexed user, uint amount);
    event RefBonus(address indexed referrer, address indexed referral, uint indexed level, uint amount);
    event FeePayed(address indexed user, uint totalAmount);

    constructor(address payable devAddr, uint256 start) public {
        require(!isContract(devAddr));
        devAddress = devAddr;
        contractPercent = getContractBalanceRate();

        if(start>0){
            startDate = start;
        }
        else{
            startDate = block.timestamp;
        }
    }

    function getContractBalance() public view returns (uint) {
        return address(this).balance;
    }

    function getContractBalanceRate() public view returns (uint) {
        uint contractBalance = address(this).balance;
        uint contractBalancePercent = BASE_PERCENT.add(contractBalance.div(CONTRACT_BALANCE_STEP).mul(10));

        if (contractBalancePercent < BASE_PERCENT.add(MAX_CONTRACT_PERCENT)) {
            return contractBalancePercent;
        } else {
            return BASE_PERCENT.add(MAX_CONTRACT_PERCENT);
        }
    }
    
    function getCommunityBonusRate() public view returns (uint) {
        uint communityBonusRate = totalUsers.div(COMMUNITY_BONUS_STEP).mul(10);

        if (communityBonusRate < MAX_COMMUNITY_PERCENT) {
            return communityBonusRate;
        } else {
            return MAX_COMMUNITY_PERCENT;
        }
    }
    
    function withdraw() public {
        User storage user = users[msg.sender];

        require(user.checkpointWithdraw + TIME_STEP < block.timestamp , "withdraw allowed only once a day" );

        uint userPercentRate = getUserPercentRate(msg.sender);
        uint communityBonus = getCommunityBonusRate();

        uint totalAmount;
        uint dividends;

        for (uint i = 0; i < user.deposits.length; i++) {

            if (uint(user.deposits[i].withdrawn) < uint(user.deposits[i].amount).mul(21).div(10)) {

                if (user.deposits[i].start > user.checkpoint) {

                    dividends = (uint(user.deposits[i].amount).mul(userPercentRate+communityBonus).div(PERCENTS_DIVIDER))
                        .mul(block.timestamp.sub(uint(user.deposits[i].start)))
                        .div(TIME_STEP);

                } else {

                    dividends = (uint(user.deposits[i].amount).mul(userPercentRate+communityBonus).div(PERCENTS_DIVIDER))
                        .mul(block.timestamp.sub(uint(user.checkpoint)))
                        .div(TIME_STEP);

                }

                if (uint(user.deposits[i].withdrawn).add(dividends) > uint(user.deposits[i].amount).mul(21).div(10)) {
                    dividends = (uint(user.deposits[i].amount).mul(21).div(10)).sub(uint(user.deposits[i].withdrawn));
                }

                user.deposits[i].withdrawn = uint64(uint(user.deposits[i].withdrawn).add(dividends)); /// changing of storage data
                totalAmount = totalAmount.add(dividends);

            }
        }

        require(totalAmount > WITHDRAW_MIN_AMOUNT, "Minimum Withdraw");

        uint contractBalance = address(this).balance;
        if (contractBalance < totalAmount) {
            totalAmount = contractBalance;
        }
        if (WITHDRAW_MAX_AMOUNT < totalAmount) {
            totalAmount = WITHDRAW_MAX_AMOUNT;
        }
        
        user.checkpoint = uint32(block.timestamp);
        user.checkpointWithdraw = uint32(block.timestamp);

        totalAmount = totalAmount.sub(totalAmount.mul(WITHDRAW_RETURN).div(PERCENTS_DIVIDER));


        msg.sender.transfer(totalAmount);

        totalWithdrawn = totalWithdrawn.add(totalAmount);


        emit Withdrawn(msg.sender, totalAmount);
    }

    function getUserRates(address userAddress) public view returns (uint, uint, uint, uint) {
        User storage user = users[userAddress];

        uint timeMultiplier = 0;
        if (isActive(userAddress)) {
            timeMultiplier = (block.timestamp.sub(uint(user.checkpoint))).div(TIME_STEP).mul(10);
            if (timeMultiplier > MAX_HOLD_PERCENT) {
                timeMultiplier = MAX_HOLD_PERCENT;
            }
        }

        return (BASE_PERCENT, timeMultiplier, getCommunityBonusRate(), contractPercent);

    }

    function getUserPercentRate(address userAddress) public view returns (uint) {
        User storage user = users[userAddress];

        if (isActive(userAddress)) {
            uint timeMultiplier = (block.timestamp.sub(uint(user.checkpoint))).div(TIME_STEP).mul(10);
            if (timeMultiplier > MAX_HOLD_PERCENT) {
                timeMultiplier = MAX_HOLD_PERCENT;
            }
            return contractPercent.add(timeMultiplier);
        } else {
            return contractPercent;
        }
    }

    function getUserAvailable(address userAddress) public view returns (uint) {
        User storage user = users[userAddress];

        uint userPercentRate = getUserPercentRate(userAddress);
        uint communityBonus = getCommunityBonusRate();

        uint totalDividends;
        uint dividends;

        for (uint i = 0; i < user.deposits.length; i++) {

            if (uint(user.deposits[i].withdrawn) < uint(user.deposits[i].amount).mul(21).div(10)) {

                if (user.deposits[i].start > user.checkpoint) {

                    dividends = (uint(user.deposits[i].amount).mul(userPercentRate+communityBonus).div(PERCENTS_DIVIDER))
                        .mul(block.timestamp.sub(uint(user.deposits[i].start)))
                        .div(TIME_STEP);

                } else {

                    dividends = (uint(user.deposits[i].amount).mul(userPercentRate+communityBonus).div(PERCENTS_DIVIDER))
                        .mul(block.timestamp.sub(uint(user.checkpoint)))
                        .div(TIME_STEP);

                }

                if (uint(user.deposits[i].withdrawn).add(dividends) > uint(user.deposits[i].amount).mul(21).div(10)) {
                    dividends = (uint(user.deposits[i].amount).mul(21).div(10)).sub(uint(user.deposits[i].withdrawn));
                }

                totalDividends = totalDividends.add(dividends);

                /// no update of withdrawn because that is view function

            }

        }

        return totalDividends;
    }
    
    function invest(address referrer) public payable {
        uint msgValue = msg.value;
        require(block.timestamp > startDate, "Contract does not launch yet");
        require(msgValue >= INVEST_MIN_AMOUNT, "Minimum Invest");

        User storage user = users[msg.sender];

        require(user.deposits.length < DEPOSITS_MAX, "Maximum 100 deposits from address");


        uint devFee = msgValue.mul(DEV_FEE).div(PERCENTS_DIVIDER);

        devAddress.transfer(devFee);

        emit FeePayed(msg.sender, devFee);

        if (user.referrer == address(0) && users[referrer].deposits.length > 0 && referrer != msg.sender) {
            user.referrer = referrer;
        }

        if (user.referrer != address(0)) {

            address upline = user.referrer;
            for (uint i = 0; i < 5; i++) {
                if (upline != address(0)) {
                    uint amount = msgValue.mul(REFERRAL_PERCENTS[i]).div(PERCENTS_DIVIDER);
                    if (amount > 0) {
                        address(uint160(upline)).transfer(amount);
                        users[upline].bonus = uint64(uint(users[upline].bonus).add(amount));
                        totalRefBonus = totalRefBonus.add(amount);
                        emit RefBonus(upline, msg.sender, i, amount);
                    }

                    users[upline].refs[i]++;
                    upline = users[upline].referrer;
                } else break;
            }

        }

        if (user.deposits.length == 0) {
            user.checkpoint = uint32(block.timestamp);
            totalUsers++;
            emit Newbie(msg.sender,user.referrer);
        }

        user.deposits.push(Deposit(uint64(msgValue), 0, uint32(block.timestamp)));

        totalInvested = totalInvested.add(msgValue);
        totalDeposits++;

        if (contractPercent < BASE_PERCENT.add(MAX_CONTRACT_PERCENT)) {
            uint contractPercentNew = getContractBalanceRate();
            if (contractPercentNew > contractPercent) {
                contractPercent = contractPercentNew;
            }
        }

        emit NewDeposit(msg.sender, msgValue);
    }

    function reinvest() public {
        User storage user = users[msg.sender];

        require(user.checkpointReinvest + TIME_STEP < block.timestamp , "reinvest allowed only once a day" );

        uint userPercentRate = getUserPercentRate(msg.sender);
        uint communityBonus = getCommunityBonusRate();

        uint totalAmount;
        uint dividends;

        for (uint i = 0; i < user.deposits.length; i++) {

            if (uint(user.deposits[i].withdrawn) < uint(user.deposits[i].amount).mul(21).div(10)) {

                if (user.deposits[i].start > user.checkpoint) {

                    dividends = (uint(user.deposits[i].amount).mul(userPercentRate+communityBonus).div(PERCENTS_DIVIDER))
                        .mul(block.timestamp.sub(uint(user.deposits[i].start)))
                        .div(TIME_STEP);

                } else {

                    dividends = (uint(user.deposits[i].amount).mul(userPercentRate+communityBonus).div(PERCENTS_DIVIDER))
                        .mul(block.timestamp.sub(uint(user.checkpoint)))
                        .div(TIME_STEP);

                }

                if (uint(user.deposits[i].withdrawn).add(dividends) > uint(user.deposits[i].amount).mul(21).div(10)) {
                    dividends = (uint(user.deposits[i].amount).mul(21).div(10)).sub(uint(user.deposits[i].withdrawn));
                }

                user.deposits[i].withdrawn = uint64(uint(user.deposits[i].withdrawn).add(dividends)); /// changing of storage data
                totalAmount = totalAmount.add(dividends);

            }
        }

        require(user.deposits.length < DEPOSITS_MAX, "Maximum 100 deposits from address");
        require(totalAmount >= INVEST_MIN_AMOUNT, "Minimum Invest");

        uint256 reinvest_dFee = totalAmount.mul(REINVEST_DEV_FEE).div(PERCENTS_DIVIDER);
        devAddress.transfer(reinvest_dFee);
        emit FeePayed(msg.sender, reinvest_dFee);

        totalAmount = totalAmount.add(totalAmount.mul(REINVEST_BONUS).div(PERCENTS_DIVIDER));
        user.deposits.push(Deposit(uint64(totalAmount), 0, uint32(block.timestamp)));
        totalInvested = totalInvested.add(totalAmount);
        totalDeposits++;
        if (contractPercent < BASE_PERCENT.add(MAX_CONTRACT_PERCENT)) {
            uint contractPercentNew = getContractBalanceRate();
            if (contractPercentNew > contractPercent) {
                contractPercent = contractPercentNew;
            }
        }
        emit NewDeposit(msg.sender, totalAmount);

        totalWithdrawn = totalWithdrawn.add(totalAmount);

        user.checkpoint = uint32(block.timestamp);
        user.checkpointReinvest = uint32(block.timestamp);
    }

    function isActive(address userAddress) public view returns (bool) {
        User storage user = users[userAddress];

        return (user.deposits.length > 0) && uint(user.deposits[user.deposits.length-1].withdrawn) < uint(user.deposits[user.deposits.length-1].amount).mul(21).div(10);
    }

    function getUserAmountOfDeposits(address userAddress) public view returns (uint) {
        return users[userAddress].deposits.length;
    }
    
    function getUserCheckpoint(address userAddress) public view returns (uint) {
        User storage user = users[userAddress];
        return user.checkpoint;
    }

    function getUserCheckpointWithdraw(address userAddress) public view returns (uint) {
        User storage user = users[userAddress];
        return user.checkpointWithdraw;
    }

    function getUserCheckpointReinvest(address userAddress) public view returns (uint) {
        User storage user = users[userAddress];
        return user.checkpointReinvest;
    }

    function getUserTotalDeposits(address userAddress) public view returns (uint) {
        User storage user = users[userAddress];
        uint amount;
        for (uint i = 0; i < user.deposits.length; i++) {
            amount = amount.add(uint(user.deposits[i].amount));
        }
        return amount;
    }

    function getUserTotalActiveDeposits(address userAddress) public view returns (uint) {
        User storage user = users[userAddress];
        uint amount;
        for (uint i = 0; i < user.deposits.length; i++) {
            if(uint(user.deposits[i].withdrawn) < uint(user.deposits[i].amount).mul(21).div(10)){
                amount = amount.add(uint(user.deposits[i].amount));
            }
        }
        return amount;
    }

    function getUserTotalWithdrawn(address userAddress) public view returns (uint) {
        User storage user = users[userAddress];

        uint amount = user.bonus;

        for (uint i = 0; i < user.deposits.length; i++) {
            amount = amount.add(uint(user.deposits[i].withdrawn));
        }

        return amount;
    }

    function getUserDepositInfo(address userAddress, uint256 index) public view returns(uint256 amount, uint256 withdrawn, uint256 start, uint256 finish) {
        User storage user = users[userAddress];

        amount = user.deposits[index].amount;
        withdrawn = user.deposits[index].withdrawn;
        start = user.deposits[index].start;
        finish = user.deposits[index].start+(21*TIME_STEP);
    }

    function getSiteStats() public view returns (uint, uint, uint, uint, uint) {
        return (totalInvested, totalDeposits, address(this).balance, contractPercent, totalUsers);
    }

    function getUserStats(address userAddress) public view returns (uint, uint, uint, uint) {
        uint userAvailable = getUserAvailable(userAddress);
        uint userDepsTotal = getUserTotalDeposits(userAddress);
        uint userActiveDeposit = getUserTotalActiveDeposits(userAddress);
        uint userWithdrawn = getUserTotalWithdrawn(userAddress);

        return (userAvailable, userDepsTotal, userActiveDeposit, userWithdrawn);
    }

    function getUserReferralsStats(address userAddress) public view returns (address, uint64, uint24[5] memory) {
        User storage user = users[userAddress];

        return (user.referrer, user.bonus, user.refs);
    }

    function isContract(address addr) internal view returns (bool) {
        uint size;
        assembly { size := extcodesize(addr) }
        return size > 0;
    }

}

library SafeMath {

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

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

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

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

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;

        return c;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"PERCENTS_DIVIDER","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"referrer","type":"address"}],"name":"invest","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"startDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"REINVEST_DEV_FEE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserAvailable","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserPercentRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_CONTRACT_PERCENT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getSiteStats","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"WITHDRAW_MIN_AMOUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserReferralsStats","outputs":[{"name":"","type":"address"},{"name":"","type":"uint64"},{"name":"","type":"uint24[5]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"COMMUNITY_BONUS_STEP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TIME_STEP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"devAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DEV_FEE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_HOLD_PERCENT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"REINVEST_BONUS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalWithdrawn","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserStats","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalInvested","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"REFERRAL_PERCENTS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BASE_PERCENT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_COMMUNITY_PERCENT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalRefBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CONTRACT_BALANCE_STEP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCommunityBonusRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getContractBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserTotalActiveDeposits","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalDeposits","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserTotalDeposits","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"WITHDRAW_RETURN","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"WITHDRAW_MAX_AMOUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contractPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserRates","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"isActive","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserCheckpointWithdraw","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserAmountOfDeposits","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DEPOSITS_MAX","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalUsers","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"},{"name":"index","type":"uint256"}],"name":"getUserDepositInfo","outputs":[{"name":"amount","type":"uint256"},{"name":"withdrawn","type":"uint256"},{"name":"start","type":"uint256"},{"name":"finish","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserCheckpoint","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"INVEST_MIN_AMOUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserCheckpointReinvest","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserTotalWithdrawn","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getContractBalanceRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"devAddr","type":"address"},{"name":"start","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":true,"name":"parent","type":"address"}],"name":"Newbie","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"NewDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"referrer","type":"address"},{"indexed":true,"name":"referral","type":"address"},{"indexed":true,"name":"level","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"RefBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"totalAmount","type":"uint256"}],"name":"FeePayed","type":"event"}]

60806040526040518060a001604052806101f461ffff16815260200161012c61ffff16815260200160c861ffff168152602001606461ffff168152602001603261ffff16815250600090600562000058929190620003c8565b503480156200006657600080fd5b50604051620041aa380380620041aa833981810160405260408110156200008c57600080fd5b810190808051906020019092919080519060200190929190505050620000b8826200014160201b60201c565b15620000c357600080fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001146200015460201b60201c565b600781905550600081111562000131578060028190555062000139565b426002819055505b505062000448565b600080823b905060008111915050919050565b6000803073ffffffffffffffffffffffffffffffffffffffff163190506000620001cc620001b5600a620001a169054b40b1f852bda00000866200022360201b62003af81790919060201c565b620002b460201b62003a721790919060201c565b6103e86200033f60201b62003b871790919060201c565b9050620001eb60326103e86200033f60201b62003b871790919060201c565b811015620001fe57809250505062000220565b6200021b60326103e86200033f60201b62003b871790919060201c565b925050505b90565b60008082116200029b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b6000828481620002a757fe5b0490508091505092915050565b600080831415620002c9576000905062000339565b6000828402905082848281620002db57fe5b041462000334576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180620041896021913960400191505060405180910390fd5b809150505b92915050565b600080828401905083811015620003be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b8280548282559060005260206000209081019282156200040d579160200282015b828111156200040c578251829061ffff16905591602001919060010190620003e9565b5b5090506200041c919062000420565b5090565b6200044591905b808211156200044157600081600090555060010162000427565b5090565b90565b613d3180620004586000396000f3fe60806040526004361061027d5760003560e01c806369b11dd51161014f5780639f8a13d7116100c1578063d7ffca911161007a578063d7ffca9114610cec578063e262113e14610d51578063ea6ca17c14610d7c578063fb4cb32b14610de1578063fdb5a03e14610e46578063fe758b4914610e5d5761027d565b80639f8a13d714610adf578063a03da05c14610b48578063a8aeb6c214610bad578063aef18c2514610c12578063bff1f9e114610c3d578063c0806b0314610c685761027d565b80637d882097116101135780637d882097146109545780637e3abeea1461097f57806383c471d2146109e45780639af88c2e14610a0f5780639bb5771814610a3a5780639f6650d614610a655761027d565b806369b11dd5146108435780636aabddee1461086e5780636db959d7146108995780636f9fb98a146108c45780637b7f9eaf146108ef5761027d565b806332bc298c116101f35780634b319713116101ac5780634b319713146106ce5780634e43603a146106f95780635216aeec14610773578063600d20ce1461079e57806362f3765e146107ed5780636957d5f7146108185761027d565b806332bc298c146105b45780633ad10ef6146105df5780633ccfd60b14610636578063436a88c11461064d578063447673081461067857806348521717146106a35761027d565b80631b9a26f0116102455780631b9a26f0146103ac5780631c00b085146104115780631dba5b081461043c5780631e2ac81b146104835780632ba285e6146104ae5780632db4b2a0146105895761027d565b806301c234a81461028257806303f9c793146102ad5780630b97bc86146102f15780630d3b44891461031c578063153ab9df14610347575b600080fd5b34801561028e57600080fd5b50610297610e88565b6040518082815260200191505060405180910390f35b6102ef600480360360208110156102c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e8e565b005b3480156102fd57600080fd5b50610306611863565b6040518082815260200191505060405180910390f35b34801561032857600080fd5b50610331611869565b6040518082815260200191505060405180910390f35b34801561035357600080fd5b506103966004803603602081101561036a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061186f565b6040518082815260200191505060405180910390f35b3480156103b857600080fd5b506103fb600480360360208110156103cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cfd565b6040518082815260200191505060405180910390f35b34801561041d57600080fd5b50610426611de0565b6040518082815260200191505060405180910390f35b34801561044857600080fd5b50610451611de5565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b34801561048f57600080fd5b50610498611e22565b6040518082815260200191505060405180910390f35b3480156104ba57600080fd5b506104fd600480360360208110156104d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e2e565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018367ffffffffffffffff1667ffffffffffffffff16815260200182600560200280838360005b83811015610574578082015181840152602081019050610559565b50505050905001935050505060405180910390f35b34801561059557600080fd5b5061059e611f35565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105c9611f3a565b6040518082815260200191505060405180910390f35b3480156105eb57600080fd5b506105f4611f41565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561064257600080fd5b5061064b611f67565b005b34801561065957600080fd5b5061066261270a565b6040518082815260200191505060405180910390f35b34801561068457600080fd5b5061068d612710565b6040518082815260200191505060405180910390f35b3480156106af57600080fd5b506106b8612715565b6040518082815260200191505060405180910390f35b3480156106da57600080fd5b506106e361271b565b6040518082815260200191505060405180910390f35b34801561070557600080fd5b506107486004803603602081101561071c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612721565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34801561077f57600080fd5b50610788612772565b6040518082815260200191505060405180910390f35b3480156107aa57600080fd5b506107d7600480360360208110156107c157600080fd5b8101908080359060200190929190505050612778565b6040518082815260200191505060405180910390f35b3480156107f957600080fd5b50610802612799565b6040518082815260200191505060405180910390f35b34801561082457600080fd5b5061082d61279f565b6040518082815260200191505060405180910390f35b34801561084f57600080fd5b506108586127a4565b6040518082815260200191505060405180910390f35b34801561087a57600080fd5b506108836127aa565b6040518082815260200191505060405180910390f35b3480156108a557600080fd5b506108ae6127b8565b6040518082815260200191505060405180910390f35b3480156108d057600080fd5b506108d9612801565b6040518082815260200191505060405180910390f35b3480156108fb57600080fd5b5061093e6004803603602081101561091257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612820565b6040518082815260200191505060405180910390f35b34801561096057600080fd5b50610969612985565b6040518082815260200191505060405180910390f35b34801561098b57600080fd5b506109ce600480360360208110156109a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061298b565b6040518082815260200191505060405180910390f35b3480156109f057600080fd5b506109f9612a4d565b6040518082815260200191505060405180910390f35b348015610a1b57600080fd5b50610a24612a53565b6040518082815260200191505060405180910390f35b348015610a4657600080fd5b50610a4f612a61565b6040518082815260200191505060405180910390f35b348015610a7157600080fd5b50610ab460048036036020811015610a8857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a67565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b348015610aeb57600080fd5b50610b2e60048036036020811015610b0257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b49565b604051808215151515815260200191505060405180910390f35b348015610b5457600080fd5b50610b9760048036036020811015610b6b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c59565b6040518082815260200191505060405180910390f35b348015610bb957600080fd5b50610bfc60048036036020811015610bd057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612cc0565b6040518082815260200191505060405180910390f35b348015610c1e57600080fd5b50610c27612d0f565b6040518082815260200191505060405180910390f35b348015610c4957600080fd5b50610c52612d14565b6040518082815260200191505060405180910390f35b348015610c7457600080fd5b50610cc160048036036040811015610c8b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612d1a565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b348015610cf857600080fd5b50610d3b60048036036020811015610d0f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e59565b6040518082815260200191505060405180910390f35b348015610d5d57600080fd5b50610d66612ec0565b6040518082815260200191505060405180910390f35b348015610d8857600080fd5b50610dcb60048036036020811015610d9f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ecc565b6040518082815260200191505060405180910390f35b348015610ded57600080fd5b50610e3060048036036020811015610e0457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f33565b6040518082815260200191505060405180910390f35b348015610e5257600080fd5b50610e5b61301a565b005b348015610e6957600080fd5b50610e726139c8565b6040518082815260200191505060405180910390f35b61271081565b60003490506002544211610f0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f436f6e747261637420646f6573206e6f74206c61756e6368207965740000000081525060200191505060405180910390fd5b670de0b6b3a7640000811015610f88576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4d696e696d756d20496e7665737400000000000000000000000000000000000081525060200191505060405180910390fd5b6000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050606481600001805490501061102b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613cdc6021913960400191505060405180910390fd5b60006110566127106110486103e886613a7290919063ffffffff16565b613af890919063ffffffff16565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156110c0573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f2899dc8c12def1caa9accb64257cf2fd9f960f21bb27a560a757eae3c2ec43c1826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff1682600101600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156111b457506000600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180549050115b80156111ec57503373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611235578382600101600c6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600073ffffffffffffffffffffffffffffffffffffffff1682600101600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115f657600082600101600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008090505b60058110156115f357600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146115e157600061133961271061132b6000858154811061131157fe5b906000526020600020015489613a7290919063ffffffff16565b613af890919063ffffffff16565b905060008111156114e8578273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561138a573d6000803e3d6000fd5b506113fe81600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613b8790919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555061147b81600854613b8790919063ffffffff16565b600881905550813373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fd41f7e766eebcc7ff42b11ac8691bdf864db4afc0c55e71d629d54edce460d98846040518082815260200191505060405180910390a45b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301826005811061153557fe5b600a918282040191900660030281819054906101000a900462ffffff168092919060010191906101000a81548162ffffff021916908362ffffff16021790555050600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250506115e6565b6115f3565b80806001019150506112bc565b50505b6000826000018054905014156116ba57428260010160006101000a81548163ffffffff021916908363ffffffff16021790555060046000815480929190600101919050555081600101600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff45c155b8a4effa0b5ba158b6baef34bdbc98a7d320c3dde4307abbc2a396e9060405160405180910390a35b8160000160405180606001604052808567ffffffffffffffff168152602001600067ffffffffffffffff1681526020014263ffffffff1681525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060208201518160000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060408201518160000160106101000a81548163ffffffff021916908363ffffffff1602179055505050506117b883600354613b8790919063ffffffff16565b6003819055506005600081548092919060010191905055506117e660326103e8613b8790919063ffffffff16565b600754101561180f5760006117f96139c8565b905060075481111561180d57806007819055505b505b3373ffffffffffffffffffffffffffffffffffffffff167f2cb77763bc1e8490c1a904905c4d74b4269919aca114464f4bb4d911e60de364846040518082815260200191505060405180910390a250505050565b60025481565b61032081565b600080600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006118be84611cfd565b905060006118ca6127b8565b905060008060008090505b8560000180549050811015611cef57611945600a61193760158960000185815481106118fd57fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b86600001828154811061195457fe5b9060005260206000200160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff161015611ce2578560010160009054906101000a900463ffffffff1663ffffffff168660000182815481106119b057fe5b9060005260206000200160000160109054906101000a900463ffffffff1663ffffffff161115611aaf57611aa862015180611a9a611a298960000185815481106119f657fe5b9060005260206000200160000160109054906101000a900463ffffffff1663ffffffff1642613c0f90919063ffffffff16565b611a8c612710611a7e8a8c018d6000018981548110611a4457fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b613a7290919063ffffffff16565b613af890919063ffffffff16565b9150611b68565b611b6562015180611b57611ae68960010160009054906101000a900463ffffffff1663ffffffff1642613c0f90919063ffffffff16565b611b49612710611b3b8a8c018d6000018981548110611b0157fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b613a7290919063ffffffff16565b613af890919063ffffffff16565b91505b611bc9600a611bbb6015896000018581548110611b8157fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b611c1683886000018481548110611bdc57fe5b9060005260206000200160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff16613b8790919063ffffffff16565b1115611ccc57611cc9866000018281548110611c2e57fe5b9060005260206000200160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff16611cbb600a611cad60158b6000018781548110611c7357fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b613c0f90919063ffffffff16565b91505b611cdf8284613b8790919063ffffffff16565b92505b80806001019150506118d5565b508195505050505050919050565b600080600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050611d4a83612b49565b15611dd4576000611da6600a611d9862015180611d8a8660010160009054906101000a900463ffffffff1663ffffffff1642613c0f90919063ffffffff16565b613af890919063ffffffff16565b613a7290919063ffffffff16565b90506064811115611db657606490505b611dcb81600754613b8790919063ffffffff16565b92505050611ddb565b6007549150505b919050565b603281565b60008060008060006003546005543073ffffffffffffffffffffffffffffffffffffffff1631600754600454945094509450945094509091929394565b670de0b6b3a764000081565b600080611e39613c98565b6000600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600101600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900467ffffffffffffffff168260030180600580602002604051908101604052809291908260058015611f20576020028201916000905b82829054906101000a900462ffffff1662ffffff1681526020019060030190602082600201049283019260010382029150808411611ee55790505b50505050509050935093509350509193909250565b60fa81565b6201518081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905042620151808260010160049054906101000a900463ffffffff1663ffffffff16011061203e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f776974686472617720616c6c6f776564206f6e6c79206f6e636520612064617981525060200191505060405180910390fd5b600061204933611cfd565b905060006120556127b8565b905060008060008090505b8560000180549050811015612509576120d0600a6120c2601589600001858154811061208857fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b8660000182815481106120df57fe5b9060005260206000200160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1610156124fc578560010160009054906101000a900463ffffffff1663ffffffff1686600001828154811061213b57fe5b9060005260206000200160000160109054906101000a900463ffffffff1663ffffffff16111561223a57612233620151806122256121b489600001858154811061218157fe5b9060005260206000200160000160109054906101000a900463ffffffff1663ffffffff1642613c0f90919063ffffffff16565b6122176127106122098a8c018d60000189815481106121cf57fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b613a7290919063ffffffff16565b613af890919063ffffffff16565b91506122f3565b6122f0620151806122e26122718960010160009054906101000a900463ffffffff1663ffffffff1642613c0f90919063ffffffff16565b6122d46127106122c68a8c018d600001898154811061228c57fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b613a7290919063ffffffff16565b613af890919063ffffffff16565b91505b612354600a612346601589600001858154811061230c57fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b6123a18388600001848154811061236757fe5b9060005260206000200160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff16613b8790919063ffffffff16565b1115612457576124548660000182815481106123b957fe5b9060005260206000200160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff16612446600a61243860158b60000187815481106123fe57fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b613c0f90919063ffffffff16565b91505b6124a48287600001838154811061246a57fe5b9060005260206000200160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff16613b8790919063ffffffff16565b8660000182815481106124b357fe5b9060005260206000200160000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506124f98284613b8790919063ffffffff16565b92505b8080600101915050612060565b50670de0b6b3a76400008211612587576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4d696e696d756d2057697468647261770000000000000000000000000000000081525060200191505060405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff16319050828110156125af578092505b8269021e19e0c9bab240000010156125cf5769021e19e0c9bab240000092505b428660010160006101000a81548163ffffffff021916908363ffffffff160217905550428660010160046101000a81548163ffffffff021916908363ffffffff1602179055506126506126416127106126336103e887613a7290919063ffffffff16565b613af890919063ffffffff16565b84613c0f90919063ffffffff16565b92503373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015612698573d6000803e3d6000fd5b506126ae83600654613b8790919063ffffffff16565b6006819055503373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5846040518082815260200191505060405180910390a2505050505050565b6103e881565b606481565b6101f481565b60065481565b60008060008060006127328661186f565b9050600061273f8761298b565b9050600061274c88612820565b9050600061275989612f33565b9050838383839750975097509750505050509193509193565b60035481565b6000818154811061278557fe5b906000526020600020016000915090505481565b6103e881565b603281565b60085481565b69054b40b1f852bda0000081565b6000806127e4600a6127d660fa600454613af890919063ffffffff16565b613a7290919063ffffffff16565b905060328110156127f857809150506127fe565b60329150505b90565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600080600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600080600090505b826000018054905081101561297a576128dc600a6128ce601586600001858154811061289457fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b8360000182815481106128eb57fe5b9060005260206000200160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff16101561296d5761296a83600001828154811061292f57fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1683613b8790919063ffffffff16565b91505b808060010191505061286c565b508092505050919050565b60055481565b600080600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600080600090505b8260000180549050811015612a4257612a338360000182815481106129f857fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1683613b8790919063ffffffff16565b915080806001019150506129d7565b508092505050919050565b6103e881565b69021e19e0c9bab240000081565b60075481565b6000806000806000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000809050612abe87612b49565b15612b2957612b18600a612b0a62015180612afc8660010160009054906101000a900463ffffffff1663ffffffff1642613c0f90919063ffffffff16565b613af890919063ffffffff16565b613a7290919063ffffffff16565b90506064811115612b2857606490505b5b6103e881612b356127b8565b600754955095509550955050509193509193565b600080600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000180549050118015612c515750612c0a600a612bfc601584600001600186600001805490500381548110612bc257fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b81600001600183600001805490500381548110612c2357fe5b9060005260206000200160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff16105b915050919050565b600080600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160049054906101000a900463ffffffff1663ffffffff16915050919050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b606481565b60045481565b6000806000806000600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806000018681548110612d7257fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169450806000018681548110612daf57fe5b9060005260206000200160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff169350806000018681548110612dec57fe5b9060005260206000200160000160109054906101000a900463ffffffff1663ffffffff16925062015180601502816000018781548110612e2857fe5b9060005260206000200160000160109054906101000a900463ffffffff1663ffffffff160191505092959194509250565b600080600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900463ffffffff1663ffffffff16915050919050565b670de0b6b3a764000081565b600080600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160089054906101000a900463ffffffff1663ffffffff16915050919050565b600080600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160020160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16905060008090505b826000018054905081101561300f57613000836000018281548110612fc557fe5b9060005260206000200160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1683613b8790919063ffffffff16565b91508080600101915050612fa4565b508092505050919050565b6000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905042620151808260010160089054906101000a900463ffffffff1663ffffffff1601106130f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f7265696e7665737420616c6c6f776564206f6e6c79206f6e636520612064617981525060200191505060405180910390fd5b60006130fc33611cfd565b905060006131086127b8565b905060008060008090505b85600001805490508110156135bc57613183600a613175601589600001858154811061313b57fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b86600001828154811061319257fe5b9060005260206000200160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1610156135af578560010160009054906101000a900463ffffffff1663ffffffff168660000182815481106131ee57fe5b9060005260206000200160000160109054906101000a900463ffffffff1663ffffffff1611156132ed576132e6620151806132d861326789600001858154811061323457fe5b9060005260206000200160000160109054906101000a900463ffffffff1663ffffffff1642613c0f90919063ffffffff16565b6132ca6127106132bc8a8c018d600001898154811061328257fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b613a7290919063ffffffff16565b613af890919063ffffffff16565b91506133a6565b6133a3620151806133956133248960010160009054906101000a900463ffffffff1663ffffffff1642613c0f90919063ffffffff16565b6133876127106133798a8c018d600001898154811061333f57fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b613a7290919063ffffffff16565b613af890919063ffffffff16565b91505b613407600a6133f960158960000185815481106133bf57fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b6134548388600001848154811061341a57fe5b9060005260206000200160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff16613b8790919063ffffffff16565b111561350a5761350786600001828154811061346c57fe5b9060005260206000200160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff166134f9600a6134eb60158b60000187815481106134b157fe5b9060005260206000200160000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff16613a7290919063ffffffff16565b613af890919063ffffffff16565b613c0f90919063ffffffff16565b91505b6135578287600001838154811061351d57fe5b9060005260206000200160000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff16613b8790919063ffffffff16565b86600001828154811061356657fe5b9060005260206000200160000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506135ac8284613b8790919063ffffffff16565b92505b8080600101915050613113565b50606485600001805490501061361d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613cdc6021913960400191505060405180910390fd5b670de0b6b3a764000082101561369b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4d696e696d756d20496e7665737400000000000000000000000000000000000081525060200191505060405180910390fd5b60006136c66127106136b861032086613a7290919063ffffffff16565b613af890919063ffffffff16565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613730573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f2899dc8c12def1caa9accb64257cf2fd9f960f21bb27a560a757eae3c2ec43c1826040518082815260200191505060405180910390a26137ba6137ab61271061379d6101f487613a7290919063ffffffff16565b613af890919063ffffffff16565b84613b8790919063ffffffff16565b92508560000160405180606001604052808567ffffffffffffffff168152602001600067ffffffffffffffff1681526020014263ffffffff1681525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060208201518160000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060408201518160000160106101000a81548163ffffffff021916908363ffffffff1602179055505050506138ba83600354613b8790919063ffffffff16565b6003819055506005600081548092919060010191905055506138e860326103e8613b8790919063ffffffff16565b60075410156139115760006138fb6139c8565b905060075481111561390f57806007819055505b505b3373ffffffffffffffffffffffffffffffffffffffff167f2cb77763bc1e8490c1a904905c4d74b4269919aca114464f4bb4d911e60de364846040518082815260200191505060405180910390a261397483600654613b8790919063ffffffff16565b600681905550428660010160006101000a81548163ffffffff021916908363ffffffff160217905550428660010160086101000a81548163ffffffff021916908363ffffffff160217905550505050505050565b6000803073ffffffffffffffffffffffffffffffffffffffff163190506000613a2b613a1a600a613a0c69054b40b1f852bda0000086613af890919063ffffffff16565b613a7290919063ffffffff16565b6103e8613b8790919063ffffffff16565b9050613a4360326103e8613b8790919063ffffffff16565b811015613a54578092505050613a6f565b613a6a60326103e8613b8790919063ffffffff16565b925050505b90565b600080831415613a855760009050613af2565b6000828402905082848281613a9657fe5b0414613aed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613cbb6021913960400191505060405180910390fd5b809150505b92915050565b6000808211613b6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b6000828481613b7a57fe5b0490508091505092915050565b600080828401905083811015613c05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600082821115613c87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b6040518060a0016040528060059060208202803883398082019150509050509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774d6178696d756d20313030206465706f736974732066726f6d2061646472657373a265627a7a72305820b58c14c52110bb4a0c67f7f5b6c1aa1cf787d159e331d9a096c23a8662fbbd8164736f6c634300050a0032536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77000000000000000000000000f26020e154cb6a2fd2ea175aeaa87919fa2c955000000000000000000000000000000000000000000000000000000000622b55e0

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

000000000000000000000000f26020e154cb6a2fd2ea175aeaa87919fa2c955000000000000000000000000000000000000000000000000000000000622b55e0

-----Decoded View---------------
Arg [0] : devAddr (address): 0xf26020e154cb6a2fd2ea175aeaa87919fa2c9550
Arg [1] : start (uint256): 1647007200

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000f26020e154cb6a2fd2ea175aeaa87919fa2c9550
Arg [1] : 00000000000000000000000000000000000000000000000000000000622b55e0


Deployed ByteCode Sourcemap

27:16734:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;762:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;762:45:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8218:2187;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8218:2187:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1018:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1018:24:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;506:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;506:43:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6658:1548;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6658:1548:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6658:1548:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6129:521;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6129:521:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6129:521:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;877:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;877:46:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15714:183;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15714:183:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;184:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;184:50:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16360:223;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16360:223:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16360:223:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16360:223:0;;;;;;;;;;;;;;;;;;708:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;708:47:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;930:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;930:39:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;978:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;978:33:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3222:2347;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3222:2347:0;;;:::i;:::-;;464:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;464:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;604:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;604:43:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;556:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;556:41:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1144:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1144:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15905:447;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15905:447:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15905:447:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1051:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1051:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;399:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;399:58:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;399:58:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;352:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;352:40:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;654:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;654:47:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1211:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1211:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;814:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;814:56:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2888:322;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2888:322:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2316:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2316:104:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14496:440;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14496:440:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14496:440:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1112:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1112:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14172:316;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14172:316:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14172:316:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;302:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;302:43:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;241:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;241:54:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1177:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1177:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5577:544;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5577:544:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5577:544:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13165:295;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13165:295:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13165:295:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13794:181;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13794:181:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13794:181:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13468:141;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13468:141:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13468:141:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;83:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;83:39:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1083:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1083:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15291:415;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15291:415:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15291:415:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13621:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13621:165:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13621:165:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;129:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;129:48:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13983:181;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13983:181:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13983:181:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14944:339;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14944:339:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14944:339:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10413:2744;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10413:2744:0;;;:::i;:::-;;2428:448;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2428:448:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;762:45;802:5;762:45;:::o;8218:2187::-;8278:13;8294:9;8278:25;;8340:9;;8322:15;:27;8314:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;170:7;8401:8;:29;;8393:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8462:17;8482:5;:17;8488:10;8482:17;;;;;;;;;;;;;;;8462:37;;119:3;8520:4;:13;;:20;;;;:35;8512:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8608:11;8622:43;802:5;8622:21;495:4;8622:8;:12;;:21;;;;:::i;:::-;:25;;:43;;;;:::i;:::-;8608:57;;8678:10;;;;;;;;;;;:19;;:27;8698:6;8678:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8678:27:0;8732:10;8723:28;;;8744:6;8723:28;;;;;;;;;;;;;;;;;;8793:1;8768:27;;:4;:13;;;;;;;;;;;;:27;;;:66;;;;;8833:1;8799:5;:15;8805:8;8799:15;;;;;;;;;;;;;;;:24;;:31;;;;:35;8768:66;:92;;;;;8850:10;8838:22;;:8;:22;;;;8768:92;8764:149;;;8893:8;8877:4;:13;;;:24;;;;;;;;;;;;;;;;;;8764:149;8954:1;8929:27;;:4;:13;;;;;;;;;;;;:27;;;8925:787;;8975:14;8992:4;:13;;;;;;;;;;;;8975:30;;9025:6;9034:1;9025:10;;9020:679;9041:1;9037;:5;9020:679;;;9090:1;9072:20;;:6;:20;;;9068:615;;9117:11;9131:56;802:5;9131:34;9144:17;9162:1;9144:20;;;;;;;;;;;;;;;;9131:8;:12;;:34;;;;:::i;:::-;:38;;:56;;;;:::i;:::-;9117:70;;9223:1;9214:6;:10;9210:341;;;9269:6;9253:33;;:41;9287:6;9253:41;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9253:41:0;9350:37;9380:6;9355:5;:13;9361:6;9355:13;;;;;;;;;;;;;;;:19;;;;;;;;;;;;9350:25;;:29;;:37;;;;:::i;:::-;9321:5;:13;9327:6;9321:13;;;;;;;;;;;;;;;:19;;;:67;;;;;;;;;;;;;;;;;;9431:25;9449:6;9431:13;;:17;;:25;;;;:::i;:::-;9415:13;:41;;;;9517:1;9505:10;9488:39;;9497:6;9488:39;;;9520:6;9488:39;;;;;;;;;;;;;;;;;;9210:341;9575:5;:13;9581:6;9575:13;;;;;;;;;;;;;;;:18;;9594:1;9575:21;;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9630:5;:13;9636:6;9630:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;9621:31;;9068:615;;;;9678:5;;9068:615;9044:3;;;;;;;9020:679;;;;8925:787;;9752:1;9728:4;:13;;:20;;;;:25;9724:178;;;9795:15;9770:4;:15;;;:41;;;;;;;;;;;;;;;;;;9826:10;;:12;;;;;;;;;;;;;9876:4;:13;;;;;;;;;;;;9858:32;;9865:10;9858:32;;;;;;;;;;;;9724:178;9914:4;:13;;9933:53;;;;;;;;9948:8;9933:53;;;;;;9959:1;9933:53;;;;;;9969:15;9933:53;;;;;9914:73;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;9914:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10016:27;10034:8;10016:13;;:17;;:27;;;;:::i;:::-;10000:13;:43;;;;10054:13;;:15;;;;;;;;;;;;;10104:38;921:2;388:4;10104:16;;:38;;;;:::i;:::-;10086:15;;:56;10082:266;;;10159:23;10185:24;:22;:24::i;:::-;10159:50;;10249:15;;10228:18;:36;10224:113;;;10303:18;10285:15;:36;;;;10224:113;10082:266;;10376:10;10365:32;;;10388:8;10365:32;;;;;;;;;;;;;;;;;;8218:2187;;;;:::o;1018:24::-;;;;:::o;506:43::-;546:3;506:43;:::o;6658:1548::-;6726:4;6743:17;6763:5;:18;6769:11;6763:18;;;;;;;;;;;;;;;6743:38;;6794:20;6817:31;6836:11;6817:18;:31::i;:::-;6794:54;;6859:19;6881:23;:21;:23::i;:::-;6859:45;;6917:19;6947:14;6979:6;6988:1;6979:10;;6974:1191;6995:4;:13;;:20;;;;6991:1;:24;6974:1191;;;7078:45;7120:2;7078:37;7112:2;7083:4;:13;;7097:1;7083:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;7078:29;;:33;;:37;;;;:::i;:::-;:41;;:45;;;;:::i;:::-;7048:4;:13;;7062:1;7048:16;;;;;;;;;;;;;;;:26;;;;;;;;;;;;7043:32;;:80;7039:1113;;;7175:4;:15;;;;;;;;;;;;7150:40;;:4;:13;;7164:1;7150:16;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:40;;;7146:585;;;7229:211;963:6;7229:170;7349:49;7374:4;:13;;7388:1;7374:16;;;;;;;;;;;;;;;:22;;;;;;;;;;;;7369:28;;7349:15;:19;;:49;;;;:::i;:::-;7230:87;802:5;7230:65;7280:14;7264:15;:30;7235:4;:13;;7249:1;7235:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;7230:29;;:33;;:65;;;;:::i;:::-;:69;;:87;;;;:::i;:::-;7229:119;;:170;;;;:::i;:::-;:200;;:211;;;;:::i;:::-;7217:223;;7146:585;;;7505:204;963:6;7505:163;7625:42;7650:4;:15;;;;;;;;;;;;7645:21;;7625:15;:19;;:42;;;;:::i;:::-;7506:87;802:5;7506:65;7556:14;7540:15;:30;7511:4;:13;;7525:1;7511:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;7506:29;;:33;;:65;;;;:::i;:::-;:69;;:87;;;;:::i;:::-;7505:119;;:163;;;;:::i;:::-;:193;;:204;;;;:::i;:::-;7493:216;;7146:585;7805:45;7847:2;7805:37;7839:2;7810:4;:13;;7824:1;7810:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;7805:29;;:33;;:37;;;;:::i;:::-;:41;;:45;;;;:::i;:::-;7755:47;7792:9;7760:4;:13;;7774:1;7760:16;;;;;;;;;;;;;;;:26;;;;;;;;;;;;7755:32;;:36;;:47;;;;:::i;:::-;:95;7751:241;;;7887:85;7944:4;:13;;7958:1;7944:16;;;;;;;;;;;;;;;:26;;;;;;;;;;;;7939:32;;7888:45;7930:2;7888:37;7922:2;7893:4;:13;;7907:1;7893:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;7888:29;;:33;;:37;;;;:::i;:::-;:41;;:45;;;;:::i;:::-;7887:51;;:85;;;;:::i;:::-;7875:97;;7751:241;8029:29;8048:9;8029:14;:18;;:29;;;;:::i;:::-;8012:46;;7039:1113;7017:3;;;;;;;6974:1191;;;;8184:14;8177:21;;;;;;;6658:1548;;;:::o;6129:521::-;6199:4;6216:17;6236:5;:18;6242:11;6236:18;;;;;;;;;;;;;;;6216:38;;6271:21;6280:11;6271:8;:21::i;:::-;6267:376;;;6309:19;6331:67;6395:2;6331:59;963:6;6332:42;6357:4;:15;;;;;;;;;;;;6352:21;;6332:15;:19;;:42;;;;:::i;:::-;6331:48;;:59;;;;:::i;:::-;:63;;:67;;;;:::i;:::-;6309:89;;644:3;6417:14;:33;6413:107;;;644:3;6471:33;;6413:107;6541:35;6561:14;6541:15;;:19;;:35;;;;:::i;:::-;6534:42;;;;;;6267:376;6616:15;;6609:22;;;6129:521;;;;:::o;877:46::-;921:2;877:46;:::o;15714:183::-;15759:4;15765;15771;15777;15783;15808:13;;15823;;15846:4;15838:21;;;15861:15;;15878:10;;15800:89;;;;;;;;;;15714:183;;;;;:::o;184:50::-;227:7;184:50;:::o;16360:223::-;16433:7;16442:6;16450:16;;:::i;:::-;16479:17;16499:5;:18;16505:11;16499:18;;;;;;;;;;;;;;;16479:38;;16538:4;:13;;;;;;;;;;;;16553:4;:10;;;;;;;;;;;;16565:4;:9;;16530:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16360:223;;;;;:::o;708:47::-;752:3;708:47;:::o;930:39::-;963:6;930:39;:::o;978:33::-;;;;;;;;;;;;;:::o;3222:2347::-;3260:17;3280:5;:17;3286:10;3280:17;;;;;;;;;;;;;;;3260:37;;3356:15;963:6;3318:4;:23;;;;;;;;;;;;:35;;;:53;3310:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3423:20;3446:30;3465:10;3446:18;:30::i;:::-;3423:53;;3487:19;3509:23;:21;:23::i;:::-;3487:45;;3545:16;3572:14;3604:6;3613:1;3604:10;;3599:1239;3620:4;:13;;:20;;;;3616:1;:24;3599:1239;;;3703:45;3745:2;3703:37;3737:2;3708:4;:13;;3722:1;3708:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;3703:29;;:33;;:37;;;;:::i;:::-;:41;;:45;;;;:::i;:::-;3673:4;:13;;3687:1;3673:16;;;;;;;;;;;;;;;:26;;;;;;;;;;;;3668:32;;:80;3664:1163;;;3800:4;:15;;;;;;;;;;;;3775:40;;:4;:13;;3789:1;3775:16;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:40;;;3771:585;;;3854:211;963:6;3854:170;3974:49;3999:4;:13;;4013:1;3999:16;;;;;;;;;;;;;;;:22;;;;;;;;;;;;3994:28;;3974:15;:19;;:49;;;;:::i;:::-;3855:87;802:5;3855:65;3905:14;3889:15;:30;3860:4;:13;;3874:1;3860:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;3855:29;;:33;;:65;;;;:::i;:::-;:69;;:87;;;;:::i;:::-;3854:119;;:170;;;;:::i;:::-;:200;;:211;;;;:::i;:::-;3842:223;;3771:585;;;4130:204;963:6;4130:163;4250:42;4275:4;:15;;;;;;;;;;;;4270:21;;4250:15;:19;;:42;;;;:::i;:::-;4131:87;802:5;4131:65;4181:14;4165:15;:30;4136:4;:13;;4150:1;4136:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;4131:29;;:33;;:65;;;;:::i;:::-;:69;;:87;;;;:::i;:::-;4130:119;;:163;;;;:::i;:::-;:193;;:204;;;;:::i;:::-;4118:216;;3771:585;4430:45;4472:2;4430:37;4464:2;4435:4;:13;;4449:1;4435:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;4430:29;;:33;;:37;;;;:::i;:::-;:41;;:45;;;;:::i;:::-;4380:47;4417:9;4385:4;:13;;4399:1;4385:16;;;;;;;;;;;;;;;:26;;;;;;;;;;;;4380:32;;:36;;:47;;;;:::i;:::-;:95;4376:241;;;4512:85;4569:4;:13;;4583:1;4569:16;;;;;;;;;;;;;;;:26;;;;;;;;;;;;4564:32;;4513:45;4555:2;4513:37;4547:2;4518:4;:13;;4532:1;4518:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;4513:29;;:33;;:37;;;;:::i;:::-;:41;;:45;;;;:::i;:::-;4512:51;;:85;;;;:::i;:::-;4500:97;;4376:241;4673:47;4710:9;4678:4;:13;;4692:1;4678:16;;;;;;;;;;;;;;;:26;;;;;;;;;;;;4673:32;;:36;;:47;;;;:::i;:::-;4637:4;:13;;4651:1;4637:16;;;;;;;;;;;;;;;:26;;;:84;;;;;;;;;;;;;;;;;;4783:26;4799:9;4783:11;:15;;:26;;;;:::i;:::-;4769:40;;3664:1163;3642:3;;;;;;;3599:1239;;;;227:7;4858:11;:33;4850:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4925:20;4956:4;4948:21;;;4925:44;;5002:11;4984:15;:29;4980:91;;;5044:15;5030:29;;4980:91;5107:11;284;5085:33;5081:99;;;284:11;5135:33;;5081:99;5225:15;5200:4;:15;;;:41;;;;;;;;;;;;;;;;;;5285:15;5252:4;:23;;;:49;;;;;;;;;;;;;;;;;;5328:71;5344:54;802:5;5344:32;341:4;5344:11;:15;;:32;;;;:::i;:::-;:36;;:54;;;;:::i;:::-;5328:11;:15;;:71;;;;:::i;:::-;5314:85;;5414:10;:19;;:32;5434:11;5414:32;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5414:32:0;5476:31;5495:11;5476:14;;:18;;:31;;;;:::i;:::-;5459:14;:48;;;;5537:10;5527:34;;;5549:11;5527:34;;;;;;;;;;;;;;;;;;3222:2347;;;;;;:::o;464:35::-;495:4;464:35;:::o;604:43::-;644:3;604:43;:::o;556:41::-;594:3;556:41;:::o;1144:26::-;;;;:::o;15905:447::-;15969:4;15975;15981;15987;16004:18;16025:29;16042:11;16025:16;:29::i;:::-;16004:50;;16065:18;16086:33;16107:11;16086:20;:33::i;:::-;16065:54;;16130:22;16155:39;16182:11;16155:26;:39::i;:::-;16130:64;;16205:18;16226:34;16248:11;16226:21;:34::i;:::-;16205:55;;16281:13;16296;16311:17;16330:13;16273:71;;;;;;;;;;;;15905:447;;;;;:::o;1051:25::-;;;;:::o;399:58::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;352:40::-;388:4;352:40;:::o;654:47::-;699:2;654:47;:::o;1211:25::-;;;;:::o;814:56::-;859:11;814:56;:::o;2888:322::-;2942:4;2959:23;2985:44;3026:2;2985:36;752:3;2985:10;;:14;;:36;;;;:::i;:::-;:40;;:44;;;;:::i;:::-;2959:70;;699:2;3046:18;:42;3042:161;;;3112:18;3105:25;;;;;3042:161;699:2;3163:28;;;2888:322;;:::o;2316:104::-;2367:4;2399;2391:21;;;2384:28;;2316:104;:::o;14496:440::-;14574:4;14591:17;14611:5;:18;14617:11;14611:18;;;;;;;;;;;;;;;14591:38;;14640:11;14667:6;14676:1;14667:10;;14662:243;14683:4;:13;;:20;;;;14679:1;:24;14662:243;;;14763:45;14805:2;14763:37;14797:2;14768:4;:13;;14782:1;14768:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;14763:29;;:33;;:37;;;;:::i;:::-;:41;;:45;;;;:::i;:::-;14733:4;:13;;14747:1;14733:16;;;;;;;;;;;;;;;:26;;;;;;;;;;;;14728:32;;:80;14725:169;;;14837:41;14853:4;:13;;14867:1;14853:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;14848:29;;14837:6;:10;;:41;;;;:::i;:::-;14828:50;;14725:169;14705:3;;;;;;;14662:243;;;;14922:6;14915:13;;;;14496:440;;;:::o;1112:25::-;;;;:::o;14172:316::-;14244:4;14261:17;14281:5;:18;14287:11;14281:18;;;;;;;;;;;;;;;14261:38;;14310:11;14337:6;14346:1;14337:10;;14332:125;14353:4;:13;;:20;;;;14349:1;:24;14332:125;;;14404:41;14420:4;:13;;14434:1;14420:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;14415:29;;14404:6;:10;;:41;;;;:::i;:::-;14395:50;;14375:3;;;;;;;14332:125;;;;14474:6;14467:13;;;;14172:316;;;:::o;302:43::-;341:4;302:43;:::o;241:54::-;284:11;241:54;:::o;1177:27::-;;;;:::o;5577:544::-;5641:4;5647;5653;5659;5676:17;5696:5;:18;5702:11;5696:18;;;;;;;;;;;;;;;5676:38;;5727:19;5749:1;5727:23;;5765:21;5774:11;5765:8;:21::i;:::-;5761:259;;;5820:67;5884:2;5820:59;963:6;5821:42;5846:4;:15;;;;;;;;;;;;5841:21;;5821:15;:19;;:42;;;;:::i;:::-;5820:48;;:59;;;;:::i;:::-;:63;;:67;;;;:::i;:::-;5803:84;;644:3;5906:14;:33;5902:107;;;644:3;5960:33;;5902:107;5761:259;388:4;6054:14;6070:23;:21;:23::i;:::-;6095:15;;6032:79;;;;;;;;;;5577:544;;;;;:::o;13165:295::-;13225:4;13242:17;13262:5;:18;13268:11;13262:18;;;;;;;;;;;;;;;13242:38;;13324:1;13301:4;:13;;:20;;;;:24;13300:152;;;;;13386:66;13449:2;13386:58;13441:2;13391:4;:13;;13426:1;13405:4;:13;;:20;;;;:22;13391:37;;;;;;;;;;;;;;;:44;;;;;;;;;;;;13386:50;;:54;;:58;;;;:::i;:::-;:62;;:66;;;;:::i;:::-;13335:4;:13;;13370:1;13349:4;:13;;:20;;;;:22;13335:37;;;;;;;;;;;;;;;:47;;;;;;;;;;;;13330:53;;:122;13300:152;13293:159;;;13165:295;;;:::o;13794:181::-;13871:4;13888:17;13908:5;:18;13914:11;13908:18;;;;;;;;;;;;;;;13888:38;;13944:4;:23;;;;;;;;;;;;13937:30;;;;;13794:181;;;:::o;13468:141::-;13543:4;13567:5;:18;13573:11;13567:18;;;;;;;;;;;;;;;:27;;:34;;;;13560:41;;13468:141;;;:::o;83:39::-;119:3;83:39;:::o;1083:22::-;;;;:::o;15291:415::-;15375:14;15391:17;15410:13;15425:14;15452:17;15472:5;:18;15478:11;15472:18;;;;;;;;;;;;;;;15452:38;;15512:4;:13;;15526:5;15512:20;;;;;;;;;;;;;;;:27;;;;;;;;;;;;15503:36;;;;15562:4;:13;;15576:5;15562:20;;;;;;;;;;;;;;;:30;;;;;;;;;;;;15550:42;;;;15611:4;:13;;15625:5;15611:20;;;;;;;;;;;;;;;:26;;;;;;;;;;;;15603:34;;;;963:6;15685:2;:12;15657:4;:13;;15671:5;15657:20;;;;;;;;;;;;;;;:26;;;;;;;;;;;;:41;;;15648:50;;15291:415;;;;;;;;:::o;13621:165::-;13690:4;13707:17;13727:5;:18;13733:11;13727:18;;;;;;;;;;;;;;;13707:38;;13763:4;:15;;;;;;;;;;;;13756:22;;;;;13621:165;;;:::o;129:48::-;170:7;129:48;:::o;13983:181::-;14060:4;14077:17;14097:5;:18;14103:11;14097:18;;;;;;;;;;;;;;;14077:38;;14133:4;:23;;;;;;;;;;;;14126:30;;;;;13983:181;;;:::o;14944:339::-;15017:4;15034:17;15054:5;:18;15060:11;15054:18;;;;;;;;;;;;;;;15034:38;;15085:11;15099:4;:10;;;;;;;;;;;;15085:24;;;;15127:6;15136:1;15127:10;;15122:128;15143:4;:13;;:20;;;;15139:1;:24;15122:128;;;15194:44;15210:4;:13;;15224:1;15210:16;;;;;;;;;;;;;;;:26;;;;;;;;;;;;15205:32;;15194:6;:10;;:44;;;;:::i;:::-;15185:53;;15165:3;;;;;;;15122:128;;;;15269:6;15262:13;;;;14944:339;;;:::o;10413:2744::-;10451:17;10471:5;:17;10477:10;10471:17;;;;;;;;;;;;;;;10451:37;;10547:15;963:6;10509:4;:23;;;;;;;;;;;;:35;;;:53;10501:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10614:20;10637:30;10656:10;10637:18;:30::i;:::-;10614:53;;10678:19;10700:23;:21;:23::i;:::-;10678:45;;10736:16;10763:14;10795:6;10804:1;10795:10;;10790:1239;10811:4;:13;;:20;;;;10807:1;:24;10790:1239;;;10894:45;10936:2;10894:37;10928:2;10899:4;:13;;10913:1;10899:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;10894:29;;:33;;:37;;;;:::i;:::-;:41;;:45;;;;:::i;:::-;10864:4;:13;;10878:1;10864:16;;;;;;;;;;;;;;;:26;;;;;;;;;;;;10859:32;;:80;10855:1163;;;10991:4;:15;;;;;;;;;;;;10966:40;;:4;:13;;10980:1;10966:16;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:40;;;10962:585;;;11045:211;963:6;11045:170;11165:49;11190:4;:13;;11204:1;11190:16;;;;;;;;;;;;;;;:22;;;;;;;;;;;;11185:28;;11165:15;:19;;:49;;;;:::i;:::-;11046:87;802:5;11046:65;11096:14;11080:15;:30;11051:4;:13;;11065:1;11051:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;11046:29;;:33;;:65;;;;:::i;:::-;:69;;:87;;;;:::i;:::-;11045:119;;:170;;;;:::i;:::-;:200;;:211;;;;:::i;:::-;11033:223;;10962:585;;;11321:204;963:6;11321:163;11441:42;11466:4;:15;;;;;;;;;;;;11461:21;;11441:15;:19;;:42;;;;:::i;:::-;11322:87;802:5;11322:65;11372:14;11356:15;:30;11327:4;:13;;11341:1;11327:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;11322:29;;:33;;:65;;;;:::i;:::-;:69;;:87;;;;:::i;:::-;11321:119;;:163;;;;:::i;:::-;:193;;:204;;;;:::i;:::-;11309:216;;10962:585;11621:45;11663:2;11621:37;11655:2;11626:4;:13;;11640:1;11626:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;11621:29;;:33;;:37;;;;:::i;:::-;:41;;:45;;;;:::i;:::-;11571:47;11608:9;11576:4;:13;;11590:1;11576:16;;;;;;;;;;;;;;;:26;;;;;;;;;;;;11571:32;;:36;;:47;;;;:::i;:::-;:95;11567:241;;;11703:85;11760:4;:13;;11774:1;11760:16;;;;;;;;;;;;;;;:26;;;;;;;;;;;;11755:32;;11704:45;11746:2;11704:37;11738:2;11709:4;:13;;11723:1;11709:16;;;;;;;;;;;;;;;:23;;;;;;;;;;;;11704:29;;:33;;:37;;;;:::i;:::-;:41;;:45;;;;:::i;:::-;11703:51;;:85;;;;:::i;:::-;11691:97;;11567:241;11864:47;11901:9;11869:4;:13;;11883:1;11869:16;;;;;;;;;;;;;;;:26;;;;;;;;;;;;11864:32;;:36;;:47;;;;:::i;:::-;11828:4;:13;;11842:1;11828:16;;;;;;;;;;;;;;;:26;;;:84;;;;;;;;;;;;;;;;;;11974:26;11990:9;11974:11;:15;;:26;;;;:::i;:::-;11960:40;;10855:1163;10833:3;;;;;;;10790:1239;;;;119:3;12049:4;:13;;:20;;;;:35;12041:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;170:7;12141:11;:32;;12133:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12205:21;12229:55;802:5;12229:33;546:3;12229:11;:15;;:33;;;;:::i;:::-;:37;;:55;;;;:::i;:::-;12205:79;;12295:10;;;;;;;;;;;:19;;:34;12315:13;12295:34;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12295:34:0;12354:10;12345:35;;;12366:13;12345:35;;;;;;;;;;;;;;;;;;12407:70;12423:53;802:5;12423:31;594:3;12423:11;:15;;:31;;;;:::i;:::-;:35;;:53;;;;:::i;:::-;12407:11;:15;;:70;;;;:::i;:::-;12393:84;;12488:4;:13;;12507:56;;;;;;;;12522:11;12507:56;;;;;;12536:1;12507:56;;;;;;12546:15;12507:56;;;;;12488:76;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;12488:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12591:30;12609:11;12591:13;;:17;;:30;;;;:::i;:::-;12575:13;:46;;;;12632:13;;:15;;;;;;;;;;;;;12680:38;921:2;388:4;12680:16;;:38;;;;:::i;:::-;12662:15;;:56;12658:266;;;12735:23;12761:24;:22;:24::i;:::-;12735:50;;12825:15;;12804:18;:36;12800:113;;;12879:18;12861:15;:36;;;;12800:113;12658:266;;12950:10;12939:35;;;12962:11;12939:35;;;;;;;;;;;;;;;;;;13004:31;13023:11;13004:14;;:18;;:31;;;;:::i;:::-;12987:14;:48;;;;13073:15;13048:4;:15;;;:41;;;;;;;;;;;;;;;;;;13133:15;13100:4;:23;;;:49;;;;;;;;;;;;;;;;;;10413:2744;;;;;;:::o;2428:448::-;2483:4;2500:20;2531:4;2523:21;;;2500:44;;2555:27;2585:68;2602:50;2649:2;2602:42;859:11;2602:15;:19;;:42;;;;:::i;:::-;:46;;:50;;;;:::i;:::-;388:4;2585:16;;:68;;;;:::i;:::-;2555:98;;2695:38;921:2;388:4;2695:16;;:38;;;;:::i;:::-;2670:22;:63;2666:203;;;2757:22;2750:29;;;;;;2666:203;2819:38;921:2;388:4;2819:16;;:38;;;;:::i;:::-;2812:45;;;;2428:448;;:::o;17172:250::-;17230:7;17259:1;17254;:6;17250:47;;;17284:1;17277:8;;;;17250:47;17309:9;17325:1;17321;:5;17309:17;;17354:1;17349;17345;:5;;;;;;:10;17337:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17413:1;17406:8;;;17172:250;;;;;:::o;17430:179::-;17488:7;17520:1;17516;:5;17508:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17563:9;17579:1;17575;:5;;;;;;17563:17;;17600:1;17593:8;;;17430:179;;;;:::o;16791:181::-;16849:7;16869:9;16885:1;16881;:5;16869:17;;16910:1;16905;:6;;16897:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16963:1;16956:8;;;16791:181;;;;:::o;16980:184::-;17038:7;17071:1;17066;:6;;17058:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17118:9;17134:1;17130;:5;17118:17;;17155:1;17148:8;;;16980:184;;;;:::o;27:16734::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;27:16734:0;;;;:::o

Swarm Source

bzzr://b58c14c52110bb4a0c67f7f5b6c1aa1cf787d159e331d9a096c23a8662fbbd81
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.