BNB Price: $619.73 (+0.94%)
 

Overview

BNB Balance

BNB Smart Chain LogoBNB Smart Chain LogoBNB Smart Chain Logo0.019598719289423424 BNB

BNB Value

$12.15 (@ $619.73/BNB)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Claim882843252026-03-23 14:37:1622 days ago1774276636IN
0x19f7714e...1a5344E59
0 BNB0.000003490.05
Burn880065392026-03-22 3:52:4523 days ago1774151565IN
0x19f7714e...1a5344E59
0 BNB0.000029570.073375
Claim874558192026-03-19 7:00:5326 days ago1773903653IN
0x19f7714e...1a5344E59
0 BNB0.000004450.06565
Claim874557152026-03-19 7:00:0726 days ago1773903607IN
0x19f7714e...1a5344E59
0 BNB0.000004450.06565
Claim874556552026-03-19 6:59:4026 days ago1773903580IN
0x19f7714e...1a5344E59
0 BNB0.000004450.06565
Claim874555952026-03-19 6:59:1326 days ago1773903553IN
0x19f7714e...1a5344E59
0 BNB0.000004450.06565
Claim874555422026-03-19 6:58:4926 days ago1773903529IN
0x19f7714e...1a5344E59
0 BNB0.000004450.06565
Claim874554802026-03-19 6:58:2126 days ago1773903501IN
0x19f7714e...1a5344E59
0 BNB0.000004450.06565
Claim874554122026-03-19 6:57:5026 days ago1773903470IN
0x19f7714e...1a5344E59
0 BNB0.000004540.06696956
Claim874550232026-03-19 6:54:5526 days ago1773903295IN
0x19f7714e...1a5344E59
0 BNB0.000006780.1
Claim874548582026-03-19 6:53:4126 days ago1773903221IN
0x19f7714e...1a5344E59
0 BNB0.000006780.1
Burn873044632026-03-18 12:05:0727 days ago1773835507IN
0x19f7714e...1a5344E59
0 BNB0.000014710.06565
Burn873042812026-03-18 12:03:4527 days ago1773835425IN
0x19f7714e...1a5344E59
0 BNB0.000015140.06565
Burn873042082026-03-18 12:03:1227 days ago1773835392IN
0x19f7714e...1a5344E59
0 BNB0.000016790.06565
Burn873038972026-03-18 12:00:5227 days ago1773835252IN
0x19f7714e...1a5344E59
0 BNB0.000019410.0663065
Burn873037812026-03-18 12:00:0027 days ago1773835200IN
0x19f7714e...1a5344E59
0 BNB0.000021660.06565
Burn873037122026-03-18 11:59:2927 days ago1773835169IN
0x19f7714e...1a5344E59
0 BNB0.000024090.06565
Burn873036362026-03-18 11:58:5427 days ago1773835134IN
0x19f7714e...1a5344E59
0 BNB0.000026530.06565
Burn873034002026-03-18 11:57:0827 days ago1773835028IN
0x19f7714e...1a5344E59
0 BNB0.000029260.0663065
Burn873032072026-03-18 11:55:4127 days ago1773834941IN
0x19f7714e...1a5344E59
0 BNB0.00003140.06565
Burn873018912026-03-18 11:45:4927 days ago1773834349IN
0x19f7714e...1a5344E59
0 BNB0.000034410.06565
Claim872997792026-03-18 11:29:5827 days ago1773833398IN
0x19f7714e...1a5344E59
0 BNB0.000003410.05030973
Claim872994832026-03-18 11:27:4527 days ago1773833265IN
0x19f7714e...1a5344E59
0 BNB0.000003560.0525
Claim870379552026-03-17 2:28:0728 days ago1773714487IN
0x19f7714e...1a5344E59
0 BNB0.00000520.07676244
Burn865033392026-03-14 7:19:5431 days ago1773472794IN
0x19f7714e...1a5344E59
0 BNB0.000050820.1
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
901607282026-04-02 9:22:5212 days ago1775121772
0x19f7714e...1a5344E59
0.00172891 BNB
882843252026-03-23 14:37:1622 days ago1774276636
0x19f7714e...1a5344E59
0.00093736 BNB
880065392026-03-22 3:52:4523 days ago1774151565
0x19f7714e...1a5344E59
0.00236843 BNB
880065392026-03-22 3:52:4523 days ago1774151565
0x19f7714e...1a5344E59
0.00236843 BNB
880065392026-03-22 3:52:4523 days ago1774151565
0x19f7714e...1a5344E59
0.00236843 BNB
880065392026-03-22 3:52:4523 days ago1774151565
0x19f7714e...1a5344E59
0.00236843 BNB
880065392026-03-22 3:52:4523 days ago1774151565
0x19f7714e...1a5344E59
0.00236843 BNB
880065392026-03-22 3:52:4523 days ago1774151565
0x19f7714e...1a5344E59
0.00236843 BNB
880065392026-03-22 3:52:4523 days ago1774151565
0x19f7714e...1a5344E59
0.00236843 BNB
880065392026-03-22 3:52:4523 days ago1774151565
0x19f7714e...1a5344E59
0.00710529 BNB
880065392026-03-22 3:52:4523 days ago1774151565
0x19f7714e...1a5344E59
0.00947373 BNB
880065392026-03-22 3:52:4523 days ago1774151565
0x19f7714e...1a5344E59
0.01421059 BNB
874787402026-03-19 9:52:5126 days ago1773913971
0x19f7714e...1a5344E59
0.00169887 BNB
874558192026-03-19 7:00:5326 days ago1773903653
0x19f7714e...1a5344E59
0.01444806 BNB
874557152026-03-19 7:00:0726 days ago1773903607
0x19f7714e...1a5344E59
0.01444806 BNB
874556552026-03-19 6:59:4026 days ago1773903580
0x19f7714e...1a5344E59
0.01444806 BNB
874555952026-03-19 6:59:1326 days ago1773903553
0x19f7714e...1a5344E59
0.01444806 BNB
874555422026-03-19 6:58:4926 days ago1773903529
0x19f7714e...1a5344E59
0.01444806 BNB
874554802026-03-19 6:58:2126 days ago1773903501
0x19f7714e...1a5344E59
0.01444806 BNB
874554122026-03-19 6:57:5026 days ago1773903470
0x19f7714e...1a5344E59
0.01444806 BNB
874550232026-03-19 6:54:5526 days ago1773903295
0x19f7714e...1a5344E59
0.01444806 BNB
874548582026-03-19 6:53:4126 days ago1773903221
0x19f7714e...1a5344E59
0.01444806 BNB
873018912026-03-18 11:45:4927 days ago1773834349
0x19f7714e...1a5344E59
0.02004602 BNB
873001142026-03-18 11:32:2827 days ago1773833548
0x19f7714e...1a5344E59
0.00683814 BNB
872997792026-03-18 11:29:5827 days ago1773833398
0x19f7714e...1a5344E59
0.00010906 BNB
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Dividend

Compiler Version
v0.8.30+commit.73712a01

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at BscScan.com on 2026-03-12
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

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

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

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

    function decimals() external view returns (uint8);
}

abstract contract Ownable {
    address public owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
    constructor() {
        owner = msg.sender;
        emit OwnershipTransferred(address(0), msg.sender);
    }
    modifier onlyOwner() {
        require(msg.sender == owner, "Not owner");
        _;
    }
    function renounceOwnership() external onlyOwner {
        emit OwnershipTransferred(owner, address(0));
        owner = address(0);
    }
}

abstract contract ReentrancyGuard {
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;
    uint256 private _status;
    constructor() {
        _status = _NOT_ENTERED;
    }
    modifier nonReentrant() {
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
        _status = _ENTERED;
        _;
        _status = _NOT_ENTERED;
    }
}

