Contract 0x721b703625f1F27C9375871dA8592Ac285dA82a2

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xf87538d3dd181bb4c62ac01114f3ad0def447e80cc6c44d684a37ac71efbfef6Invest114994132021-10-05 5:29:1218 days 2 hrs ago0x8c1bd1ee7a5e84c44d73956ffe4c8cc421959c93 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.00293715
0x153f4c1a63b6da69b73e53512a0663c44acb8d576cf55ad99b5b613df3248bf3Invest114262902021-10-02 16:17:0220 days 15 hrs ago0x8c1bd1ee7a5e84c44d73956ffe4c8cc421959c93 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.00303249
0xc712d39cfee83af5b50410735da3149b0082f0f23a9a1a9d08efb3f756545720Unstake114262792021-10-02 16:16:2920 days 15 hrs ago0x8c1bd1ee7a5e84c44d73956ffe4c8cc421959c93 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.00017631
0xef1aca9510260a17b86bf896bb648b41c94ca3cf08dce774cbeadfd95e469d2cInvest113968222021-10-01 15:25:0521 days 16 hrs ago0x8c1bd1ee7a5e84c44d73956ffe4c8cc421959c93 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.003027405
0xbfa164ee38409c2d617d84080211c9cc8968274c221dd70e4c354295fc21ed80Invest113505162021-09-30 0:26:0823 days 7 hrs ago0x8c1bd1ee7a5e84c44d73956ffe4c8cc421959c93 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.003027405
0x238b422340f9fe1af9200c5852d734526bd534246db11d7d936079a5427d235dInvest113504862021-09-30 0:24:3823 days 7 hrs ago0x67cee54c4100386fce3852cb598e754509b03f65 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.000110995
0x4170b086aa5ae7a0baa78232512405306dd5b38adad76bc837a94340339ff320Invest113203592021-09-28 23:05:1824 days 8 hrs ago0xc12b54391d258a930c68c1be894e002c13b4cff7 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.000110995
0x57750c32fc90e69432bba2e63ad2a56a4a3ad19bac7ca0307338c23658984464Unstake113037732021-09-28 9:08:0824 days 22 hrs ago0xc12b54391d258a930c68c1be894e002c13b4cff7 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.00017195
0xedc57ec4c5d7be15504cdbddbf98e536f5e40de4e074f334fe911b6bdff983c8Invest113036302021-09-28 9:00:5924 days 22 hrs ago0xc12b54391d258a930c68c1be894e002c13b4cff7 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.000110995
0xfa5402e2a576d06380f20c18c889cd360347815142686c8a49dcdb19011528a8Unstake112780642021-09-27 11:27:5425 days 20 hrs ago0x2d6c5f456f6613f3b89ce56dbaf0e2537aaf5460 IN  0x721b703625f1f27c9375871da8592ac285da82a20.01 BNB0.00017195
0x04371d51e8dedbbf1b4f7e1bc9ab67cd18db0053b8c9a9963246fac7c83c4636Unstake112377442021-09-26 1:30:4327 days 6 hrs ago0xa0f7ee02f8d2660553df889fe344aeeac55ba813 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.00017195
0x1510ce76f317a07caf196942b5dfca50231de6ba8de183c69f4be2416c6280c6Stake112326852021-09-25 21:17:4227 days 10 hrs ago0x8c1bd1ee7a5e84c44d73956ffe4c8cc421959c93 IN  0x721b703625f1f27c9375871da8592ac285da82a20.17 BNB0.000634985
0xbff8cdab59c0d54e2dc4ba3ab072d02b739b62ba6b5ec264eefb03ba40225e88Invest111897512021-09-24 9:19:2028 days 22 hrs ago0x43cf19c8ca8ac4d571eb248eec128953d686e721 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.000110575
0xb2338b11c2e1d5f5a981900f3fd9420ed2617778b1236847a12ca156b1912ac1Invest111897372021-09-24 9:18:3828 days 22 hrs ago0x43cf19c8ca8ac4d571eb248eec128953d686e721 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.000110575
0x44d8d4b666b03c50dd539b1f7b1dd35858dcedb98155f6ed6caeb4cefd4ba56fInvest111612182021-09-23 9:26:0229 days 22 hrs ago0x053cd72bfadb474a1e24579c8bc492ae5bb69145 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.00293709
0x5a4c3215e1356671ee9792efc3bb068443b1fcdacf1d06e06871a83933e000cbInvest111491832021-09-22 23:20:0330 days 8 hrs ago0xe82f15291bfc72323880adbcad034f7bf2795782 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.000110575
0x884f345cd3a0895a0cdb86321c9f242356dbba32e78de07735d3492c958e5cecInvest111402182021-09-22 15:46:4130 days 16 hrs ago0x67cee54c4100386fce3852cb598e754509b03f65 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.000110995
0x5609a272f05aa96d496918223a1c6a60dcc863125a81b8117943f425c3cfac5eInvest111353312021-09-22 11:42:0330 days 20 hrs ago0x67cee54c4100386fce3852cb598e754509b03f65 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.000110995
0xb7285d027785ff67824106267dd9be2907e6c0d8df2270d950fd507ab1e5e70cInvest111352672021-09-22 11:38:5130 days 20 hrs ago0x8c1bd1ee7a5e84c44d73956ffe4c8cc421959c93 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.000110935
0x110eb87df79cf7471a304066a5b9efde17c57027c6f643172fac534e4311a230Invest111345672021-09-22 11:03:4130 days 20 hrs ago0xc33dc59591e0573edc0a56e8d4d25116e876c2bc IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.000110575
0x1259311e1ef611024cd3052990bfcb839beb7a40d59bfcfd9cb1cbd532dbc87eInvest111344502021-09-22 10:57:5030 days 21 hrs ago0xc33dc59591e0573edc0a56e8d4d25116e876c2bc IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.000110575
0x6bafd73e497fbca5e0f7c34fe04b38c6453a240c79ab1f65881e04c11e150e6fInvest111344042021-09-22 10:55:3230 days 21 hrs ago0xc33dc59591e0573edc0a56e8d4d25116e876c2bc IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.000110575
0xc97aa2d4c386a9f0aae4bd6a98258457f5df223f56f2dd602c954a0c0ea60d04Invest111307082021-09-22 7:50:0331 days 9 mins ago0xe868b39f3b1401144c2f52da91fa5f4b9cec7ff1 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.000110995
0x26665352c77711c213e7210e27ca388751addd1a5dfca43c4c65083e5defa9fcInvest111302042021-09-22 7:24:3731 days 35 mins ago0xe82f15291bfc72323880adbcad034f7bf2795782 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.000110575
0x38bc7dac6a03fd2d811389a3678585c29e8c3af7b6cd76d6c466b41ff74c1e8bInvest111301332021-09-22 7:21:0431 days 38 mins ago0xe82f15291bfc72323880adbcad034f7bf2795782 IN  0x721b703625f1f27c9375871da8592ac285da82a20 BNB0.000110575
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xc712d39cfee83af5b50410735da3149b0082f0f23a9a1a9d08efb3f756545720114262792021-10-02 16:16:2920 days 15 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20x8c1bd1ee7a5e84c44d73956ffe4c8cc421959c930.163 BNB
0x1510ce76f317a07caf196942b5dfca50231de6ba8de183c69f4be2416c6280c6112326852021-09-25 21:17:4227 days 10 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20xbd70efe21703fbae244e355d923f9930006e6a100.00595 BNB
0x1510ce76f317a07caf196942b5dfca50231de6ba8de183c69f4be2416c6280c6112326852021-09-25 21:17:4227 days 10 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20xb11d2acaff12ab764546ab5559864b69f3eccf6f0.0034 BNB
0x1510ce76f317a07caf196942b5dfca50231de6ba8de183c69f4be2416c6280c6112326852021-09-25 21:17:4227 days 10 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20x67f55b0fe92a41ba51a0e83eb72f02c77591fbf10.00765 BNB
0x95e5a99e5dd74c29417247f6ff6cffa1dd3e0cbc99d94cad5361c540de8ffaf6110098222021-09-18 2:30:2435 days 5 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20xa0f7ee02f8d2660553df889fe344aeeac55ba8131.061399999999999907 BNB
0x30e872086c13c562c6e88ea9543d78746ac1469ca26af996c0c80c42e7ddce4c110097532021-09-18 2:26:5735 days 5 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20x321f55625a02bf485bf99b32df65b36001f7e46f2 BNB
0x11a83c15e91cf163371624a1996ac71c1b68ac95cab3de2b512c9c916b7ea207110083262021-09-18 1:15:3635 days 6 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20x03ec0be24d74f97a20f8a636afd6004ec8c486831 BNB
0x6ee0e6ef82a30eadb8d6b2b47fe08d7dbedef5bd2b4cb54ec2f94fc27a4e0e0b110072842021-09-18 0:23:2535 days 7 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20xbdbe0c4d95dcbb4cb2deaf37efb50d7e03f100090.5 BNB
0x4b4bb3fd64d84879190bc124d8838ca58a0a8c3d12a3efd84fee0b98fd87f2e2110041412021-09-17 21:46:1635 days 10 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20xd4a6c9680b3bbb59e2efa366d766ea4d2adcd01d0.35 BNB
0xe44e10ec9e036400d99f497c87865e9ad0d2a4f64e73df3eaadcb568c1b6d743110038572021-09-17 21:32:0435 days 10 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20x0fd1a54c044077be1481535af396931b3ce079da0.35 BNB
0x6189bca9135e957318a507c9718bf12ffb6ec8f7439bfffd65921eac35c3acb5110014022021-09-17 19:29:1635 days 12 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20x4af5bbf813da6456a238ee8c84629960993cf3f40.28000000000000003 BNB
0x69d2a54eaffc7e8babe624a50d88c0529ea64b71a97055be12c8b625e38f9d3c110005632021-09-17 18:47:1935 days 13 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20x216b394f8e1e9f35696969d5869cd10e317c4b630.095 BNB
0xef8203f43e9b9ec88298ec8ad5741078c966bae603919901ae3397c057470518109991922021-09-17 17:38:4635 days 14 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20x9d5495a0d5cc8ec4998854c107995ee51f7e04312.1 BNB
0x10fb1d60c4f4b75bf4f9ab7637b910050deeb616e48feeb6e21a3299f6e3526c109984122021-09-17 16:59:4335 days 15 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20x1f1d16ab41152ff3269c66b7ae3a3fc86d0bbae81 BNB
0xb5fbef72cf0770d1be4dfa06775a59e2b3963c930fca79129729ab2ff34ceb67109978522021-09-17 16:31:3635 days 15 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20xe6306d7772c75c3e0398f68ff15d07da7f6517834 BNB
0x8f44bdcbaa70ced65436ae81ee8d0131e297fdaef35c28c51a49ecdd97b0a258109977012021-09-17 16:24:0335 days 15 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20x557de2522d93576bff92217332a300548ad71cc62 BNB
0x40cf0071ddab7037afed23138c797596ac96c45fd805bc5b371d2fd5a64800ad109973682021-09-17 16:07:2435 days 15 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20x13dffba76b49cff97bb9818dde324175f85afeeb0.5 BNB
0xf6c5420b387ac348c653db15cdb3325fb354a2c76525c78c104a8928ff3bf8aa109970862021-09-17 15:53:1635 days 16 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20x5a6f1646a3f88b8450f9f3c9ac0ac48d53bbbc3c5 BNB
0xa58de9ab6256e75df3184566be476932899d3efb0f5faa22a28f8582523dac57109970622021-09-17 15:52:0035 days 16 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20x7c8f24cbb6b00d5c85be565c0b325900914cabad3 BNB
0xbd8ed659714fcf00317603ac1f0955791a3b284a0c000bd1a324a5e9e5be9172109970552021-09-17 15:51:3835 days 16 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20xd9f0ff33db0bd33552f98d42e115130334d23e2649 BNB
0xaff9fb88ce3a7c532e92500cc5983dc8b0beb3c6c23f1d75883507fb36eddc68109970412021-09-17 15:50:5435 days 16 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20x05e5da34082e123c80bb7dd3b0b6697c2c3908905 BNB
0x695561cf033d3c2ab2cf655c383c94184f3ee5ab201787c9e761f6220f5b21ad109758972021-09-16 22:12:3836 days 9 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20xbd70efe21703fbae244e355d923f9930006e6a100.0035 BNB
0x695561cf033d3c2ab2cf655c383c94184f3ee5ab201787c9e761f6220f5b21ad109758972021-09-16 22:12:3836 days 9 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20xb11d2acaff12ab764546ab5559864b69f3eccf6f0.002 BNB
0x695561cf033d3c2ab2cf655c383c94184f3ee5ab201787c9e761f6220f5b21ad109758972021-09-16 22:12:3836 days 9 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20x67f55b0fe92a41ba51a0e83eb72f02c77591fbf10.0045 BNB
0x56c3a9b1c9a89e84305873b32a6fd3d9eb7b8ef6868650fb0c333ebf7cd552d3109656162021-09-16 13:37:2536 days 18 hrs ago 0x721b703625f1f27c9375871da8592ac285da82a20xa7a8b1c4b02bc78da2b7555458729d2a3c48f1d90.2 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CAKESTAKE

Compiler Version
v0.5.8+commit.23d335f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-09-02
*/

pragma solidity 0.5.8;

interface IBEP20 {
  function totalSupply() external view returns (uint256);

  function decimals() external view returns (uint8);

  function symbol() external view returns (string memory);

 
  function name() external view returns (string memory);


  function getOwner() external view returns (address);

 
  function balanceOf(address account) external view returns (uint256);

  
  function transfer(address recipient, uint256 amount) external returns (bool);

  
  function allowance(address _owner, address spender) external view returns (uint256);


  function approve(address spender, uint256 amount) external returns (bool);


  function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

 
  event Transfer(address indexed from, address indexed to, uint256 value);


