Contract 0xa8915589efbff36308701554838fd934ca6a822a

 

Contract Overview

Balance:
0 BNB

BNB Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xa70c0c2d5dc9650c53f1b515b9c196272d37b080ebc69eec00e1443af955327bClaim110741972021-09-20 8:28:102 hrs 6 mins ago0xedb6c8dd865a723a7db6d8bf07e8fbebb98bf622 IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.000725555
0x4ab60e9a5ad4cd73882a8fb2ea6c7949a82a3fda8f4906d10f05590133425487Claim110625282021-09-19 22:44:3611 hrs 50 mins ago0xe694c24374ed078098512c685dd54867c0eae558 IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.00083126
0x3a4bedb986934c1d3aa75df87e8857b9e072ed989ace460a2c61c2d72fc95213Claim110606262021-09-19 21:09:3013 hrs 25 mins ago0xb618d0784a0736499d0f4e5fcacdbd7cb152a44a IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.001123915
0x68e0b2bd3220f383a1c4efffd6e5685eff5027b1acb8f60e8b8cec8e1d847d67Add Referral110604992021-09-19 21:03:0913 hrs 31 mins ago0x48451cd9a1b05f776e7b3cdad6b1025e749b0326 IN  0xa8915589efbff36308701554838fd934ca6a822a0 BNB0.00034025
0x6c4d2cc31e4a11ed336ba765f76bdba808a65250f20fe617ac34b77073eb639bClaim110583302021-09-19 19:14:4115 hrs 20 mins ago0x46bae6f966c8fb6d6d872dba9b3a5f57f6f45ed9 IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.001048915
0x79a497bcee0de9b4bebc08596dc971d8fe9cdc4e0d39f2bd9c098f8f738c2bc1Claim110558022021-09-19 17:08:1417 hrs 26 mins ago0x67c7b9c6859c988d3c0c29bf1f55491554f82e0e IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.001048915
0x168791766b0edb4210ebad7d2b63c9afcdf2c5e38b065bd2b52cb6f371ff8c0bClaim110548592021-09-19 16:21:0518 hrs 13 mins ago0x74e3c7885e95aa9c7803232b9a38e2e69b6a9e97 IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.00083126
0x4e93b89c4cb441e6710f5c5db6555039070c6453196678ee36d56dc7a5b61982Claim110496962021-09-19 12:02:5422 hrs 32 mins ago0x164d43f8a74fe12f6c36fe0d54cee6d7530438cd IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.001048915
0xb6d6761d6ad0d07891a72c2c4c735fa07fcba5bb57e7399025a9244a814544bbClaim110391242021-09-19 3:00:211 day 7 hrs ago0x268322257b4a3fa5970cab7b00ff2de87997e681 IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.001048915
0x3088b519b58dbb514ce44d27b4563ac95efbdfa444fba2435f2c88afe8ef90aaAdd Referral110368592021-09-19 1:06:251 day 9 hrs ago0x60af12d40273ba26e568f3a50237e6b1f685f75c IN  0xa8915589efbff36308701554838fd934ca6a822a0 BNB0.00034025
0xb48b0a633ecc617442c9260b8d378352b8fb8e056e32c7c2f6461ce13d9793efClaim110324772021-09-18 21:27:191 day 13 hrs ago0xf312c7ab5f068d67334917e6b772802f1e81d567 IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.001048915
0x2c1e641cd8fa0fc6d079ec670142e4a6e6a203d462cf251fa939d2672391b8ffClaim110056602021-09-17 23:02:132 days 11 hrs ago0xf1254eef9ae96c6ca734a733adfce72ee5e952b2 IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.001048915
0x40770b5e93ab0ea2005d4d67038c7da0eb5b64b18531bd23fcf78314e700e203Claim109985232021-09-17 17:05:162 days 17 hrs ago0xeb2ff36b03982e876877ebdc1ae0e80156549895 IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.00083126
0xfaa60915358178829aa97245ada03e8aded011c21409b302b9d978b6db21e7cfClaim109922302021-09-17 11:49:562 days 22 hrs ago0x9a712cd8316b04890b8def571138fbafd4038ebc IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.000725555
0x4537c13b23e138fe3a2975a8478a8df804289721e028b8c02a1924c93478e6e3Claim109917792021-09-17 11:27:232 days 23 hrs ago0x0b6f478174e4b347a6e47e4c8239962c3e254704 IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.001123915
0x4feac00a943c1f3bdb93493d7af1f856c2ce6a57092304d02344ff9733380a46Claim109905642021-09-17 10:26:363 days 8 mins ago0xdc2656b405a3d4d4e424bb3c6b0b5a60fb25f5aa IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.001048915
0xc4643d2223686b303863f76ed982e50c5905ce5c66b500f78abc0353c1a6a812Buy Toke With Co...109871222021-09-17 7:34:273 days 3 hrs ago0x5a26c096b13150836da367d37468c6784c965a68 IN  0xa8915589efbff36308701554838fd934ca6a822a0.02 BNB0.000884355
0x1d2db04c0fa825abffd0ce66bfca21776797634827511c464ad0867c3c8cc644Claim109841542021-09-17 5:05:333 days 5 hrs ago0x4d02056fe8152bb48158cee4953ff5f46dea623c IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.00061456
0xea7e51ca41fdca66c87ed6a88c271af4b236ec0464d1b77612bcdec1d97c1e46Claim109755762021-09-16 21:56:353 days 12 hrs ago0x32ffb4176353871ee9dbee4c544a2fee342095d5 IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.001048915
0xe3b528fee8a84ca393575d0b496fd81d325af71fc22431441011a63664e6066eClaim109734382021-09-16 20:09:413 days 14 hrs ago0x26b1b28c7c1eef1f45a180240ca712ad91c3092d IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.001048915
0x6e87ac65bae31f8b9485de95e1a1b6254e77aec5ae1226ef11e5305cc2f9c0e0Add Referral109702962021-09-16 17:32:293 days 17 hrs ago0x9a712cd8316b04890b8def571138fbafd4038ebc IN  0xa8915589efbff36308701554838fd934ca6a822a0 BNB0.00034025
0x2bcb9a94511ea4a81b0afa11b65b5ecf5827d425209dff74b1853942b790ebedClaim109635572021-09-16 11:54:113 days 22 hrs ago0x7a14266c9b416afab1950700ba72cc4fc0d0c3bf IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.00083126
0x93a286d6d0e735181e6b5dfbaf0e45f649c31fea84a60d43a825eb7be0247933Add Referral109633042021-09-16 11:40:593 days 22 hrs ago0x4d02056fe8152bb48158cee4953ff5f46dea623c IN  0xa8915589efbff36308701554838fd934ca6a822a0 BNB0.00034025
0x82d33a775e24237200eb8e0b9aa46d9f5e6050ea9f07907e4f5827aea8ce5cc8Claim109553482021-09-16 5:02:064 days 5 hrs ago0xb8325ab378c53f9dc491c26c697796a4feb5aac7 IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.001048855
0x76f35f25192b3bae5792f934e1c389b50860690ee25c599fb313406de0bfb2f8Claim109538042021-09-16 3:44:514 days 6 hrs ago0xedd22ab2744fcc070a983f74484fc79d7c1d84f6 IN  0xa8915589efbff36308701554838fd934ca6a822a0.0035 BNB0.00083246
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xa70c0c2d5dc9650c53f1b515b9c196272d37b080ebc69eec00e1443af955327b110741972021-09-20 8:28:102 hrs 6 mins ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0x4ab60e9a5ad4cd73882a8fb2ea6c7949a82a3fda8f4906d10f05590133425487110625282021-09-19 22:44:3611 hrs 50 mins ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0x3a4bedb986934c1d3aa75df87e8857b9e072ed989ace460a2c61c2d72fc95213110606262021-09-19 21:09:3013 hrs 25 mins ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0x6c4d2cc31e4a11ed336ba765f76bdba808a65250f20fe617ac34b77073eb639b110583302021-09-19 19:14:4115 hrs 20 mins ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0x79a497bcee0de9b4bebc08596dc971d8fe9cdc4e0d39f2bd9c098f8f738c2bc1110558022021-09-19 17:08:1417 hrs 26 mins ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0x168791766b0edb4210ebad7d2b63c9afcdf2c5e38b065bd2b52cb6f371ff8c0b110548592021-09-19 16:21:0518 hrs 13 mins ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0x4e93b89c4cb441e6710f5c5db6555039070c6453196678ee36d56dc7a5b61982110496962021-09-19 12:02:5422 hrs 32 mins ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0xb6d6761d6ad0d07891a72c2c4c735fa07fcba5bb57e7399025a9244a814544bb110391242021-09-19 3:00:211 day 7 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0xb48b0a633ecc617442c9260b8d378352b8fb8e056e32c7c2f6461ce13d9793ef110324772021-09-18 21:27:191 day 13 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0x2c1e641cd8fa0fc6d079ec670142e4a6e6a203d462cf251fa939d2672391b8ff110056602021-09-17 23:02:132 days 11 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0x40770b5e93ab0ea2005d4d67038c7da0eb5b64b18531bd23fcf78314e700e203109985232021-09-17 17:05:162 days 17 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0xfaa60915358178829aa97245ada03e8aded011c21409b302b9d978b6db21e7cf109922302021-09-17 11:49:562 days 22 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0x4537c13b23e138fe3a2975a8478a8df804289721e028b8c02a1924c93478e6e3109917792021-09-17 11:27:232 days 23 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0x4feac00a943c1f3bdb93493d7af1f856c2ce6a57092304d02344ff9733380a46109905642021-09-17 10:26:363 days 8 mins ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0xc4643d2223686b303863f76ed982e50c5905ce5c66b500f78abc0353c1a6a812109871222021-09-17 7:34:273 days 3 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.02 BNB
0x1d2db04c0fa825abffd0ce66bfca21776797634827511c464ad0867c3c8cc644109841542021-09-17 5:05:333 days 5 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0xea7e51ca41fdca66c87ed6a88c271af4b236ec0464d1b77612bcdec1d97c1e46109755762021-09-16 21:56:353 days 12 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0xe3b528fee8a84ca393575d0b496fd81d325af71fc22431441011a63664e6066e109734382021-09-16 20:09:413 days 14 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0x2bcb9a94511ea4a81b0afa11b65b5ecf5827d425209dff74b1853942b790ebed109635572021-09-16 11:54:113 days 22 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0x82d33a775e24237200eb8e0b9aa46d9f5e6050ea9f07907e4f5827aea8ce5cc8109553482021-09-16 5:02:064 days 5 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0x76f35f25192b3bae5792f934e1c389b50860690ee25c599fb313406de0bfb2f8109538042021-09-16 3:44:514 days 6 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0xf2af21ea68e8ae2216e6a195293a820cc6aa603c6be6ea78b827c625bfc479f1109150032021-09-14 19:17:595 days 15 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0xf837b8de973f42dede0378e9730d9754c66718d62cb95fe0802a1bf93572a6f8109149532021-09-14 19:15:295 days 15 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0xeabe80bc5177d89d0a08ceac89522ca56d8e88ff11110b28a65de2c20d5615dc109149192021-09-14 19:13:475 days 15 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
0xed1a3377711c8c4805de1fa1d40978c1e9a031e3efd9325b819f69c1aae88489109143572021-09-14 18:45:415 days 15 hrs ago 0xa8915589efbff36308701554838fd934ca6a822a0x831127f224fff143dbf2645fef412bada1da794f0.0035 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BuyTokenClaim