contract Dividend is Ownable, ReentrancyGuard {
    address public constant BURN_ADDRESS =
    0x000000000000000000000000000000000000dEaD;

    uint256 private constant PRECISION = 1e18;

    uint256 public INFLATION_THRESHOLD;

    uint256 public constant MIN_BURN_VALUE = 1000 * 1e18;

    uint256 public constant RACE_INTERVAL = 4 hours;

    uint256 public constant DIVIDEND_PERCENTAGE = 65;

    uint8[10] public rankConfig = [30, 20, 15, 5, 5, 5, 5, 5, 5, 5];

    string public constant name = "SkyRoad_Dividend";
    string public constant symbol = "DTD";
    uint8 public constant decimals = 18;

    IERC20 public tokenContract;
    IERC20 public lpContract;
    bool public initSet;

    uint256 public totalSupply;
    mapping(address => uint256) public balanceOf;
    uint256 public rewardPerShareStored;
    mapping(address => uint256) public userRewardPerSharePaid;
    mapping(address => uint256) public rewards;

    uint256 public currentRaceId;
    uint256 public nextRaceTime;
    uint256 public racePool;

    struct BurnerInfo {
        address user;
        uint256 effectiveAmount;
    }

    BurnerInfo[10] public topBurners;

    mapping(uint256 => mapping(address => uint256)) public raceBurnStats;

    mapping(address => bool) public isUserInTop10;

    uint256 public totalBurnedValue;
    uint256 public totalDividendsPaid;
    uint256 public totalRacePaid;

    event Burned(
        address indexed user,
        uint256 effectiveTokenValue,
        uint256 sharesMinted,
        uint256 raceId
    );
    event Claimed(address indexed user, uint256 reward, uint256 sharesBurned);
    event RaceSettled(
        uint256 indexed raceId,
        uint256 totalPrize,
        uint256 timestamp
    );
    event RaceWinner(
        uint256 indexed raceId,
        address indexed user,
        uint256 rank,
        uint256 prize
    );
    event Deposit(uint256 amount, uint256 dividendPart, uint256 racePart);

    modifier onlyEOA() {
        require(tx.origin == msg.sender, "Only EOA allowed");
        _;
    }

    constructor() {
        currentRaceId = 1;
    }

    function setContracts(address _token) external onlyOwner {
        require(!initSet, "Already set");
        require(
            _token != address(0),
            "Invalid address"
        );

        tokenContract = IERC20(_token);
        INFLATION_THRESHOLD = tokenContract.totalSupply() / 10;
        nextRaceTime = block.timestamp + RACE_INTERVAL;
        initSet = true;
    }

    receive() external payable {
        distributeDeposit(msg.value);
    }

    fallback() external payable {
        distributeDeposit(msg.value);
    }

    function distributeDeposit(uint256 amount) internal {
        if (amount == 0) return;

        uint256 dividendPart = (amount * DIVIDEND_PERCENTAGE) / 100;
        uint256 racePart = amount - dividendPart;

        if (totalSupply > 0) {
            rewardPerShareStored += (dividendPart * PRECISION) / totalSupply;
        } else {
            racePart += dividendPart;
        }

        racePool += racePart;
        emit Deposit(amount, dividendPart, racePart);
    }

    function burn(uint256 amount) external nonReentrant onlyEOA {
        require(initSet, "Contracts not set");
        require(amount > 0, "Amount must be > 0");

        require(balanceOf[msg.sender] == 0, "Claim rewards first");

        _trySettleRace();
        _updateReward(msg.sender);

        require(amount >= MIN_BURN_VALUE, "Value too low");

        bool success = tokenContract.transferFrom(
            msg.sender,
            BURN_ADDRESS,
            amount
        );
        require(success, "Token Transfer failed");

        uint256 mintShares = calculateMintShares(amount);
        _mint(msg.sender, mintShares);

        totalBurnedValue += amount;

        _updateRaceProgress(msg.sender, amount);

        emit Burned(
            msg.sender,
            amount,
            mintShares,
            currentRaceId
        );
    }


    function calculateMintShares(
        uint256 effectiveValue
    ) public view returns (uint256) {
        if (totalBurnedValue <= INFLATION_THRESHOLD) {
            return effectiveValue;
        } else {
            return (effectiveValue * totalBurnedValue) / INFLATION_THRESHOLD;
        }
    }

    function _trySettleRace() internal {
        if (block.timestamp < nextRaceTime) return;

        uint256 prizePool = racePool;

        if (prizePool > 0) {
            uint256 distributed = 0;
            for (uint256 i = 0; i < 10; i++) {
                address winner = topBurners[i].user;
                if (winner == address(0)) break;

                uint256 percentage = rankConfig[i];
                if (percentage > 0) {
                    uint256 prize = (prizePool * percentage) / 100;
                    if (prize > 0) {
                        (bool success,) = payable(winner).call{value: prize}(
                            ""
                        );
                        if (success) {
                            distributed += prize;
                            emit RaceWinner(
                                currentRaceId,
                                winner,
                                i + 1,
                                prize
                            );
                        }
                    }
                }
            }
            totalRacePaid += distributed;
            racePool -= distributed;
            emit RaceSettled(currentRaceId, distributed, block.timestamp);
        }

        _resetRaceState();
    }

    function _resetRaceState() internal {
        for (uint256 i = 0; i < 10; i++) {
            if (topBurners[i].user != address(0)) {
                isUserInTop10[topBurners[i].user] = false;
            }
            delete topBurners[i];
        }
        nextRaceTime = block.timestamp + RACE_INTERVAL;
        currentRaceId++;
    }

    function manualSettleRace() external nonReentrant {
        require(initSet, "Not initialized");
        require(block.timestamp >= nextRaceTime, "Race not finished");
        _trySettleRace();
    }

    function _updateRaceProgress(
        address user,
        uint256 effectiveValue
    ) internal {
        raceBurnStats[currentRaceId][user] += effectiveValue;
        uint256 userTotalValue = raceBurnStats[currentRaceId][user];

        if (userTotalValue >= MIN_BURN_VALUE) {
            _updateTop10(user, userTotalValue);
        }
    }

    function _updateTop10(address user, uint256 amount) internal {
        uint256 userIndex = 10;

        if (isUserInTop10[user]) {
            for (uint256 i = 0; i < 10; i++) {
                if (topBurners[i].user == user) {
                    userIndex = i;
                    break;
                }
            }
        }

        if (userIndex < 10) {
            topBurners[userIndex].effectiveAmount = amount;
            _bubbleUp(userIndex);
        } else {
            if (amount > topBurners[9].effectiveAmount) {
                if (topBurners[9].user != address(0)) {
                    isUserInTop10[topBurners[9].user] = false;
                }
                topBurners[9] = BurnerInfo(user, amount);
                isUserInTop10[user] = true;
                _bubbleUp(9);
            }
        }
    }

    function _bubbleUp(uint256 index) internal {
        while (index > 0) {
            if (
                topBurners[index].effectiveAmount >
                topBurners[index - 1].effectiveAmount
            ) {
                BurnerInfo memory temp = topBurners[index - 1];
                topBurners[index - 1] = topBurners[index];
                topBurners[index] = temp;
                index--;
            } else {
                break;
            }
        }
    }

    function claim() external nonReentrant onlyEOA {
        _updateReward(msg.sender);

        uint256 reward = rewards[msg.sender];
        uint256 shares = balanceOf[msg.sender];

        require(reward > 0 || shares > 0, "Nothing to claim");

        if (reward > 0) {
            rewards[msg.sender] = 0;
            totalDividendsPaid += reward;
            (bool success,) = payable(msg.sender).call{value: reward}("");
            require(success, "BNB transfer failed");
        }

        if (shares > 0) {
            _burn(msg.sender, shares);
        }

        emit Claimed(msg.sender, reward, shares);
    }

    function _updateReward(address account) internal {
        if (account != address(0)) {
            rewards[account] = earned(account);
            userRewardPerSharePaid[account] = rewardPerShareStored;
        }
    }

    function earned(address account) public view returns (uint256) {
        return
                (balanceOf[account] *
                    (rewardPerShareStored - userRewardPerSharePaid[account])) /
                PRECISION +
                rewards[account];
    }

    function _mint(address account, uint256 amount) internal {
        _updateReward(account);
        totalSupply += amount;
        balanceOf[account] += amount;
    }

    function _burn(address account, uint256 amount) internal {
        _updateReward(account);
        totalSupply -= amount;
        balanceOf[account] -= amount;
    }

    function getTop10() external view returns (BurnerInfo[10] memory) {
        return topBurners;
    }

    function getUserCurrentRaceBurn(
        address user
    ) external view returns (uint256) {
        return raceBurnStats[currentRaceId][user];
    }

    function getTimeUntilNextRace() external view returns (uint256) {
        if (block.timestamp >= nextRaceTime) return 0;
        return nextRaceTime - block.timestamp;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"effectiveTokenValue","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sharesMinted","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"raceId","type":"uint256"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sharesBurned","type":"uint256"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"dividendPart","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"racePart","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raceId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalPrize","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"RaceSettled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"raceId","type":"uint256"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"rank","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"prize","type":"uint256"}],"name":"RaceWinner","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"BURN_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DIVIDEND_PERCENTAGE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INFLATION_THRESHOLD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_BURN_VALUE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RACE_INTERVAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"effectiveValue","type":"uint256"}],"name":"calculateMintShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentRaceId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTimeUntilNextRace","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTop10","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"effectiveAmount","type":"uint256"}],"internalType":"struct Dividend.BurnerInfo[10]","name":"","type":"tuple[10]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getUserCurrentRaceBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isUserInTop10","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpContract","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSettleRace","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextRaceTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"raceBurnStats","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"racePool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"rankConfig","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardPerShareStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"setContracts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenContract","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"topBurners","outputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"effectiveAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurnedValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDividendsPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRacePaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerSharePaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052604051806101400160405280601e60ff168152602001601460ff168152602001600f60ff168152602001600560ff168152602001600560ff168152602001600560ff168152602001600560ff168152602001600560ff168152602001600560ff168152602001600560ff16815250600390600a61008292919061013c565b5034801561008e575f5ffd5b50335f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600180819055506001600b819055506101ee565b82600a601f016020900481019282156101c2579160200282015f5b8382111561019457835183826101000a81548160ff021916908360ff16021790555092602001926001016020815f01049283019260010302610157565b80156101c05782816101000a81549060ff02191690556001016020815f01049283019260010302610194565b505b5090506101cf91906101d3565b5090565b5b808211156101ea575f815f9055506001016101d4565b5090565b6132b8806101fb5f395ff3fe60806040526004361061021c575f3560e01c806370a0823111610122578063954ba568116100aa578063c9e189861161006e578063c9e18986146107ec578063ccd5448714610816578063dfa8f2d414610840578063e5dc0fac1461086a578063fccc2813146108945761022c565b8063954ba568146106f557806395d89b41146107325780639ad9d5011461075c5780639ae41ccd14610786578063ae77071d146107c25761022c565b8063818ae1ce116100f1578063818ae1ce146105ff57806384837ee11461063b5780638acee3cf146106655780638da5cb5b1461068f578063929ebac2146106b95761022c565b806370a0823114610547578063715018a61461058357806372993683146105995780638183e38b146105c35761022c565b806342966c68116101a557806355a373d61161017457806355a373d61461045357806355dbd46e1461047d5780635a2e2f47146104b95780635eab3453146104e1578063681c56e71461050b5761022c565b806342966c68146103c15780634e71d92d146103e95780634f31b8f5146103ff5780634f8c278f146104295761022c565b80630ab747f0116101ec5780630ab747f0146103035780631569be021461032d57806318160ddd146103435780632d61a5521461036d578063313ce567146103975761022c565b80628cc262146102375780630109b3321461027357806306fdde031461029d5780630700037d146102c75761022c565b3661022c5761022a346108be565b005b610235346108be565b005b348015610242575f5ffd5b5061025d600480360381019061025891906125fc565b6109a0565b60405161026a919061263f565b60405180910390f35b34801561027e575f5ffd5b50610287610a96565b604051610294919061263f565b60405180910390f35b3480156102a8575f5ffd5b506102b1610abc565b6040516102be91906126c8565b60405180910390f35b3480156102d2575f5ffd5b506102ed60048036038101906102e891906125fc565b610af5565b6040516102fa919061263f565b60405180910390f35b34801561030e575f5ffd5b50610317610b0a565b604051610324919061263f565b60405180910390f35b348015610338575f5ffd5b50610341610b10565b005b34801561034e575f5ffd5b50610357610c02565b604051610364919061263f565b60405180910390f35b348015610378575f5ffd5b50610381610c08565b60405161038e919061263f565b60405180910390f35b3480156103a2575f5ffd5b506103ab610c15565b6040516103b89190612703565b60405180910390f35b3480156103cc575f5ffd5b506103e760048036038101906103e29190612746565b610c1a565b005b3480156103f4575f5ffd5b506103fd610fbd565b005b34801561040a575f5ffd5b506104136112c9565b604051610420919061278b565b60405180910390f35b348015610434575f5ffd5b5061043d6112dc565b60405161044a919061263f565b60405180910390f35b34801561045e575f5ffd5b506104676112e2565b60405161047491906127ff565b60405180910390f35b348015610488575f5ffd5b506104a3600480360381019061049e91906125fc565b611307565b6040516104b0919061278b565b60405180910390f35b3480156104c4575f5ffd5b506104df60048036038101906104da91906125fc565b611324565b005b3480156104ec575f5ffd5b506104f5611582565b604051610502919061263f565b60405180910390f35b348015610516575f5ffd5b50610531600480360381019061052c91906125fc565b611587565b60405161053e919061263f565b60405180910390f35b348015610552575f5ffd5b5061056d600480360381019061056891906125fc565b6115de565b60405161057a919061263f565b60405180910390f35b34801561058e575f5ffd5b506105976115f3565b005b3480156105a4575f5ffd5b506105ad61173c565b6040516105ba919061263f565b60405180910390f35b3480156105ce575f5ffd5b506105e960048036038101906105e49190612818565b611742565b6040516105f6919061263f565b60405180910390f35b34801561060a575f5ffd5b50610625600480360381019061062091906125fc565b611762565b604051610632919061263f565b60405180910390f35b348015610646575f5ffd5b5061064f611777565b60405161065c9190612937565b60405180910390f35b348015610670575f5ffd5b50610679611826565b60405161068691906127ff565b60405180910390f35b34801561069a575f5ffd5b506106a361184b565b6040516106b09190612960565b60405180910390f35b3480156106c4575f5ffd5b506106df60048036038101906106da9190612746565b61186f565b6040516106ec9190612703565b60405180910390f35b348015610700575f5ffd5b5061071b60048036038101906107169190612746565b611898565b604051610729929190612979565b60405180910390f35b34801561073d575f5ffd5b506107466118de565b60405161075391906126c8565b60405180910390f35b348015610767575f5ffd5b50610770611917565b60405161077d919061263f565b60405180910390f35b348015610791575f5ffd5b506107ac60048036038101906107a79190612746565b61191d565b6040516107b9919061263f565b60405180910390f35b3480156107cd575f5ffd5b506107d6611954565b6040516107e3919061263f565b60405180910390f35b3480156107f7575f5ffd5b5061080061195a565b60405161080d919061263f565b60405180910390f35b348015610821575f5ffd5b5061082a611960565b604051610837919061263f565b60405180910390f35b34801561084b575f5ffd5b50610854611966565b604051610861919061263f565b60405180910390f35b348015610875575f5ffd5b5061087e61196c565b60405161088b919061263f565b60405180910390f35b34801561089f575f5ffd5b506108a8611972565b6040516108b59190612960565b60405180910390f35b5f81031561099d575f60646041836108d691906129cd565b6108e09190612a3b565b90505f81836108ef9190612a6b565b90505f600654111561093857600654670de0b6b3a76400008361091291906129cd565b61091c9190612a3b565b60085f82825461092c9190612a9e565b92505081905550610947565b81816109449190612a9e565b90505b80600d5f8282546109589190612a9e565b925050819055507f33da4f9b82b3e18a281ca2cabbe2f076925692abb593b7ea3f850009e8ec977083838360405161099293929190612ad1565b60405180910390a150505b50565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054670de0b6b3a764000060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054600854610a339190612a6b565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a7b91906129cd565b610a859190612a3b565b610a8f9190612a9e565b9050919050565b5f600c544210610aa8575f9050610ab9565b42600c54610ab69190612a6b565b90505b90565b6040518060400160405280601081526020017f536b79526f61645f4469766964656e640000000000000000000000000000000081525081565b600a602052805f5260405f205f915090505481565b60085481565b600260015403610b55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4c90612b50565b60405180910390fd5b6002600181905550600560149054906101000a900460ff16610bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba390612bb8565b60405180910390fd5b600c54421015610bf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be890612c20565b60405180910390fd5b610bf9611978565b60018081905550565b60065481565b683635c9adc5dea0000081565b601281565b600260015403610c5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5690612b50565b60405180910390fd5b60026001819055503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccc90612c88565b60405180910390fd5b600560149054906101000a900460ff16610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b90612cf0565b60405180910390fd5b5f8111610d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5d90612d58565b60405180910390fd5b5f60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414610de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddc90612dc0565b60405180910390fd5b610ded611978565b610df633611bdc565b683635c9adc5dea00000811015610e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3990612e28565b60405180910390fd5b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3361dead856040518463ffffffff1660e01b8152600401610ea393929190612e46565b6020604051808303815f875af1158015610ebf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee39190612ea5565b905080610f25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1c90612f1a565b60405180910390fd5b5f610f2f8361191d565b9050610f3b3382611ca1565b8260245f828254610f4c9190612a9e565b92505081905550610f5d3384611d19565b3373ffffffffffffffffffffffffffffffffffffffff167f4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c08483600b54604051610fa993929190612ad1565b60405180910390a250506001808190555050565b600260015403611002576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff990612b50565b60405180910390fd5b60026001819055503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611078576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106f90612c88565b60405180910390fd5b61108133611bdc565b5f600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f82118061111057505f81115b61114f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114690612f82565b60405180910390fd5b5f82111561125b575f600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160255f8282546111aa9190612a9e565b925050819055505f3373ffffffffffffffffffffffffffffffffffffffff16836040516111d690612fcd565b5f6040518083038185875af1925050503d805f8114611210576040519150601f19603f3d011682016040523d82523d5f602084013e611215565b606091505b5050905080611259576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112509061302b565b60405180910390fd5b505b5f81111561126e5761126d3382611def565b5b3373ffffffffffffffffffffffffffffffffffffffff167f987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9a83836040516112b6929190613049565b60405180910390a2505060018081905550565b600560149054906101000a900460ff1681565b61384081565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6023602052805f5260405f205f915054906101000a900460ff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a9906130ba565b60405180910390fd5b600560149054906101000a900460ff1615611402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f990613122565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611470576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114679061318a565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561151c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061154091906131bc565b61154a9190612a3b565b6002819055506138404261155e9190612a9e565b600c819055506001600560146101000a81548160ff02191690831515021790555050565b604181565b5f60225f600b5481526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6007602052805f5260405f205f915090505481565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611681576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611678906130ba565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60265481565b6022602052815f5260405f20602052805f5260405f205f91509150505481565b6009602052805f5260405f205f915090505481565b61177f612542565b600e600a80602002604051908101604052809291905f905b8282101561181d578382600202016040518060400160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152505081526020019060010190611797565b50505050905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600381600a811061187e575f80fd5b60209182820401919006915054906101000a900460ff1681565b600e81600a81106118a7575f80fd5b600202015f91509050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b6040518060400160405280600381526020017f445444000000000000000000000000000000000000000000000000000000000081525081565b600b5481565b5f600254602454116119315781905061194f565b6002546024548361194291906129cd565b61194c9190612a3b565b90505b919050565b60025481565b60255481565b600c5481565b600d5481565b60245481565b61dead81565b600c544210611bda575f600d5490505f811115611bd0575f5f90505f5f90505b600a811015611b61575f600e82600a81106119b6576119b56131e7565b5b600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a175750611b61565b5f600383600a8110611a2c57611a2b6131e7565b5b602091828204019190069054906101000a900460ff1660ff1690505f811115611b52575f60648287611a5e91906129cd565b611a689190612a3b565b90505f811115611b50575f8373ffffffffffffffffffffffffffffffffffffffff1682604051611a9790612fcd565b5f6040518083038185875af1925050503d805f8114611ad1576040519150601f19603f3d011682016040523d82523d5f602084013e611ad6565b606091505b505090508015611b4e578186611aec9190612a9e565b95508373ffffffffffffffffffffffffffffffffffffffff16600b547fd53a47c98f8c491f7af9764e386d0733720221bc429db8a5450117bd67b8d7da600188611b369190612a9e565b85604051611b45929190613049565b60405180910390a35b505b505b50508080600101915050611998565b508060265f828254611b739190612a9e565b9250508190555080600d5f828254611b8b9190612a6b565b92505081905550600b547f6bad67ab5f7b6eda30641a37b407011eac09c650cf327bd6906efb2babc563648242604051611bc6929190613049565b60405180910390a2505b611bd8611e67565b505b565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611c9e57611c18816109a0565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060085460095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b50565b611caa82611bdc565b8060065f828254611cbb9190612a9e565b925050819055508060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611d0e9190612a9e565b925050819055505050565b8060225f600b5481526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611d769190612a9e565b925050819055505f60225f600b5481526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050683635c9adc5dea000008110611dea57611de98382611ff1565b5b505050565b611df882611bdc565b8060065f828254611e099190612a6b565b925050819055508060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611e5c9190612a6b565b925050819055505050565b5f5f90505b600a811015611fc3575f73ffffffffffffffffffffffffffffffffffffffff16600e82600a8110611ea057611e9f6131e7565b5b600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f6f575f60235f600e84600a8110611ef957611ef86131e7565b5b600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b600e81600a8110611f8357611f826131e7565b5b600202015f5f82015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182015f905550508080600101915050611e6c565b5061384042611fd29190612a9e565b600c81905550600b5f815480929190611fea90613214565b9190505550565b5f600a905060235f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156120d6575f5f90505b600a8110156120d4578373ffffffffffffffffffffffffffffffffffffffff16600e82600a811061207e5761207d6131e7565b5b600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036120c7578091506120d4565b808060010191505061204a565b505b600a81101561210d5781600e82600a81106120f4576120f36131e7565b5b600202016001018190555061210881612328565b612323565b600e6009600a8110612122576121216131e7565b5b6002020160010154821115612322575f73ffffffffffffffffffffffffffffffffffffffff16600e6009600a811061215d5761215c6131e7565b5b600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461222d575f60235f600e6009600a81106121b7576121b66131e7565b5b600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff16815260200183815250600e6009600a811061226d5761226c6131e7565b5b600202015f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155905050600160235f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506123216009612328565b5b5b505050565b5b5f81111561253f57600e6001826123409190612a6b565b600a8110612351576123506131e7565b5b6002020160010154600e82600a811061236d5761236c6131e7565b5b60020201600101541115612535575f600e60018361238b9190612a6b565b600a811061239c5761239b6131e7565b5b600202016040518060400160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815250509050600e82600a811061241f5761241e6131e7565b5b60020201600e6001846124329190612a6b565b600a8110612443576124426131e7565b5b600202015f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001820154816001015590505080600e83600a81106124cc576124cb6131e7565b5b600202015f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155905050818061252c9061325b565b9250505061253a565b61253f565b612329565b50565b604051806101400160405280600a905b61255a612570565b8152602001906001900390816125525790505090565b60405180604001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125cb826125a2565b9050919050565b6125db816125c1565b81146125e5575f5ffd5b50565b5f813590506125f6816125d2565b92915050565b5f602082840312156126115761261061259e565b5b5f61261e848285016125e8565b91505092915050565b5f819050919050565b61263981612627565b82525050565b5f6020820190506126525f830184612630565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61269a82612658565b6126a48185612662565b93506126b4818560208601612672565b6126bd81612680565b840191505092915050565b5f6020820190508181035f8301526126e08184612690565b905092915050565b5f60ff82169050919050565b6126fd816126e8565b82525050565b5f6020820190506127165f8301846126f4565b92915050565b61272581612627565b811461272f575f5ffd5b50565b5f813590506127408161271c565b92915050565b5f6020828403121561275b5761275a61259e565b5b5f61276884828501612732565b91505092915050565b5f8115159050919050565b61278581612771565b82525050565b5f60208201905061279e5f83018461277c565b92915050565b5f819050919050565b5f6127c76127c26127bd846125a2565b6127a4565b6125a2565b9050919050565b5f6127d8826127ad565b9050919050565b5f6127e9826127ce565b9050919050565b6127f9816127df565b82525050565b5f6020820190506128125f8301846127f0565b92915050565b5f5f6040838503121561282e5761282d61259e565b5b5f61283b85828601612732565b925050602061284c858286016125e8565b9150509250929050565b5f600a9050919050565b5f81905092915050565b5f819050919050565b61287c816125c1565b82525050565b61288b81612627565b82525050565b604082015f8201516128a55f850182612873565b5060208201516128b86020850182612882565b50505050565b5f6128c98383612891565b60408301905092915050565b5f602082019050919050565b6128ea81612856565b6128f48184612860565b92506128ff8261286a565b805f5b8381101561292f57815161291687826128be565b9650612921836128d5565b925050600181019050612902565b505050505050565b5f6102808201905061294b5f8301846128e1565b92915050565b61295a816125c1565b82525050565b5f6020820190506129735f830184612951565b92915050565b5f60408201905061298c5f830185612951565b6129996020830184612630565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6129d782612627565b91506129e283612627565b92508282026129f081612627565b91508282048414831517612a0757612a066129a0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612a4582612627565b9150612a5083612627565b925082612a6057612a5f612a0e565b5b828204905092915050565b5f612a7582612627565b9150612a8083612627565b9250828203905081811115612a9857612a976129a0565b5b92915050565b5f612aa882612627565b9150612ab383612627565b9250828201905080821115612acb57612aca6129a0565b5b92915050565b5f606082019050612ae45f830186612630565b612af16020830185612630565b612afe6040830184612630565b949350505050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f612b3a601f83612662565b9150612b4582612b06565b602082019050919050565b5f6020820190508181035f830152612b6781612b2e565b9050919050565b7f4e6f7420696e697469616c697a656400000000000000000000000000000000005f82015250565b5f612ba2600f83612662565b9150612bad82612b6e565b602082019050919050565b5f6020820190508181035f830152612bcf81612b96565b9050919050565b7f52616365206e6f742066696e69736865640000000000000000000000000000005f82015250565b5f612c0a601183612662565b9150612c1582612bd6565b602082019050919050565b5f6020820190508181035f830152612c3781612bfe565b9050919050565b7f4f6e6c7920454f4120616c6c6f776564000000000000000000000000000000005f82015250565b5f612c72601083612662565b9150612c7d82612c3e565b602082019050919050565b5f6020820190508181035f830152612c9f81612c66565b9050919050565b7f436f6e747261637473206e6f74207365740000000000000000000000000000005f82015250565b5f612cda601183612662565b9150612ce582612ca6565b602082019050919050565b5f6020820190508181035f830152612d0781612cce565b9050919050565b7f416d6f756e74206d757374206265203e203000000000000000000000000000005f82015250565b5f612d42601283612662565b9150612d4d82612d0e565b602082019050919050565b5f6020820190508181035f830152612d6f81612d36565b9050919050565b7f436c61696d2072657761726473206669727374000000000000000000000000005f82015250565b5f612daa601383612662565b9150612db582612d76565b602082019050919050565b5f6020820190508181035f830152612dd781612d9e565b9050919050565b7f56616c756520746f6f206c6f77000000000000000000000000000000000000005f82015250565b5f612e12600d83612662565b9150612e1d82612dde565b602082019050919050565b5f6020820190508181035f830152612e3f81612e06565b9050919050565b5f606082019050612e595f830186612951565b612e666020830185612951565b612e736040830184612630565b949350505050565b612e8481612771565b8114612e8e575f5ffd5b50565b5f81519050612e9f81612e7b565b92915050565b5f60208284031215612eba57612eb961259e565b5b5f612ec784828501612e91565b91505092915050565b7f546f6b656e205472616e73666572206661696c656400000000000000000000005f82015250565b5f612f04601583612662565b9150612f0f82612ed0565b602082019050919050565b5f6020820190508181035f830152612f3181612ef8565b9050919050565b7f4e6f7468696e6720746f20636c61696d000000000000000000000000000000005f82015250565b5f612f6c601083612662565b9150612f7782612f38565b602082019050919050565b5f6020820190508181035f830152612f9981612f60565b9050919050565b5f81905092915050565b50565b5f612fb85f83612fa0565b9150612fc382612faa565b5f82019050919050565b5f612fd782612fad565b9150819050919050565b7f424e42207472616e73666572206661696c6564000000000000000000000000005f82015250565b5f613015601383612662565b915061302082612fe1565b602082019050919050565b5f6020820190508181035f83015261304281613009565b9050919050565b5f60408201905061305c5f830185612630565b6130696020830184612630565b9392505050565b7f4e6f74206f776e657200000000000000000000000000000000000000000000005f82015250565b5f6130a4600983612662565b91506130af82613070565b602082019050919050565b5f6020820190508181035f8301526130d181613098565b9050919050565b7f416c7265616479207365740000000000000000000000000000000000000000005f82015250565b5f61310c600b83612662565b9150613117826130d8565b602082019050919050565b5f6020820190508181035f83015261313981613100565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f613174600f83612662565b915061317f82613140565b602082019050919050565b5f6020820190508181035f8301526131a181613168565b9050919050565b5f815190506131b68161271c565b92915050565b5f602082840312156131d1576131d061259e565b5b5f6131de848285016131a8565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61321e82612627565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132505761324f6129a0565b5b600182019050919050565b5f61326582612627565b91505f8203613277576132766129a0565b5b60018203905091905056fea2646970667358221220861c6da1204c87df08633dbb3195a53f0ebf39d48f688691f599fd42042791cf64736f6c634300081e0033