  event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract CAKESTAKE {
	using SafeMath for uint256;
	
	 IBEP20 public CAKE;

	uint256 constant public INVEST_MIN_AMOUNT = 1e17; //0.1 Cake
	uint256 constant public PROJECT_FEE = 45;
	uint256 constant public DEVELOPER_FEE = 20;
	uint256 constant public MARKETING_FEE = 35;
	uint256 constant public PERCENT_STEP = 8; // 0.8%
	uint256 constant public PERCENTS_DIVIDER = 1000;
	uint256 constant public TIME_STEP = 1 days;
	
	uint256 constant public WITHDRAWAL_LOTTERY_FEE = 25;
	uint256 constant public STAKE_LOTTERY_FEE = 10;
	
	
	uint256[] public REFERRAL_PERCENTS = [30, 20, 10, 10, 10, 8, 5, 2];
	
	uint256 public constant CAKE_PER_TICKET = 1e17; // 0.1 CAKE
    uint256 public lotteryRound = 0;
    uint256 public currentPot = 0;
    uint256 public participants = 0;
    uint256 public totalTickets = 0;
    uint256 public LOTTERY_STEP = 6 hours; 
    uint256 public LOTTERY_START_TIME;
    
    uint256 public constant STAKE_MIN_AMOUNT = 0.05 ether;
    uint256 public constant FINE_TIME = 3 days;
	
	
	
    uint256 public totalStaked;
    uint256 public totalBnbStaked;
	uint256 public totalDeposits;
	uint256 public totalReferralEarned;
    
    uint256 public cakeFee;

    uint256 FEE_HISTORY_UPDATE_TIME;

    struct Plan {
        uint256 time;
        uint256 percent;
    }

    Plan[] internal plans;

	struct Deposit {
        uint8 plan;
		uint256 percent;
		uint256 amount;
		uint256 profit;
		uint256 start;
		uint256 finish;
	}

	struct User {
		Deposit[] deposits;
		uint256 checkpoint;
		address payable referrer;
		uint256 referrals;
		uint256 totalBonus;
		uint256 refRewards;
		uint256 lotteryRewards;
		uint256 bnbStaked;
		uint256 feeCheckpoint;
		uint256 bnbStakeCheckpoint;
	}

	mapping (address => User) internal users;
	
	uint256[] public projectFeeHistory;
	
    mapping(uint256 => mapping(address => uint256)) public ticketOwners; // round => address => amount of owned tickets
    mapping(uint256 => mapping(uint256 => address)) public participantAdresses; // round => id => address

	uint256 public startUNIX;
	address payable private commissionWallet;
	address payable private developerWallet;
	address payable public marketingWallet;

	event Newbie(address user);
	event NewDeposit(address indexed user, uint8 plan, uint256 percent, uint256 amount, uint256 profit, uint256 start, uint256 finish);
	event Withdrawn(address indexed user, uint256 amount);
	event RefBonus(address indexed referrer, address indexed referral, uint256 indexed level, uint256 amount);
	event onLotteryWinner(address indexed investor, uint256 pot, uint256 indexed round);
	event onBnbStaked(address indexed user, uint256 amount);
	event onCakeFeeClaimed(address indexed user, uint256 amount);
	event onUnstake(address indexed user, uint256 amount, bool indexed fine);
	event onLotteryRewardsClaimed(address investor, uint256 rewards);

	constructor(address payable wallet, address payable _developer, address payable _marketing,  IBEP20 CAKE_ADDRESS) public {
		require(!isContract(wallet));
		commissionWallet = wallet;
		developerWallet = _developer;
		marketingWallet = _marketing;
		
		CAKE = CAKE_ADDRESS;
		FEE_HISTORY_UPDATE_TIME = block.timestamp.add(115 hours);
		startUNIX = block.timestamp.add(115 hours);
		LOTTERY_START_TIME = block.timestamp.add(115 hours);

        plans.push(Plan(365, 60)); // 6% per day for 365 days
        plans.push(Plan(15, 90)); // 9% per day for 15 days
        plans.push(Plan(13, 70)); // 7% per day for 13 days (auto-compound)
        plans.push(Plan(13, 130)); // 13% per day for 13 days (payment at the end)
        plans.push(Plan(15, 70)); // 7-11% per day for 15 days (random)
        plans.push(Plan(15, 30)); // 3-15% per day for 15 days (random)
	}


function invest(address payable referrer,uint8 plan, uint256 amount) public payable {
        _invest(referrer, plan, msg.sender, amount);
           
    }


	function _invest(address payable referrer, uint8 plan, address payable sender, uint256 value) private {
		require(value >= INVEST_MIN_AMOUNT);
        require(plan < 6, "Invalid plan");
        require(startUNIX < block.timestamp, "contract hasn`t started yet");
        require(value <= CAKE.balanceOf(sender), "insufficient amount");
        
        CAKE.transferFrom(sender, address(this), value);
        
		uint256 fee = value.mul(PROJECT_FEE).div(PERCENTS_DIVIDER);
		CAKE.transfer(commissionWallet,fee);
		uint256 developerFee = value.mul(DEVELOPER_FEE).div(PERCENTS_DIVIDER);
		CAKE.transfer(developerWallet,developerFee);
		uint256 marketingFee = value.mul(MARKETING_FEE).div(PERCENTS_DIVIDER);
		CAKE.transfer(marketingWallet,marketingFee);
		
		
		User storage user = users[sender];

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

			address upline = user.referrer;
			for (uint256 i = 0; i < REFERRAL_PERCENTS.length; i++) { 
				if (upline != address(0)) {
					users[upline].referrals = users[upline].referrals.add(1);
					upline = users[upline].referrer;
				} else break;
			}
		}

            _countRefRewards(sender, value);
	

		if (user.deposits.length == 0) {
			user.checkpoint = block.timestamp;
			
			
			emit Newbie(sender);
		}

		(uint256 percent, uint256 profit, uint256 finish) = getResult(plan, value);
		
		
		user.deposits.push(Deposit(plan, percent, value, profit, block.timestamp, finish));

		totalStaked = totalStaked.add(value);
		totalDeposits = totalDeposits.add(1);
		
		uint256 amountForLottery = value.mul(STAKE_LOTTERY_FEE).div(PERCENTS_DIVIDER);
 		
 		_buyTickets(sender, amountForLottery);
 		
 		cakeFee = cakeFee.add(value.mul(10).div(1000)); // 1%
 		
 		checkFeeHistoryUpdate();
		
		emit NewDeposit(sender, plan, percent, value, profit, block.timestamp, finish);
	}
	
	function stake() public payable {
	    require(startUNIX < block.timestamp, "contract hasn`t started yet");
	    require(msg.value >= STAKE_MIN_AMOUNT, "Min. amount is 0.05 BNB");
	    require(getUserTotalDeposits(msg.sender) > 0, "must be an active deposit");
	    
	    uint256 totalCakeDeposits = getUserTotalDeposits(msg.sender);
	    uint256 availableBnbStake = totalCakeDeposits.div(20).sub(users[msg.sender].bnbStaked);
	    
	    require(msg.value <= availableBnbStake, "BNB limit is exceeded");
	    
	    uint256 fee = msg.value.mul(PROJECT_FEE).div(PERCENTS_DIVIDER);
		commissionWallet.transfer(fee);
		uint256 developerFee = msg.value.mul(DEVELOPER_FEE).div(PERCENTS_DIVIDER);
		developerWallet.transfer(developerFee);
		uint256 marketingFee = msg.value.mul(MARKETING_FEE).div(PERCENTS_DIVIDER);
		marketingWallet.transfer(marketingFee);
	    
	    User storage user = users[msg.sender];
	    
	    if(user.bnbStaked > 0) { // already have deposit
	        uint256 rewards = getCakeDividends(msg.sender);
	        CAKE.transfer(msg.sender, rewards);
	    } 
	    
	    user.feeCheckpoint = cakeFee;
	    user.bnbStaked = user.bnbStaked.add(msg.value);
	    user.bnbStakeCheckpoint = block.timestamp;
	    
	    totalBnbStaked = totalBnbStaked.add(msg.value);
	    
	    emit onBnbStaked(msg.sender, msg.value);
	    
	}
	
	function claimCakeFee() public payable {
	    User storage user = users[msg.sender];
	    
	    uint256 rewards = getCakeDividends(msg.sender);
	    
	    require(rewards > 0, "nothing to claim");
	    
	    user.feeCheckpoint = cakeFee;
	    
	    CAKE.transfer(msg.sender, rewards);
	    
	    emit onCakeFeeClaimed(msg.sender, rewards);
	}
	
	
	function unstake() public payable {
	   User storage user = users[msg.sender];
	   
	   uint256 rewards = getCakeDividends(msg.sender);
	   
	   bool flag;
	   
	   if(rewards > 0){
	       if(CAKE.balanceOf(address(this)) >= rewards) {
	           CAKE.transfer(msg.sender, rewards);
	       }
	       
	   }
	   
	   if(block.timestamp.sub(user.bnbStakeCheckpoint) < FINE_TIME){
	       uint256 amount = user.bnbStaked.mul(95).div(100);
	       if(amount > address(this).balance){
	           amount = address(this).balance;
	       }
	       msg.sender.transfer(amount);
	       flag = true;
	   } else {
	       uint256 amount = user.bnbStaked;
	       if(amount > address(this).balance){
	           amount = address(this).balance;
	       }
	       msg.sender.transfer(amount);
	       flag = false;
	   }
	   
	   totalBnbStaked = totalBnbStaked.sub(user.bnbStaked);
	   
	   emit onUnstake(msg.sender, user.bnbStaked, flag);
	   
	   user.bnbStaked = 0;
	    
	   
	}
	
	function getCakeDividends(address userAddress) public view returns(uint256){
	    User storage user = users[userAddress];
	    
	    uint256 availableFee = cakeFee.sub(user.feeCheckpoint);
	    
	    return user.bnbStaked.mul(availableFee).div(totalBnbStaked);
	}
	
	function _countRefRewards(address userAddress, uint256 value) private {
	        User storage user = users[userAddress];
	        
	        uint256 total = 0;
	        
	    	if (user.referrer != address(0)) {
			address payable upline = user.referrer;
			for (uint256 i = 0; i < REFERRAL_PERCENTS.length; i++) {  
				if (upline != address(0)) {
				
    					uint256 amount = value.mul(REFERRAL_PERCENTS[i]).div(PERCENTS_DIVIDER);
    					total = total.add(amount);
    					
    					users[upline].refRewards = users[upline].refRewards.add(amount);
				    
					
					upline = users[upline].referrer;
				} else break;
			}

		}
		
		totalReferralEarned = totalReferralEarned.add(total);
	}
	
		function _countLotteryRefRewards(address userAddress, uint256 value) private {
	        User storage user = users[userAddress];

	        uint256 total = 0;

	    	if (user.referrer != address(0)) {
			address payable upline = user.referrer;
			for (uint256 i = 0; i < REFERRAL_PERCENTS.length; i++) {  
				if (upline != address(0)) {
				
    					uint256 amount = value.mul(REFERRAL_PERCENTS[i]).div(PERCENTS_DIVIDER).div(2); // 2 times less
    					total = total.add(amount);
    					users[upline].refRewards = users[upline].refRewards.add(amount);
				    
					
					upline = users[upline].referrer;
				} else break;
			}

			totalReferralEarned = totalReferralEarned.add(total);

		}
	}

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

		uint256 totalAmount = getUserDividends(msg.sender);

		require(totalAmount > 0, "User has no dividends");

		uint256 contractBalance = CAKE.balanceOf(address(this));
		if (contractBalance < totalAmount) {
			totalAmount = contractBalance;
		}

		user.checkpoint = block.timestamp;
		
 		uint256 amountForLottery = totalAmount.mul(WITHDRAWAL_LOTTERY_FEE).div(PERCENTS_DIVIDER);
 		
 		
 		_buyTickets(msg.sender, amountForLottery);
 		
 		uint256 commission = totalAmount.mul(25).div(1000); // 2.5%
 		
 		cakeFee = cakeFee.add(commission); // 2.5%
 		
 		totalAmount = totalAmount.sub(amountForLottery).sub(commission);
	

		CAKE.transfer(msg.sender, totalAmount);
	
		
		
		checkFeeHistoryUpdate();
		