Compiler Version
v0.8.3+commit.8d00100c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-06-14
*/

/**
 
*/

pragma solidity ^0.8.3;
// SPDX-License-Identifier: GPL-3.0-or-later

interface ERC20 {
    function totalSupply() external view returns (uint);
    function balanceOf(address tokenOwner) external view returns (uint balance);
    function allowance(address tokenOwner, address spender) external view returns (uint remaining);
    function transfer(address to, uint tokens) external returns (bool success);
    function approve(address spender, uint tokens) external returns (bool success);
    function transferFrom(address from, address to, uint tokens) external returns (bool success);

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint);

    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

contract Owned {
    address public address_owner;
    constructor() { 
        address_owner = payable(msg.sender);
    }

    modifier onlyOwner {
        require(
            msg.sender == address_owner,
            "Only owner can call this function."
        );
        _;
    }
    function transferOwnership(address _address_owner) public onlyOwner {
        address_owner = _address_owner;
    }
}

contract BuyTokenClaim is Owned {
    
    //BuyToken
    address public token_address;
    uint256 public min_value;
    uint256 public price_current;
    uint256 public div_price_current;
    uint256 public time_start_current;
    uint256 public time_end_current;
    bool public is_sale_token = true;
    uint256 public price_next;
    uint256 public div_price_next;
    uint256 public time_start_next;
    uint256 public time_end_next;
    
    event BuyEvent(uint256 price, uint256 amount);
    
    
    // Claim
    address public claim_address;
    uint256 public claim_fee;
    uint256 public claim_min;
    uint256 public claim_max;
    uint256 public claim_decimal;
    uint256 private rand_nonce = 0;
    bool private is_claim = true;
    mapping (address => bool) private claimed_addresses;
    
    event ClaimEvent(uint256 amount);
    //Referral
 
    uint256 private claim_referral_bonus;
    uint256 private buy_referral_bonus ;
    mapping (address => uint256) private referrals;
    mapping (uint256 => address) private referral_codes;
    mapping (address => address) private referral_parents;
 
    constructor(){
        //Buy
        address _token_address = address(0x895109A3Ea9f09c8b0A17C0737E4f2A9DB7eaBDF);
        uint256 _min_value = 20000000000000000;
        uint256 _price = 2000;
        uint256 div_price = 1;
        uint256 time_start = block.timestamp;
        uint256 time_end = block.timestamp + 300 days;
        
        //Claim
        claim_address = address_owner;
        claim_fee = 3000000000000000;
        claim_min = 25;
        claim_max = 30;
        claim_decimal = 0;
        
        //Referral
        claim_referral_bonus = 35;
        buy_referral_bonus = 10000;
    
        price_current = _price;
        div_price_current = div_price;
        time_start_current = time_start;
        time_end_current = time_end;
        initBuyToken(_token_address, _min_value, _price, div_price, time_start, time_end);
        claim_address = address(0x831127F224FfF143Dbf2645FEF412baDa1DA794f);
    }
 
    function initBuyToken(address _token_address, uint256 _min_value, uint256 _price, uint256 div_price, uint256 time_start, uint256 time_end) public onlyOwner{
        token_address = _token_address;
        min_value = _min_value;
        addPrice(_price, div_price, time_start, time_end);
    }
 
    function addPrice(uint256 _price, uint256 div_price, uint256 time_start, uint256 time_end) public onlyOwner{
        price_next = _price;
        div_price_next = div_price;
        time_start_next = time_start;
        time_end_next = time_end;
        checkPrice();
    }
 
    function setAddressToken(address _token_address) public onlyOwner{
        token_address = _token_address;
    }
 
    receive () external payable{
        buy();
    }
    
    function priceCurrent() public view returns(uint256 price, uint256 div_price) {
        return (price_current, div_price_current);
    }
    
    function isSale() public view returns(bool) {
        return (block.timestamp <= time_end_current && is_sale_token != false);
    }
    
    function closeSale() public onlyOwner{
        is_sale_token = false;
    }
    
    function getSaleInfo() public view returns(bool is_sale, uint256 min_amount, uint256 price, uint256 div_price, uint256 claim_bonus, uint256 buy_bonus, uint256 claim_min_amount, uint256 claim_max_amount){
        bool is_sale_status = (block.timestamp <= time_end_current && is_sale_token != false);
        return (is_sale_status, min_value, price_current, div_price_current, claim_referral_bonus, buy_referral_bonus, claim_min, claim_max);
    }
    
    function setToken(address _token_address) public onlyOwner{
        token_address = _token_address;
    }
    
    function sendToken(address _token_address) payable public returns(bool) {
        ERC20 token = ERC20(_token_address);
        uint256 balance = token.balanceOf(address(this));
        return token.transfer(address_owner, balance);
    }
    
    function checkPrice() public {
        uint256 time_current = block.timestamp;
        if (price_next > 0 && time_current >= time_start_next && time_current <= time_end_next)
        {
            price_current = price_next;
            div_price_current = div_price_next;
            time_start_current = time_start_next;
            time_end_current = time_end_next;
            price_next = 0;
        }
    }
    
    function buyTokeWithCode(uint256 referral_code) payable public returns(bool) {
        return buyToken(token_address, referral_code);
    }
    
    function buyToken(address _token_address, uint256 referral_code) payable public returns(bool) {
        require(_token_address != address(0), "Please set token address");
        ERC20 token = ERC20(_token_address);
        uint256 amount_send = msg.value;
        uint256 token_balance = token.balanceOf(address(address_owner));
        require(amount_send >= min_value, "You amount to small");
        uint256 time_current = block.timestamp;
        checkPrice();
        require(price_current > 0, "Please set price of token");
        require(time_current <= time_end_current && is_sale_token != false, "Token sale is finished");
        uint256 amount_buy = amount_send * price_current / div_price_current;
        uint256 decimals = 18 - token.decimals();
        require(decimals >= 0, "Decimals is invalid");
        amount_buy = amount_buy / (10 ** decimals);
        require(token_balance >= amount_buy, "Not enough tokens in the reserve");
        require(amount_buy > 0, "You amount token to small");
        token.transferFrom(address_owner, msg.sender, amount_buy);
        address parent = getParentReferral(msg.sender, referral_code);
        if (parent != address(0))
        {
            token.transferFrom(address_owner, parent, buy_referral_bonus * amount_buy / 10000); 
        }
        payable(address_owner).transfer(address(this).balance);
        addReferral(msg.sender, parent);
        emit BuyEvent(price_current, amount_buy);
        return true;
    }

    function buy() payable public returns(bool) {
        return buyToken(token_address, 0); 
    }
    
    //Claim
    function initClaim(address _token_address, uint256 _claim_fee, uint256 _amount_min, uint256 _amount_max, uint256 _unit_decimal) public onlyOwner{
        token_address = _token_address;
        claim_fee = _claim_fee;
        claim_decimal = _unit_decimal;
        setClaimLimit(_amount_min, _amount_max);
    }
     
    function setClaimAddress(address _address) public onlyOwner{
        claim_address = _address;
    }
    
    function setClaimFee(uint256 _claim_fee) public onlyOwner{
        claim_fee = _claim_fee;
    }
      
    function setClaimDecimal(uint256 _claim_decimal) public onlyOwner{
        claim_decimal = _claim_decimal;
    }
        
    function setClaimLimit(uint256 _amount_min, uint256 _amount_max) public onlyOwner{
        claim_min = _amount_min;
        claim_max = _amount_max;
    }
    
    function closeClaim() public returns(bool) {
        is_claim  = false; 
        return is_claim;
    }
    
    function setIsClaim(bool _is_claim) public returns(bool) {
        is_claim  = _is_claim; 
        return is_claim;
    }
    
   function claimToken(address _token_address, uint256 referral_code) payable public returns(bool) {
        require(claimed_addresses[msg.sender] != true, "Address is exist");
        require(is_claim == true, "Claimed is finished");
        require(_token_address != address(0), "Please set token address");
        ERC20 token = ERC20(_token_address);
        uint256 amount_send = msg.value;
        uint256 token_balance = token.balanceOf(address(claim_address));
        uint256 amount_claim = randomClaimAmount(_token_address);
        require(amount_send >= claim_fee, "You need to send some fee. Fee to small.");
        require(token_balance >= amount_claim, "Not enough tokens in the reserve");
        token.transferFrom(claim_address, msg.sender, amount_claim);
        emit ClaimEvent(amount_claim);
        claimed_addresses[msg.sender] = true;
        address parent = getParentReferral(msg.sender, referral_code);
        if (parent != address(0))
        {
            uint256 decimals = token.decimals();
            token.transferFrom(claim_address, parent, claim_referral_bonus * (10 ** decimals)); 
        }
        addReferral(msg.sender, parent);
        payable(claim_address).transfer(address(this).balance);
        return true;
    }

    function claim(uint256 referral_code) payable public returns(bool) {
        return claimToken(token_address, referral_code); 
    }

    function isClaim() public view returns(bool) {
        return is_claim; 
    }
    
    
    function isClaimed(address _address) public view returns(bool) {
        return claimed_addresses[_address] == true; 
    }
    
    function claimFee() public view returns(uint256) {
        return claim_fee; 
    }
        
    function claimCheck(address _address) public view returns(uint256 fee, bool is_claim_token, bool is_claimed) {
        bool _is_claimed = (claimed_addresses[_address] == true);
        return (claim_fee, is_claim, _is_claimed); 
    }
    
    function randomClaimAmount(address _token_address) public returns(uint256){
        ERC20 token = ERC20(_token_address);
        uint decimals = token.decimals();
        uint256 min = claim_min * 10 ** uint256(decimals);
        uint256 max = claim_max * 10 ** uint256(decimals);
        uint256 randomAmount = random();
        uint256 amount = randomAmount % max;
        if (amount + min <= max)
        {
            amount = amount + min;
        }
        
        uint256 fixed_decimal = 10 ** uint256(decimals - claim_decimal);
        amount = amount / fixed_decimal * fixed_decimal;
        return amount;
    }
    
    function random() public returns(uint256){
        rand_nonce = rand_nonce + 1;
        if (rand_nonce > 0xFFFFFFFFFFFFFFFFFFFFF)
        {
            rand_nonce = 0;
        }
        return randomWithNonce(rand_nonce);
    }
    
    function randomWithNonce(uint256 _rand_nonce) public payable returns(uint256){
        return uint256(keccak256(abi.encodePacked(block.difficulty, block.timestamp, block.coinbase, block.number, msg.sender, _rand_nonce)));
    }
    
    //Referral
    function setBonus(uint256 claim_bonus, uint256 buy_bonus) public returns(uint256, uint256) {
        claim_referral_bonus = claim_bonus;
        buy_referral_bonus = buy_bonus;
        return (claim_referral_bonus, buy_referral_bonus);
    }
    
    function setBuyBonus(uint256 amount) public returns(uint256) {
        buy_referral_bonus = amount;
        return buy_referral_bonus;
    }
    
    function setClaimBonus(uint256 amount) public returns(uint256) {
        claim_referral_bonus = amount;
        return claim_referral_bonus;
    }
    
    function addReferral(address _address, address parent) public returns(uint256) {
        if (referrals[_address] == 0){
            uint256 code;
            uint256 index = 0;
            while(true)
            {
                code = randomWithNonce(index);
                index += 1;
                if (referral_codes[code] == address(0))
                    break;
            }
            referral_codes[code] = _address;
            referrals[_address] = code;
            if(parent != address(0))
                referral_parents[_address] = parent;
        }
        return referrals[_address];
    }
    
    function getReferralCode(address _address) public view returns(uint256) {
        return referrals[_address];
    }
    
    function getParentReferral(address _address, uint256 referral_code) public view returns(address) {
        address parent = referral_parents[_address];
        if (parent == address(0))
            parent = referral_codes[referral_code];
        if (parent != msg.sender)
            return parent;
        return address(0);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"BuyEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClaimEvent","type":"event"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"uint256","name":"div_price","type":"uint256"},{"internalType":"uint256","name":"time_start","type":"uint256"},{"internalType":"uint256","name":"time_end","type":"uint256"}],"name":"addPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"address","name":"parent","type":"address"}],"name":"addReferral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"address_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"referral_code","type":"uint256"}],"name":"buyTokeWithCode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_token_address","type":"address"},{"internalType":"uint256","name":"referral_code","type":"uint256"}],"name":"buyToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"checkPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"referral_code","type":"uint256"}],"name":"claim","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"claimCheck","outputs":[{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"bool","name":"is_claim_token","type":"bool"},{"internalType":"bool","name":"is_claimed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token_address","type":"address"},{"internalType":"uint256","name":"referral_code","type":"uint256"}],"name":"claimToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"claim_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim_decimal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim_fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim_max","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim_min","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"closeClaim","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"closeSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"div_price_current","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"div_price_next","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"referral_code","type":"uint256"}],"name":"getParentReferral","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getReferralCode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSaleInfo","outputs":[{"internalType":"bool","name":"is_sale","type":"bool"},{"internalType":"uint256","name":"min_amount","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"div_price","type":"uint256"},{"internalType":"uint256","name":"claim_bonus","type":"uint256"},{"internalType":"uint256","name":"buy_bonus","type":"uint256"},{"internalType":"uint256","name":"claim_min_amount","type":"uint256"},{"internalType":"uint256","name":"claim_max_amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token_address","type":"address"},{"internalType":"uint256","name":"_min_value","type":"uint256"},{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"uint256","name":"div_price","type":"uint256"},{"internalType":"uint256","name":"time_start","type":"uint256"},{"internalType":"uint256","name":"time_end","type":"uint256"}],"name":"initBuyToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token_address","type":"address"},{"internalType":"uint256","name":"_claim_fee","type":"uint256"},{"internalType":"uint256","name":"_amount_min","type":"uint256"},{"internalType":"uint256","name":"_amount_max","type":"uint256"},{"internalType":"uint256","name":"_unit_decimal","type":"uint256"}],"name":"initClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isClaim","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"isClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isSale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"is_sale_token","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"min_value","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceCurrent","outputs":[{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"div_price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"price_current","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"price_next","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"random","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token_address","type":"address"}],"name":"randomClaimAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rand_nonce","type":"uint256"}],"name":"randomWithNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_token_address","type":"address"}],"name":"sendToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_token_address","type":"address"}],"name":"setAddressToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"claim_bonus","type":"uint256"},{"internalType":"uint256","name":"buy_bonus","type":"uint256"}],"name":"setBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setBuyBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setClaimAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setClaimBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_claim_decimal","type":"uint256"}],"name":"setClaimDecimal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_claim_fee","type":"uint256"}],"name":"setClaimFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount_min","type":"uint256"},{"internalType":"uint256","name":"_amount_max","type":"uint256"}],"name":"setClaimLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_is_claim","type":"bool"}],"name":"setIsClaim","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token_address","type":"address"}],"name":"setToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"time_end_current","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"time_end_next","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"time_start_current","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"time_start_next","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address_owner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526001600760006101000a81548160ff02191690831515021790555060006011556001601260006101000a81548160ff0219169083151502179055503480156200004c57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073895109a3ea9f09c8b0a17c0737e4f2a9db7eabdf9050600066470de4df820000905060006107d090506000600190506000429050600063018b820042620000d8919062000476565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550660aa87bee538000600d819055506019600e81905550601e600f819055506000601081905550602360148190555061271060158190555083600381905550826004819055508160058190555080600681905550620001a48686868686866200020560201b60201c565b73831127f224fff143dbf2645fef412bada1da794f600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050506200055b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161462000296576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200028d9062000443565b60405180910390fd5b85600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600281905550620002f284848484620002fa60201b60201c565b505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146200038b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003829062000443565b60405180910390fd5b836008819055508260098190555081600a8190555080600b81905550620003b7620003bd60201b60201c565b50505050565b60004290506000600854118015620003d75750600a548110155b8015620003e65750600b548111155b156200041957600854600381905550600954600481905550600a54600581905550600b5460068190555060006008819055505b50565b60006200042b60228362000465565b915062000438826200050c565b604082019050919050565b600060208201905081810360008301526200045e816200041c565b9050919050565b600082825260208201905092915050565b60006200048382620004d3565b91506200049083620004d3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620004c857620004c7620004dd565b5b828201905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f60008201527f6e2e000000000000000000000000000000000000000000000000000000000000602082015250565b613b36806200056b6000396000f3fe60806040526004361061031e5760003560e01c80638cc08025116101ab578063c2fc94a1116100f7578063ebc8aa1911610095578063f2fde38b1161006f578063f2fde38b14610bf4578063f8c1c18614610c1d578063fbf8864e14610c48578063fd03187914610c855761032e565b8063ebc8aa1914610b89578063ee55efee14610bb2578063f14e0f5314610bc95761032e565b8063d1281ec4116100d1578063d1281ec414610ac2578063db83694c14610b01578063df2b2c0914610b33578063e595678014610b5e5761032e565b8063c2fc94a114610a3c578063c575c23814610a67578063cfc55bf714610a975761032e565b8063a6119ea711610164578063b4fffa521161013e578063b4fffa521461098d578063b7d3aaba146109b8578063bb379087146109e3578063bf0e490014610a0c5761032e565b8063a6119ea71461091b578063a6f2ae3a14610944578063b071b6c5146109625761032e565b80638cc08025146107f95780638fc3047d1461083657806392c403441461084d578063940312a91461088a578063963016ce146108b357806399d32fc4146108f05761032e565b8063337a42fd1161026a5780636515d04411610223578063762fac28116101fd578063762fac281461074f57806388a9031d146107785780638b5d181b146107a35780638c8e8fee146107ce5761032e565b80636515d044146106b957806365d3d96c146106e257806368f8fc101461071f5761032e565b8063337a42fd1461058e578063379607f5146105cb57806345b66bf1146105fb57806356f3fce8146106265780635e697698146106635780635ec01e4d1461068e5761032e565b80631c19b784116102d75780632ab0ac70116102b15780632ab0ac70146104e45780632e75ab501461050f5780632f383a40146105385780632ff176af146105635761032e565b80631c19b7841461045e57806320690e241461048957806325ffeea0146104b95761032e565b8063037c99b01461033357806309ad1a3d146103715780630b5c3f871461039c57806310cbe856146103d9578063144fa6d7146104055780631698755f1461042e5761032e565b3661032e5761032b610cae565b50005b600080fd5b34801561033f57600080fd5b5061035a60048036038101906103559190612ee1565b610ce2565b6040516103689291906134a9565b60405180910390f35b34801561037d57600080fd5b50610386610d04565b60405161039391906131e3565b60405180910390f35b3480156103a857600080fd5b506103c360048036038101906103be9190612cc5565b610d28565b6040516103d09190613457565b60405180910390f35b3480156103e557600080fd5b506103ee610fa0565b6040516103fc9291906134a9565b60405180910390f35b34801561041157600080fd5b5061042c60048036038101906104279190612c9c565b610fb1565b005b61044860048036038101906104439190612d01565b611083565b604051610455919061325e565b60405180910390f35b34801561046a57600080fd5b50610473611682565b6040516104809190613457565b60405180910390f35b6104a3600480360381019061049e9190612e8f565b611688565b6040516104b0919061325e565b60405180910390f35b3480156104c557600080fd5b506104ce6116bd565b6040516104db919061325e565b60405180910390f35b3480156104f057600080fd5b506104f96116d4565b6040516105069190613457565b60405180910390f35b34801561051b57600080fd5b5061053660048036038101906105319190612e8f565b6116da565b005b34801561054457600080fd5b5061054d611772565b60405161055a9190613457565b60405180910390f35b34801561056f57600080fd5b50610578611778565b6040516105859190613457565b60405180910390f35b34801561059a57600080fd5b506105b560048036038101906105b09190612d01565b61177e565b6040516105c291906131e3565b60405180910390f35b6105e560048036038101906105e09190612e8f565b611897565b6040516105f2919061325e565b60405180910390f35b34801561060757600080fd5b506106106118cc565b60405161061d9190613457565b60405180910390f35b34801561063257600080fd5b5061064d60048036038101906106489190612e8f565b6118d2565b60405161065a9190613457565b60405180910390f35b34801561066f57600080fd5b506106786118e5565b6040516106859190613457565b60405180910390f35b34801561069a57600080fd5b506106a36118eb565b6040516106b09190613457565b60405180910390f35b3480156106c557600080fd5b506106e060048036038101906106db9190612d3d565b611930565b005b3480156106ee57600080fd5b5061070960048036038101906107049190612c9c565b611a1e565b6040516107169190613457565b60405180910390f35b61073960048036038101906107349190612d01565b611b65565b604051610746919061325e565b60405180910390f35b34801561075b57600080fd5b5061077660048036038101906107719190612c9c565b612195565b005b34801561078457600080fd5b5061078d612267565b60405161079a9190613457565b60405180910390f35b3480156107af57600080fd5b506107b861226d565b6040516107c59190613457565b60405180910390f35b3480156107da57600080fd5b506107e3612273565b6040516107f091906131e3565b60405180910390f35b34801561080557600080fd5b50610820600480360381019061081b9190612c9c565b612299565b60405161082d919061325e565b60405180910390f35b34801561084257600080fd5b5061084b6122f6565b005b34801561085957600080fd5b50610874600480360381019061086f9190612c9c565b612352565b6040516108819190613457565b60405180910390f35b34801561089657600080fd5b506108b160048036038101906108ac9190612ee1565b61239b565b005b3480156108bf57600080fd5b506108da60048036038101906108d59190612e3d565b61243b565b6040516108e7919061325e565b60405180910390f35b3480156108fc57600080fd5b5061090561246e565b6040516109129190613457565b60405180910390f35b34801561092757600080fd5b50610942600480360381019061093d9190612f1d565b612478565b005b61094c610cae565b604051610959919061325e565b60405180910390f35b34801561096e57600080fd5b50610977612530565b60405161098491906131e3565b60405180910390f35b34801561099957600080fd5b506109a2612556565b6040516109af9190613457565b60405180910390f35b3480156109c457600080fd5b506109cd61255c565b6040516109da9190613457565b60405180910390f35b3480156109ef57600080fd5b50610a0a6004803603810190610a059190612c9c565b612562565b005b610a266004803603810190610a219190612e8f565b612634565b604051610a339190613457565b60405180910390f35b348015610a4857600080fd5b50610a51612671565b604051610a5e919061325e565b60405180910390f35b610a816004803603810190610a7c9190612c9c565b6126a2565b604051610a8e919061325e565b60405180910390f35b348015610aa357600080fd5b50610aac6127eb565b604051610ab99190613457565b60405180910390f35b348015610ace57600080fd5b50610ae96004803603810190610ae49190612c9c565b6127f1565b604051610af893929190613472565b60405180910390f35b348015610b0d57600080fd5b50610b1661286f565b604051610b2a989796959493929190613279565b60405180910390f35b348015610b3f57600080fd5b50610b486128d6565b604051610b55919061325e565b60405180910390f35b348015610b6a57600080fd5b50610b736128e9565b604051610b809190613457565b60405180910390f35b348015610b9557600080fd5b50610bb06004803603810190610bab9190612db4565b6128ef565b005b348015610bbe57600080fd5b50610bc76129d9565b005b348015610bd557600080fd5b50610bde612a84565b604051610beb9190613457565b60405180910390f35b348015610c0057600080fd5b50610c1b6004803603810190610c169190612c9c565b612a8a565b005b348015610c2957600080fd5b50610c32612b5b565b604051610c3f919061325e565b60405180910390f35b348015610c5457600080fd5b50610c6f6004803603810190610c6a9190612e8f565b612b88565b604051610c7c9190613457565b60405180910390f35b348015610c9157600080fd5b50610cac6004803603810190610ca79190612e8f565b612b9b565b005b6000610cdd600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000611b65565b905090565b6000808360148190555082601581905550601454601554915091509250929050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610f5857600080600090505b600115610e0c57610d8981612634565b9150600181610d9891906134e3565b9050600073ffffffffffffffffffffffffffffffffffffffff166017600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610e0757610e0c565b610d79565b846017600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614610f555783601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50505b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080600354600454915091509091565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461103f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611036906132f7565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060011515601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111090613417565b60405180910390fd5b60011515601260009054906101000a900460ff1615151461116f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116690613337565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d690613377565b60405180910390fd5b6000839050600034905060008273ffffffffffffffffffffffffffffffffffffffff166370a08231600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161124691906131e3565b60206040518083038186803b15801561125e57600080fd5b505afa158015611272573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112969190612eb8565b905060006112a387611a1e565b9050600d548310156112ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e1906133f7565b60405180910390fd5b8082101561132d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132490613437565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633846040518463ffffffff1660e01b815260040161138c939291906131fe565b602060405180830381600087803b1580156113a657600080fd5b505af11580156113ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113de9190612e66565b507f79c46aa1e9414f1ec17fe2ddf0a792ed052464f117504d03be80e05734ce37c88160405161140e9190613457565b60405180910390a16001601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600061147a338861177e565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146115ff5760008573ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156114f857600080fd5b505afa15801561150c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115309190612eb8565b90508573ffffffffffffffffffffffffffffffffffffffff166323b872dd600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168484600a61157f91906135bd565b60145461158c91906136db565b6040518463ffffffff1660e01b81526004016115aa939291906131fe565b602060405180830381600087803b1580156115c457600080fd5b505af11580156115d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fc9190612e66565b50505b6116093382610d28565b50600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611672573d6000803e3d6000fd5b5060019550505050505092915050565b60095481565b60006116b6600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611b65565b9050919050565b6000601260009054906101000a900460ff16905090565b60045481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175f906132f7565b60405180910390fd5b80600d8190555050565b600d5481565b600e5481565b600080601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561184f576017600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461188b5780915050611891565b60009150505b92915050565b60006118c5600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611083565b9050919050565b600f5481565b6000816014819055506014549050919050565b60105481565b600060016011546118fc91906134e3565b6011819055506a0fffffffffffffffffffff60115411156119205760006011819055505b61192b601154612634565b905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b5906132f7565b60405180910390fd5b84600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600d8190555080601081905550611a17838361239b565b5050505050565b60008082905060008173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6c57600080fd5b505afa158015611a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa49190612eb8565b9050600081600a611ab591906135bd565b600e54611ac291906136db565b9050600082600a611ad391906135bd565b600f54611ae091906136db565b90506000611aec6118eb565b905060008282611afc9190613803565b9050828482611b0b91906134e3565b11611b1f578381611b1c91906134e3565b90505b600060105486611b2f9190613735565b600a611b3b91906135bd565b9050808183611b4a9190613539565b611b5491906136db565b915081975050505050505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcd90613377565b60405180910390fd5b6000839050600034905060008273ffffffffffffffffffffffffffffffffffffffff166370a0823160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401611c3b91906131e3565b60206040518083038186803b158015611c5357600080fd5b505afa158015611c67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8b9190612eb8565b9050600254821015611cd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc9906133b7565b60405180910390fd5b6000429050611cdf6122f6565b600060035411611d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1b90613317565b60405180910390fd5b6006548111158015611d4a575060001515600760009054906101000a900460ff16151514155b611d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8090613397565b60405180910390fd5b600060045460035485611d9c91906136db565b611da69190613539565b905060008573ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611df057600080fd5b505afa158015611e04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e289190612eb8565b6012611e349190613735565b90506000811015611e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7190613357565b60405180910390fd5b80600a611e8791906135bd565b82611e929190613539565b915081841015611ed7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ece90613437565b60405180910390fd5b60008211611f1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f11906133d7565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff166323b872dd60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633856040518463ffffffff1660e01b8152600401611f77939291906131fe565b602060405180830381600087803b158015611f9157600080fd5b505af1158015611fa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc99190612e66565b506000611fd6338a61177e565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146120d7578673ffffffffffffffffffffffffffffffffffffffff166323b872dd60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836127108760155461205b91906136db565b6120659190613539565b6040518463ffffffff1660e01b8152600401612083939291906131fe565b602060405180830381600087803b15801561209d57600080fd5b505af11580156120b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d59190612e66565b505b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561213d573d6000803e3d6000fd5b506121483382610d28565b507fe27bc0da3aa888f5d97abb6ca851d9bccdc77cc8a8b1b3715e3b5ee034c44e8a6003548460405161217c9291906134a9565b60405180910390a1600197505050505050505092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612223576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221a906132f7565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60035481565b60085481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060011515601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515149050919050565b6000429050600060085411801561230f5750600a548110155b801561231d5750600b548111155b1561234f57600854600381905550600954600481905550600a54600581905550600b5460068190555060006008819055505b50565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612429576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612420906132f7565b60405180910390fd5b81600e8190555080600f819055505050565b600081601260006101000a81548160ff021916908315150217905550601260009054906101000a900460ff169050919050565b6000600d54905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124fd906132f7565b60405180910390fd5b836008819055508260098190555081600a8190555080600b8190555061252a6122f6565b50505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b60055481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e7906132f7565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600044424143338660405160200161265196959493929190613173565b6040516020818303038152906040528051906020012060001c9050919050565b600080601260006101000a81548160ff021916908315150217905550601260009054906101000a900460ff16905090565b60008082905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016126e391906131e3565b60206040518083038186803b1580156126fb57600080fd5b505afa15801561270f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127339190612eb8565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401612790929190613235565b602060405180830381600087803b1580156127aa57600080fd5b505af11580156127be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e29190612e66565b92505050919050565b600a5481565b60008060008060011515601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515149050600d54601260009054906101000a900460ff1682935093509350509193909250565b600080600080600080600080600060065442111580156128a3575060001515600760009054906101000a900460ff16151514155b905080600254600354600454601454601554600e54600f5498509850985098509850985098509850509091929394959697565b600760009054906101000a900460ff1681565b600b5481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461297d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612974906132f7565b60405180910390fd5b85600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550846002819055506129d184848484612478565b505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5e906132f7565b60405180910390fd5b6000600760006101000a81548160ff021916908315150217905550565b60065481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b0f906132f7565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006006544211158015612b83575060001515600760009054906101000a900460ff16151514155b905090565b6000816015819055506015549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c20906132f7565b60405180910390fd5b8060108190555050565b600081359050612c4281613abb565b92915050565b600081359050612c5781613ad2565b92915050565b600081519050612c6c81613ad2565b92915050565b600081359050612c8181613ae9565b92915050565b600081519050612c9681613ae9565b92915050565b600060208284031215612cae57600080fd5b6000612cbc84828501612c33565b91505092915050565b60008060408385031215612cd857600080fd5b6000612ce685828601612c33565b9250506020612cf785828601612c33565b9150509250929050565b60008060408385031215612d1457600080fd5b6000612d2285828601612c33565b9250506020612d3385828601612c72565b9150509250929050565b600080600080600060a08688031215612d5557600080fd5b6000612d6388828901612c33565b9550506020612d7488828901612c72565b9450506040612d8588828901612c72565b9350506060612d9688828901612c72565b9250506080612da788828901612c72565b9150509295509295909350565b60008060008060008060c08789031215612dcd57600080fd5b6000612ddb89828a01612c33565b9650506020612dec89828a01612c72565b9550506040612dfd89828a01612c72565b9450506060612e0e89828a01612c72565b9350506080612e1f89828a01612c72565b92505060a0612e3089828a01612c72565b9150509295509295509295565b600060208284031215612e4f57600080fd5b6000612e5d84828501612c48565b91505092915050565b600060208284031215612e7857600080fd5b6000612e8684828501612c5d565b91505092915050565b600060208284031215612ea157600080fd5b6000612eaf84828501612c72565b91505092915050565b600060208284031215612eca57600080fd5b6000612ed884828501612c87565b91505092915050565b60008060408385031215612ef457600080fd5b6000612f0285828601612c72565b9250506020612f1385828601612c72565b9150509250929050565b60008060008060808587031215612f3357600080fd5b6000612f4187828801612c72565b9450506020612f5287828801612c72565b9350506040612f6387828801612c72565b9250506060612f7487828801612c72565b91505092959194509250565b612f91612f8c8261377b565b6137d5565b82525050565b612fa081613769565b82525050565b612fb7612fb282613769565b6137c3565b82525050565b612fc68161378d565b82525050565b6000612fd96022836134d2565b9150612fe4826138ac565b604082019050919050565b6000612ffc6019836134d2565b9150613007826138fb565b602082019050919050565b600061301f6013836134d2565b915061302a82613924565b602082019050919050565b60006130426013836134d2565b915061304d8261394d565b602082019050919050565b60006130656018836134d2565b915061307082613976565b602082019050919050565b60006130886016836134d2565b91506130938261399f565b602082019050919050565b60006130ab6013836134d2565b91506130b6826139c8565b602082019050919050565b60006130ce6019836134d2565b91506130d9826139f1565b602082019050919050565b60006130f16028836134d2565b91506130fc82613a1a565b604082019050919050565b60006131146010836134d2565b915061311f82613a69565b602082019050919050565b60006131376020836134d2565b915061314282613a92565b602082019050919050565b613156816137b9565b82525050565b61316d613168826137b9565b6137f9565b82525050565b600061317f828961315c565b60208201915061318f828861315c565b60208201915061319f8287612f80565b6014820191506131af828661315c565b6020820191506131bf8285612fa6565b6014820191506131cf828461315c565b602082019150819050979650505050505050565b60006020820190506131f86000830184612f97565b92915050565b60006060820190506132136000830186612f97565b6132206020830185612f97565b61322d604083018461314d565b949350505050565b600060408201905061324a6000830185612f97565b613257602083018461314d565b9392505050565b60006020820190506132736000830184612fbd565b92915050565b60006101008201905061328f600083018b612fbd565b61329c602083018a61314d565b6132a9604083018961314d565b6132b6606083018861314d565b6132c3608083018761314d565b6132d060a083018661314d565b6132dd60c083018561314d565b6132ea60e083018461314d565b9998505050505050505050565b6000602082019050818103600083015261331081612fcc565b9050919050565b6000602082019050818103600083015261333081612fef565b9050919050565b6000602082019050818103600083015261335081613012565b9050919050565b6000602082019050818103600083015261337081613035565b9050919050565b6000602082019050818103600083015261339081613058565b9050919050565b600060208201905081810360008301526133b08161307b565b9050919050565b600060208201905081810360008301526133d08161309e565b9050919050565b600060208201905081810360008301526133f0816130c1565b9050919050565b60006020820190508181036000830152613410816130e4565b9050919050565b6000602082019050818103600083015261343081613107565b9050919050565b600060208201905081810360008301526134508161312a565b9050919050565b600060208201905061346c600083018461314d565b92915050565b6000606082019050613487600083018661314d565b6134946020830185612fbd565b6134a16040830184612fbd565b949350505050565b60006040820190506134be600083018561314d565b6134cb602083018461314d565b9392505050565b600082825260208201905092915050565b60006134ee826137b9565b91506134f9836137b9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561352e5761352d613834565b5b828201905092915050565b6000613544826137b9565b915061354f836137b9565b92508261355f5761355e613863565b5b828204905092915050565b6000808291508390505b60018511156135b4578086048111156135905761358f613834565b5b600185161561359f5780820291505b80810290506135ad8561389f565b9450613574565b94509492505050565b60006135c8826137b9565b91506135d3836137b9565b92506136007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613608565b905092915050565b60008261361857600190506136d4565b8161362657600090506136d4565b816001811461363c576002811461364657613675565b60019150506136d4565b60ff84111561365857613657613834565b5b8360020a91508482111561366f5761366e613834565b5b506136d4565b5060208310610133831016604e8410600b84101617156136aa5782820a9050838111156136a5576136a4613834565b5b6136d4565b6136b7848484600161356a565b925090508184048111156136ce576136cd613834565b5b81810290505b9392505050565b60006136e6826137b9565b91506136f1836137b9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561372a57613729613834565b5b828202905092915050565b6000613740826137b9565b915061374b836137b9565b92508282101561375e5761375d613834565b5b828203905092915050565b600061377482613799565b9050919050565b600061378682613799565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006137ce826137e7565b9050919050565b60006137e0826137e7565b9050919050565b60006137f282613892565b9050919050565b6000819050919050565b600061380e826137b9565b9150613819836137b9565b92508261382957613828613863565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008160601b9050919050565b60008160011c9050919050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f60008201527f6e2e000000000000000000000000000000000000000000000000000000000000602082015250565b7f506c6561736520736574207072696365206f6620746f6b656e00000000000000600082015250565b7f436c61696d65642069732066696e697368656400000000000000000000000000600082015250565b7f446563696d616c7320697320696e76616c696400000000000000000000000000600082015250565b7f506c656173652073657420746f6b656e20616464726573730000000000000000600082015250565b7f546f6b656e2073616c652069732066696e697368656400000000000000000000600082015250565b7f596f7520616d6f756e7420746f20736d616c6c00000000000000000000000000600082015250565b7f596f7520616d6f756e7420746f6b656e20746f20736d616c6c00000000000000600082015250565b7f596f75206e65656420746f2073656e6420736f6d65206665652e20466565207460008201527f6f20736d616c6c2e000000000000000000000000000000000000000000000000602082015250565b7f4164647265737320697320657869737400000000000000000000000000000000600082015250565b7f4e6f7420656e6f75676820746f6b656e7320696e207468652072657365727665600082015250565b613ac481613769565b8114613acf57600080fd5b50565b613adb8161378d565b8114613ae657600080fd5b50565b613af2816137b9565b8114613afd57600080fd5b5056fea264697066735822122096c20c6d2050521accbae7386cc95b0acb934903e7fc9b11d24fb9823f78f91564736f6c63430008030033