Deployed Bytecode

0x60806040526004361061021c575f3560e01c806370a0823111610122578063954ba568116100aa578063c9e189861161006e578063c9e18986146107ec578063ccd5448714610816578063dfa8f2d414610840578063e5dc0fac1461086a578063fccc2813146108945761022c565b8063954ba568146106f557806395d89b41146107325780639ad9d5011461075c5780639ae41ccd14610786578063ae77071d146107c25761022c565b8063818ae1ce116100f1578063818ae1ce146105ff57806384837ee11461063b5780638acee3cf146106655780638da5cb5b1461068f578063929ebac2146106b95761022c565b806370a0823114610547578063715018a61461058357806372993683146105995780638183e38b146105c35761022c565b806342966c68116101a557806355a373d61161017457806355a373d61461045357806355dbd46e1461047d5780635a2e2f47146104b95780635eab3453146104e1578063681c56e71461050b5761022c565b806342966c68146103c15780634e71d92d146103e95780634f31b8f5146103ff5780634f8c278f146104295761022c565b80630ab747f0116101ec5780630ab747f0146103035780631569be021461032d57806318160ddd146103435780632d61a5521461036d578063313ce567146103975761022c565b80628cc262146102375780630109b3321461027357806306fdde031461029d5780630700037d146102c75761022c565b3661022c5761022a346108be565b005b610235346108be565b005b348015610242575f5ffd5b5061025d600480360381019061025891906125fc565b6109a0565b60405161026a919061263f565b60405180910390f35b34801561027e575f5ffd5b50610287610a96565b604051610294919061263f565b60405180910390f35b3480156102a8575f5ffd5b506102b1610abc565b6040516102be91906126c8565b60405180910390f35b3480156102d2575f5ffd5b506102ed60048036038101906102e891906125fc565b610af5565b6040516102fa919061263f565b60405180910390f35b34801561030e575f5ffd5b50610317610b0a565b604051610324919061263f565b60405180910390f35b348015610338575f5ffd5b50610341610b10565b005b34801561034e575f5ffd5b50610357610c02565b604051610364919061263f565b60405180910390f35b348015610378575f5ffd5b50610381610c08565b60405161038e919061263f565b60405180910390f35b3480156103a2575f5ffd5b506103ab610c15565b6040516103b89190612703565b60405180910390f35b3480156103cc575f5ffd5b506103e760048036038101906103e29190612746565b610c1a565b005b3480156103f4575f5ffd5b506103fd610fbd565b005b34801561040a575f5ffd5b506104136112c9565b604051610420919061278b565b60405180910390f35b348015610434575f5ffd5b5061043d6112dc565b60405161044a919061263f565b60405180910390f35b34801561045e575f5ffd5b506104676112e2565b60405161047491906127ff565b60405180910390f35b348015610488575f5ffd5b506104a3600480360381019061049e91906125fc565b611307565b6040516104b0919061278b565b60405180910390f35b3480156104c4575f5ffd5b506104df60048036038101906104da91906125fc565b611324565b005b3480156104ec575f5ffd5b506104f5611582565b604051610502919061263f565b60405180910390f35b348015610516575f5ffd5b50610531600480360381019061052c91906125fc565b611587565b60405161053e919061263f565b60405180910390f35b348015610552575f5ffd5b5061056d600480360381019061056891906125fc565b6115de565b60405161057a919061263f565b60405180910390f35b34801561058e575f5ffd5b506105976115f3565b005b3480156105a4575f5ffd5b506105ad61173c565b6040516105ba919061263f565b60405180910390f35b3480156105ce575f5ffd5b506105e960048036038101906105e49190612818565b611742565b6040516105f6919061263f565b60405180910390f35b34801561060a575f5ffd5b50610625600480360381019061062091906125fc565b611762565b604051610632919061263f565b60405180910390f35b348015610646575f5ffd5b5061064f611777565b60405161065c9190612937565b60405180910390f35b348015610670575f5ffd5b50610679611826565b60405161068691906127ff565b60405180910390f35b34801561069a575f5ffd5b506106a361184b565b6040516106b09190612960565b60405180910390f35b3480156106c4575f5ffd5b506106df60048036038101906106da9190612746565b61186f565b6040516106ec9190612703565b60405180910390f35b348015610700575f5ffd5b5061071b60048036038101906107169190612746565b611898565b604051610729929190612979565b60405180910390f35b34801561073d575f5ffd5b506107466118de565b60405161075391906126c8565b60405180910390f35b348015610767575f5ffd5b50610770611917565b60405161077d919061263f565b60405180910390f35b348015610791575f5ffd5b506107ac60048036038101906107a79190612746565b61191d565b6040516107b9919061263f565b60405180910390f35b3480156107cd575f5ffd5b506107d6611954565b6040516107e3919061263f565b60405180910390f35b3480156107f7575f5ffd5b5061080061195a565b60405161080d919061263f565b60405180910390f35b348015610821575f5ffd5b5061082a611960565b604051610837919061263f565b60405180910390f35b34801561084b575f5ffd5b50610854611966565b604051610861919061263f565b60405180910390f35b348015610875575f5ffd5b5061087e61196c565b60405161088b919061263f565b60405180910390f35b34801561089f575f5ffd5b506108a8611972565b6040516108b59190612960565b60405180910390f35b5f81031561099d575f60646041836108d691906129cd565b6108e09190612a3b565b90505f81836108ef9190612a6b565b90505f600654111561093857600654670de0b6b3a76400008361091291906129cd565b61091c9190612a3b565b60085f82825461092c9190612a9e565b92505081905550610947565b81816109449190612a9e565b90505b80600d5f8282546109589190612a9e565b925050819055507f33da4f9b82b3e18a281ca2cabbe2f076925692abb593b7ea3f850009e8ec977083838360405161099293929190612ad1565b60405180910390a150505b50565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054670de0b6b3a764000060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054600854610a339190612a6b565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a7b91906129cd565b610a859190612a3b565b610a8f9190612a9e565b9050919050565b5f600c544210610aa8575f9050610ab9565b42600c54610ab69190612a6b565b90505b90565b6040518060400160405280601081526020017f536b79526f61645f4469766964656e640000000000000000000000000000000081525081565b600a602052805f5260405f205f915090505481565b60085481565b600260015403610b55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4c90612b50565b60405180910390fd5b6002600181905550600560149054906101000a900460ff16610bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba390612bb8565b60405180910390fd5b600c54421015610bf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be890612c20565b60405180910390fd5b610bf9611978565b60018081905550565b60065481565b683635c9adc5dea0000081565b601281565b600260015403610c5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5690612b50565b60405180910390fd5b60026001819055503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccc90612c88565b60405180910390fd5b600560149054906101000a900460ff16610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b90612cf0565b60405180910390fd5b5f8111610d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5d90612d58565b60405180910390fd5b5f60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414610de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddc90612dc0565b60405180910390fd5b610ded611978565b610df633611bdc565b683635c9adc5dea00000811015610e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3990612e28565b60405180910390fd5b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3361dead856040518463ffffffff1660e01b8152600401610ea393929190612e46565b6020604051808303815f875af1158015610ebf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee39190612ea5565b905080610f25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1c90612f1a565b60405180910390fd5b5f610f2f8361191d565b9050610f3b3382611ca1565b8260245f828254610f4c9190612a9e565b92505081905550610f5d3384611d19565b3373ffffffffffffffffffffffffffffffffffffffff167f4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c08483600b54604051610fa993929190612ad1565b60405180910390a250506001808190555050565b600260015403611002576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff990612b50565b60405180910390fd5b60026001819055503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611078576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106f90612c88565b60405180910390fd5b61108133611bdc565b5f600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f82118061111057505f81115b61114f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114690612f82565b60405180910390fd5b5f82111561125b575f600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160255f8282546111aa9190612a9e565b925050819055505f3373ffffffffffffffffffffffffffffffffffffffff16836040516111d690612fcd565b5f6040518083038185875af1925050503d805f8114611210576040519150601f19603f3d011682016040523d82523d5f602084013e611215565b606091505b5050905080611259576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112509061302b565b60405180910390fd5b505b5f81111561126e5761126d3382611def565b5b3373ffffffffffffffffffffffffffffffffffffffff167f987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9a83836040516112b6929190613049565b60405180910390a2505060018081905550565b600560149054906101000a900460ff1681565b61384081565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6023602052805f5260405f205f915054906101000a900460ff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a9906130ba565b60405180910390fd5b600560149054906101000a900460ff1615611402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f990613122565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611470576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114679061318a565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561151c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061154091906131bc565b61154a9190612a3b565b6002819055506138404261155e9190612a9e565b600c819055506001600560146101000a81548160ff02191690831515021790555050565b604181565b5f60225f600b5481526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6007602052805f5260405f205f915090505481565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611681576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611678906130ba565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60265481565b6022602052815f5260405f20602052805f5260405f205f91509150505481565b6009602052805f5260405f205f915090505481565b61177f612542565b600e600a80602002604051908101604052809291905f905b8282101561181d578382600202016040518060400160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152505081526020019060010190611797565b50505050905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600381600a811061187e575f80fd5b60209182820401919006915054906101000a900460ff1681565b600e81600a81106118a7575f80fd5b600202015f91509050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b6040518060400160405280600381526020017f445444000000000000000000000000000000000000000000000000000000000081525081565b600b5481565b5f600254602454116119315781905061194f565b6002546024548361194291906129cd565b61194c9190612a3b565b90505b919050565b60025481565b60255481565b600c5481565b600d5481565b60245481565b61dead81565b600c544210611bda575f600d5490505f811115611bd0575f5f90505f5f90505b600a811015611b61575f600e82600a81106119b6576119b56131e7565b5b600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a175750611b61565b5f600383600a8110611a2c57611a2b6131e7565b5b602091828204019190069054906101000a900460ff1660ff1690505f811115611b52575f60648287611a5e91906129cd565b611a689190612a3b565b90505f811115611b50575f8373ffffffffffffffffffffffffffffffffffffffff1682604051611a9790612fcd565b5f6040518083038185875af1925050503d805f8114611ad1576040519150601f19603f3d011682016040523d82523d5f602084013e611ad6565b606091505b505090508015611b4e578186611aec9190612a9e565b95508373ffffffffffffffffffffffffffffffffffffffff16600b547fd53a47c98f8c491f7af9764e386d0733720221bc429db8a5450117bd67b8d7da600188611b369190612a9e565b85604051611b45929190613049565b60405180910390a35b505b505b50508080600101915050611998565b508060265f828254611b739190612a9e565b9250508190555080600d5f828254611b8b9190612a6b565b92505081905550600b547f6bad67ab5f7b6eda30641a37b407011eac09c650cf327bd6906efb2babc563648242604051611bc6929190613049565b60405180910390a2505b611bd8611e67565b505b565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611c9e57611c18816109a0565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060085460095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b50565b611caa82611bdc565b8060065f828254611cbb9190612a9e565b925050819055508060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611d0e9190612a9e565b925050819055505050565b8060225f600b5481526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611d769190612a9e565b925050819055505f60225f600b5481526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050683635c9adc5dea000008110611dea57611de98382611ff1565b5b505050565b611df882611bdc565b8060065f828254611e099190612a6b565b925050819055508060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611e5c9190612a6b565b925050819055505050565b5f5f90505b600a811015611fc3575f73ffffffffffffffffffffffffffffffffffffffff16600e82600a8110611ea057611e9f6131e7565b5b600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f6f575f60235f600e84600a8110611ef957611ef86131e7565b5b600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b600e81600a8110611f8357611f826131e7565b5b600202015f5f82015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182015f905550508080600101915050611e6c565b5061384042611fd29190612a9e565b600c81905550600b5f815480929190611fea90613214565b9190505550565b5f600a905060235f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156120d6575f5f90505b600a8110156120d4578373ffffffffffffffffffffffffffffffffffffffff16600e82600a811061207e5761207d6131e7565b5b600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036120c7578091506120d4565b808060010191505061204a565b505b600a81101561210d5781600e82600a81106120f4576120f36131e7565b5b600202016001018190555061210881612328565b612323565b600e6009600a8110612122576121216131e7565b5b6002020160010154821115612322575f73ffffffffffffffffffffffffffffffffffffffff16600e6009600a811061215d5761215c6131e7565b5b600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461222d575f60235f600e6009600a81106121b7576121b66131e7565b5b600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff16815260200183815250600e6009600a811061226d5761226c6131e7565b5b600202015f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155905050600160235f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506123216009612328565b5b5b505050565b5b5f81111561253f57600e6001826123409190612a6b565b600a8110612351576123506131e7565b5b6002020160010154600e82600a811061236d5761236c6131e7565b5b60020201600101541115612535575f600e60018361238b9190612a6b565b600a811061239c5761239b6131e7565b5b600202016040518060400160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815250509050600e82600a811061241f5761241e6131e7565b5b60020201600e6001846124329190612a6b565b600a8110612443576124426131e7565b5b600202015f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001820154816001015590505080600e83600a81106124cc576124cb6131e7565b5b600202015f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155905050818061252c9061325b565b9250505061253a565b61253f565b612329565b50565b604051806101400160405280600a905b61255a612570565b8152602001906001900390816125525790505090565b60405180604001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125cb826125a2565b9050919050565b6125db816125c1565b81146125e5575f5ffd5b50565b5f813590506125f6816125d2565b92915050565b5f602082840312156126115761261061259e565b5b5f61261e848285016125e8565b91505092915050565b5f819050919050565b61263981612627565b82525050565b5f6020820190506126525f830184612630565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61269a82612658565b6126a48185612662565b93506126b4818560208601612672565b6126bd81612680565b840191505092915050565b5f6020820190508181035f8301526126e08184612690565b905092915050565b5f60ff82169050919050565b6126fd816126e8565b82525050565b5f6020820190506127165f8301846126f4565b92915050565b61272581612627565b811461272f575f5ffd5b50565b5f813590506127408161271c565b92915050565b5f6020828403121561275b5761275a61259e565b5b5f61276884828501612732565b91505092915050565b5f8115159050919050565b61278581612771565b82525050565b5f60208201905061279e5f83018461277c565b92915050565b5f819050919050565b5f6127c76127c26127bd846125a2565b6127a4565b6125a2565b9050919050565b5f6127d8826127ad565b9050919050565b5f6127e9826127ce565b9050919050565b6127f9816127df565b82525050565b5f6020820190506128125f8301846127f0565b92915050565b5f5f6040838503121561282e5761282d61259e565b5b5f61283b85828601612732565b925050602061284c858286016125e8565b9150509250929050565b5f600a9050919050565b5f81905092915050565b5f819050919050565b61287c816125c1565b82525050565b61288b81612627565b82525050565b604082015f8201516128a55f850182612873565b5060208201516128b86020850182612882565b50505050565b5f6128c98383612891565b60408301905092915050565b5f602082019050919050565b6128ea81612856565b6128f48184612860565b92506128ff8261286a565b805f5b8381101561292f57815161291687826128be565b9650612921836128d5565b925050600181019050612902565b505050505050565b5f6102808201905061294b5f8301846128e1565b92915050565b61295a816125c1565b82525050565b5f6020820190506129735f830184612951565b92915050565b5f60408201905061298c5f830185612951565b6129996020830184612630565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6129d782612627565b91506129e283612627565b92508282026129f081612627565b91508282048414831517612a0757612a066129a0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612a4582612627565b9150612a5083612627565b925082612a6057612a5f612a0e565b5b828204905092915050565b5f612a7582612627565b9150612a8083612627565b9250828203905081811115612a9857612a976129a0565b5b92915050565b5f612aa882612627565b9150612ab383612627565b9250828201905080821115612acb57612aca6129a0565b5b92915050565b5f606082019050612ae45f830186612630565b612af16020830185612630565b612afe6040830184612630565b949350505050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f612b3a601f83612662565b9150612b4582612b06565b602082019050919050565b5f6020820190508181035f830152612b6781612b2e565b9050919050565b7f4e6f7420696e697469616c697a656400000000000000000000000000000000005f82015250565b5f612ba2600f83612662565b9150612bad82612b6e565b602082019050919050565b5f6020820190508181035f830152612bcf81612b96565b9050919050565b7f52616365206e6f742066696e69736865640000000000000000000000000000005f82015250565b5f612c0a601183612662565b9150612c1582612bd6565b602082019050919050565b5f6020820190508181035f830152612c3781612bfe565b9050919050565b7f4f6e6c7920454f4120616c6c6f776564000000000000000000000000000000005f82015250565b5f612c72601083612662565b9150612c7d82612c3e565b602082019050919050565b5f6020820190508181035f830152612c9f81612c66565b9050919050565b7f436f6e747261637473206e6f74207365740000000000000000000000000000005f82015250565b5f612cda601183612662565b9150612ce582612ca6565b602082019050919050565b5f6020820190508181035f830152612d0781612cce565b9050919050565b7f416d6f756e74206d757374206265203e203000000000000000000000000000005f82015250565b5f612d42601283612662565b9150612d4d82612d0e565b602082019050919050565b5f6020820190508181035f830152612d6f81612d36565b9050919050565b7f436c61696d2072657761726473206669727374000000000000000000000000005f82015250565b5f612daa601383612662565b9150612db582612d76565b602082019050919050565b5f6020820190508181035f830152612dd781612d9e565b9050919050565b7f56616c756520746f6f206c6f77000000000000000000000000000000000000005f82015250565b5f612e12600d83612662565b9150612e1d82612dde565b602082019050919050565b5f6020820190508181035f830152612e3f81612e06565b9050919050565b5f606082019050612e595f830186612951565b612e666020830185612951565b612e736040830184612630565b949350505050565b612e8481612771565b8114612e8e575f5ffd5b50565b5f81519050612e9f81612e7b565b92915050565b5f60208284031215612eba57612eb961259e565b5b5f612ec784828501612e91565b91505092915050565b7f546f6b656e205472616e73666572206661696c656400000000000000000000005f82015250565b5f612f04601583612662565b9150612f0f82612ed0565b602082019050919050565b5f6020820190508181035f830152612f3181612ef8565b9050919050565b7f4e6f7468696e6720746f20636c61696d000000000000000000000000000000005f82015250565b5f612f6c601083612662565b9150612f7782612f38565b602082019050919050565b5f6020820190508181035f830152612f9981612f60565b9050919050565b5f81905092915050565b50565b5f612fb85f83612fa0565b9150612fc382612faa565b5f82019050919050565b5f612fd782612fad565b9150819050919050565b7f424e42207472616e73666572206661696c6564000000000000000000000000005f82015250565b5f613015601383612662565b915061302082612fe1565b602082019050919050565b5f6020820190508181035f83015261304281613009565b9050919050565b5f60408201905061305c5f830185612630565b6130696020830184612630565b9392505050565b7f4e6f74206f776e657200000000000000000000000000000000000000000000005f82015250565b5f6130a4600983612662565b91506130af82613070565b602082019050919050565b5f6020820190508181035f8301526130d181613098565b9050919050565b7f416c7265616479207365740000000000000000000000000000000000000000005f82015250565b5f61310c600b83612662565b9150613117826130d8565b602082019050919050565b5f6020820190508181035f83015261313981613100565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f613174600f83612662565b915061317f82613140565b602082019050919050565b5f6020820190508181035f8301526131a181613168565b9050919050565b5f815190506131b68161271c565b92915050565b5f602082840312156131d1576131d061259e565b5b5f6131de848285016131a8565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61321e82612627565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132505761324f6129a0565b5b600182019050919050565b5f61326582612627565b91505f8203613277576132766129a0565b5b60018203905091905056fea2646970667358221220861c6da1204c87df08633dbb3195a53f0ebf39d48f688691f599fd42042791cf64736f6c634300081e0033