		emit Withdrawn(msg.sender, totalAmount);

	}
	
	
	function withdrawRef() public {
	    User storage user = users[msg.sender];
	    require(user.refRewards > 0 , 'user doesnt have referral rewards');
	    
	    uint256 value = user.refRewards;
	    user.refRewards = 0;
	    
	    uint256 amountForLottery = value.mul(WITHDRAWAL_LOTTERY_FEE).div(PERCENTS_DIVIDER);
	    
	    uint256 commission = value.mul(25).div(1000); // 2.5%
	    
	    cakeFee = cakeFee.add(commission);
 		
 		value = value.sub(amountForLottery).sub(commission);
 		
 		_buyTickets(msg.sender, amountForLottery);
	    
	    
	    CAKE.transfer(msg.sender, value);
	    
	    user.totalBonus = user.totalBonus.add(value);
	    
	    
	    emit Withdrawn(msg.sender, user.refRewards);
	    
	   checkFeeHistoryUpdate();
	    
	}
	
	function claimLotteryReward() public {
        User storage user = users[msg.sender];
        require(user.lotteryRewards !=0, "Nothing to claim");
        
        uint256 amount = user.lotteryRewards;
        
        CAKE.transfer(msg.sender, amount);
        
        user.lotteryRewards = 0;
        
        emit onLotteryRewardsClaimed(msg.sender, amount);
    }
	
	  function buyTickets(uint256 cakeAmount) public {
	    require(startUNIX < block.timestamp, "contract hasn`t started yet");
	    require(CAKE.balanceOf(msg.sender) >= cakeAmount, "insufficient balance");
	    require(cakeAmount != 0, "zero purchase amount.");
	      
	    CAKE.transferFrom(msg.sender, address(this), cakeAmount);
	      
	    uint256 fee = cakeAmount.mul(PROJECT_FEE).div(PERCENTS_DIVIDER);
		CAKE.transfer(commissionWallet,fee);
		uint256 developerFee = cakeAmount.mul(DEVELOPER_FEE).div(PERCENTS_DIVIDER);
		CAKE.transfer(developerWallet,developerFee);
		uint256 marketingFee = cakeAmount.mul(MARKETING_FEE).div(PERCENTS_DIVIDER);
		CAKE.transfer(marketingWallet,marketingFee);
		
		
		_countRefRewards(msg.sender, cakeAmount);
		
		_buyTickets(msg.sender, cakeAmount);
	      
	  }


      function _buyTickets(address userAddress, uint256 amount) private { // amount - CAKE for purchase
    
        require(amount != 0, "zero purchase amount");
        
        uint256 tickets = amount.mul(1e18).div(CAKE_PER_TICKET);
        
        if(ticketOwners[lotteryRound][userAddress] == 0) {
            participantAdresses[lotteryRound][participants] = userAddress;
            participants = participants.add(1);
        }
        
        ticketOwners[lotteryRound][userAddress] = ticketOwners[lotteryRound][userAddress].add(tickets);
        currentPot = currentPot.add(amount);
        totalTickets = totalTickets.add(tickets);
        
        if(block.timestamp.sub(LOTTERY_START_TIME) >= LOTTERY_STEP || participants == 200){
            _chooseWinner();
        }
    }
    
    function _chooseWinner() private {
        
       uint256[] memory init_range = new uint256[](participants);
       uint256[] memory end_range = new uint256[](participants);
       
       uint256 last_range = 0;
       
       for(uint256 i = 0; i < participants; i++){
           uint256 range0 = last_range.add(1);
           uint256 range1 = range0.add(ticketOwners[lotteryRound][participantAdresses[lotteryRound][i]].div(1e18)); 
           
           init_range[i] = range0;
           end_range[i] = range1;
           
           last_range = range1;
       }
        
       uint256 random = _getRandom().mod(last_range).add(1); 
       
       for(uint256 i = 0; i < participants; i++){
           if((random >= init_range[i]) && (random <= end_range[i])){
               // winner found
               
               address winnerAddress = participantAdresses[lotteryRound][i];
               
               users[winnerAddress].lotteryRewards = users[winnerAddress].lotteryRewards.add(currentPot.mul(8).div(10));
               
               //fees and rewards
               
               uint256 fee = currentPot.mul(PROJECT_FEE).div(PERCENTS_DIVIDER); 
     		   CAKE.transfer(commissionWallet,fee);
    		   uint256 developerFee = currentPot.mul(DEVELOPER_FEE).div(PERCENTS_DIVIDER); 
    		   CAKE.transfer(developerWallet,developerFee);
    		   uint256 marketingFee = currentPot.mul(MARKETING_FEE).div(PERCENTS_DIVIDER);
		       CAKE.transfer(marketingWallet,marketingFee);
    		   
    		   _countLotteryRefRewards(winnerAddress, currentPot);
    		   
    		   cakeFee = cakeFee.add(currentPot.mul(10).div(100));
              
               // reset lotteryRound
               
                emit onLotteryWinner(winnerAddress, currentPot, lotteryRound);
               
               currentPot = 0;
               lotteryRound = lotteryRound.add(1);
               participants = 0;
               totalTickets = 0;
               LOTTERY_START_TIME = block.timestamp;
               
              

               break;
           }
       }
    }
    
    function checkFeeHistoryUpdate() public {
        if(block.timestamp.sub(FEE_HISTORY_UPDATE_TIME) >= 24 hours) {
            projectFeeHistory.push(cakeFee);
            FEE_HISTORY_UPDATE_TIME = block.timestamp;
        }
    }
    
    function _getRandom() private view returns(uint256){
        
        bytes32 _blockhash = blockhash(block.number-1);
        
        
        return uint256(keccak256(abi.encode(_blockhash,block.timestamp,currentPot,block.difficulty)));
    }
	

	function getContractBalance() public view returns (uint256) {
		return CAKE.balanceOf(address(this));
	}

	function getPlanInfo(uint8 plan) public view returns(uint256 time, uint256 percent) {
		time = plans[plan].time;
		percent = plans[plan].percent;
	}

	function getPercent(uint8 plan) public view returns (uint256) {
	    
		if(plan < 4 ){
			 return plans[plan].percent.add(PERCENT_STEP.mul(block.timestamp.sub(startUNIX)).div(TIME_STEP));
		} 
		
		if(plan >= 4){
		    uint256 random = getRandomPercent(plan);
		    return plans[plan].percent.add(random).add(PERCENT_STEP.mul(block.timestamp.sub(startUNIX)).div(TIME_STEP));
		}
    }
    
    function getRandomPercent(uint8 plan) private view returns(uint256) {
        uint256 mod;
        
        if(plan == 4){
            mod = 40; // (11% - 7%) * 10
        }
        if(plan == 5){
            mod = 120; // (15% - 3%) * 10
        }
        
        
        bytes32 _blockhash = blockhash(block.number-1);
        
        
        uint256 random =  uint256(keccak256(abi.encode(_blockhash,block.timestamp,block.difficulty))); 
        uint256 rand = random.mod(mod); // random number
        
        
        return rand;
    }

	function getResult(uint8 plan, uint256 deposit) public view returns (uint256 percent, uint256 profit, uint256 finish) {
		percent = getPercent(plan);

	
		profit = deposit.mul(percent).div(PERCENTS_DIVIDER).mul(plans[plan].time);
	

		finish = block.timestamp.add(plans[plan].time.mul(TIME_STEP));
	}
	
    
	function getUserDividends(address userAddress) public view returns (uint256) {
		User storage user = users[userAddress];

		uint256 totalAmount;
		

		for (uint256 i = 0; i < user.deposits.length; i++) {
			if (user.checkpoint < user.deposits[i].finish) {
				if (user.deposits[i].plan == 3) {
				    if (block.timestamp > user.deposits[i].finish){
				        totalAmount = totalAmount.add(user.deposits[i].profit);
				    }
				    
				} else  {
					if(user.deposits[i].plan == 2) {
					    
					    uint256 passedDays = block.timestamp.sub(user.checkpoint).div(TIME_STEP);
					    uint256 payout = 0;
					    uint256 percent = user.deposits[i].percent;
					    
					    for(uint256 k = 0; k<passedDays;k++){
					            payout = payout.add(user.deposits[i].amount.add(payout).mul(percent).div(PERCENTS_DIVIDER));
					    }
					    
					    totalAmount = totalAmount.add(payout);
					    
					} else {
					    	uint256 share = user.deposits[i].amount.mul(user.deposits[i].percent).div(PERCENTS_DIVIDER);
        					uint256 from = user.deposits[i].start > user.checkpoint ? user.deposits[i].start : user.checkpoint;
        					uint256 to = user.deposits[i].finish < block.timestamp ? user.deposits[i].finish : block.timestamp;
        					if (from < to) {
        						totalAmount = totalAmount.add(share.mul(to.sub(from)).div(TIME_STEP));
        					}
					}
				
				}
			}
		}

		return totalAmount;
	}

	function getUserCheckpoint(address userAddress) public view returns(uint256) {
		return users[userAddress].checkpoint;
	}
    
	function getUserReferrer(address userAddress) public view returns(address) {
		return users[userAddress].referrer;
	}
	

	function getUserDownlineCount(address userAddress) public view returns(uint256) {
		return (users[userAddress].referrals);
	}

	function getUserReferralTotalBonus(address userAddress) public view returns(uint256) {
		return users[userAddress].totalBonus;
	}

	function getUserReferralWithdrawn(address userAddress) public view returns(uint256) {
		return users[userAddress].totalBonus;
	}
	
	function getUserRefRewards(address userAddress) public view returns(uint256) {
	    return users[userAddress].refRewards;
	}

	function getUserAvailable(address userAddress) public view returns(uint256) {
		return getUserDividends(userAddress);
	}

	function getUserAmountOfDeposits(address userAddress) public view returns(uint256) {
		return users[userAddress].deposits.length;
	}
	
	function getUserBnbStaked(address userAddress) public view returns(uint256) {
	    return users[userAddress].bnbStaked;
	}
	
	function getAvailableBnb(address userAddress) public view returns(uint256){
	    return getUserTotalDeposits(userAddress).div(20).sub(users[userAddress].bnbStaked);
	}
	
	function getAvailableLotteryRewards(address userAddress) public view returns(uint256) {
	    return users[userAddress].lotteryRewards;
	}
	
	function getUserBnbTimer(address userAddress) public view returns(uint256) {
	    
	    return block.timestamp.sub(users[userAddress].bnbStakeCheckpoint);
	}

	function getUserTotalDeposits(address userAddress) public view returns(uint256 amount) {
		for (uint256 i = 0; i < users[userAddress].deposits.length; i++) {
			amount = amount.add(users[userAddress].deposits[i].amount);
		}
	}
    
    function getFeeHistory() public view returns(uint256[] memory) {
        
        
        return projectFeeHistory;
    }
    
	function getUserDepositInfo(address userAddress, uint256 index) public view returns(uint8 plan, uint256 percent, uint256 amount, uint256 profit, uint256 start, uint256 finish) {
	    User storage user = users[userAddress];

		plan = user.deposits[index].plan;
		percent = user.deposits[index].percent;
		amount = user.deposits[index].amount;
		profit = user.deposits[index].profit;
		start = user.deposits[index].start;
		finish = user.deposits[index].finish;
	}
	
	 function getUserTickets(address _userAddress) public view returns(uint256) {
         
         return ticketOwners[lotteryRound][_userAddress];
    }
    
    function getLotteryTimer() public view returns(uint256) {
        return LOTTERY_START_TIME.add(LOTTERY_STEP);
    }

	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;
    }
    
     function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"PERCENTS_DIVIDER","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserDownlineCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_userAddress","type":"address"}],"name":"getUserTickets","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":"","type":"uint256"},{"name":"","type":"address"}],"name":"ticketOwners","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CAKE_PER_TICKET","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unstake","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"cakeAmount","type":"uint256"}],"name":"buyTickets","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TIME_STEP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"LOTTERY_START_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserReferrer","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stake","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserReferralTotalBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PROJECT_FEE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getAvailableBnb","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CAKE","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"projectFeeHistory","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"WITHDRAWAL_LOTTERY_FEE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimLotteryReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getFeeHistory","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentPot","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERCENT_STEP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"plan","type":"uint8"},{"name":"deposit","type":"uint256"}],"name":"getResult","outputs":[{"name":"percent","type":"uint256"},{"name":"profit","type":"uint256"},{"name":"finish","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":"userAddress","type":"address"}],"name":"getUserReferralWithdrawn","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"participants","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":"marketingWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserBnbStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getAvailableLotteryRewards","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":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"STAKE_LOTTERY_FEE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"plan","type":"uint8"}],"name":"getPercent","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":"plan","type":"uint8"}],"name":"getPlanInfo","outputs":[{"name":"time","type":"uint256"},{"name":"percent","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MARKETING_FEE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"checkFeeHistoryUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"LOTTERY_STEP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cakeFee","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":"plan","type":"uint8"},{"name":"percent","type":"uint256"},{"name":"amount","type":"uint256"},{"name":"profit","type":"uint256"},{"name":"start","type":"uint256"},{"name":"finish","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startUNIX","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"participantAdresses","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserBnbTimer","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lotteryRound","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawRef","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getLotteryTimer","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getCakeDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"STAKE_MIN_AMOUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DEVELOPER_FEE","outputs":[{"name":"","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":"totalTickets","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":false,"inputs":[{"name":"referrer","type":"address"},{"name":"plan","type":"uint8"},{"name":"amount","type":"uint256"}],"name":"invest","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"claimCakeFee","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"totalBnbStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalReferralEarned","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FINE_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"getUserRefRewards","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"wallet","type":"address"},{"name":"_developer","type":"address"},{"name":"_marketing","type":"address"},{"name":"CAKE_ADDRESS","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"}],"name":"Newbie","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"plan","type":"uint8"},{"indexed":false,"name":"percent","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"profit","type":"uint256"},{"indexed":false,"name":"start","type":"uint256"},{"indexed":false,"name":"finish","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":"investor","type":"address"},{"indexed":false,"name":"pot","type":"uint256"},{"indexed":true,"name":"round","type":"uint256"}],"name":"onLotteryWinner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"onBnbStaked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"onCakeFeeClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":true,"name":"fine","type":"bool"}],"name":"onUnstake","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investor","type":"address"},{"indexed":false,"name":"rewards","type":"uint256"}],"name":"onLotteryRewardsClaimed","type":"event"}]

6080604052604051806101000160405280601e60ff168152602001601460ff168152602001600a60ff168152602001600a60ff168152602001600a60ff168152602001600860ff168152602001600560ff168152602001600260ff168152506001906008620000709291906200053a565b5060006002556000600355600060045560006005556154606006553480156200009857600080fd5b506040516080806200657b83398101806040526080811015620000ba57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050620000fa846200049e60201b60201c565b156200010557600080fd5b83601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002256206513042620004b160201b62003fbc1790919060201c565b600d81905550620002486206513042620004b160201b62003fbc1790919060201c565b6013819055506200026b6206513042620004b160201b62003fbc1790919060201c565b600781905550600e604051806040016040528061016d8152602001603c815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050600e6040518060400160405280600f8152602001605a815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050600e6040518060400160405280600d81526020016046815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050600e6040518060400160405280600d81526020016082815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050600e6040518060400160405280600f81526020016046815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050600e6040518060400160405280600f8152602001601e81525090806001815401808255809150509060018203906000526020600020906002020160009091929091909150600082015181600001556020820151816001015550505050505050620005b9565b600080823b905060008111915050919050565b60008082840190508381101562000530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b8280548282559060005260206000209081019282156200057e579160200282015b828111156200057d578251829060ff169055916020019190600101906200055b565b5b5090506200058d919062000591565b5090565b620005b691905b80821115620005b257600081600090555060010162000598565b5090565b90565b615fb280620005c96000396000f3fe6080604052600436106103ad5760003560e01c80637b5e4b61116101e7578063c3b604331161010d578063dd11247e116100a0578063edd6b15e1161006f578063edd6b15e1461130f578063efeca8a21461133a578063f34830f114611365578063f9dc38dd14611390576103ad565b8063dd11247e14611254578063e262113e1461127f578063e84cdabc146112aa578063eb50f17314611305576103ad565b8063cf2dacaf116100dc578063cf2dacaf14611134578063d241522c14611199578063d56b7546146111c4578063d7ffca91146111ef576103ad565b8063c3b6043314611062578063c5196426146110c7578063ca7dd835146110f2578063cc9c10c514611109576103ad565b8063aecaa63411610185578063c03669c411610154578063c03669c414610eef578063c0806b0314610f1a578063c234123814610fb2578063c361c14d14610fdd576103ad565b8063aecaa63414610e29578063af3e212214610e82578063b19012b014610ead578063bdb6ce3d14610ec4576103ad565b8063817b1cd2116101c1578063817b1cd214610d1c5780638360f14814610d47578063a51b953314610d72578063a8aeb6c214610dc4576103ad565b80637b5e4b6114610c275780637d88209714610c8c5780637e3abeea14610cb7576103ad565b806348d44bd1116102d757806357fc86b41161026a5780636c4470fb116102395780636c4470fb14610b155780636f9fb98a14610b4057806375f0a87414610b6b578063788fb1c514610bc2576103ad565b806357fc86b4146109cc5780635936cf61146109f7578063600d20ce14610a615780636bb1855614610ab0576103ad565b80635232e14b116102a65780635232e14b146108f3578063556651321461091e5780635707ed4514610935578063574479e6146109a1576103ad565b806348d44bd1146107bd5780634c6b78cd146107e85780634ca6ef281461084d578063507e9d1b146108a4576103ad565b80632def66201161034f57806336144c9a1161031e57806336144c9a146106a65780633a4b66f1146107375780633ccfd60b1461074157806348c3720314610758576103ad565b80632def66201461060b5780632f3666371461061557806332bc298c14610650578063360498d11461067b576103ad565b80630484a22f1161038b5780630484a22f146104a7578063153ab9df1461050c578063256fd6cc146105715780632b58d862146105e0576103ad565b806301c234a8146103b257806303a93c0c146103dd578063040a772e14610442575b600080fd5b3480156103be57600080fd5b506103c76113f5565b6040518082815260200191505060405180910390f35b3480156103e957600080fd5b5061042c6004803603602081101561040057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113fb565b6040518082815260200191505060405180910390f35b34801561044e57600080fd5b506104916004803603602081101561046557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611447565b6040518082815260200191505060405180910390f35b3480156104b357600080fd5b506104f6600480360360208110156104ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611831565b6040518082815260200191505060405180910390f35b34801561051857600080fd5b5061055b6004803603602081101561052f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188d565b6040518082815260200191505060405180910390f35b34801561057d57600080fd5b506105ca6004803603604081101561059457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061189f565b6040518082815260200191505060405180910390f35b3480156105ec57600080fd5b506105f56118c4565b6040518082815260200191505060405180910390f35b6106136118d0565b005b34801561062157600080fd5b5061064e6004803603602081101561063857600080fd5b8101908080359060200190929190505050611cdd565b005b34801561065c57600080fd5b506106656123e1565b6040518082815260200191505060405180910390f35b34801561068757600080fd5b506106906123e8565b6040518082815260200191505060405180910390f35b3480156106b257600080fd5b506106f5600480360360208110156106c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123ee565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61073f61245a565b005b34801561074d57600080fd5b50610756612a61565b005b34801561076457600080fd5b506107a76004803603602081101561077b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612dfe565b6040518082815260200191505060405180910390f35b3480156107c957600080fd5b506107d2612e4a565b6040518082815260200191505060405180910390f35b3480156107f457600080fd5b506108376004803603602081101561080b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e4f565b6040518082815260200191505060405180910390f35b34801561085957600080fd5b50610862612ec8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108b057600080fd5b506108dd600480360360208110156108c757600080fd5b8101908080359060200190929190505050612eed565b6040518082815260200191505060405180910390f35b3480156108ff57600080fd5b50610908612f0e565b6040518082815260200191505060405180910390f35b34801561092a57600080fd5b50610933612f13565b005b34801561094157600080fd5b5061094a613137565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561098d578082015181840152602081019050610972565b505050509050019250505060405180910390f35b3480156109ad57600080fd5b506109b661318f565b6040518082815260200191505060405180910390f35b3480156109d857600080fd5b506109e1613195565b6040518082815260200191505060405180910390f35b348015610a0357600080fd5b50610a3d60048036036040811015610a1a57600080fd5b81019080803560ff1690602001909291908035906020019092919050505061319a565b60405180848152602001838152602001828152602001935050505060405180910390f35b348015610a6d57600080fd5b50610a9a60048036036020811015610a8457600080fd5b8101908080359060200190929190505050613258565b6040518082815260200191505060405180910390f35b348015610abc57600080fd5b50610aff60048036036020811015610ad357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613279565b6040518082815260200191505060405180910390f35b348015610b2157600080fd5b50610b2a6132c5565b6040518082815260200191505060405180910390f35b348015610b4c57600080fd5b50610b556132cb565b6040518082815260200191505060405180910390f35b348015610b7757600080fd5b50610b806133ab565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bce57600080fd5b50610c1160048036036020811015610be557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133d1565b6040518082815260200191505060405180910390f35b348015610c3357600080fd5b50610c7660048036036020811015610c4a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061341d565b6040518082815260200191505060405180910390f35b348015610c9857600080fd5b50610ca1613469565b6040518082815260200191505060405180910390f35b348015610cc357600080fd5b50610d0660048036036020811015610cda57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061346f565b6040518082815260200191505060405180910390f35b348015610d2857600080fd5b50610d3161354a565b6040518082815260200191505060405180910390f35b348015610d5357600080fd5b50610d5c613550565b6040518082815260200191505060405180910390f35b348015610d7e57600080fd5b50610dae60048036036020811015610d9557600080fd5b81019080803560ff169060200190929190505050613555565b6040518082815260200191505060405180910390f35b348015610dd057600080fd5b50610e1360048036036020811015610de757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613682565b6040518082815260200191505060405180910390f35b348015610e3557600080fd5b50610e6560048036036020811015610e4c57600080fd5b81019080803560ff1690602001909291905050506136d1565b604051808381526020018281526020019250505060405180910390f35b348015610e8e57600080fd5b50610e97613721565b6040518082815260200191505060405180910390f35b348015610eb957600080fd5b50610ec2613726565b005b348015610ed057600080fd5b50610ed961377c565b6040518082815260200191505060405180910390f35b348015610efb57600080fd5b50610f04613782565b6040518082815260200191505060405180910390f35b348015610f2657600080fd5b50610f7360048036036040811015610f3d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613788565b604051808760ff1660ff168152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b348015610fbe57600080fd5b50610fc76138be565b6040518082815260200191505060405180910390f35b348015610fe957600080fd5b506110206004803603604081101561100057600080fd5b8101908080359060200190929190803590602001909291905050506138c4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561106e57600080fd5b506110b16004803603602081101561108557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613906565b6040518082815260200191505060405180910390f35b3480156110d357600080fd5b506110dc613964565b6040518082815260200191505060405180910390f35b3480156110fe57600080fd5b5061110761396a565b005b34801561111557600080fd5b5061111e613c24565b6040518082815260200191505060405180910390f35b34801561114057600080fd5b506111836004803603602081101561115757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613c42565b6040518082815260200191505060405180910390f35b3480156111a557600080fd5b506111ae613cd7565b6040518082815260200191505060405180910390f35b3480156111d057600080fd5b506111d9613ce2565b6040518082815260200191505060405180910390f35b3480156111fb57600080fd5b5061123e6004803603602081101561121257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ce7565b6040518082815260200191505060405180910390f35b34801561126057600080fd5b50611269613d33565b6040518082815260200191505060405180910390f35b34801561128b57600080fd5b50611294613d39565b6040518082815260200191505060405180910390f35b611303600480360360608110156112c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080359060200190929190505050613d45565b005b61130d613d56565b005b34801561131b57600080fd5b50611324613f5d565b6040518082815260200191505060405180910390f35b34801561134657600080fd5b5061134f613f63565b6040518082815260200191505060405180910390f35b34801561137157600080fd5b5061137a613f69565b6040518082815260200191505060405180910390f35b34801561139c57600080fd5b506113df600480360360208110156113b357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f70565b6040518082815260200191505060405180910390f35b6103e881565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301549050919050565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600080600090505b8260000180549050811015611826578260000181815481106114b157fe5b906000526020600020906006020160050154836001015410156118195760038360000182815481106114df57fe5b906000526020600020906006020160000160009054906101000a900460ff1660ff16141561156a5782600001818154811061151657fe5b9060005260206000209060060201600501544211156115655761156283600001828154811061154157fe5b90600052602060002090600602016003015483613fbc90919063ffffffff16565b91505b611818565b600283600001828154811061157b57fe5b906000526020600020906006020160000160009054906101000a900460ff1660ff1614156116a35760006115d1620151806115c386600101544261404490919063ffffffff16565b6140cd90919063ffffffff16565b9050600080905060008560000184815481106115e957fe5b906000526020600020906006020160010154905060008090505b83811015611685576116766116676103e86116598561164b888d6000018c8154811061162b57fe5b906000526020600020906006020160020154613fbc90919063ffffffff16565b61415c90919063ffffffff16565b6140cd90919063ffffffff16565b84613fbc90919063ffffffff16565b92508080600101915050611603565b506116998286613fbc90919063ffffffff16565b9450505050611817565b600061170c6103e86116fe8660000185815481106116bd57fe5b9060005260206000209060060201600101548760000186815481106116de57fe5b90600052602060002090600602016002015461415c90919063ffffffff16565b6140cd90919063ffffffff16565b90506000846001015485600001848154811061172457fe5b90600052602060002090600602016004015411611745578460010154611767565b84600001838154811061175457fe5b9060005260206000209060060201600401545b905060004286600001858154811061177b57fe5b9060005260206000209060060201600501541061179857426117ba565b8560000184815481106117a757fe5b9060005260206000209060060201600501545b90508082101561181357611810611801620151806117f36117e4868661404490919063ffffffff16565b8761415c90919063ffffffff16565b6140cd90919063ffffffff16565b86613fbc90919063ffffffff16565b94505b5050505b5b5b8080600101915050611493565b508092505050919050565b600060116000600254815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061189882611447565b9050919050565b6011602052816000526040600020602052806000526040600020600091509150505481565b67016345785d8a000081565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600061191e33613c42565b9050600080821115611aef57816000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156119c957600080fd5b505afa1580156119dd573d6000803e3d6000fd5b505050506040513d60208110156119f357600080fd5b810190808051906020019092919050505010611aee576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611ab157600080fd5b505af1158015611ac5573d6000803e3d6000fd5b505050506040513d6020811015611adb57600080fd5b8101908080519060200190929190505050505b5b6203f480611b0a84600901544261404490919063ffffffff16565b1015611bca576000611b3d6064611b2f605f876007015461415c90919063ffffffff16565b6140cd90919063ffffffff16565b90503073ffffffffffffffffffffffffffffffffffffffff1631811115611b79573073ffffffffffffffffffffffffffffffffffffffff163190505b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611bbf573d6000803e3d6000fd5b506001915050611c5a565b6000836007015490503073ffffffffffffffffffffffffffffffffffffffff1631811115611c0d573073ffffffffffffffffffffffffffffffffffffffff163190505b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611c53573d6000803e3d6000fd5b5060009150505b611c73836007015460095461404490919063ffffffff16565b6009819055508015153373ffffffffffffffffffffffffffffffffffffffff167f806cf43d3b3730ddf49a55fb3b51714e872e2d6841c720903ae0aaaecad1b98e85600701546040518082815260200191505060405180910390a360008360070181905550505050565b4260135410611d54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f636f6e7472616374206861736e6074207374617274656420796574000000000081525060200191505060405180910390fd5b806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611df357600080fd5b505afa158015611e07573d6000803e3d6000fd5b505050506040513d6020811015611e1d57600080fd5b81019080805190602001909291905050501015611ea2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f696e73756666696369656e742062616c616e636500000000000000000000000081525060200191505060405180910390fd5b6000811415611f19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7a65726f20707572636861736520616d6f756e742e000000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ff557600080fd5b505af1158015612009573d6000803e3d6000fd5b505050506040513d602081101561201f57600080fd5b810190808051906020019092919050505050600061205b6103e861204d602d8561415c90919063ffffffff16565b6140cd90919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561212757600080fd5b505af115801561213b573d6000803e3d6000fd5b505050506040513d602081101561215157600080fd5b810190808051906020019092919050505050600061218d6103e861217f60148661415c90919063ffffffff16565b6140cd90919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561225957600080fd5b505af115801561226d573d6000803e3d6000fd5b505050506040513d602081101561228357600080fd5b81019080805190602001909291905050505060006122bf6103e86122b160238761415c90919063ffffffff16565b6140cd90919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561238b57600080fd5b505af115801561239f573d6000803e3d6000fd5b505050506040513d60208110156123b557600080fd5b8101908080519060200190929190505050506123d133856141e2565b6123db3385614485565b50505050565b6201518081565b60075481565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b42601354106124d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f636f6e7472616374206861736e6074207374617274656420796574000000000081525060200191505060405180910390fd5b66b1a2bc2ec5000034101561254e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4d696e2e20616d6f756e7420697320302e303520424e4200000000000000000081525060200191505060405180910390fd5b60006125593361346f565b116125cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f6d75737420626520616e20616374697665206465706f7369740000000000000081525060200191505060405180910390fd5b60006125d73361346f565b90506000612643600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701546126356014856140cd90919063ffffffff16565b61404490919063ffffffff16565b9050803411156126bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f424e42206c696d6974206973206578636565646564000000000000000000000081525060200191505060405180910390fd5b60006126e56103e86126d7602d3461415c90919063ffffffff16565b6140cd90919063ffffffff16565b9050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561274f573d6000803e3d6000fd5b50600061277a6103e861276c60143461415c90919063ffffffff16565b6140cd90919063ffffffff16565b9050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156127e4573d6000803e3d6000fd5b50600061280f6103e861280160233461415c90919063ffffffff16565b6140cd90919063ffffffff16565b9050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612879573d6000803e3d6000fd5b506000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816007015411156129bd5760006128d533613c42565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561297f57600080fd5b505af1158015612993573d6000803e3d6000fd5b505050506040513d60208110156129a957600080fd5b810190808051906020019092919050505050505b600c5481600801819055506129df348260070154613fbc90919063ffffffff16565b8160070181905550428160090181905550612a0534600954613fbc90919063ffffffff16565b6009819055503373ffffffffffffffffffffffffffffffffffffffff167f14626639eb2ac34d015fa8d9f49dea54507ed4a8c80a6fbf5fe0dc3d39deada0346040518082815260200191505060405180910390a2505050505050565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000612aaf33611447565b905060008111612b27576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f5573657220686173206e6f206469766964656e6473000000000000000000000081525060200191505060405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612bc757600080fd5b505afa158015612bdb573d6000803e3d6000fd5b505050506040513d6020811015612bf157600080fd5b8101908080519060200190929190505050905081811015612c10578091505b4283600101819055506000612c436103e8612c3560198661415c90919063ffffffff16565b6140cd90919063ffffffff16565b9050612c4f3382614485565b6000612c796103e8612c6b60198761415c90919063ffffffff16565b6140cd90919063ffffffff16565b9050612c9081600c54613fbc90919063ffffffff16565b600c81905550612cbb81612cad848761404490919063ffffffff16565b61404490919063ffffffff16565b93506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612d6557600080fd5b505af1158015612d79573d6000803e3d6000fd5b505050506040513d6020811015612d8f57600080fd5b810190808051906020019092919050505050612da9613726565b3373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5856040518082815260200191505060405180910390a25050505050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401549050919050565b602d81565b6000612ec1600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070154612eb36014612ea58661346f565b6140cd90919063ffffffff16565b61404490919063ffffffff16565b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60108181548110612efa57fe5b906000526020600020016000915090505481565b601981565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600601541415612fd1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4e6f7468696e6720746f20636c61696d0000000000000000000000000000000081525060200191505060405180910390fd5b6000816006015490506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561308257600080fd5b505af1158015613096573d6000803e3d6000fd5b505050506040513d60208110156130ac57600080fd5b810190808051906020019092919050505050600082600601819055507f8e4e1e6d03e5b72678138d8cbe9853d23c47187442b1e2f6a2be34587aed6eab3382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b6060601080548060200260200160405190810160405280929190818152602001828054801561318557602002820191906000526020600020905b815481526020019060010190808311613171575b5050505050905090565b60035481565b600881565b60008060006131a885613555565b9250613204600e8660ff16815481106131bd57fe5b9060005260206000209060020201600001546131f66103e86131e8878961415c90919063ffffffff16565b6140cd90919063ffffffff16565b61415c90919063ffffffff16565b915061324f61324062015180600e8860ff168154811061322057fe5b90600052602060002090600202016000015461415c90919063ffffffff16565b42613fbc90919063ffffffff16565b90509250925092565b6001818154811061326557fe5b906000526020600020016000915090505481565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401549050919050565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561336b57600080fd5b505afa15801561337f573d6000803e3d6000fd5b505050506040513d602081101561339557600080fd5b8101908080519060200190929190505050905090565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701549050919050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601549050919050565b600a5481565b600080600090505b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905081101561354457613535600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001828154811061351457fe5b90600052602060002090600602016002015483613fbc90919063ffffffff16565b91508080600101915050613477565b50919050565b60085481565b600a81565b600060048260ff1610156135da576135d36135a3620151806135956135856013544261404490919063ffffffff16565b600861415c90919063ffffffff16565b6140cd90919063ffffffff16565b600e8460ff16815481106135b357fe5b906000526020600020906002020160010154613fbc90919063ffffffff16565b905061367d565b60048260ff161061367c5760006135f08361473f565b9050613674613632620151806136246136146013544261404490919063ffffffff16565b600861415c90919063ffffffff16565b6140cd90919063ffffffff16565b61366683600e8760ff168154811061364657fe5b906000526020600020906002020160010154613fbc90919063ffffffff16565b613fbc90919063ffffffff16565b91505061367d565b5b919050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b600080600e8360ff16815481106136e457fe5b9060005260206000209060020201600001549150600e8360ff168154811061370857fe5b9060005260206000209060020201600101549050915091565b602381565b6201518061373f600d544261404490919063ffffffff16565b1061377a576010600c54908060018154018082558091505090600182039060005260206000200160009091929091909150555042600d819055505b565b60065481565b600c5481565b6000806000806000806000600f60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000188815481106137e357fe5b906000526020600020906006020160000160009054906101000a900460ff16965080600001888154811061381357fe5b906000526020600020906006020160010154955080600001888154811061383657fe5b906000526020600020906006020160020154945080600001888154811061385957fe5b906000526020600020906006020160030154935080600001888154811061387c57fe5b906000526020600020906006020160040154925080600001888154811061389f57fe5b9060005260206000209060060201600501549150509295509295509295565b60135481565b60126020528160005260406000206020528060005260406000206000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061395d600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901544261404490919063ffffffff16565b9050919050565b60025481565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816005015411613a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615f666021913960400191505060405180910390fd5b600081600501549050600082600501819055506000613a476103e8613a3960198561415c90919063ffffffff16565b6140cd90919063ffffffff16565b90506000613a736103e8613a6560198661415c90919063ffffffff16565b6140cd90919063ffffffff16565b9050613a8a81600c54613fbc90919063ffffffff16565b600c81905550613ab581613aa7848661404490919063ffffffff16565b61404490919063ffffffff16565b9250613ac13383614485565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b6957600080fd5b505af1158015613b7d573d6000803e3d6000fd5b505050506040513d6020811015613b9357600080fd5b810190808051906020019092919050505050613bbc838560040154613fbc90919063ffffffff16565b84600401819055503373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d585600501546040518082815260200191505060405180910390a2613c1e613726565b50505050565b6000613c3d600654600754613fbc90919063ffffffff16565b905090565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000613ca18260080154600c5461404490919063ffffffff16565b9050613cce600954613cc083856007015461415c90919063ffffffff16565b6140cd90919063ffffffff16565b92505050919050565b66b1a2bc2ec5000081565b601481565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b60055481565b67016345785d8a000081565b613d51838333846147ce565b505050565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000613da433613c42565b905060008111613e1c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f7468696e6720746f20636c61696d0000000000000000000000000000000081525060200191505060405180910390fd5b600c5482600801819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613ecf57600080fd5b505af1158015613ee3573d6000803e3d6000fd5b505050506040513d6020811015613ef957600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167f2aae812a6a71534e1bf0c5676c8e39c4479fd570a88fe19b828f9e50cfcaebf8826040518082815260200191505060405180910390a25050565b60095481565b600b5481565b6203f48081565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501549050919050565b60008082840190508381101561403a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000828211156140bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b6000808211614144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b600082848161414f57fe5b0490508091505092915050565b60008083141561416f57600090506141dc565b600082840290508284828161418057fe5b04146141d7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615f456021913960400191505060405180910390fd5b809150505b92915050565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000809050600073ffffffffffffffffffffffffffffffffffffffff168260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146144645760008260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008090505b60018054905081101561446157600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461444f5760006143326103e86143246001858154811061430a57fe5b90600052602060002001548961415c90919063ffffffff16565b6140cd90919063ffffffff16565b90506143478185613fbc90919063ffffffff16565b935061439e81600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050154613fbc90919063ffffffff16565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050181905550600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925050614454565b614461565b80806001019150506142b1565b50505b61447981600b54613fbc90919063ffffffff16565b600b8190555050505050565b60008114156144fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f7a65726f20707572636861736520616d6f756e7400000000000000000000000081525060200191505060405180910390fd5b600061453367016345785d8a0000614525670de0b6b3a76400008561415c90919063ffffffff16565b6140cd90919063ffffffff16565b9050600060116000600254815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561461457826012600060025481526020019081526020016000206000600454815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061460d6001600454613fbc90919063ffffffff16565b6004819055505b6146798160116000600254815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613fbc90919063ffffffff16565b60116000600254815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506146e482600354613fbc90919063ffffffff16565b6003819055506146ff81600554613fbc90919063ffffffff16565b60058190555060065461471d6007544261404490919063ffffffff16565b10158061472c575060c8600454145b1561473a57614739615452565b5b505050565b60008060048360ff16141561475357602890505b60058360ff16141561476457607890505b60006001430340905060008142446040516020018084815260200183815260200182815260200193505050506040516020818303038152906040528051906020012060001c905060006147c08483615c1990919063ffffffff16565b905080945050505050919050565b67016345785d8a00008110156147e357600080fd5b60068360ff161061485c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f496e76616c696420706c616e000000000000000000000000000000000000000081525060200191505060405180910390fd5b42601354106148d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f636f6e7472616374206861736e6074207374617274656420796574000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561497157600080fd5b505afa158015614985573d6000803e3d6000fd5b505050506040513d602081101561499b57600080fd5b8101908080519060200190929190505050811115614a21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e73756666696369656e7420616d6f756e740000000000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015614afd57600080fd5b505af1158015614b11573d6000803e3d6000fd5b505050506040513d6020811015614b2757600080fd5b8101908080519060200190929190505050506000614b636103e8614b55602d8561415c90919063ffffffff16565b6140cd90919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015614c2f57600080fd5b505af1158015614c43573d6000803e3d6000fd5b505050506040513d6020811015614c5957600080fd5b8101908080519060200190929190505050506000614c956103e8614c8760148661415c90919063ffffffff16565b6140cd90919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015614d6157600080fd5b505af1158015614d75573d6000803e3d6000fd5b505050506040513d6020811015614d8b57600080fd5b8101908080519060200190929190505050506000614dc76103e8614db960238761415c90919063ffffffff16565b6140cd90919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015614e9357600080fd5b505af1158015614ea7573d6000803e3d6000fd5b505050506040513d6020811015614ebd57600080fd5b8101908080519060200190929190505050506000600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156151c0576000600f60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180549050118015614fec57508573ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1561503557878160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60008160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008090505b6001805490508110156151bd57600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146151ab576150fb6001600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154613fbc90919063ffffffff16565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691506151b0565b6151bd565b8080600101915050615064565b50505b6151ca86866141e2565b600081600001805490501415615247574281600101819055507f9fd565cd14c3c391679eb0cad12a14dcf7534e9d3462bcb9b67a098a9bbbc24a86604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b60008060006152568a8961319a565b925092509250836000016040518060c001604052808c60ff1681526020018581526020018a8152602001848152602001428152602001838152509080600181540180825580915050906001820390600052602060002090600602016000909192909190915060008201518160000160006101000a81548160ff021916908360ff1602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015550505061532688600854613fbc90919063ffffffff16565b6008819055506153426001600a54613fbc90919063ffffffff16565b600a8190555060006153726103e8615364600a8c61415c90919063ffffffff16565b6140cd90919063ffffffff16565b905061537e8a82614485565b6153ba6153a96103e861539b600a8d61415c90919063ffffffff16565b6140cd90919063ffffffff16565b600c54613fbc90919063ffffffff16565b600c819055506153c8613726565b8973ffffffffffffffffffffffffffffffffffffffff167f84e02daa69bdb087c9fe8d3041abca495512cb14e723070f6d1d4efface82e5d8c868c874288604051808760ff1660ff168152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a2505050505050505050505050565b60606004546040519080825280602002602001820160405280156154855781602001602082028038833980820191505090505b50905060606004546040519080825280602002602001820160405280156154bb5781602001602082028038833980820191505090505b509050600080905060008090505b6004548110156155f85760006154e9600184613fbc90919063ffffffff16565b905060006155b26155a3670de0b6b3a76400006011600060025481526020019081526020016000206000601260006002548152602001908152602001600020600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546140cd90919063ffffffff16565b83613fbc90919063ffffffff16565b9050818684815181106155c157fe5b602002602001018181525050808584815181106155da57fe5b602002602001018181525050809350505080806001019150506154c9565b506000615628600161561a8461560c615c3a565b615c1990919063ffffffff16565b613fbc90919063ffffffff16565b905060008090505b600454811015615c125784818151811061564657fe5b60200260200101518210158015615670575083818151811061566457fe5b60200260200101518211155b15615c05576000601260006002548152602001908152602001600020600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061573d6156ec600a6156de600860035461415c90919063ffffffff16565b6140cd90919063ffffffff16565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154613fbc90919063ffffffff16565b600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206006018190555060006157af6103e86157a1602d60035461415c90919063ffffffff16565b6140cd90919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561587b57600080fd5b505af115801561588f573d6000803e3d6000fd5b505050506040513d60208110156158a557600080fd5b81019080805190602001909291905050505060006158e36103e86158d5601460035461415c90919063ffffffff16565b6140cd90919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156159af57600080fd5b505af11580156159c3573d6000803e3d6000fd5b505050506040513d60208110156159d957600080fd5b8101908080519060200190929190505050506000615a176103e8615a09602360035461415c90919063ffffffff16565b6140cd90919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015615ae357600080fd5b505af1158015615af7573d6000803e3d6000fd5b505050506040513d6020811015615b0d57600080fd5b810190808051906020019092919050505050615b2b84600354615c8e565b615b68615b576064615b49600a60035461415c90919063ffffffff16565b6140cd90919063ffffffff16565b600c54613fbc90919063ffffffff16565b600c819055506002548473ffffffffffffffffffffffffffffffffffffffff167f92094fe610a04289fb6f9d30821ed7ab4f18dd19db5069bf6cb291cd00dff2de6003546040518082815260200191505060405180910390a36000600381905550615bdf6001600254613fbc90919063ffffffff16565b600281905550600060048190555060006005819055504260078190555050505050615c12565b8080600101915050615630565b5050505050565b600080821415615c2857600080fd5b818381615c3157fe5b06905092915050565b60008060014303409050804260035444604051602001808581526020018481526020018381526020018281526020019450505050506040516020818303038152906040528051906020012060001c91505090565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000809050600073ffffffffffffffffffffffffffffffffffffffff168260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615f3e5760008260020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008090505b600180549050811015615f2057600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614615f0e576000615df16002615de36103e8615dd560018781548110615dbb57fe5b90600052602060002001548b61415c90919063ffffffff16565b6140cd90919063ffffffff16565b6140cd90919063ffffffff16565b9050615e068185613fbc90919063ffffffff16565b9350615e5d81600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050154613fbc90919063ffffffff16565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050181905550600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925050615f13565b615f20565b8080600101915050615d5d565b50615f3682600b54613fbc90919063ffffffff16565b600b81905550505b5050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f777573657220646f65736e74206861766520726566657272616c2072657761726473a165627a7a723058209c0cd91d3a95ae6f84c49a39614a384c64120b9f1e2d296ae8d702e71884b9ed002900000000000000000000000067f55b0fe92a41ba51a0e83eb72f02c77591fbf1000000000000000000000000b11d2acaff12ab764546ab5559864b69f3eccf6f000000000000000000000000bd70efe21703fbae244e355d923f9930006e6a100000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce82

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

00000000000000000000000067f55b0fe92a41ba51a0e83eb72f02c77591fbf1000000000000000000000000b11d2acaff12ab764546ab5559864b69f3eccf6f000000000000000000000000bd70efe21703fbae244e355d923f9930006e6a100000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce82

-----Decoded View---------------
Arg [0] : wallet (address): 0x67f55b0fe92a41ba51a0e83eb72f02c77591fbf1
Arg [1] : _developer (address): 0xb11d2acaff12ab764546ab5559864b69f3eccf6f
Arg [2] : _marketing (address): 0xbd70efe21703fbae244e355d923f9930006e6a10
Arg [3] : CAKE_ADDRESS (address): 0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000067f55b0fe92a41ba51a0e83eb72f02c77591fbf1
Arg [1] : 000000000000000000000000b11d2acaff12ab764546ab5559864b69f3eccf6f
Arg [2] : 000000000000000000000000bd70efe21703fbae244e355d923f9930006e6a10
Arg [3] : 0000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce82


Deployed ByteCode Sourcemap

963:22813:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1295:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1295:47:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21047:127;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21047:127:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21047:127:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19308:1475;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19308:1475:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19308:1475:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;23320:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23320:153:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23320:153:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21582:122;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21582:122:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21582:122:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2826:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2826:67:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2826:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1579:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1579:46:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8661:1012;;;:::i;:::-;;13438:820;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13438:820:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13438:820:0;;;;;;;;;;;;;;;;;:::i;:::-;;1346:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1346:42:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1839:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1839:33:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20920:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20920:119:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20920:119:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6928:1364;;;:::i;:::-;;11402:858;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11402:858:0;;;:::i;:::-;;21179:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21179:131:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21179:131:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1107:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1107:40:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21979:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21979:169:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21979:169:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1020:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1020:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2782:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2782:34:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2782:34:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1395:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1395:51:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13050:380;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13050:380:0;;;:::i;:::-;;22707:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22707:126: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;22707:126:0;;;;;;;;;;;;;;;;;1682:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1682:29:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1243:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1243:40:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18988:308;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18988:308:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18988:308:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1506:66;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1506:66:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1506:66:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21315:130;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21315:130:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21315:130:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1718:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1718:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17745:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17745:106:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3168:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3168:38:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;21849:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21849:124:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21849:124:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;22154:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22154:139:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22154:139:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2069:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2069:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;22464:231;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22464:231:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22464:231:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2003:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2003:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1450:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1450:46:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18012:394;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18012:394:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18012:394:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21709:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21709:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21709:134:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17856:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17856:151:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17856:151:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1197:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1197:42:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17242:233;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17242:233:0;;;:::i;:::-;;1794:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1794:37:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2148:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2148:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;22842:471;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22842:471:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22842:471:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3053:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3053:24:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2947:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2947:74:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2947:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;22299:160;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22299:160:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22299:160:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1644:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1644:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12269:775;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12269:775:0;;;:::i;:::-;;23485:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23485:118:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9679:269;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9679:269:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9679:269:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1885:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1885:53:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1151:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1151:42:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20788:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20788:123:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20788:123:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1756:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1756:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1044:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1044:48:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4784:159;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4784:159:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8298:354;;;:::i;:::-;;2036:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2036:29:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2101:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2101:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1945:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1945:42:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21451:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21451:126:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21451:126:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1295:47;1338:4;1295:47;:::o;21047:127::-;21118:7;21140:5;:18;21146:11;21140:18;;;;;;;;;;;;;;;:28;;;21132:37;;21047:127;;;:::o;19308:1475::-;19376:7;19390:17;19410:5;:18;19416:11;19410:18;;;;;;;;;;;;;;;19390:38;;19435:19;19470:9;19482:1;19470:13;;19465:1289;19489:4;:13;;:20;;;;19485:1;:24;19465:1289;;;19544:4;:13;;19558:1;19544:16;;;;;;;;;;;;;;;;;;:23;;;19526:4;:15;;;:41;19522:1227;;;19605:1;19580:4;:13;;19594:1;19580:16;;;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;:26;;;19576:1167;;;19641:4;:13;;19655:1;19641:16;;;;;;;;;;;;;;;;;;:23;;;19623:15;:41;19619:127;;;19694:40;19710:4;:13;;19724:1;19710:16;;;;;;;;;;;;;;;;;;:23;;;19694:11;:15;;:40;;;;:::i;:::-;19680:54;;19619:127;19576:1167;;;19806:1;19781:4;:13;;19795:1;19781:16;;;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;:26;;;19778:952;;;19832:18;19853:51;1382:6;19853:36;19873:4;:15;;;19853;:19;;:36;;;;:::i;:::-;:40;;:51;;;;:::i;:::-;19832:72;;19916:14;19933:1;19916:18;;19946:15;19964:4;:13;;19978:1;19964:16;;;;;;;;;;;;;;;;;;:24;;;19946:42;;20015:9;20027:1;20015:13;;20011:160;20032:10;20030:1;:12;20011:160;;;20076:82;20087:70;1338:4;20087:48;20127:7;20087:35;20115:6;20087:4;:13;;20101:1;20087:16;;;;;;;;;;;;;;;;;;:23;;;:27;;:35;;;;:::i;:::-;:39;;:48;;;;:::i;:::-;:52;;:70;;;;:::i;:::-;20076:6;:10;;:82;;;;:::i;:::-;20067:91;;20043:3;;;;;;;20011:160;;;;20207:23;20223:6;20207:11;:15;;:23;;;;:::i;:::-;20193:37;;19778:952;;;;;;20269:13;20285:75;1338:4;20285:53;20313:4;:13;;20327:1;20313:16;;;;;;;;;;;;;;;;;;:24;;;20285:4;:13;;20299:1;20285:16;;;;;;;;;;;;;;;;;;:23;;;:27;;:53;;;;:::i;:::-;:57;;:75;;;;:::i;:::-;20269:91;;20376:12;20416:4;:15;;;20391:4;:13;;20405:1;20391:16;;;;;;;;;;;;;;;;;;:22;;;:40;:83;;20459:4;:15;;;20391:83;;;20434:4;:13;;20448:1;20434:16;;;;;;;;;;;;;;;;;;:22;;;20391:83;20376:98;;20490:10;20529:15;20503:4;:13;;20517:1;20503:16;;;;;;;;;;;;;;;;;;:23;;;:41;:85;;20573:15;20503:85;;;20547:4;:13;;20561:1;20547:16;;;;;;;;;;;;;;;;;;:23;;;20503:85;20490:98;;20615:2;20608:4;:9;20604:118;;;20650:55;20666:38;1382:6;20666:23;20676:12;20683:4;20676:2;:6;;:12;;;;:::i;:::-;20666:5;:9;;:23;;;;:::i;:::-;:27;;:38;;;;:::i;:::-;20650:11;:15;;:55;;;;:::i;:::-;20636:69;;20604:118;19778:952;;;;19576:1167;19522:1227;19511:3;;;;;;;19465:1289;;;;20767:11;20760:18;;;;19308:1475;;;:::o;23320:153::-;23386:7;23425:12;:26;23438:12;;23425:26;;;;;;;;;;;:40;23452:12;23425:40;;;;;;;;;;;;;;;;23418:47;;23320:153;;;:::o;21582:122::-;21649:7;21670:29;21687:11;21670:16;:29::i;:::-;21663:36;;21582:122;;;:::o;2826:67::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1579:46::-;1621:4;1579:46;:::o;8661:1012::-;8702:17;8722:5;:17;8728:10;8722:17;;;;;;;;;;;;;;;8702:37;;8752:15;8770:28;8787:10;8770:16;:28::i;:::-;8752:46;;8811:9;8846:1;8836:7;:11;8833:149;;;8895:7;8862:4;;;;;;;;;;;:14;;;8885:4;8862:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8862:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8862:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8862:29:0;;;;;;;;;;;;;;;;:40;8859:106;;8919:4;;;;;;;;;;;:13;;;8933:10;8945:7;8919:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8919:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8919:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8919:34:0;;;;;;;;;;;;;;;;;8859:106;8833:149;1981:6;8997:44;9017:4;:23;;;8997:15;:19;;:44;;;;:::i;:::-;:56;8994:506;;;9065:14;9082:31;9109:3;9082:22;9101:2;9082:4;:14;;;:18;;:22;;;;:::i;:::-;:26;;:31;;;;:::i;:::-;9065:48;;9144:4;9136:21;;;9127:6;:30;9124:91;;;9190:4;9182:21;;;9173:30;;9124:91;9225:10;:19;;:27;9245:6;9225:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9225:27:0;9270:4;9263:11;;8994:506;;;;9299:14;9316:4;:14;;;9299:31;;9361:4;9353:21;;;9344:6;:30;9341:91;;;9407:4;9399:21;;;9390:30;;9341:91;9442:10;:19;;:27;9462:6;9442:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9442:27:0;9487:5;9480:12;;8994:506;;9529:34;9548:4;:14;;;9529;;:18;;:34;;;;:::i;:::-;9512:14;:51;;;;9619:4;9581:43;;9591:10;9581:43;;;9603:4;:14;;;9581:43;;;;;;;;;;;;;;;;;;9654:1;9637:4;:14;;:18;;;;8661:1012;;;:::o;13438:820::-;13513:15;13501:9;;:27;13493:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13606:10;13576:4;;;;;;;;;;;:14;;;13591:10;13576:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13576:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13576:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13576:26:0;;;;;;;;;;;;;;;;:40;;13568:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13671:1;13657:10;:15;;13649:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13715:4;;;;;;;;;;;:17;;;13733:10;13753:4;13760:10;13715:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13715:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13715:56:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13715:56:0;;;;;;;;;;;;;;;;;13788:11;13802:49;1338:4;13802:27;1145:2;13802:10;:14;;:27;;;;:::i;:::-;:31;;:49;;;;:::i;:::-;13788:63;;13856:4;;;;;;;;;;;:13;;;13870:16;;;;;;;;;;;13887:3;13856:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13856:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13856:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13856:35:0;;;;;;;;;;;;;;;;;13896:20;13919:51;1338:4;13919:29;1191:2;13919:10;:14;;:29;;;;:::i;:::-;:33;;:51;;;;:::i;:::-;13896:74;;13975:4;;;;;;;;;;;:13;;;13989:15;;;;;;;;;;;14005:12;13975:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13975:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13975:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13975:43:0;;;;;;;;;;;;;;;;;14023:20;14046:51;1338:4;14046:29;1237:2;14046:10;:14;;:29;;;;:::i;:::-;:33;;:51;;;;:::i;:::-;14023:74;;14102:4;;;;;;;;;;;:13;;;14116:15;;;;;;;;;;;14132:12;14102:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14102:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14102:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14102:43:0;;;;;;;;;;;;;;;;;14158:40;14175:10;14187;14158:16;:40::i;:::-;14207:35;14219:10;14231;14207:11;:35::i;:::-;13438:820;;;;:::o;1346:42::-;1382:6;1346:42;:::o;1839:33::-;;;;:::o;20920:119::-;20986:7;21007:5;:18;21013:11;21007:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;21000:34;;20920:119;;;:::o;6928:1364::-;6988:15;6976:9;;:27;6968:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1928:10;7051:9;:29;;7043:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7159:1;7124:32;7145:10;7124:20;:32::i;:::-;:36;7116:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7205:25;7233:32;7254:10;7233:20;:32::i;:::-;7205:60;;7273:25;7301:58;7331:5;:17;7337:10;7331:17;;;;;;;;;;;;;;;:27;;;7301:25;7323:2;7301:17;:21;;:25;;;;:::i;:::-;:29;;:58;;;;:::i;:::-;7273:86;;7395:17;7382:9;:30;;7374:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7453:11;7467:48;1338:4;7467:26;1145:2;7467:9;:13;;:26;;;;:::i;:::-;:30;;:48;;;;:::i;:::-;7453:62;;7520:16;;;;;;;;;;;:25;;:30;7546:3;7520:30;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7520:30:0;7555:20;7578:50;1338:4;7578:28;1191:2;7578:9;:13;;:28;;;;:::i;:::-;:32;;:50;;;;:::i;:::-;7555:73;;7633:15;;;;;;;;;;;:24;;:38;7658:12;7633:38;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7633:38:0;7676:20;7699:50;1338:4;7699:28;1237:2;7699:9;:13;;:28;;;;:::i;:::-;:32;;:50;;;;:::i;:::-;7676:73;;7754:15;;;;;;;;;;;:24;;:38;7779:12;7754:38;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7754:38:0;7807:17;7827:5;:17;7833:10;7827:17;;;;;;;;;;;;;;;7807:37;;7879:1;7862:4;:14;;;:18;7859:160;;;7918:15;7936:28;7953:10;7936:16;:28::i;:::-;7918:46;;7976:4;;;;;;;;;;;:13;;;7990:10;8002:7;7976:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7976:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7976:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7976:34:0;;;;;;;;;;;;;;;;;7859:160;;8055:7;;8034:4;:18;;:28;;;;8087:29;8106:9;8087:4;:14;;;:18;;:29;;;;:::i;:::-;8070:4;:14;;:46;;;;8150:15;8124:4;:23;;:41;;;;8197:29;8216:9;8197:14;;:18;;:29;;;;:::i;:::-;8180:14;:46;;;;8258:10;8246:34;;;8270:9;8246:34;;;;;;;;;;;;;;;;;;6928:1364;;;;;;:::o;11402:858::-;11434:17;11454:5;:17;11460:10;11454:17;;;;;;;;;;;;;;;11434:37;;11478:19;11500:28;11517:10;11500:16;:28::i;:::-;11478:50;;11557:1;11543:11;:15;11535:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11591:23;11617:4;;;;;;;;;;;:14;;;11640:4;11617:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11617:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11617:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11617:29:0;;;;;;;;;;;;;;;;11591:55;;11673:11;11655:15;:29;11651:76;;;11706:15;11692:29;;11651:76;11751:15;11733:4;:15;;:33;;;;11776:24;11803:61;1338:4;11803:39;1444:2;11803:11;:15;;:39;;;;:::i;:::-;:43;;:61;;;;:::i;:::-;11776:88;;11880:41;11892:10;11904:16;11880:11;:41::i;:::-;11932:18;11953:29;11977:4;11953:19;11969:2;11953:11;:15;;:19;;;;:::i;:::-;:23;;:29;;;;:::i;:::-;11932:50;;12011:23;12023:10;12011:7;;:11;;:23;;;;:::i;:::-;12001:7;:33;;;;12067:49;12105:10;12067:33;12083:16;12067:11;:15;;:33;;;;:::i;:::-;:37;;:49;;;;:::i;:::-;12053:63;;12126:4;;;;;;;;;;;:13;;;12140:10;12152:11;12126:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12126:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12126:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12126:38:0;;;;;;;;;;;;;;;;;12180:23;:21;:23::i;:::-;12229:10;12219:34;;;12241:11;12219:34;;;;;;;;;;;;;;;;;;11402:858;;;;;:::o;21179:131::-;21255:7;21276:5;:18;21282:11;21276:18;;;;;;;;;;;;;;;:29;;;21269:36;;21179:131;;;:::o;1107:40::-;1145:2;1107:40;:::o;21979:169::-;22045:7;22068:75;22114:5;:18;22120:11;22114:18;;;;;;;;;;;;;;;:28;;;22068:41;22106:2;22068:33;22089:11;22068:20;:33::i;:::-;:37;;:41;;;;:::i;:::-;:45;;:75;;;;:::i;:::-;22061:82;;21979:169;;;:::o;1020:18::-;;;;;;;;;;;;;:::o;2782:34::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1395:51::-;1444:2;1395:51;:::o;13050:380::-;13098:17;13118:5;:17;13124:10;13118:17;;;;;;;;;;;;;;;13098:37;;13176:1;13154:4;:19;;;:23;;13146:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13219:14;13236:4;:19;;;13219:36;;13276:4;;;;;;;;;;;:13;;;13290:10;13302:6;13276:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13276:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13276:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13276:33:0;;;;;;;;;;;;;;;;;13352:1;13330:4;:19;;:23;;;;13379:43;13403:10;13415:6;13379:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;13050:380;;:::o;22707:126::-;22752:16;22808:17;22801:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22707:126;:::o;1682:29::-;;;;:::o;1243:40::-;1282:1;1243:40;:::o;18988:308::-;19057:15;19074:14;19090;19121:16;19132:4;19121:10;:16::i;:::-;19111:26;;19156:64;19203:5;19209:4;19203:11;;;;;;;;;;;;;;;;;;;;:16;;;19156:42;1338:4;19156:20;19168:7;19156;:11;;:20;;;;:::i;:::-;:24;;:42;;;;:::i;:::-;:46;;:64;;;;:::i;:::-;19147:73;;19239:52;19259:31;1382:6;19259:5;19265:4;19259:11;;;;;;;;;;;;;;;;;;;;:16;;;:20;;:31;;;;:::i;:::-;19239:15;:19;;:52;;;;:::i;:::-;19230:61;;18988:308;;;;;:::o;1506:66::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;21315:130::-;21390:7;21411:5;:18;21417:11;21411:18;;;;;;;;;;;;;;;:29;;;21404:36;;21315:130;;;:::o;1718:31::-;;;;:::o;17745:106::-;17796:7;17817:4;;;;;;;;;;;:14;;;17840:4;17817:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17817:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17817:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17817:29:0;;;;;;;;;;;;;;;;17810:36;;17745:106;:::o;3168:38::-;;;;;;;;;;;;;:::o;21849:124::-;21916:7;21940:5;:18;21946:11;21940:18;;;;;;;;;;;;;;;:28;;;21933:35;;21849:124;;;:::o;22154:139::-;22231:7;22255:5;:18;22261:11;22255:18;;;;;;;;;;;;;;;:33;;;22248:40;;22154:139;;;:::o;2069:28::-;;;;:::o;22464:231::-;22535:14;22561:9;22573:1;22561:13;;22556:135;22580:5;:18;22586:11;22580:18;;;;;;;;;;;;;;;:27;;:34;;;;22576:1;:38;22556:135;;;22636:49;22647:5;:18;22653:11;22647:18;;;;;;;;;;;;;;;:27;;22675:1;22647:30;;;;;;;;;;;;;;;;;;:37;;;22636:6;:10;;:49;;;;:::i;:::-;22627:58;;22616:3;;;;;;;22556:135;;;;22464:231;;;:::o;2003:26::-;;;;:::o;1450:46::-;1494:2;1450:46;:::o;18012:394::-;18065:7;18096:1;18089:4;:8;;;18086:121;;;18113:88;18137:63;1382:6;18137:48;18154:30;18174:9;;18154:15;:19;;:30;;;;:::i;:::-;1282:1;18137:16;;:48;;;;:::i;:::-;:52;;:63;;;;:::i;:::-;18113:5;18119:4;18113:11;;;;;;;;;;;;;;;;;;;;:19;;;:23;;:88;;;;:::i;:::-;18106:95;;;;18086:121;18227:1;18219:4;:9;;;18216:183;;18238:14;18255:22;18272:4;18255:16;:22::i;:::-;18238:39;;18293:100;18329:63;1382:6;18329:48;18346:30;18366:9;;18346:15;:19;;:30;;;;:::i;:::-;1282:1;18329:16;;:48;;;;:::i;:::-;:52;;:63;;;;:::i;:::-;18293:31;18317:6;18293:5;18299:4;18293:11;;;;;;;;;;;;;;;;;;;;:19;;;:23;;:31;;;;:::i;:::-;:35;;:100;;;;:::i;:::-;18286:107;;;;;18216:183;18012:394;;;;:::o;21709:134::-;21783:7;21804:5;:18;21810:11;21804:18;;;;;;;;;;;;;;;:27;;:34;;;;21797:41;;21709:134;;;:::o;17856:151::-;17909:12;17923:15;17952:5;17958:4;17952:11;;;;;;;;;;;;;;;;;;;;:16;;;17945:23;;17983:5;17989:4;17983:11;;;;;;;;;;;;;;;;;;;;:19;;;17973:29;;17856:151;;;:::o;1197:42::-;1237:2;1197:42;:::o;17242:233::-;17344:8;17296:44;17316:23;;17296:15;:19;;:44;;;;:::i;:::-;:56;17293:175;;17369:17;17392:7;;17369:31;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;17369:31:0;;;;;;;;;;;;;;;;;;;;;;17441:15;17415:23;:41;;;;17293:175;17242:233::o;1794:37::-;;;;:::o;2148:22::-;;;;:::o;22842:471::-;22926:10;22938:15;22955:14;22971;22987:13;23002:14;23026:17;23046:5;:18;23052:11;23046:18;;;;;;;;;;;;;;;23026:38;;23078:4;:13;;23092:5;23078:20;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;23071:32;;23118:4;:13;;23132:5;23118:20;;;;;;;;;;;;;;;;;;:28;;;23108:38;;23160:4;:13;;23174:5;23160:20;;;;;;;;;;;;;;;;;;:27;;;23151:36;;23201:4;:13;;23215:5;23201:20;;;;;;;;;;;;;;;;;;:27;;;23192:36;;23241:4;:13;;23255:5;23241:20;;;;;;;;;;;;;;;;;;:26;;;23233:34;;23281:4;:13;;23295:5;23281:20;;;;;;;;;;;;;;;;;;:27;;;23272:36;;22842:471;;;;;;;;;:::o;3053:24::-;;;;:::o;2947:74::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;22299:160::-;22365:7;22396:58;22416:5;:18;22422:11;22416:18;;;;;;;;;;;;;;;:37;;;22396:15;:19;;:58;;;;:::i;:::-;22389:65;;22299:160;;;:::o;1644:31::-;;;;:::o;12269:775::-;12307:17;12327:5;:17;12333:10;12327:17;;;;;;;;;;;;;;;12307:37;;12378:1;12360:4;:15;;;:19;12352:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12433:13;12449:4;:15;;;12433:31;;12490:1;12472:4;:15;;:19;;;;12506:24;12533:55;1338:4;12533:33;1444:2;12533:5;:9;;:33;;;;:::i;:::-;:37;;:55;;;;:::i;:::-;12506:82;;12603:18;12624:23;12642:4;12624:13;12634:2;12624:5;:9;;:13;;;;:::i;:::-;:17;;:23;;;;:::i;:::-;12603:44;;12680:23;12692:10;12680:7;;:11;;:23;;;;:::i;:::-;12670:7;:33;;;;12722:43;12754:10;12722:27;12732:16;12722:5;:9;;:27;;;;:::i;:::-;:31;;:43;;;;:::i;:::-;12714:51;;12776:41;12788:10;12800:16;12776:11;:41::i;:::-;12839:4;;;;;;;;;;;:13;;;12853:10;12865:5;12839:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12839:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12839:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12839:32:0;;;;;;;;;;;;;;;;;12904:26;12924:5;12904:4;:15;;;:19;;:26;;;;:::i;:::-;12886:4;:15;;:44;;;;12967:10;12957:38;;;12979:4;:15;;;12957:38;;;;;;;;;;;;;;;;;;13009:23;:21;:23::i;:::-;12269:775;;;;:::o;23485:118::-;23532:7;23559:36;23582:12;;23559:18;;:22;;:36;;;;:::i;:::-;23552:43;;23485:118;:::o;9679:269::-;9746:7;9762:17;9782:5;:18;9788:11;9782:18;;;;;;;;;;;;;;;9762:38;;9815:20;9838:31;9850:4;:18;;;9838:7;;:11;;:31;;;;:::i;:::-;9815:54;;9891:52;9928:14;;9891:32;9910:12;9891:4;:14;;;:18;;:32;;;;:::i;:::-;:36;;:52;;;;:::i;:::-;9884:59;;;;9679:269;;;:::o;1885:53::-;1928:10;1885:53;:::o;1151:42::-;1191:2;1151:42;:::o;20788:123::-;20856:7;20877:5;:18;20883:11;20877:18;;;;;;;;;;;;;;;:29;;;20870:36;;20788:123;;;:::o;1756:31::-;;;;:::o;1044:48::-;1088:4;1044:48;:::o;4784:159::-;4879:43;4887:8;4897:4;4903:10;4915:6;4879:7;:43::i;:::-;4784:159;;;:::o;8298:354::-;8345:17;8365:5;:17;8371:10;8365:17;;;;;;;;;;;;;;;8345:37;;8397:15;8415:28;8432:10;8415:16;:28::i;:::-;8397:46;;8476:1;8466:7;:11;8458:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8534:7;;8513:4;:18;;:28;;;;8556:4;;;;;;;;;;;:13;;;8570:10;8582:7;8556:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8556:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8556:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8556:34:0;;;;;;;;;;;;;;;;;8627:10;8610:37;;;8639:7;8610:37;;;;;;;;;;;;;;;;;;8298:354;;:::o;2036:29::-;;;;:::o;2101:34::-;;;;:::o;1945:42::-;1981:6;1945:42;:::o;21451:126::-;21519:7;21543:5;:18;21549:11;21543:18;;;;;;;;;;;;;;;:29;;;21536:36;;21451:126;;;:::o;23806:181::-;23864:7;23884:9;23900:1;23896;:5;23884:17;;23925:1;23920;:6;;23912:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23978:1;23971:8;;;23806:181;;;;:::o;23995:184::-;24053:7;24086:1;24081;:6;;24073:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24133:9;24149:1;24145;:5;24133:17;;24170:1;24163:8;;;23995:184;;;;:::o;24445:179::-;24503:7;24535:1;24531;:5;24523:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24578:9;24594:1;24590;:5;;;;;;24578:17;;24615:1;24608:8;;;24445:179;;;;:::o;24187:250::-;24245:7;24274:1;24269;:6;24265:47;;;24299:1;24292:8;;;;24265:47;24324:9;24340:1;24336;:5;24324:17;;24369:1;24364;24360;:5;;;;;;:10;24352:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24428:1;24421:8;;;24187:250;;;;;:::o;9954:718::-;10036:17;10056:5;:18;10062:11;10056:18;;;;;;;;;;;;;;;10036:38;;10097:13;10113:1;10097:17;;10163:1;10138:27;;:4;:13;;;;;;;;;;;;:27;;;10134:473;;10173:22;10198:4;:13;;;;;;;;;;;;10173:38;;10222:9;10234:1;10222:13;;10217:383;10241:17;:24;;;;10237:1;:28;10217:383;;;10303:1;10285:20;;:6;:20;;;10281:312;;10325:14;10342:53;1338:4;10342:31;10352:17;10370:1;10352:20;;;;;;;;;;;;;;;;10342:5;:9;;:31;;;;:::i;:::-;:35;;:53;;;;:::i;:::-;10325:70;;10415:17;10425:6;10415:5;:9;;:17;;;;:::i;:::-;10407:25;;10482:36;10511:6;10482:5;:13;10488:6;10482:13;;;;;;;;;;;;;;;:24;;;:28;;:36;;;;:::i;:::-;10455:5;:13;10461:6;10455:13;;;;;;;;;;;;;;;:24;;:63;;;;10552:5;:13;10558:6;10552:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;10543:31;;10281:312;;;;10588:5;;10281:312;10267:3;;;;;;;10217:383;;;;10134:473;;10637:30;10661:5;10637:19;;:23;;:30;;;;:::i;:::-;10615:19;:52;;;;9954:718;;;;:::o;14270:803::-;14401:1;14391:6;:11;;14383:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14448:15;14466:37;1621:4;14466:16;14477:4;14466:6;:10;;:16;;;;:::i;:::-;:20;;:37;;;;:::i;:::-;14448:55;;14570:1;14527:12;:26;14540:12;;14527:26;;;;;;;;;;;:39;14554:11;14527:39;;;;;;;;;;;;;;;;:44;14524:186;;;14638:11;14588:19;:33;14608:12;;14588:33;;;;;;;;;;;:47;14622:12;;14588:47;;;;;;;;;;;;:61;;;;;;;;;;;;;;;;;;14679:19;14696:1;14679:12;;:16;;:19;;;;:::i;:::-;14664:12;:34;;;;14524:186;14772:52;14816:7;14772:12;:26;14785:12;;14772:26;;;;;;;;;;;:39;14799:11;14772:39;;;;;;;;;;;;;;;;:43;;:52;;;;:::i;:::-;14730:12;:26;14743:12;;14730:26;;;;;;;;;;;:39;14757:11;14730:39;;;;;;;;;;;;;;;:94;;;;14848:22;14863:6;14848:10;;:14;;:22;;;;:::i;:::-;14835:10;:35;;;;14896:25;14913:7;14896:12;;:16;;:25;;;;:::i;:::-;14881:12;:40;;;;14988:12;;14945:39;14965:18;;14945:15;:19;;:39;;;;:::i;:::-;:55;;:78;;;;15020:3;15004:12;;:19;14945:78;14942:124;;;15039:15;:13;:15::i;:::-;14942:124;14270:803;;;:::o;18418:565::-;18477:7;18497:11;18540:1;18532:4;:9;;;18529:67;;;18563:2;18557:8;;18529:67;18617:1;18609:4;:9;;;18606:68;;;18640:3;18634:9;;18606:68;18704:18;18748:1;18735:12;:14;18725:25;18704:46;;18781:14;18828:10;18839:15;18855:16;18817:55;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;18817:55:0;;;18807:66;;;;;;18799:75;;18781:93;;18886:12;18901:15;18912:3;18901:6;:10;;:15;;;;:::i;:::-;18886:30;;18971:4;18964:11;;;;;;18418:565;;;:::o;4950:1972::-;1088:4;5065:5;:26;;5057:35;;;;;;5118:1;5111:4;:8;;;5103:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5167:15;5155:9;;:27;5147:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5242:4;;;;;;;;;;;:14;;;5257:6;5242:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5242:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5242:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5242:22:0;;;;;;;;;;;;;;;;5233:5;:31;;5225:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5309:4;;;;;;;;;;;:17;;;5327:6;5343:4;5350:5;5309:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5309:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5309:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5309:47:0;;;;;;;;;;;;;;;;;5371:11;5385:44;1338:4;5385:22;1145:2;5385:5;:9;;:22;;;;:::i;:::-;:26;;:44;;;;:::i;:::-;5371:58;;5434:4;;;;;;;;;;;:13;;;5448:16;;;;;;;;;;;5465:3;5434:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5434:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5434:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5434:35:0;;;;;;;;;;;;;;;;;5474:20;5497:46;1338:4;5497:24;1191:2;5497:5;:9;;:24;;;;:::i;:::-;:28;;:46;;;;:::i;:::-;5474:69;;5548:4;;;;;;;;;;;:13;;;5562:15;;;;;;;;;;;5578:12;5548:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5548:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5548:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5548:43:0;;;;;;;;;;;;;;;;;5596:20;5619:46;1338:4;5619:24;1237:2;5619:5;:9;;:24;;;;:::i;:::-;:28;;:46;;;;:::i;:::-;5596:69;;5670:4;;;;;;;;;;;:13;;;5684:15;;;;;;;;;;;5700:12;5670:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5670:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5670:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5670:43:0;;;;;;;;;;;;;;;;;5726:17;5746:5;:13;5752:6;5746:13;;;;;;;;;;;;;;;5726:33;;5795:1;5770:27;;:4;:13;;;;;;;;;;;;:27;;;5766:406;;;5843:1;5809:5;:15;5815:8;5809:15;;;;;;;;;;;;;;;:24;;:31;;;;:35;:57;;;;;5860:6;5848:18;;:8;:18;;;;5809:57;5805:101;;;5891:8;5875:4;:13;;;:24;;;;;;;;;;;;;;;;;;5805:101;5913:14;5930:4;:13;;;;;;;;;;;;5913:30;;5954:9;5966:1;5954:13;;5949:218;5973:17;:24;;;;5969:1;:28;5949:218;;;6034:1;6016:20;;:6;:20;;;6012:148;;6072:30;6100:1;6072:5;:13;6078:6;6072:13;;;;;;;;;;;;;;;:23;;;:27;;:30;;;;:::i;:::-;6046:5;:13;6052:6;6046:13;;;;;;;;;;;;;;;:23;;:56;;;;6119:5;:13;6125:6;6119:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;6110:31;;6012:148;;;6155:5;;6012:148;5999:3;;;;;;;5949:218;;;;5766:406;;6188:31;6205:6;6213:5;6188:16;:31::i;:::-;6257:1;6233:4;:13;;:20;;;;:25;6229:111;;;6284:15;6266:4;:15;;:33;;;;6320:14;6327:6;6320:14;;;;;;;;;;;;;;;;;;;;;;6229:111;6347:15;6364:14;6380;6398:22;6408:4;6414:5;6398:9;:22::i;:::-;6346:74;;;;;;6433:4;:13;;6452:62;;;;;;;;6460:4;6452:62;;;;;;6466:7;6452:62;;;;6475:5;6452:62;;;;6482:6;6452:62;;;;6490:15;6452:62;;;;6507:6;6452:62;;;6433:82;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;6433:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6536:22;6552:5;6536:11;;:15;;:22;;;;:::i;:::-;6522:11;:36;;;;6579:20;6597:1;6579:13;;:17;;:20;;;;:::i;:::-;6563:13;:36;;;;6608:24;6635:50;1338:4;6635:28;1494:2;6635:5;:9;;:28;;;;:::i;:::-;:32;;:50;;;;:::i;:::-;6608:77;;6696:37;6708:6;6716:16;6696:11;:37::i;:::-;6754:36;6766:23;6784:4;6766:13;6776:2;6766:5;:9;;:13;;;;:::i;:::-;:17;;:23;;;;:::i;:::-;6754:7;;:11;;:36;;;;:::i;:::-;6744:7;:46;;;;6807:23;:21;:23::i;:::-;6855:6;6844:73;;;6863:4;6869:7;6878:5;6885:6;6893:15;6910:6;6844:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4950:1972;;;;;;;;;;;;:::o;15085:2145::-;15138:27;15182:12;;15168:27;;;;;;;;;;;;;;;;;;;;;;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;15168:27:0;;;;15138:57;;15205:26;15248:12;;15234:27;;;;;;;;;;;;;;;;;;;;;;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;15234:27:0;;;;15205:56;;15280:18;15301:1;15280:22;;15325:9;15337:1;15325:13;;15321:348;15344:12;;15340:1;:16;15321:348;;;15376:14;15393:17;15408:1;15393:10;:14;;:17;;;;:::i;:::-;15376:34;;15424:14;15441:86;15452:74;15521:4;15452:12;:26;15465:12;;15452:26;;;;;;;;;;;:64;15479:19;:33;15499:12;;15479:33;;;;;;;;;;;:36;15513:1;15479:36;;;;;;;;;;;;;;;;;;;;;15452:64;;;;;;;;;;;;;;;;:68;;:74;;;;:::i;:::-;15441:6;:10;;:86;;;;:::i;:::-;15424:103;;15571:6;15555:10;15566:1;15555:13;;;;;;;;;;;;;:22;;;;;15606:6;15591:9;15601:1;15591:12;;;;;;;;;;;;;:21;;;;;15652:6;15639:19;;15321:348;;15358:3;;;;;;;15321:348;;;;15688:14;15705:35;15738:1;15705:28;15722:10;15705:12;:10;:12::i;:::-;:16;;:28;;;;:::i;:::-;:32;;:35;;;;:::i;:::-;15688:52;;15764:9;15776:1;15764:13;;15760:1463;15783:12;;15779:1;:16;15760:1463;;;15829:10;15840:1;15829:13;;;;;;;;;;;;;;15819:6;:23;;15818:53;;;;;15858:9;15868:1;15858:12;;;;;;;;;;;;;;15848:6;:22;;15818:53;15815:1398;;;15939:21;15963:19;:33;15983:12;;15963:33;;;;;;;;;;;:36;15997:1;15963:36;;;;;;;;;;;;;;;;;;;;;15939:60;;16072:66;16112:25;16134:2;16112:17;16127:1;16112:10;;:14;;:17;;;;:::i;:::-;:21;;:25;;;;:::i;:::-;16072:5;:20;16078:13;16072:20;;;;;;;;;;;;;;;:35;;;:39;;:66;;;;:::i;:::-;16034:5;:20;16040:13;16034:20;;;;;;;;;;;;;;;:35;;:104;;;;16225:11;16239:49;1338:4;16239:27;1145:2;16239:10;;:14;;:27;;;;:::i;:::-;:31;;:49;;;;:::i;:::-;16225:63;;16302:4;;;;;;;;;;;:13;;;16316:16;;;;;;;;;;;16333:3;16302:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16302:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16302:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16302:35:0;;;;;;;;;;;;;;;;;16349:20;16372:51;1338:4;16372:29;1191:2;16372:10;;:14;;:29;;;;:::i;:::-;:33;;:51;;;;:::i;:::-;16349:74;;16436:4;;;;;;;;;;;:13;;;16450:15;;;;;;;;;;;16466:12;16436:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16436:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16436:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16436:43:0;;;;;;;;;;;;;;;;;16491:20;16514:51;1338:4;16514:29;1237:2;16514:10;;:14;;:29;;;;:::i;:::-;:33;;:51;;;;:::i;:::-;16491:74;;16577:4;;;;;;;;;;;:13;;;16591:15;;;;;;;;;;;16607:12;16577:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16577:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16577:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16577:43:0;;;;;;;;;;;;;;;;;16643:50;16667:13;16682:10;;16643:23;:50::i;:::-;16726:40;16738:27;16761:3;16738:18;16753:2;16738:10;;:14;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;16726:7;;:11;;:40;;;;:::i;:::-;16716:7;:50;;;;16904:12;;16877:13;16861:56;;;16892:10;;16861:56;;;;;;;;;;;;;;;;;;16965:1;16952:10;:14;;;;16999:19;17016:1;16999:12;;:16;;:19;;;;:::i;:::-;16984:12;:34;;;;17051:1;17036:12;:16;;;;17085:1;17070:12;:16;;;;17125:15;17104:18;:36;;;;17193:5;;;;;;15815:1398;15797:3;;;;;;;15760:1463;;;;15085:2145;;;;:::o;24637:124::-;24695:7;24728:1;24723;:6;;24715:15;;;;;;24752:1;24748;:5;;;;;;24741:12;;24637:124;;;;:::o;17487:250::-;17530:7;17559:18;17603:1;17590:12;:14;17580:25;17559:46;;17672:10;17683:15;17699:10;;17710:16;17661:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17661:66:0;;;17651:77;;;;;;17643:86;;17636:93;;;17487:250;:::o;10679:718::-;10768:17;10788:5;:18;10794:11;10788:18;;;;;;;;;;;;;;;10768:38;;10820:13;10836:1;10820:17;;10877:1;10852:27;;:4;:13;;;;;;;;;;;;:27;;;10848:545;;10887:22;10912:4;:13;;;;;;;;;;;;10887:38;;10936:9;10948:1;10936:13;;10931:395;10955:17;:24;;;;10951:1;:28;10931:395;;;11017:1;10999:20;;:6;:20;;;10995:324;;11039:14;11056:60;11114:1;11056:53;1338:4;11056:31;11066:17;11084:1;11066:20;;;;;;;;;;;;;;;;11056:5;:9;;:31;;;;:::i;:::-;:35;;:53;;;;:::i;:::-;:57;;:60;;;;:::i;:::-;11039:77;;11152:17;11162:6;11152:5;:9;;:17;;;;:::i;:::-;11144:25;;11208:36;11237:6;11208:5;:13;11214:6;11208:13;;;;;;;;;;;;;;;:24;;;:28;;:36;;;;:::i;:::-;11181:5;:13;11187:6;11181:13;;;;;;;;;;;;;;;:24;;:63;;;;11278:5;:13;11284:6;11278:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;11269:31;;10995:324;;;;11314:5;;10995:324;10981:3;;;;;;;10931:395;;;;11355:30;11379:5;11355:19;;:23;;:30;;;;:::i;:::-;11333:19;:52;;;;10848:545;;10679:718;;;;:::o

Swarm Source

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