Deployed ByteCode Sourcemap

1386:12305:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4263:5;:3;:5::i;:::-;;1386:12305;;;;;12006:245;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;983:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12579:630;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4288:138;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;5133:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8838:1281;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1736:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5939:141;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10269:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1548:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8174:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1963:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1994;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13350:338;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10127:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2025:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12418:149;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2056:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11503:234;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7731:316;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10854:637;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6092:1509;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4102:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1513:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1704:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1447:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10367:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5505:422;;;;;;;;;;;;;:::i;:::-;;13221:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8416:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8703:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10504:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3814:279;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7609:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1928:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1482:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1587:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8060:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11749:229;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8585:106;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5252:241;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1772:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10605:237;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;4672:449;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;1665:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1809:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3508:297;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4583:77;;;;;;;;;;;;;:::i;:::-;;1627:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1262:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4438:133;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12263:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8286:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7609:97;7647:4;7671:26;7680:13;;;;;;;;;;;7695:1;7671:8;:26::i;:::-;7664:33;;7609:97;:::o;12006:245::-;12079:7;12088;12131:11;12108:20;:34;;;;12174:9;12153:18;:30;;;;12202:20;;12224:18;;12194:49;;;;12006:245;;;;;:::o;983:28::-;;;;;;;;;;;;:::o;12579:630::-;12649:7;12696:1;12673:9;:19;12683:8;12673:19;;;;;;;;;;;;;;;;:24;12669:496;;;12713:12;12740:13;12756:1;12740:17;;12772:203;12778:4;12772:203;;;12823:22;12839:5;12823:15;:22::i;:::-;12816:29;;12873:1;12864:10;;;;;:::i;:::-;;;12929:1;12897:34;;:14;:20;12912:4;12897:20;;;;;;;;;;;;;;;;;;;;;:34;;;12893:66;;;12954:5;;12893:66;12772:203;;;13012:8;12989:14;:20;13004:4;12989:20;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;13057:4;13035:9;:19;13045:8;13035:19;;;;;;;;;;;;;;;:26;;;;13097:1;13079:20;;:6;:20;;;13076:77;;13147:6;13118:16;:26;13135:8;13118:26;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;13076:77;12669:496;;;13182:9;:19;13192:8;13182:19;;;;;;;;;;;;;;;;13175:26;;12579:630;;;;:::o;4288:138::-;4332:13;4347:17;4385:13;;4400:17;;4377:41;;;;4288:138;;:::o;5133:107::-;1161:13;;;;;;;;;;1147:27;;:10;:27;;;1125:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;5218:14:::1;5202:13;;:30;;;;;;;;;;;;;;;;;;5133:107:::0;:::o;8838:1281::-;8928:4;8986;8953:37;;:17;:29;8971:10;8953:29;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;;8945:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;9042:4;9030:16;;:8;;;;;;;;;;;:16;;;9022:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;9115:1;9089:28;;:14;:28;;;;9081:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;9157:11;9177:14;9157:35;;9203:19;9225:9;9203:31;;9245:21;9269:5;:15;;;9293:13;;;;;;;;;;;9269:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9245:63;;9319:20;9342:33;9360:14;9342:17;:33::i;:::-;9319:56;;9409:9;;9394:11;:24;;9386:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;9499:12;9482:13;:29;;9474:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;9559:5;:18;;;9578:13;;;;;;;;;;;9593:10;9605:12;9559:59;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9634:24;9645:12;9634:24;;;;;;:::i;:::-;;;;;;;;9701:4;9669:17;:29;9687:10;9669:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;9716:14;9733:44;9751:10;9763:13;9733:17;:44::i;:::-;9716:61;;9810:1;9792:20;;:6;:20;;;9788:195;;9838:16;9857:5;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9838:35;;9888:5;:18;;;9907:13;;;;;;;;;;;9922:6;9960:8;9954:2;:14;;;;:::i;:::-;9930:20;;:39;;;;:::i;:::-;9888:82;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9788:195;;9993:31;10005:10;10017:6;9993:11;:31::i;:::-;;10043:13;;;;;;;;;;;10035:31;;:54;10067:21;10035:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10107:4;10100:11;;;;;;;8838:1281;;;;:::o;1736:29::-;;;;:::o;5939:141::-;6010:4;6034:38;6043:13;;;;;;;;;;;6058;6034:8;:38::i;:::-;6027:45;;5939:141;;;:::o;10269:80::-;10308:4;10332:8;;;;;;;;;;;10325:15;;10269:80;:::o;1548:32::-;;;;:::o;8174:98::-;1161:13;;;;;;;;;;1147:27;;:10;:27;;;1125:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;8254:10:::1;8242:9;:22;;;;8174:98:::0;:::o;1963:24::-;;;;:::o;1994:::-;;;;:::o;13350:338::-;13438:7;13458:14;13475:16;:26;13492:8;13475:26;;;;;;;;;;;;;;;;;;;;;;;;;13458:43;;13534:1;13516:20;;:6;:20;;;13512:77;;;13560:14;:29;13575:13;13560:29;;;;;;;;;;;;;;;;;;;;;13551:38;;13512:77;13614:10;13604:20;;:6;:20;;;13600:52;;13646:6;13639:13;;;;;13600:52;13678:1;13663:17;;;13350:338;;;;;:::o;10127:134::-;10188:4;10212:40;10223:13;;;;;;;;;;;10238;10212:10;:40::i;:::-;10205:47;;10127:134;;;:::o;2025:24::-;;;;:::o;12418:149::-;12472:7;12515:6;12492:20;:29;;;;12539:20;;12532:27;;12418:149;;;:::o;2056:28::-;;;;:::o;11503:234::-;11536:7;11581:1;11568:10;;:14;;;;:::i;:::-;11555:10;:27;;;;11610:23;11597:10;;:36;11593:92;;;11672:1;11659:10;:14;;;;11593:92;11702:27;11718:10;;11702:15;:27::i;:::-;11695:34;;11503:234;:::o;7731:316::-;1161:13;;;;;;;;;;1147:27;;:10;:27;;;1125:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;7902:14:::1;7886:13;;:30;;;;;;;;;;;;;;;;;;7939:10;7927:9;:22;;;;7976:13;7960;:29;;;;8000:39;8014:11;8027;8000:13;:39::i;:::-;7731:316:::0;;;;;:::o;10854:637::-;10920:7;10939:11;10959:14;10939:35;;10985:13;11001:5;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10985:32;;11028:11;11068:8;11054:2;:23;;;;:::i;:::-;11042:9;;:35;;;;:::i;:::-;11028:49;;11088:11;11128:8;11114:2;:23;;;;:::i;:::-;11102:9;;:35;;;;:::i;:::-;11088:49;;11148:20;11171:8;:6;:8::i;:::-;11148:31;;11190:14;11222:3;11207:12;:18;;;;:::i;:::-;11190:35;;11256:3;11249;11240:6;:12;;;;:::i;:::-;:19;11236:82;;11303:3;11294:6;:12;;;;:::i;:::-;11285:21;;11236:82;11338:21;11387:13;;11376:8;:24;;;;:::i;:::-;11362:2;:39;;;;:::i;:::-;11338:63;;11446:13;11430;11421:6;:22;;;;:::i;:::-;:38;;;;:::i;:::-;11412:47;;11477:6;11470:13;;;;;;;;;10854:637;;;:::o;6092:1509::-;6180:4;6231:1;6205:28;;:14;:28;;;;6197:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;6273:11;6293:14;6273:35;;6319:19;6341:9;6319:31;;6361:21;6385:5;:15;;;6409:13;;;;;;;;;;6385:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6361:63;;6458:9;;6443:11;:24;;6435:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;6502:20;6525:15;6502:38;;6551:12;:10;:12::i;:::-;6598:1;6582:13;;:17;6574:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;6664:16;;6648:12;:32;;:58;;;;;6701:5;6684:22;;:13;;;;;;;;;;;:22;;;;6648:58;6640:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;6744:18;6795:17;;6779:13;;6765:11;:27;;;;:::i;:::-;:47;;;;:::i;:::-;6744:68;;6823:16;6847:5;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6842:2;:21;;;;:::i;:::-;6823:40;;6894:1;6882:8;:13;;6874:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;6963:8;6957:2;:14;;;;:::i;:::-;6943:10;:29;;;;:::i;:::-;6930:42;;7008:10;6991:13;:27;;6983:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7087:1;7074:10;:14;7066:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;7129:5;:18;;;7148:13;;;;;;;;;;7163:10;7175;7129:57;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7197:14;7214:44;7232:10;7244:13;7214:17;:44::i;:::-;7197:61;;7291:1;7273:20;;:6;:20;;;7269:145;;7319:5;:18;;;7338:13;;;;;;;;;;7353:6;7395:5;7382:10;7361:18;;:31;;;;:::i;:::-;:39;;;;:::i;:::-;7319:82;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7269:145;7432:13;;;;;;;;;;7424:31;;:54;7456:21;7424:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7489:31;7501:10;7513:6;7489:11;:31::i;:::-;;7536:35;7545:13;;7560:10;7536:35;;;;;;;:::i;:::-;;;;;;;;7589:4;7582:11;;;;;;;;;6092:1509;;;;:::o;4102:114::-;1161:13;;;;;;;;;;1147:27;;:10;:27;;;1125:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;4194:14:::1;4178:13;;:30;;;;;;;;;;;;;;;;;;4102:114:::0;:::o;1513:28::-;;;;:::o;1704:25::-;;;;:::o;1447:28::-;;;;;;;;;;;;;:::o;10367:125::-;10424:4;10479;10448:35;;:17;:27;10466:8;10448:27;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;10441:42;;10367:125;;;:::o;5505:422::-;5545:20;5568:15;5545:38;;5611:1;5598:10;;:14;:49;;;;;5632:15;;5616:12;:31;;5598:49;:82;;;;;5667:13;;5651:12;:29;;5598:82;5594:326;;;5722:10;;5706:13;:26;;;;5767:14;;5747:17;:34;;;;5817:15;;5796:18;:36;;;;5866:13;;5847:16;:32;;;;5907:1;5894:10;:14;;;;5594:326;5505:422;:::o;13221:117::-;13284:7;13311:9;:19;13321:8;13311:19;;;;;;;;;;;;;;;;13304:26;;13221:117;;;:::o;8416:157::-;1161:13;;;;;;;;;;1147:27;;:10;:27;;;1125:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;8520:11:::1;8508:9;:23;;;;8554:11;8542:9;:23;;;;8416:157:::0;;:::o;8703:124::-;8754:4;8783:9;8771:8;;:21;;;;;;;;;;;;;;;;;;8811:8;;;;;;;;;;;8804:15;;8703:124;;;:::o;10504:85::-;10544:7;10571:9;;10564:16;;10504:85;:::o;3814:279::-;1161:13;;;;;;;;;;1147:27;;:10;:27;;;1125:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;3945:6:::1;3932:10;:19;;;;3979:9;3962:14;:26;;;;4017:10;3999:15;:28;;;;4054:8;4038:13;:24;;;;4073:12;:10;:12::i;:::-;3814:279:::0;;;;:::o;1928:28::-;;;;;;;;;;;;;:::o;1482:24::-;;;;:::o;1587:33::-;;;;:::o;8060:102::-;1161:13;;;;;;;;;;1147:27;;:10;:27;;;1125:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;8146:8:::1;8130:13;;:24;;;;;;;;;;;;;;;;;;8060:102:::0;:::o;11749:229::-;11818:7;11879:16;11897:15;11914:14;11930:12;11944:10;11956:11;11862:106;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11852:117;;;;;;11844:126;;11837:133;;11749:229;;;:::o;8585:106::-;8622:4;8651:5;8639:8;;:17;;;;;;;;;;;;;;;;;;8675:8;;;;;;;;;;;8668:15;;8585:106;:::o;5252:241::-;5318:4;5335:11;5355:14;5335:35;;5381:15;5399:5;:15;;;5423:4;5399:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5381:48;;5447:5;:14;;;5462:13;;;;;;;;;;5477:7;5447:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5440:45;;;;5252:241;;;:::o;1772:30::-;;;;:::o;10605:237::-;10663:11;10676:19;10697:15;10725:16;10776:4;10745:35;;:17;:27;10763:8;10745:27;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;10725:56;;10800:9;;10811:8;;;;;;;;;;;10821:11;10792:41;;;;;;;10605:237;;;;;:::o;4672:449::-;4715:12;4729:18;4749:13;4764:17;4783:19;4804:17;4823:24;4849;4885:19;4927:16;;4908:15;:35;;:61;;;;;4964:5;4947:22;;:13;;;;;;;;;;;:22;;;;4908:61;4885:85;;4989:14;5005:9;;5016:13;;5031:17;;5050:20;;5072:18;;5092:9;;5103;;4981:132;;;;;;;;;;;;;;;;;4672:449;;;;;;;;:::o;1665:32::-;;;;;;;;;;;;;:::o;1809:28::-;;;;:::o;3508:297::-;1161:13;;;;;;;;;;1147:27;;:10;:27;;;1125:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;3690:14:::1;3674:13;;:30;;;;;;;;;;;;;;;;;;3727:10;3715:9;:22;;;;3748:49;3757:6;3765:9;3776:10;3788:8;3748;:49::i;:::-;3508:297:::0;;;;;;:::o;4583:77::-;1161:13;;;;;;;;;;1147:27;;:10;:27;;;1125:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;4647:5:::1;4631:13;;:21;;;;;;;;;;;;;;;;;;4583:77::o:0;1627:31::-;;;;:::o;1262:117::-;1161:13;;;;;;;;;;1147:27;;:10;:27;;;1125:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;1357:14:::1;1341:13;::::0;:30:::1;;;;;;;;;;;;;;;;;;1262:117:::0;:::o;4438:133::-;4476:4;4520:16;;4501:15;:35;;:61;;;;;4557:5;4540:22;;:13;;;;;;;;;;;:22;;;;4501:61;4493:70;;4438:133;:::o;12263:143::-;12315:7;12356:6;12335:18;:27;;;;12380:18;;12373:25;;12263:143;;;:::o;8286:114::-;1161:13;;;;;;;;;;1147:27;;:10;:27;;;1125:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;8378:14:::1;8362:13;:30;;;;8286:114:::0;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:137::-;;376:6;370:13;361:22;;392:30;416:5;392:30;:::i;:::-;351:77;;;;:::o;434:139::-;;518:6;505:20;496:29;;534:33;561:5;534:33;:::i;:::-;486:87;;;;:::o;579:143::-;;667:6;661:13;652:22;;683:33;710:5;683:33;:::i;:::-;642:80;;;;:::o;728:262::-;;836:2;824:9;815:7;811:23;807:32;804:2;;;852:1;849;842:12;804:2;895:1;920:53;965:7;956:6;945:9;941:22;920:53;:::i;:::-;910:63;;866:117;794:196;;;;:::o;996:407::-;;;1121:2;1109:9;1100:7;1096:23;1092:32;1089:2;;;1137:1;1134;1127:12;1089:2;1180:1;1205:53;1250:7;1241:6;1230:9;1226:22;1205:53;:::i;:::-;1195:63;;1151:117;1307:2;1333:53;1378:7;1369:6;1358:9;1354:22;1333:53;:::i;:::-;1323:63;;1278:118;1079:324;;;;;:::o;1409:407::-;;;1534:2;1522:9;1513:7;1509:23;1505:32;1502:2;;;1550:1;1547;1540:12;1502:2;1593:1;1618:53;1663:7;1654:6;1643:9;1639:22;1618:53;:::i;:::-;1608:63;;1564:117;1720:2;1746:53;1791:7;1782:6;1771:9;1767:22;1746:53;:::i;:::-;1736:63;;1691:118;1492:324;;;;;:::o;1822:844::-;;;;;;1998:3;1986:9;1977:7;1973:23;1969:33;1966:2;;;2015:1;2012;2005:12;1966:2;2058:1;2083:53;2128:7;2119:6;2108:9;2104:22;2083:53;:::i;:::-;2073:63;;2029:117;2185:2;2211:53;2256:7;2247:6;2236:9;2232:22;2211:53;:::i;:::-;2201:63;;2156:118;2313:2;2339:53;2384:7;2375:6;2364:9;2360:22;2339:53;:::i;:::-;2329:63;;2284:118;2441:2;2467:53;2512:7;2503:6;2492:9;2488:22;2467:53;:::i;:::-;2457:63;;2412:118;2569:3;2596:53;2641:7;2632:6;2621:9;2617:22;2596:53;:::i;:::-;2586:63;;2540:119;1956:710;;;;;;;;:::o;2672:990::-;;;;;;;2865:3;2853:9;2844:7;2840:23;2836:33;2833:2;;;2882:1;2879;2872:12;2833:2;2925:1;2950:53;2995:7;2986:6;2975:9;2971:22;2950:53;:::i;:::-;2940:63;;2896:117;3052:2;3078:53;3123:7;3114:6;3103:9;3099:22;3078:53;:::i;:::-;3068:63;;3023:118;3180:2;3206:53;3251:7;3242:6;3231:9;3227:22;3206:53;:::i;:::-;3196:63;;3151:118;3308:2;3334:53;3379:7;3370:6;3359:9;3355:22;3334:53;:::i;:::-;3324:63;;3279:118;3436:3;3463:53;3508:7;3499:6;3488:9;3484:22;3463:53;:::i;:::-;3453:63;;3407:119;3565:3;3592:53;3637:7;3628:6;3617:9;3613:22;3592:53;:::i;:::-;3582:63;;3536:119;2823:839;;;;;;;;:::o;3668:256::-;;3773:2;3761:9;3752:7;3748:23;3744:32;3741:2;;;3789:1;3786;3779:12;3741:2;3832:1;3857:50;3899:7;3890:6;3879:9;3875:22;3857:50;:::i;:::-;3847:60;;3803:114;3731:193;;;;:::o;3930:278::-;;4046:2;4034:9;4025:7;4021:23;4017:32;4014:2;;;4062:1;4059;4052:12;4014:2;4105:1;4130:61;4183:7;4174:6;4163:9;4159:22;4130:61;:::i;:::-;4120:71;;4076:125;4004:204;;;;:::o;4214:262::-;;4322:2;4310:9;4301:7;4297:23;4293:32;4290:2;;;4338:1;4335;4328:12;4290:2;4381:1;4406:53;4451:7;4442:6;4431:9;4427:22;4406:53;:::i;:::-;4396:63;;4352:117;4280:196;;;;:::o;4482:284::-;;4601:2;4589:9;4580:7;4576:23;4572:32;4569:2;;;4617:1;4614;4607:12;4569:2;4660:1;4685:64;4741:7;4732:6;4721:9;4717:22;4685:64;:::i;:::-;4675:74;;4631:128;4559:207;;;;:::o;4772:407::-;;;4897:2;4885:9;4876:7;4872:23;4868:32;4865:2;;;4913:1;4910;4903:12;4865:2;4956:1;4981:53;5026:7;5017:6;5006:9;5002:22;4981:53;:::i;:::-;4971:63;;4927:117;5083:2;5109:53;5154:7;5145:6;5134:9;5130:22;5109:53;:::i;:::-;5099:63;;5054:118;4855:324;;;;;:::o;5185:698::-;;;;;5344:3;5332:9;5323:7;5319:23;5315:33;5312:2;;;5361:1;5358;5351:12;5312:2;5404:1;5429:53;5474:7;5465:6;5454:9;5450:22;5429:53;:::i;:::-;5419:63;;5375:117;5531:2;5557:53;5602:7;5593:6;5582:9;5578:22;5557:53;:::i;:::-;5547:63;;5502:118;5659:2;5685:53;5730:7;5721:6;5710:9;5706:22;5685:53;:::i;:::-;5675:63;;5630:118;5787:2;5813:53;5858:7;5849:6;5838:9;5834:22;5813:53;:::i;:::-;5803:63;;5758:118;5302:581;;;;;;;:::o;5889:189::-;6010:61;6038:32;6064:5;6038:32;:::i;:::-;6010:61;:::i;:::-;6005:3;5998:74;5988:90;;:::o;6084:118::-;6171:24;6189:5;6171:24;:::i;:::-;6166:3;6159:37;6149:53;;:::o;6208:157::-;6313:45;6333:24;6351:5;6333:24;:::i;:::-;6313:45;:::i;:::-;6308:3;6301:58;6291:74;;:::o;6371:109::-;6452:21;6467:5;6452:21;:::i;:::-;6447:3;6440:34;6430:50;;:::o;6486:366::-;;6649:67;6713:2;6708:3;6649:67;:::i;:::-;6642:74;;6725:93;6814:3;6725:93;:::i;:::-;6843:2;6838:3;6834:12;6827:19;;6632:220;;;:::o;6858:366::-;;7021:67;7085:2;7080:3;7021:67;:::i;:::-;7014:74;;7097:93;7186:3;7097:93;:::i;:::-;7215:2;7210:3;7206:12;7199:19;;7004:220;;;:::o;7230:366::-;;7393:67;7457:2;7452:3;7393:67;:::i;:::-;7386:74;;7469:93;7558:3;7469:93;:::i;:::-;7587:2;7582:3;7578:12;7571:19;;7376:220;;;:::o;7602:366::-;;7765:67;7829:2;7824:3;7765:67;:::i;:::-;7758:74;;7841:93;7930:3;7841:93;:::i;:::-;7959:2;7954:3;7950:12;7943:19;;7748:220;;;:::o;7974:366::-;;8137:67;8201:2;8196:3;8137:67;:::i;:::-;8130:74;;8213:93;8302:3;8213:93;:::i;:::-;8331:2;8326:3;8322:12;8315:19;;8120:220;;;:::o;8346:366::-;;8509:67;8573:2;8568:3;8509:67;:::i;:::-;8502:74;;8585:93;8674:3;8585:93;:::i;:::-;8703:2;8698:3;8694:12;8687:19;;8492:220;;;:::o;8718:366::-;;8881:67;8945:2;8940:3;8881:67;:::i;:::-;8874:74;;8957:93;9046:3;8957:93;:::i;:::-;9075:2;9070:3;9066:12;9059:19;;8864:220;;;:::o;9090:366::-;;9253:67;9317:2;9312:3;9253:67;:::i;:::-;9246:74;;9329:93;9418:3;9329:93;:::i;:::-;9447:2;9442:3;9438:12;9431:19;;9236:220;;;:::o;9462:366::-;;9625:67;9689:2;9684:3;9625:67;:::i;:::-;9618:74;;9701:93;9790:3;9701:93;:::i;:::-;9819:2;9814:3;9810:12;9803:19;;9608:220;;;:::o;9834:366::-;;9997:67;10061:2;10056:3;9997:67;:::i;:::-;9990:74;;10073:93;10162:3;10073:93;:::i;:::-;10191:2;10186:3;10182:12;10175:19;;9980:220;;;:::o;10206:366::-;;10369:67;10433:2;10428:3;10369:67;:::i;:::-;10362:74;;10445:93;10534:3;10445:93;:::i;:::-;10563:2;10558:3;10554:12;10547:19;;10352:220;;;:::o;10578:118::-;10665:24;10683:5;10665:24;:::i;:::-;10660:3;10653:37;10643:53;;:::o;10702:157::-;10807:45;10827:24;10845:5;10827:24;:::i;:::-;10807:45;:::i;:::-;10802:3;10795:58;10785:74;;:::o;10865:993::-;;11148:75;11219:3;11210:6;11148:75;:::i;:::-;11248:2;11243:3;11239:12;11232:19;;11261:75;11332:3;11323:6;11261:75;:::i;:::-;11361:2;11356:3;11352:12;11345:19;;11374:91;11461:3;11452:6;11374:91;:::i;:::-;11490:2;11485:3;11481:12;11474:19;;11503:75;11574:3;11565:6;11503:75;:::i;:::-;11603:2;11598:3;11594:12;11587:19;;11616:75;11687:3;11678:6;11616:75;:::i;:::-;11716:2;11711:3;11707:12;11700:19;;11729:75;11800:3;11791:6;11729:75;:::i;:::-;11829:2;11824:3;11820:12;11813:19;;11849:3;11842:10;;11137:721;;;;;;;;;:::o;11864:222::-;;11995:2;11984:9;11980:18;11972:26;;12008:71;12076:1;12065:9;12061:17;12052:6;12008:71;:::i;:::-;11962:124;;;;:::o;12092:442::-;;12279:2;12268:9;12264:18;12256:26;;12292:71;12360:1;12349:9;12345:17;12336:6;12292:71;:::i;:::-;12373:72;12441:2;12430:9;12426:18;12417:6;12373:72;:::i;:::-;12455;12523:2;12512:9;12508:18;12499:6;12455:72;:::i;:::-;12246:288;;;;;;:::o;12540:332::-;;12699:2;12688:9;12684:18;12676:26;;12712:71;12780:1;12769:9;12765:17;12756:6;12712:71;:::i;:::-;12793:72;12861:2;12850:9;12846:18;12837:6;12793:72;:::i;:::-;12666:206;;;;;:::o;12878:210::-;;13003:2;12992:9;12988:18;12980:26;;13016:65;13078:1;13067:9;13063:17;13054:6;13016:65;:::i;:::-;12970:118;;;;:::o;13094:985::-;;13415:3;13404:9;13400:19;13392:27;;13429:65;13491:1;13480:9;13476:17;13467:6;13429:65;:::i;:::-;13504:72;13572:2;13561:9;13557:18;13548:6;13504:72;:::i;:::-;13586;13654:2;13643:9;13639:18;13630:6;13586:72;:::i;:::-;13668;13736:2;13725:9;13721:18;13712:6;13668:72;:::i;:::-;13750:73;13818:3;13807:9;13803:19;13794:6;13750:73;:::i;:::-;13833;13901:3;13890:9;13886:19;13877:6;13833:73;:::i;:::-;13916;13984:3;13973:9;13969:19;13960:6;13916:73;:::i;:::-;13999;14067:3;14056:9;14052:19;14043:6;13999:73;:::i;:::-;13382:697;;;;;;;;;;;:::o;14085:419::-;;14289:2;14278:9;14274:18;14266:26;;14338:9;14332:4;14328:20;14324:1;14313:9;14309:17;14302:47;14366:131;14492:4;14366:131;:::i;:::-;14358:139;;14256:248;;;:::o;14510:419::-;;14714:2;14703:9;14699:18;14691:26;;14763:9;14757:4;14753:20;14749:1;14738:9;14734:17;14727:47;14791:131;14917:4;14791:131;:::i;:::-;14783:139;;14681:248;;;:::o;14935:419::-;;15139:2;15128:9;15124:18;15116:26;;15188:9;15182:4;15178:20;15174:1;15163:9;15159:17;15152:47;15216:131;15342:4;15216:131;:::i;:::-;15208:139;;15106:248;;;:::o;15360:419::-;;15564:2;15553:9;15549:18;15541:26;;15613:9;15607:4;15603:20;15599:1;15588:9;15584:17;15577:47;15641:131;15767:4;15641:131;:::i;:::-;15633:139;;15531:248;;;:::o;15785:419::-;;15989:2;15978:9;15974:18;15966:26;;16038:9;16032:4;16028:20;16024:1;16013:9;16009:17;16002:47;16066:131;16192:4;16066:131;:::i;:::-;16058:139;;15956:248;;;:::o;16210:419::-;;16414:2;16403:9;16399:18;16391:26;;16463:9;16457:4;16453:20;16449:1;16438:9;16434:17;16427:47;16491:131;16617:4;16491:131;:::i;:::-;16483:139;;16381:248;;;:::o;16635:419::-;;16839:2;16828:9;16824:18;16816:26;;16888:9;16882:4;16878:20;16874:1;16863:9;16859:17;16852:47;16916:131;17042:4;16916:131;:::i;:::-;16908:139;;16806:248;;;:::o;17060:419::-;;17264:2;17253:9;17249:18;17241:26;;17313:9;17307:4;17303:20;17299:1;17288:9;17284:17;17277:47;17341:131;17467:4;17341:131;:::i;:::-;17333:139;;17231:248;;;:::o;17485:419::-;;17689:2;17678:9;17674:18;17666:26;;17738:9;17732:4;17728:20;17724:1;17713:9;17709:17;17702:47;17766:131;17892:4;17766:131;:::i;:::-;17758:139;;17656:248;;;:::o;17910:419::-;;18114:2;18103:9;18099:18;18091:26;;18163:9;18157:4;18153:20;18149:1;18138:9;18134:17;18127:47;18191:131;18317:4;18191:131;:::i;:::-;18183:139;;18081:248;;;:::o;18335:419::-;;18539:2;18528:9;18524:18;18516:26;;18588:9;18582:4;18578:20;18574:1;18563:9;18559:17;18552:47;18616:131;18742:4;18616:131;:::i;:::-;18608:139;;18506:248;;;:::o;18760:222::-;;18891:2;18880:9;18876:18;18868:26;;18904:71;18972:1;18961:9;18957:17;18948:6;18904:71;:::i;:::-;18858:124;;;;:::o;18988:418::-;;19163:2;19152:9;19148:18;19140:26;;19176:71;19244:1;19233:9;19229:17;19220:6;19176:71;:::i;:::-;19257:66;19319:2;19308:9;19304:18;19295:6;19257:66;:::i;:::-;19333;19395:2;19384:9;19380:18;19371:6;19333:66;:::i;:::-;19130:276;;;;;;:::o;19412:332::-;;19571:2;19560:9;19556:18;19548:26;;19584:71;19652:1;19641:9;19637:17;19628:6;19584:71;:::i;:::-;19665:72;19733:2;19722:9;19718:18;19709:6;19665:72;:::i;:::-;19538:206;;;;;:::o;19750:169::-;;19868:6;19863:3;19856:19;19908:4;19903:3;19899:14;19884:29;;19846:73;;;;:::o;19925:305::-;;19984:20;20002:1;19984:20;:::i;:::-;19979:25;;20018:20;20036:1;20018:20;:::i;:::-;20013:25;;20172:1;20104:66;20100:74;20097:1;20094:81;20091:2;;;20178:18;;:::i;:::-;20091:2;20222:1;20219;20215:9;20208:16;;19969:261;;;;:::o;20236:185::-;;20293:20;20311:1;20293:20;:::i;:::-;20288:25;;20327:20;20345:1;20327:20;:::i;:::-;20322:25;;20366:1;20356:2;;20371:18;;:::i;:::-;20356:2;20413:1;20410;20406:9;20401:14;;20278:143;;;;:::o;20427:848::-;;;20519:6;20510:15;;20543:5;20534:14;;20557:712;20578:1;20568:8;20565:15;20557:712;;;20673:4;20668:3;20664:14;20658:4;20655:24;20652:2;;;20682:18;;:::i;:::-;20652:2;20732:1;20722:8;20718:16;20715:2;;;21147:4;21140:5;21136:16;21127:25;;20715:2;21197:4;21191;21187:15;21179:23;;21227:32;21250:8;21227:32;:::i;:::-;21215:44;;20557:712;;;20500:775;;;;;;;:::o;21281:285::-;;21365:23;21383:4;21365:23;:::i;:::-;21357:31;;21409:27;21427:8;21409:27;:::i;:::-;21397:39;;21455:104;21492:66;21482:8;21476:4;21455:104;:::i;:::-;21446:113;;21347:219;;;;:::o;21572:1073::-;;21817:8;21807:2;;21838:1;21829:10;;21840:5;;21807:2;21866:4;21856:2;;21883:1;21874:10;;21885:5;;21856:2;21952:4;22000:1;21995:27;;;;22036:1;22031:191;;;;21945:277;;21995:27;22013:1;22004:10;;22015:5;;;22031:191;22076:3;22066:8;22063:17;22060:2;;;22083:18;;:::i;:::-;22060:2;22132:8;22129:1;22125:16;22116:25;;22167:3;22160:5;22157:14;22154:2;;;22174:18;;:::i;:::-;22154:2;22207:5;;;21945:277;;22331:2;22321:8;22318:16;22312:3;22306:4;22303:13;22299:36;22281:2;22271:8;22268:16;22263:2;22257:4;22254:12;22250:35;22234:111;22231:2;;;22387:8;22381:4;22377:19;22368:28;;22422:3;22415:5;22412:14;22409:2;;;22429:18;;:::i;:::-;22409:2;22462:5;;22231:2;22502:42;22540:3;22530:8;22524:4;22521:1;22502:42;:::i;:::-;22487:57;;;;22576:4;22571:3;22567:14;22560:5;22557:25;22554:2;;;22585:18;;:::i;:::-;22554:2;22634:4;22627:5;22623:16;22614:25;;21632:1013;;;;;;:::o;22651:348::-;;22714:20;22732:1;22714:20;:::i;:::-;22709:25;;22748:20;22766:1;22748:20;:::i;:::-;22743:25;;22936:1;22868:66;22864:74;22861:1;22858:81;22853:1;22846:9;22839:17;22835:105;22832:2;;;22943:18;;:::i;:::-;22832:2;22991:1;22988;22984:9;22973:20;;22699:300;;;;:::o;23005:191::-;;23065:20;23083:1;23065:20;:::i;:::-;23060:25;;23099:20;23117:1;23099:20;:::i;:::-;23094:25;;23138:1;23135;23132:8;23129:2;;;23143:18;;:::i;:::-;23129:2;23188:1;23185;23181:9;23173:17;;23050:146;;;;:::o;23202:96::-;;23268:24;23286:5;23268:24;:::i;:::-;23257:35;;23247:51;;;:::o;23304:104::-;;23378:24;23396:5;23378:24;:::i;:::-;23367:35;;23357:51;;;:::o;23414:90::-;;23491:5;23484:13;23477:21;23466:32;;23456:48;;;:::o;23510:126::-;;23587:42;23580:5;23576:54;23565:65;;23555:81;;;:::o;23642:77::-;;23708:5;23697:16;;23687:32;;;:::o;23725:100::-;;23793:26;23813:5;23793:26;:::i;:::-;23782:37;;23772:53;;;:::o;23831:108::-;;23907:26;23927:5;23907:26;:::i;:::-;23896:37;;23886:53;;;:::o;23945:94::-;;24013:20;24027:5;24013:20;:::i;:::-;24002:31;;23992:47;;;:::o;24045:79::-;;24113:5;24102:16;;24092:32;;;:::o;24130:176::-;;24179:20;24197:1;24179:20;:::i;:::-;24174:25;;24213:20;24231:1;24213:20;:::i;:::-;24208:25;;24252:1;24242:2;;24257:18;;:::i;:::-;24242:2;24298:1;24295;24291:9;24286:14;;24164:142;;;;:::o;24312:180::-;24360:77;24357:1;24350:88;24457:4;24454:1;24447:15;24481:4;24478:1;24471:15;24498:180;24546:77;24543:1;24536:88;24643:4;24640:1;24633:15;24667:4;24664:1;24657:15;24684:94;;24765:5;24761:2;24757:14;24736:35;;24726:52;;;:::o;24784:102::-;;24873:5;24870:1;24866:13;24845:34;;24835:51;;;:::o;24892:221::-;25032:34;25028:1;25020:6;25016:14;25009:58;25101:4;25096:2;25088:6;25084:15;25077:29;24998:115;:::o;25119:175::-;25259:27;25255:1;25247:6;25243:14;25236:51;25225:69;:::o;25300:169::-;25440:21;25436:1;25428:6;25424:14;25417:45;25406:63;:::o;25475:169::-;25615:21;25611:1;25603:6;25599:14;25592:45;25581:63;:::o;25650:174::-;25790:26;25786:1;25778:6;25774:14;25767:50;25756:68;:::o;25830:172::-;25970:24;25966:1;25958:6;25954:14;25947:48;25936:66;:::o;26008:169::-;26148:21;26144:1;26136:6;26132:14;26125:45;26114:63;:::o;26183:175::-;26323:27;26319:1;26311:6;26307:14;26300:51;26289:69;:::o;26364:227::-;26504:34;26500:1;26492:6;26488:14;26481:58;26573:10;26568:2;26560:6;26556:15;26549:35;26470:121;:::o;26597:166::-;26737:18;26733:1;26725:6;26721:14;26714:42;26703:60;:::o;26769:182::-;26909:34;26905:1;26897:6;26893:14;26886:58;26875:76;:::o;26957:122::-;27030:24;27048:5;27030:24;:::i;:::-;27023:5;27020:35;27010:2;;27069:1;27066;27059:12;27010:2;27000:79;:::o;27085:116::-;27155:21;27170:5;27155:21;:::i;:::-;27148:5;27145:32;27135:2;;27191:1;27188;27181:12;27135:2;27125:76;:::o;27207:122::-;27280:24;27298:5;27280:24;:::i;:::-;27273:5;27270:35;27260:2;;27319:1;27316;27309:12;27260:2;27250:79;:::o

Swarm Source

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