Deployed Bytecode Sourcemap

1371:10025:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3993:28;4011:9;3993:17;:28::i;:::-;1371:10025;;4076:28;4094:9;4076:17;:28::i;:::-;1371:10025;10312:271;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11217:176;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1858:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2284:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2178:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7501:203;;;;;;;;;;;;;:::i;:::-;;2094:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1612:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1957:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4614:883;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9433:639;;;;;;;;;;;;;:::i;:::-;;2066:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1673:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2001:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2645:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3553:394;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1729:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11055:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2127:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;813:140;;;;;;;;;;;;;:::i;:::-;;2777:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2568:68;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2220:57;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10945:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2035:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;453:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1786:63;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2527:32;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;1913:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2335:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5507:307;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1569:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2737:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2370:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2404:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2699:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1424:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4120:486;4197:1;4187:6;:11;4183:24;4200:7;4183:24;4219:20;4275:3;1775:2;4243:6;:28;;;;:::i;:::-;4242:36;;;;:::i;:::-;4219:59;;4289:16;4317:12;4308:6;:21;;;;:::i;:::-;4289:40;;4360:1;4346:11;;:15;4342:169;;;4431:11;;1556:4;4403:12;:24;;;;:::i;:::-;4402:40;;;;:::i;:::-;4378:20;;:64;;;;;;;:::i;:::-;;;;;;;;4342:169;;;4487:12;4475:24;;;;;:::i;:::-;;;4342:169;4535:8;4523;;:20;;;;;;;:::i;:::-;;;;;;;;4559:39;4567:6;4575:12;4589:8;4559:39;;;;;;;;:::i;:::-;;;;;;;;4172:434;;4120:486;;:::o;10312:271::-;10366:7;10559;:16;10567:7;10559:16;;;;;;;;;;;;;;;;1556:4;10477:22;:31;10500:7;10477:31;;;;;;;;;;;;;;;;10454:20;;:54;;;;:::i;:::-;10411:9;:18;10421:7;10411:18;;;;;;;;;;;;;;;;:98;;;;:::i;:::-;10410:129;;;;:::i;:::-;:165;;;;:::i;:::-;10386:189;;10312:271;;;:::o;11217:176::-;11272:7;11315:12;;11296:15;:31;11292:45;;11336:1;11329:8;;;;11292:45;11370:15;11355:12;;:30;;;;:::i;:::-;11348:37;;11217:176;;:::o;1858:48::-;;;;;;;;;;;;;;;;;;;:::o;2284:42::-;;;;;;;;;;;;;;;;;:::o;2178:35::-;;;;:::o;7501:203::-;1085:1;1227:7;;:19;1219:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1085:1;1293:7;:18;;;;7570:7:::1;;;;;;;;;;;7562:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;7635:12;;7616:15;:31;;7608:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;7680:16;:14;:16::i;:::-;1041:1:::0;1334:7;:22;;;;7501:203::o;2094:26::-;;;;:::o;1612:52::-;1653:11;1612:52;:::o;1957:35::-;1990:2;1957:35;:::o;4614:883::-;1085:1;1227:7;;:19;1219:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1085:1;1293:7;:18;;;;3436:10:::1;3423:23;;:9;:23;;;3415:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;4693:7:::2;;;;;;;;;;;4685:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;4750:1;4741:6;:10;4733:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;4820:1;4795:9;:21;4805:10;4795:21;;;;;;;;;;;;;;;;:26;4787:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;4858:16;:14;:16::i;:::-;4885:25;4899:10;4885:13;:25::i;:::-;1653:11;4931:6;:24;;4923:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;4986:12;5001:13;;;;;;;;;;;:26;;;5042:10;1468:42;5094:6;5001:110;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4986:125;;5130:7;5122:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;5176:18;5197:27;5217:6;5197:19;:27::i;:::-;5176:48;;5235:29;5241:10;5253;5235:5;:29::i;:::-;5297:6;5277:16;;:26;;;;;;;:::i;:::-;;;;;;;;5316:39;5336:10;5348:6;5316:19;:39::i;:::-;5394:10;5373:116;;;5419:6;5440:10;5465:13;;5373:116;;;;;;;;:::i;:::-;;;;;;;;4674:823;;1041:1:::0;1334:7;:22;;;;4614:883;:::o;9433:639::-;1085:1;1227:7;;:19;1219:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1085:1;1293:7;:18;;;;3436:10:::1;3423:23;;:9;:23;;;3415:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;9491:25:::2;9505:10;9491:13;:25::i;:::-;9529:14;9546:7;:19;9554:10;9546:19;;;;;;;;;;;;;;;;9529:36;;9576:14;9593:9;:21;9603:10;9593:21;;;;;;;;;;;;;;;;9576:38;;9644:1;9635:6;:10;:24;;;;9658:1;9649:6;:10;9635:24;9627:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;9706:1;9697:6;:10;9693:239;;;9746:1;9724:7;:19;9732:10;9724:19;;;;;;;;;;;;;;;:23;;;;9784:6;9762:18;;:28;;;;;;;:::i;:::-;;;;;;;;9806:12;9831:10;9823:24;;9855:6;9823:43;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9805:61;;;9889:7;9881:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;9709:223;9693:239;9957:1;9948:6;:10;9944:68;;;9975:25;9981:10;9993:6;9975:5;:25::i;:::-;9944:68;10037:10;10029:35;;;10049:6;10057;10029:35;;;;;;;:::i;:::-;;;;;;;;9480:592;;1041:1:::0;1334:7;:22;;;;9433:639::o;2066:19::-;;;;;;;;;;;;;:::o;1673:47::-;1713:7;1673:47;:::o;2001:27::-;;;;;;;;;;;;;:::o;2645:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;3553:394::-;768:5;;;;;;;;;;;754:19;;:10;:19;;;746:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;3630:7:::1;;;;;;;;;;;3629:8;3621:32;;;;;;;;;;;;:::i;:::-;;;;;;;;;3704:1;3686:20;;:6;:20;;::::0;3664:85:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3785:6;3762:13;;:30;;;;;;;;;;;;;;;;;;3855:2;3825:13;;;;;;;;;;;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:32;;;;:::i;:::-;3803:19;:54;;;;1713:7;3883:15;:31;;;;:::i;:::-;3868:12;:46;;;;3935:4;3925:7;;:14;;;;;;;;;;;;;;;;;;3553:394:::0;:::o;1729:48::-;1775:2;1729:48;:::o;11055:154::-;11140:7;11167:13;:28;11181:13;;11167:28;;;;;;;;;;;:34;11196:4;11167:34;;;;;;;;;;;;;;;;11160:41;;11055:154;;;:::o;2127:44::-;;;;;;;;;;;;;;;;;:::o;813:140::-;768:5;;;;;;;;;;;754:19;;:10;:19;;;746:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;913:1:::1;877:39;;898:5;;;;;;;;;;;877:39;;;;;;;;;;;;943:1;927:5;;:18;;;;;;;;;;;;;;;;;;813:140::o:0;2777:28::-;;;;:::o;2568:68::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2220:57::-;;;;;;;;;;;;;;;;;:::o;10945:102::-;10988:21;;:::i;:::-;11029:10;11022:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10945:102;:::o;2035:24::-;;;;;;;;;;;;;:::o;453:20::-;;;;;;;;;;;;;:::o;1786:63::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2527:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1913:37::-;;;;;;;;;;;;;;;;;;;:::o;2335:28::-;;;;:::o;5507:307::-;5597:7;5641:19;;5621:16;;:39;5617:190;;5684:14;5677:21;;;;5617:190;5776:19;;5756:16;;5739:14;:33;;;;:::i;:::-;5738:57;;;;:::i;:::-;5731:64;;5507:307;;;;:::o;1569:34::-;;;;:::o;2737:33::-;;;;:::o;2370:27::-;;;;:::o;2404:23::-;;;;:::o;2699:31::-;;;;:::o;1424:86::-;1468:42;1424:86;:::o;5822:1318::-;5890:12;;5872:15;:30;5904:7;5868:43;5923:17;5943:8;;5923:28;;5980:1;5968:9;:13;5964:1139;;;5998:19;6020:1;5998:23;;6041:9;6053:1;6041:13;;6036:899;6060:2;6056:1;:6;6036:899;;;6088:14;6105:10;6116:1;6105:13;;;;;;;:::i;:::-;;;;;:18;;;;;;;;;;;;6088:35;;6164:1;6146:20;;:6;:20;;;6142:31;;6168:5;;;6142:31;6194:18;6215:10;6226:1;6215:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;6194:34;;;;6264:1;6251:10;:14;6247:673;;;6290:13;6333:3;6319:10;6307:9;:22;;;;:::i;:::-;6306:30;;;;:::i;:::-;6290:46;;6371:1;6363:5;:9;6359:542;;;6402:12;6427:6;6419:20;;6447:5;6419:94;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6401:112;;;6544:7;6540:338;;;6599:5;6584:20;;;;;:::i;:::-;;;6733:6;6640:210;;6685:13;;6640:210;6778:1;6774;:5;;;;:::i;:::-;6814;6640:210;;;;;;;:::i;:::-;;;;;;;;6540:338;6374:527;6359:542;6267:653;6247:673;6069:866;;6064:3;;;;;;;6036:899;;;;6966:11;6949:13;;:28;;;;;;;:::i;:::-;;;;;;;;7004:11;6992:8;;:23;;;;;;;:::i;:::-;;;;;;;;7047:13;;7035:56;7062:11;7075:15;7035:56;;;;;;;:::i;:::-;;;;;;;;5983:1120;5964:1139;7115:17;:15;:17::i;:::-;5857:1283;5822:1318;:::o;10080:224::-;10163:1;10144:21;;:7;:21;;;10140:157;;10201:15;10208:7;10201:6;:15::i;:::-;10182:7;:16;10190:7;10182:16;;;;;;;;;;;;;;;:34;;;;10265:20;;10231:22;:31;10254:7;10231:31;;;;;;;;;;;;;;;:54;;;;10140:157;10080:224;:::o;10591:169::-;10659:22;10673:7;10659:13;:22::i;:::-;10707:6;10692:11;;:21;;;;;;;:::i;:::-;;;;;;;;10746:6;10724:9;:18;10734:7;10724:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;10591:169;;:::o;7712:353::-;7862:14;7824:13;:28;7838:13;;7824:28;;;;;;;;;;;:34;7853:4;7824:34;;;;;;;;;;;;;;;;:52;;;;;;;:::i;:::-;;;;;;;;7887:22;7912:13;:28;7926:13;;7912:28;;;;;;;;;;;:34;7941:4;7912:34;;;;;;;;;;;;;;;;7887:59;;1653:11;7963:14;:32;7959:99;;8012:34;8025:4;8031:14;8012:12;:34::i;:::-;7959:99;7813:252;7712:353;;:::o;10768:169::-;10836:22;10850:7;10836:13;:22::i;:::-;10884:6;10869:11;;:21;;;;;;;:::i;:::-;;;;;;;;10923:6;10901:9;:18;10911:7;10901:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;10768:169;;:::o;7148:345::-;7200:9;7212:1;7200:13;;7195:208;7219:2;7215:1;:6;7195:208;;;7277:1;7247:32;;:10;7258:1;7247:13;;;;;;;:::i;:::-;;;;;:18;;;;;;;;;;;;:32;;;7243:114;;7336:5;7300:13;:33;7314:10;7325:1;7314:13;;;;;;;:::i;:::-;;;;;:18;;;;;;;;;;;;7300:33;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;7243:114;7378:10;7389:1;7378:13;;;;;;;:::i;:::-;;;;;;7371:20;;;;;;;;;;;;;;;;;;;;;;;7223:3;;;;;;;7195:208;;;;1713:7;7428:15;:31;;;;:::i;:::-;7413:12;:46;;;;7470:13;;:15;;;;;;;;;:::i;:::-;;;;;;7148:345::o;8073:855::-;8145:17;8165:2;8145:22;;8184:13;:19;8198:4;8184:19;;;;;;;;;;;;;;;;;;;;;;;;;8180:234;;;8225:9;8237:1;8225:13;;8220:183;8244:2;8240:1;:6;8220:183;;;8298:4;8276:26;;:10;8287:1;8276:13;;;;;;;:::i;:::-;;;;;:18;;;;;;;;;;;;:26;;;8272:116;;8339:1;8327:13;;8363:5;;8272:116;8248:3;;;;;;;8220:183;;;;8180:234;8442:2;8430:9;:14;8426:495;;;8501:6;8461:10;8472:9;8461:21;;;;;;;:::i;:::-;;;;;:37;;:46;;;;8522:20;8532:9;8522;:20::i;:::-;8426:495;;;8588:10;8599:1;8588:13;;;;;;;:::i;:::-;;;;;:29;;;8579:6;:38;8575:335;;;8672:1;8642:32;;:10;8653:1;8642:13;;;;;;;:::i;:::-;;;;;:18;;;;;;;;;;;;:32;;;8638:122;;8735:5;8699:13;:33;8713:10;8724:1;8713:13;;;;;;;:::i;:::-;;;;;:18;;;;;;;;;;;;8699:33;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;8638:122;8794:24;;;;;;;;8805:4;8794:24;;;;;;8811:6;8794:24;;;8778:10;8789:1;8778:13;;;;;;;:::i;:::-;;;;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8859:4;8837:13;:19;8851:4;8837:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;8882:12;8892:1;8882:9;:12::i;:::-;8575:335;8426:495;8134:794;8073:855;;:::o;8936:489::-;8990:428;9005:1;8997:5;:9;8990:428;;;9098:10;9117:1;9109:5;:9;;;;:::i;:::-;9098:21;;;;;;;:::i;:::-;;;;;:37;;;9045:10;9056:5;9045:17;;;;;;;:::i;:::-;;;;;:33;;;:90;9023:384;;;9170:22;9195:10;9214:1;9206:5;:9;;;;:::i;:::-;9195:21;;;;;;;:::i;:::-;;;;;9170:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9259:10;9270:5;9259:17;;;;;;;:::i;:::-;;;;;9235:10;9254:1;9246:5;:9;;;;:::i;:::-;9235:21;;;;;;;:::i;:::-;;;;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9315:4;9295:10;9306:5;9295:17;;;;;;;:::i;:::-;;;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9338:7;;;;;:::i;:::-;;;;9151:210;9023:384;;;9386:5;;9023:384;8990:428;;;8936:489;:::o;-1:-1:-1:-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:222::-;1476:4;1514:2;1503:9;1499:18;1491:26;;1527:71;1595:1;1584:9;1580:17;1571:6;1527:71;:::i;:::-;1383:222;;;;:::o;1611:99::-;1663:6;1697:5;1691:12;1681:22;;1611:99;;;:::o;1716:169::-;1800:11;1834:6;1829:3;1822:19;1874:4;1869:3;1865:14;1850:29;;1716:169;;;;:::o;1891:139::-;1980:6;1975:3;1970;1964:23;2021:1;2012:6;2007:3;2003:16;1996:27;1891:139;;;:::o;2036:102::-;2077:6;2128:2;2124:7;2119:2;2112:5;2108:14;2104:28;2094:38;;2036:102;;;:::o;2144:377::-;2232:3;2260:39;2293:5;2260:39;:::i;:::-;2315:71;2379:6;2374:3;2315:71;:::i;:::-;2308:78;;2395:65;2453:6;2448:3;2441:4;2434:5;2430:16;2395:65;:::i;:::-;2485:29;2507:6;2485:29;:::i;:::-;2480:3;2476:39;2469:46;;2236:285;2144:377;;;;:::o;2527:313::-;2640:4;2678:2;2667:9;2663:18;2655:26;;2727:9;2721:4;2717:20;2713:1;2702:9;2698:17;2691:47;2755:78;2828:4;2819:6;2755:78;:::i;:::-;2747:86;;2527:313;;;;:::o;2846:86::-;2881:7;2921:4;2914:5;2910:16;2899:27;;2846:86;;;:::o;2938:112::-;3021:22;3037:5;3021:22;:::i;:::-;3016:3;3009:35;2938:112;;:::o;3056:214::-;3145:4;3183:2;3172:9;3168:18;3160:26;;3196:67;3260:1;3249:9;3245:17;3236:6;3196:67;:::i;:::-;3056:214;;;;:::o;3276:122::-;3349:24;3367:5;3349:24;:::i;:::-;3342:5;3339:35;3329:63;;3388:1;3385;3378:12;3329:63;3276:122;:::o;3404:139::-;3450:5;3488:6;3475:20;3466:29;;3504:33;3531:5;3504:33;:::i;:::-;3404:139;;;;:::o;3549:329::-;3608:6;3657:2;3645:9;3636:7;3632:23;3628:32;3625:119;;;3663:79;;:::i;:::-;3625:119;3783:1;3808:53;3853:7;3844:6;3833:9;3829:22;3808:53;:::i;:::-;3798:63;;3754:117;3549:329;;;;:::o;3884:90::-;3918:7;3961:5;3954:13;3947:21;3936:32;;3884:90;;;:::o;3980:109::-;4061:21;4076:5;4061:21;:::i;:::-;4056:3;4049:34;3980:109;;:::o;4095:210::-;4182:4;4220:2;4209:9;4205:18;4197:26;;4233:65;4295:1;4284:9;4280:17;4271:6;4233:65;:::i;:::-;4095:210;;;;:::o;4311:60::-;4339:3;4360:5;4353:12;;4311:60;;;:::o;4377:142::-;4427:9;4460:53;4478:34;4487:24;4505:5;4487:24;:::i;:::-;4478:34;:::i;:::-;4460:53;:::i;:::-;4447:66;;4377:142;;;:::o;4525:126::-;4575:9;4608:37;4639:5;4608:37;:::i;:::-;4595:50;;4525:126;;;:::o;4657:139::-;4720:9;4753:37;4784:5;4753:37;:::i;:::-;4740:50;;4657:139;;;:::o;4802:157::-;4902:50;4946:5;4902:50;:::i;:::-;4897:3;4890:63;4802:157;;:::o;4965:248::-;5071:4;5109:2;5098:9;5094:18;5086:26;;5122:84;5203:1;5192:9;5188:17;5179:6;5122:84;:::i;:::-;4965:248;;;;:::o;5219:474::-;5287:6;5295;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5597:2;5623:53;5668:7;5659:6;5648:9;5644:22;5623:53;:::i;:::-;5613:63;;5568:118;5219:474;;;;;:::o;5699:132::-;5792:6;5820:4;5810:14;;5699:132;;;:::o;5837:171::-;5962:11;5999:3;5984:18;;5837:171;;;;:::o;6014:126::-;6107:4;6130:3;6122:11;;6014:126;;;:::o;6146:108::-;6223:24;6241:5;6223:24;:::i;:::-;6218:3;6211:37;6146:108;;:::o;6260:::-;6337:24;6355:5;6337:24;:::i;:::-;6332:3;6325:37;6260:108;;:::o;6438:512::-;6579:4;6574:3;6570:14;6666:4;6659:5;6655:16;6649:23;6685:63;6742:4;6737:3;6733:14;6719:12;6685:63;:::i;:::-;6594:164;6851:4;6844:5;6840:16;6834:23;6870:63;6927:4;6922:3;6918:14;6904:12;6870:63;:::i;:::-;6768:175;6548:402;6438:512;;:::o;6956:287::-;7079:10;7100:100;7196:3;7188:6;7100:100;:::i;:::-;7232:4;7227:3;7223:14;7209:28;;6956:287;;;;:::o;7249:139::-;7345:4;7377;7372:3;7368:14;7360:22;;7249:139;;;:::o;7466:916::-;7658:80;7732:5;7658:80;:::i;:::-;7754:112;7859:6;7854:3;7754:112;:::i;:::-;7747:119;;7890:82;7966:5;7890:82;:::i;:::-;7995:7;8026:1;8011:364;8036:6;8033:1;8030:13;8011:364;;;8112:6;8106:13;8139:117;8252:3;8237:13;8139:117;:::i;:::-;8132:124;;8279:86;8358:6;8279:86;:::i;:::-;8269:96;;8071:304;8058:1;8055;8051:9;8046:14;;8011:364;;;8015:14;7634:748;;;7466:916;;:::o;8388:427::-;8583:4;8621:3;8610:9;8606:19;8598:27;;8635:173;8805:1;8794:9;8790:17;8781:6;8635:173;:::i;:::-;8388:427;;;;:::o;8821:118::-;8908:24;8926:5;8908:24;:::i;:::-;8903:3;8896:37;8821:118;;:::o;8945:222::-;9038:4;9076:2;9065:9;9061:18;9053:26;;9089:71;9157:1;9146:9;9142:17;9133:6;9089:71;:::i;:::-;8945:222;;;;:::o;9173:332::-;9294:4;9332:2;9321:9;9317:18;9309:26;;9345:71;9413:1;9402:9;9398:17;9389:6;9345:71;:::i;:::-;9426:72;9494:2;9483:9;9479:18;9470:6;9426:72;:::i;:::-;9173:332;;;;;:::o;9511:180::-;9559:77;9556:1;9549:88;9656:4;9653:1;9646:15;9680:4;9677:1;9670:15;9697:410;9737:7;9760:20;9778:1;9760:20;:::i;:::-;9755:25;;9794:20;9812:1;9794:20;:::i;:::-;9789:25;;9849:1;9846;9842:9;9871:30;9889:11;9871:30;:::i;:::-;9860:41;;10050:1;10041:7;10037:15;10034:1;10031:22;10011:1;10004:9;9984:83;9961:139;;10080:18;;:::i;:::-;9961:139;9745:362;9697:410;;;;:::o;10113:180::-;10161:77;10158:1;10151:88;10258:4;10255:1;10248:15;10282:4;10279:1;10272:15;10299:185;10339:1;10356:20;10374:1;10356:20;:::i;:::-;10351:25;;10390:20;10408:1;10390:20;:::i;:::-;10385:25;;10429:1;10419:35;;10434:18;;:::i;:::-;10419:35;10476:1;10473;10469:9;10464:14;;10299:185;;;;:::o;10490:194::-;10530:4;10550:20;10568:1;10550:20;:::i;:::-;10545:25;;10584:20;10602:1;10584:20;:::i;:::-;10579:25;;10628:1;10625;10621:9;10613:17;;10652:1;10646:4;10643:11;10640:37;;;10657:18;;:::i;:::-;10640:37;10490:194;;;;:::o;10690:191::-;10730:3;10749:20;10767:1;10749:20;:::i;:::-;10744:25;;10783:20;10801:1;10783:20;:::i;:::-;10778:25;;10826:1;10823;10819:9;10812:16;;10847:3;10844:1;10841:10;10838:36;;;10854:18;;:::i;:::-;10838:36;10690:191;;;;:::o;10887:442::-;11036:4;11074:2;11063:9;11059:18;11051:26;;11087:71;11155:1;11144:9;11140:17;11131:6;11087:71;:::i;:::-;11168:72;11236:2;11225:9;11221:18;11212:6;11168:72;:::i;:::-;11250;11318:2;11307:9;11303:18;11294:6;11250:72;:::i;:::-;10887:442;;;;;;:::o;11335:181::-;11475:33;11471:1;11463:6;11459:14;11452:57;11335:181;:::o;11522:366::-;11664:3;11685:67;11749:2;11744:3;11685:67;:::i;:::-;11678:74;;11761:93;11850:3;11761:93;:::i;:::-;11879:2;11874:3;11870:12;11863:19;;11522:366;;;:::o;11894:419::-;12060:4;12098:2;12087:9;12083:18;12075:26;;12147:9;12141:4;12137:20;12133:1;12122:9;12118:17;12111:47;12175:131;12301:4;12175:131;:::i;:::-;12167:139;;11894:419;;;:::o;12319:165::-;12459:17;12455:1;12447:6;12443:14;12436:41;12319:165;:::o;12490:366::-;12632:3;12653:67;12717:2;12712:3;12653:67;:::i;:::-;12646:74;;12729:93;12818:3;12729:93;:::i;:::-;12847:2;12842:3;12838:12;12831:19;;12490:366;;;:::o;12862:419::-;13028:4;13066:2;13055:9;13051:18;13043:26;;13115:9;13109:4;13105:20;13101:1;13090:9;13086:17;13079:47;13143:131;13269:4;13143:131;:::i;:::-;13135:139;;12862:419;;;:::o;13287:167::-;13427:19;13423:1;13415:6;13411:14;13404:43;13287:167;:::o;13460:366::-;13602:3;13623:67;13687:2;13682:3;13623:67;:::i;:::-;13616:74;;13699:93;13788:3;13699:93;:::i;:::-;13817:2;13812:3;13808:12;13801:19;;13460:366;;;:::o;13832:419::-;13998:4;14036:2;14025:9;14021:18;14013:26;;14085:9;14079:4;14075:20;14071:1;14060:9;14056:17;14049:47;14113:131;14239:4;14113:131;:::i;:::-;14105:139;;13832:419;;;:::o;14257:166::-;14397:18;14393:1;14385:6;14381:14;14374:42;14257:166;:::o;14429:366::-;14571:3;14592:67;14656:2;14651:3;14592:67;:::i;:::-;14585:74;;14668:93;14757:3;14668:93;:::i;:::-;14786:2;14781:3;14777:12;14770:19;;14429:366;;;:::o;14801:419::-;14967:4;15005:2;14994:9;14990:18;14982:26;;15054:9;15048:4;15044:20;15040:1;15029:9;15025:17;15018:47;15082:131;15208:4;15082:131;:::i;:::-;15074:139;;14801:419;;;:::o;15226:167::-;15366:19;15362:1;15354:6;15350:14;15343:43;15226:167;:::o;15399:366::-;15541:3;15562:67;15626:2;15621:3;15562:67;:::i;:::-;15555:74;;15638:93;15727:3;15638:93;:::i;:::-;15756:2;15751:3;15747:12;15740:19;;15399:366;;;:::o;15771:419::-;15937:4;15975:2;15964:9;15960:18;15952:26;;16024:9;16018:4;16014:20;16010:1;15999:9;15995:17;15988:47;16052:131;16178:4;16052:131;:::i;:::-;16044:139;;15771:419;;;:::o;16196:168::-;16336:20;16332:1;16324:6;16320:14;16313:44;16196:168;:::o;16370:366::-;16512:3;16533:67;16597:2;16592:3;16533:67;:::i;:::-;16526:74;;16609:93;16698:3;16609:93;:::i;:::-;16727:2;16722:3;16718:12;16711:19;;16370:366;;;:::o;16742:419::-;16908:4;16946:2;16935:9;16931:18;16923:26;;16995:9;16989:4;16985:20;16981:1;16970:9;16966:17;16959:47;17023:131;17149:4;17023:131;:::i;:::-;17015:139;;16742:419;;;:::o;17167:169::-;17307:21;17303:1;17295:6;17291:14;17284:45;17167:169;:::o;17342:366::-;17484:3;17505:67;17569:2;17564:3;17505:67;:::i;:::-;17498:74;;17581:93;17670:3;17581:93;:::i;:::-;17699:2;17694:3;17690:12;17683:19;;17342:366;;;:::o;17714:419::-;17880:4;17918:2;17907:9;17903:18;17895:26;;17967:9;17961:4;17957:20;17953:1;17942:9;17938:17;17931:47;17995:131;18121:4;17995:131;:::i;:::-;17987:139;;17714:419;;;:::o;18139:163::-;18279:15;18275:1;18267:6;18263:14;18256:39;18139:163;:::o;18308:366::-;18450:3;18471:67;18535:2;18530:3;18471:67;:::i;:::-;18464:74;;18547:93;18636:3;18547:93;:::i;:::-;18665:2;18660:3;18656:12;18649:19;;18308:366;;;:::o;18680:419::-;18846:4;18884:2;18873:9;18869:18;18861:26;;18933:9;18927:4;18923:20;18919:1;18908:9;18904:17;18897:47;18961:131;19087:4;18961:131;:::i;:::-;18953:139;;18680:419;;;:::o;19105:442::-;19254:4;19292:2;19281:9;19277:18;19269:26;;19305:71;19373:1;19362:9;19358:17;19349:6;19305:71;:::i;:::-;19386:72;19454:2;19443:9;19439:18;19430:6;19386:72;:::i;:::-;19468;19536:2;19525:9;19521:18;19512:6;19468:72;:::i;:::-;19105:442;;;;;;:::o;19553:116::-;19623:21;19638:5;19623:21;:::i;:::-;19616:5;19613:32;19603:60;;19659:1;19656;19649:12;19603:60;19553:116;:::o;19675:137::-;19729:5;19760:6;19754:13;19745:22;;19776:30;19800:5;19776:30;:::i;:::-;19675:137;;;;:::o;19818:345::-;19885:6;19934:2;19922:9;19913:7;19909:23;19905:32;19902:119;;;19940:79;;:::i;:::-;19902:119;20060:1;20085:61;20138:7;20129:6;20118:9;20114:22;20085:61;:::i;:::-;20075:71;;20031:125;19818:345;;;;:::o;20169:171::-;20309:23;20305:1;20297:6;20293:14;20286:47;20169:171;:::o;20346:366::-;20488:3;20509:67;20573:2;20568:3;20509:67;:::i;:::-;20502:74;;20585:93;20674:3;20585:93;:::i;:::-;20703:2;20698:3;20694:12;20687:19;;20346:366;;;:::o;20718:419::-;20884:4;20922:2;20911:9;20907:18;20899:26;;20971:9;20965:4;20961:20;20957:1;20946:9;20942:17;20935:47;20999:131;21125:4;20999:131;:::i;:::-;20991:139;;20718:419;;;:::o;21143:166::-;21283:18;21279:1;21271:6;21267:14;21260:42;21143:166;:::o;21315:366::-;21457:3;21478:67;21542:2;21537:3;21478:67;:::i;:::-;21471:74;;21554:93;21643:3;21554:93;:::i;:::-;21672:2;21667:3;21663:12;21656:19;;21315:366;;;:::o;21687:419::-;21853:4;21891:2;21880:9;21876:18;21868:26;;21940:9;21934:4;21930:20;21926:1;21915:9;21911:17;21904:47;21968:131;22094:4;21968:131;:::i;:::-;21960:139;;21687:419;;;:::o;22112:147::-;22213:11;22250:3;22235:18;;22112:147;;;;:::o;22265:114::-;;:::o;22385:398::-;22544:3;22565:83;22646:1;22641:3;22565:83;:::i;:::-;22558:90;;22657:93;22746:3;22657:93;:::i;:::-;22775:1;22770:3;22766:11;22759:18;;22385:398;;;:::o;22789:379::-;22973:3;22995:147;23138:3;22995:147;:::i;:::-;22988:154;;23159:3;23152:10;;22789:379;;;:::o;23174:169::-;23314:21;23310:1;23302:6;23298:14;23291:45;23174:169;:::o;23349:366::-;23491:3;23512:67;23576:2;23571:3;23512:67;:::i;:::-;23505:74;;23588:93;23677:3;23588:93;:::i;:::-;23706:2;23701:3;23697:12;23690:19;;23349:366;;;:::o;23721:419::-;23887:4;23925:2;23914:9;23910:18;23902:26;;23974:9;23968:4;23964:20;23960:1;23949:9;23945:17;23938:47;24002:131;24128:4;24002:131;:::i;:::-;23994:139;;23721:419;;;:::o;24146:332::-;24267:4;24305:2;24294:9;24290:18;24282:26;;24318:71;24386:1;24375:9;24371:17;24362:6;24318:71;:::i;:::-;24399:72;24467:2;24456:9;24452:18;24443:6;24399:72;:::i;:::-;24146:332;;;;;:::o;24484:159::-;24624:11;24620:1;24612:6;24608:14;24601:35;24484:159;:::o;24649:365::-;24791:3;24812:66;24876:1;24871:3;24812:66;:::i;:::-;24805:73;;24887:93;24976:3;24887:93;:::i;:::-;25005:2;25000:3;24996:12;24989:19;;24649:365;;;:::o;25020:419::-;25186:4;25224:2;25213:9;25209:18;25201:26;;25273:9;25267:4;25263:20;25259:1;25248:9;25244:17;25237:47;25301:131;25427:4;25301:131;:::i;:::-;25293:139;;25020:419;;;:::o;25445:161::-;25585:13;25581:1;25573:6;25569:14;25562:37;25445:161;:::o;25612:366::-;25754:3;25775:67;25839:2;25834:3;25775:67;:::i;:::-;25768:74;;25851:93;25940:3;25851:93;:::i;:::-;25969:2;25964:3;25960:12;25953:19;;25612:366;;;:::o;25984:419::-;26150:4;26188:2;26177:9;26173:18;26165:26;;26237:9;26231:4;26227:20;26223:1;26212:9;26208:17;26201:47;26265:131;26391:4;26265:131;:::i;:::-;26257:139;;25984:419;;;:::o;26409:165::-;26549:17;26545:1;26537:6;26533:14;26526:41;26409:165;:::o;26580:366::-;26722:3;26743:67;26807:2;26802:3;26743:67;:::i;:::-;26736:74;;26819:93;26908:3;26819:93;:::i;:::-;26937:2;26932:3;26928:12;26921:19;;26580:366;;;:::o;26952:419::-;27118:4;27156:2;27145:9;27141:18;27133:26;;27205:9;27199:4;27195:20;27191:1;27180:9;27176:17;27169:47;27233:131;27359:4;27233:131;:::i;:::-;27225:139;;26952:419;;;:::o;27377:143::-;27434:5;27465:6;27459:13;27450:22;;27481:33;27508:5;27481:33;:::i;:::-;27377:143;;;;:::o;27526:351::-;27596:6;27645:2;27633:9;27624:7;27620:23;27616:32;27613:119;;;27651:79;;:::i;:::-;27613:119;27771:1;27796:64;27852:7;27843:6;27832:9;27828:22;27796:64;:::i;:::-;27786:74;;27742:128;27526:351;;;;:::o;27883:180::-;27931:77;27928:1;27921:88;28028:4;28025:1;28018:15;28052:4;28049:1;28042:15;28069:233;28108:3;28131:24;28149:5;28131:24;:::i;:::-;28122:33;;28177:66;28170:5;28167:77;28164:103;;28247:18;;:::i;:::-;28164:103;28294:1;28287:5;28283:13;28276:20;;28069:233;;;:::o;28308:171::-;28347:3;28370:24;28388:5;28370:24;:::i;:::-;28361:33;;28416:4;28409:5;28406:15;28403:41;;28424:18;;:::i;:::-;28403:41;28471:1;28464:5;28460:13;28453:20;;28308:171;;;:::o

Swarm Source

ipfs://861c6da1204c87df08633dbb3195a53f0ebf39d48f688691f599fd42042791cf

Block Transaction Gas Used Reward
view all blocks produced
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
View All Validatorset

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.