Contract 0x23096cfaf0f32f0ccfb3b2ed2e6ccd1a80d344db

Txn Hash Method
Block
From
To
Value [Txn Fee]
0x85e5fc83907750d3c0fdb32e58292700f90e531d589f885a281bfd15d2a2b3440x60806040185772662022-08-13 5:34:31172 days 16 hrs ago0x7eaa08e24ae7eec2943944b9770f9bf2f44eb5e6 IN  Create: AVAXKnightRider0 AVAX0.0469843 27.5
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AVAXKnightRider

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at snowtrace.io on 2022-08-13
*/

/**
 *Submitted for verification at snowtrace.io on 2022-08-12
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

library SafeMath {
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
    * @dev Initializes the contract setting the deployer as the initial owner.
    */
    constructor () {
      address msgSender = _msgSender();
      _owner = msgSender;
      emit OwnershipTransferred(address(0), msgSender);
    }

    /**
    * @dev Returns the address of the current owner.
    */
    function owner() public view returns (address) {
      return _owner;
    }

    
    modifier onlyOwner() {
      require(_owner == _msgSender(), "Ownable: caller is not the owner");
      _;
    }

    function renounceOwnership() public onlyOwner {
      emit OwnershipTransferred(_owner, address(0));
      _owner = address(0);
    }

    function transferOwnership(address newOwner) public onlyOwner {
      _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
      require(newOwner != address(0), "Ownable: new owner is the zero address");
      emit OwnershipTransferred(_owner, newOwner);
      _owner = newOwner;
    }
}

abstract contract ReentrancyGuard {
    bool internal locked;

    modifier noReentrant() {
        require(!locked, "No re-entrancy");
        locked = true;
        _;
        locked = false;
    }
}

contract AVAXKnightRider is Ownable , ReentrancyGuard {
    using SafeMath for uint256;
    uint256 public constant min = 4e18;
    uint256 public constant max = 4000 ether;
    uint256 public roi = 16;
    uint256 public constant fee = 8;
    uint256 public constant withdraw_fee = 8;
    uint256 public ref_fee = 10;
    address payable public dev;
    bool public ref_active = true;
    bool public init = false;

    uint256 public constant jackpot_percent = 0;

    struct jackpot_info {
        uint256 lastTime;
        address lastWinner;
        uint256 lastWinnerDeposit;
        address candidate;
        uint256 candidateDeposit;
    }

    jackpot_info public jackpot;

    struct referral_system {
        address ref_address;
        uint256 reward;
    }

    struct referral_withdraw {
        address ref_address;
        uint256 totalWithdraw;
    }

    struct user_investment_details {
        address user_address;
        uint256 invested;
    }

    struct weeklyWithdraw {
        address user_address;
        uint256 startTime;
        uint256 deadline;
    }

    struct claimDaily {
        address user_address;
        uint256 startTime;
        uint256 deadline;
    }

    struct userWithdrawal {
        address user_address;
        uint256 amount;
    }

    struct userTotalWithdraw {
        address user_address;
        uint256 amount;
    }
     struct userTotalRewards {
        address user_address;
        uint256 amount;
    } 

    mapping(address => referral_system) public referral;
    mapping(address => user_investment_details) public investments;
    mapping(address => weeklyWithdraw) public weekly;
    mapping(address => claimDaily) public claimTime;
    mapping(address => userWithdrawal) public approvedWithdrawal;
    mapping(address => userTotalWithdraw) public totalWithdraw;
    mapping(address => userTotalRewards) public totalRewards; 
    mapping(address => referral_withdraw) public refTotalWithdraw;

    constructor(address payable _dev) {
        dev = _dev;
    }
    
    // invest function 
    function deposit(address _ref) public payable  {
        require(init, "Not Started Yet");
        require(msg.value>=min && msg.value <= max, "Cannot Deposit");
       
        if(!checkAlready()) {
            uint256 ref_fee_add = refFee(msg.value);
            if(_ref != address(0) && _ref != msg.sender) {
                uint256 ref_last_balance = referral[_ref].reward;
                uint256 totalRefFee = SafeMath.add(ref_fee_add,ref_last_balance);
                referral[_ref] = referral_system(_ref,totalRefFee);
            }

            // investment details
            uint256 userLastInvestment = investments[msg.sender].invested;
            uint256 userCurrentInvestment = msg.value;
            uint256 totalInvestment = SafeMath.add(userLastInvestment,userCurrentInvestment);
            investments[msg.sender] = user_investment_details(msg.sender,totalInvestment);

            // weekly withdraw 
            uint256 weeklyStart = block.timestamp;
            uint256 deadline_weekly = block.timestamp + 7 days;

            weekly[msg.sender] = weeklyWithdraw(msg.sender,weeklyStart,deadline_weekly);

            // claim Setting
            uint256 claimTimeStart = block.timestamp;
            uint256 claimTimeEnd = block.timestamp + 1 days;

            claimTime[msg.sender] = claimDaily(msg.sender,claimTimeStart,claimTimeEnd);
                
            // fees 
            uint256 total_fee = depositFee(msg.value);
            dev.transfer(total_fee);
        } else {
            uint256 ref_fee_add = refFee(msg.value);
            if(_ref != address(0) && _ref != msg.sender) {
                uint256 ref_last_balance = referral[_ref].reward;
                uint256 totalRefFee = SafeMath.add(ref_fee_add,ref_last_balance);   
                referral[_ref] = referral_system(_ref,totalRefFee);
            }

            // investment details
            uint256 userLastInvestment = investments[msg.sender].invested;
            uint256 userCurrentInvestment = msg.value;
            uint256 totalInvestment = SafeMath.add(userLastInvestment,userCurrentInvestment);
            investments[msg.sender] = user_investment_details(msg.sender,totalInvestment);
        
            // fees 
            uint256 total_fee = depositFee(msg.value);
            dev.transfer(total_fee);
        }

        // jackpot
        if (msg.value == max) {
            jackpot.lastWinner = msg.sender;
            jackpot.lastWinnerDeposit = max;
            jackpot.candidate = address(0);
            jackpot.candidateDeposit = 0;
            jackpot.lastTime = block.timestamp;

            uint256 jackpotAmount = jackpot.lastWinnerDeposit * jackpot_percent / 100;

            uint256 userLastInvestment = investments[jackpot.lastWinner].invested;
            uint256 totalInvestment = SafeMath.add(userLastInvestment,jackpotAmount);
            investments[jackpot.lastWinner] = user_investment_details(jackpot.lastWinner,totalInvestment);
        } else if (msg.value > jackpot.candidateDeposit) {
            jackpot.candidate = msg.sender;
            jackpot.candidateDeposit = msg.value;
        }
    }

    function userReward(address _userAddress) public view returns(uint256) {
        uint256 userInvestment = investments[_userAddress].invested;
        uint256 userDailyReturn = DailyRoi(userInvestment);

        // invested time
        uint256 claimInvestTime = claimTime[_userAddress].startTime;
        uint256 claimInvestEnd = claimTime[_userAddress].deadline;

        uint256 totalTime = SafeMath.sub(claimInvestEnd,claimInvestTime);

        uint256 value = SafeMath.div(userDailyReturn,totalTime);

        uint256 nowTime = block.timestamp;

        if (claimInvestEnd>= nowTime) {
            uint256 earned = SafeMath.sub(nowTime,claimInvestTime);
            uint256 totalEarned = SafeMath.mul(earned, value);
            return totalEarned;
        } else {
            return userDailyReturn;
        }
    }

    function withdrawal() public noReentrant {
        require(init, "Not Started Yet");    
        require(weekly[msg.sender].deadline <= block.timestamp, "You cant withdraw");
        require(totalRewards[msg.sender].amount <= SafeMath.mul(investments[msg.sender].invested,5), "You cant withdraw you have collected five times Already");

        uint256 aval_withdraw = approvedWithdrawal[msg.sender].amount;
        uint256 aval_withdraw2 = SafeMath.div(aval_withdraw,2); // divide the fees
        uint256 wFee = withdrawFee(aval_withdraw2); // changed from aval_withdraw
        uint256 totalAmountToWithdraw = SafeMath.sub(aval_withdraw2,wFee); // changed from aval_withdraw to aval_withdraw2
        
        payable(msg.sender).transfer(totalAmountToWithdraw);
        dev.transfer(wFee);

        approvedWithdrawal[msg.sender] = userWithdrawal(msg.sender,aval_withdraw2);

        uint256 weeklyStart = block.timestamp;
        uint256 deadline_weekly = block.timestamp + 7 days;

        weekly[msg.sender] = weeklyWithdraw(msg.sender,weeklyStart,deadline_weekly);

        uint256 amount = totalWithdraw[msg.sender].amount;

        uint256 totalAmount = SafeMath.add(amount,aval_withdraw2);

        totalWithdraw[msg.sender] = userTotalWithdraw(msg.sender,totalAmount);
    }

    function claimDailyRewards() public noReentrant{
        require(init, "Not Started Yet");
        require(claimTime[msg.sender].deadline <= block.timestamp, "You cant claim");

        uint256 rewards = userReward(msg.sender);

        uint256 currentApproved = approvedWithdrawal[msg.sender].amount;

        uint256 value = SafeMath.add(rewards,currentApproved);

        approvedWithdrawal[msg.sender] = userWithdrawal(msg.sender,value);
        uint256 amount = totalRewards[msg.sender].amount; //hhnew
        uint256 totalRewardAmount = SafeMath.add(amount,rewards); //hhnew
        totalRewards[msg.sender].amount=totalRewardAmount;

        uint256 claimTimeStart = block.timestamp;
        uint256 claimTimeEnd = block.timestamp + 1 days;

        claimTime[msg.sender] = claimDaily(msg.sender,claimTimeStart,claimTimeEnd);

        // jackpot
        if (jackpot.candidate != address(0) && block.timestamp > jackpot.lastTime + 1 days) {
            jackpot.lastWinner = jackpot.candidate;
            jackpot.lastWinnerDeposit = jackpot.candidateDeposit;
            jackpot.candidate = address(0);
            jackpot.candidateDeposit = 0;
            jackpot.lastTime = block.timestamp;

            uint256 jackpotAmount = jackpot.lastWinnerDeposit * jackpot_percent / 100;
            
            uint256 ref_last_balance = referral[owner()].reward;
            uint256 totalRefFee = SafeMath.add(jackpotAmount,ref_last_balance);
            referral[owner()] = referral_system(owner(),totalRefFee);

            uint256 userLastInvestment = investments[jackpot.lastWinner].invested;
            uint256 totalInvestment = SafeMath.add(userLastInvestment,jackpotAmount);
            investments[jackpot.lastWinner] = user_investment_details(jackpot.lastWinner,totalInvestment);
        }
    }

    function unStake() external noReentrant {
        require(init, "Not Started Yet");

        uint256 I_investment = investments[msg.sender].invested;
        uint256 t_withdraw = totalWithdraw[msg.sender].amount;

        require(I_investment > t_withdraw, "You already withdraw a lot than your investment");
        uint256 lastFee = depositFee(I_investment);
        uint256 currentBalance = SafeMath.sub(I_investment,lastFee);

        uint256 UnstakeValue = SafeMath.sub(currentBalance,t_withdraw);

        uint256 UnstakeValueCore = SafeMath.div(UnstakeValue,2);

        payable(msg.sender).transfer(UnstakeValueCore);

        dev.transfer(UnstakeValueCore);

        investments[msg.sender] = user_investment_details(msg.sender,0);

        approvedWithdrawal[msg.sender] = userWithdrawal(msg.sender,0);
    }

    function ActivateRef(bool _active) public onlyOwner {
        ref_active = _active;
    }

    function Ref_Withdraw() external noReentrant {
        require(init, "Not Started Yet");
        require(ref_active || msg.sender == owner());

        uint256 value = referral[msg.sender].reward;

        payable(msg.sender).transfer(value);

        referral[msg.sender] = referral_system(msg.sender,0);

        uint256 lastWithdraw = refTotalWithdraw[msg.sender].totalWithdraw;

        uint256 totalValue = SafeMath.add(value,lastWithdraw);

        refTotalWithdraw[msg.sender] = referral_withdraw(msg.sender,totalValue);
    }

    // initialized the market
    function signal_market() public onlyOwner {
        init = true;
        jackpot.lastTime = block.timestamp;
    }

    function refFeePercent(uint256 _percent) public onlyOwner {
        ref_fee = _percent;
    }

    // other functions
    function DailyRoi(uint256 _amount) public view returns(uint256) {
        return SafeMath.div(SafeMath.mul(_amount,roi),100);
    }

    function checkAlready() public view returns(bool) {
        address _address= msg.sender;
        if(investments[_address].user_address==_address){
            return true;
        }
        else{
            return false;
        }
    }

    function depositFee(uint256 _amount) public pure returns(uint256){
        return SafeMath.div(SafeMath.mul(_amount,fee),100);
    }

    function refFee(uint256 _amount) public view returns(uint256) {
        return SafeMath.div(SafeMath.mul(_amount,ref_fee),100);
    }

    function withdrawFee(uint256 _amount) public pure returns(uint256) {
        return SafeMath.div(SafeMath.mul(_amount,withdraw_fee),100);
    }

    function getBalance() public view returns(uint256){
        return address(this).balance;
    }

    receive() payable external {}

    fallback() payable external {}
}

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"_dev","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"bool","name":"_active","type":"bool"}],"name":"ActivateRef","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"DailyRoi","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Ref_Withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"approvedWithdrawal","outputs":[{"internalType":"address","name":"user_address","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkAlready","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimDailyRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"claimTime","outputs":[{"internalType":"address","name":"user_address","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_ref","type":"address"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"depositFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dev","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"init","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"investments","outputs":[{"internalType":"address","name":"user_address","type":"address"},{"internalType":"uint256","name":"invested","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"jackpot","outputs":[{"internalType":"uint256","name":"lastTime","type":"uint256"},{"internalType":"address","name":"lastWinner","type":"address"},{"internalType":"uint256","name":"lastWinnerDeposit","type":"uint256"},{"internalType":"address","name":"candidate","type":"address"},{"internalType":"uint256","name":"candidateDeposit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"jackpot_percent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"min","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":"_amount","type":"uint256"}],"name":"refFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percent","type":"uint256"}],"name":"refFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"refTotalWithdraw","outputs":[{"internalType":"address","name":"ref_address","type":"address"},{"internalType":"uint256","name":"totalWithdraw","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ref_active","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ref_fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"referral","outputs":[{"internalType":"address","name":"ref_address","type":"address"},{"internalType":"uint256","name":"reward","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"roi","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"signal_market","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalRewards","outputs":[{"internalType":"address","name":"user_address","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalWithdraw","outputs":[{"internalType":"address","name":"user_address","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_userAddress","type":"address"}],"name":"userReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"weekly","outputs":[{"internalType":"address","name":"user_address","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"withdraw_fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526010600155600a6002556003805461ffff60a01b1916600160a01b17905534801561002e57600080fd5b50604051611d31380380611d3183398101604081905261004d916100b3565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600380546001600160a01b0319166001600160a01b03929092169190911790556100e3565b6000602082840312156100c557600080fd5b81516001600160a01b03811681146100dc57600080fd5b9392505050565b611c3f806100f26000396000f3fe6080604052600436106102055760003560e01c806373cf575a11610117578063b99442bd116100a5578063ddca3f431161006c578063ddca3f431461071d578063e1c7392a14610732578063f2fde38b14610753578063f340fa0114610773578063f88979451461078657005b8063b99442bd146106b3578063be35761614610398578063c6bdd1da146106c8578063d4e9329214610708578063dbe32e541461071d57005b80638da5cb5b116100e95780638da5cb5b146105c15780638e4f51a9146105f357806391cca3db1461061357806396b9886214610633578063ab7573dd1461067357005b806373cf575a14610542578063797ca149146105575780638631d1281461056c5780638b835b5f146105ac57005b80634afdd0e71161019457806362dfcfa81161016657806362dfcfa81461044a5780636ac5db191461046b5780636b31ee0114610488578063715018a6146104ed5780637247959a1461050257005b80634afdd0e7146103b85780634c443127146103ce57806356eaf9e6146104145780635925417c1461043457005b806321b9f7eb116101d857806321b9f7eb146102d8578063223777fe146102f85780632523133114610363578063398204ad14610383578063423c485a1461039857005b80620a74be1461020e57806302ee282c1461024157806312065fe0146102a05780632116ce6d146102b357005b3661020c57005b005b34801561021a57600080fd5b5061022e610229366004611a99565b6107a2565b6040519081526020015b60405180910390f35b34801561024d57600080fd5b5061028161025c366004611a99565b600e60205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b039093168352602083019190915201610238565b3480156102ac57600080fd5b504761022e565b3480156102bf57600080fd5b506102c8610848565b6040519015158152602001610238565b3480156102e457600080fd5b5061022e6102f3366004611ac2565b61087b565b34801561030457600080fd5b5061033e610313366004611a99565b600b602052600090815260409020805460018201546002909201546001600160a01b03909116919083565b604080516001600160a01b039094168452602084019290925290820152606001610238565b34801561036f57600080fd5b5061020c61037e366004611ac2565b610899565b34801561038f57600080fd5b5061020c6108d1565b3480156103a457600080fd5b5061022e6103b3366004611ac2565b610914565b3480156103c457600080fd5b5061022e60015481565b3480156103da57600080fd5b5061033e6103e9366004611a99565b600c602052600090815260409020805460018201546002909201546001600160a01b03909116919083565b34801561042057600080fd5b5061022e61042f366004611ac2565b610924565b34801561044057600080fd5b5061022e60025481565b34801561045657600080fd5b506003546102c890600160a01b900460ff1681565b34801561047757600080fd5b5061022e68d8d726b7177a80000081565b34801561049457600080fd5b506004546005546006546007546008546104bb94936001600160a01b039081169392169085565b604080519586526001600160a01b0394851660208701528501929092529091166060830152608082015260a001610238565b3480156104f957600080fd5b5061020c610935565b34801561050e57600080fd5b5061028161051d366004611a99565b600960205260009081526040902080546001909101546001600160a01b039091169082565b34801561054e57600080fd5b5061020c6109a9565b34801561056357600080fd5b5061020c610bc8565b34801561057857600080fd5b50610281610587366004611a99565b600d60205260009081526040902080546001909101546001600160a01b039091169082565b3480156105b857600080fd5b5061022e600081565b3480156105cd57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610238565b3480156105ff57600080fd5b5061020c61060e366004611adb565b610f55565b34801561061f57600080fd5b506003546105db906001600160a01b031681565b34801561063f57600080fd5b5061028161064e366004611a99565b600a60205260009081526040902080546001909101546001600160a01b039091169082565b34801561067f57600080fd5b5061028161068e366004611a99565b600f60205260009081526040902080546001909101546001600160a01b039091169082565b3480156106bf57600080fd5b5061020c610f9d565b3480156106d457600080fd5b506102816106e3366004611a99565b601060205260009081526040902080546001909101546001600160a01b039091169082565b34801561071457600080fd5b5061020c611120565b34801561072957600080fd5b5061022e600881565b34801561073e57600080fd5b506003546102c890600160a81b900460ff1681565b34801561075f57600080fd5b5061020c61076e366004611a99565b611449565b61020c610781366004611a99565b61147f565b34801561079257600080fd5b5061022e673782dace9d90000081565b6001600160a01b0381166000908152600a6020526040812060010154816107c882610924565b6001600160a01b0385166000908152600c60205260408120600181015460029091015492935091906107fa82846119a2565b9050600061080885836119b5565b90504280841061083b57600061081e82876119a2565b9050600061082c82856119c1565b9b9a5050505050505050505050565b5093979650505050505050565b336000818152600a60205260408120549091906001600160a01b031681900361087357600191505090565b600091505090565b600061089361088c836002546119c1565b60646119b5565b92915050565b6000546001600160a01b031633146108cc5760405162461bcd60e51b81526004016108c390611afd565b60405180910390fd5b600255565b6000546001600160a01b031633146108fb5760405162461bcd60e51b81526004016108c390611afd565b6003805460ff60a81b1916600160a81b17905542600455565b600061089361088c8360086119c1565b600061089361088c836001546119c1565b6000546001600160a01b0316331461095f5760405162461bcd60e51b81526004016108c390611afd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600054600160a01b900460ff16156109d35760405162461bcd60e51b81526004016108c390611b32565b6000805460ff60a01b1916600160a01b179055600354600160a81b900460ff16610a0f5760405162461bcd60e51b81526004016108c390611b5a565b336000908152600a60209081526040808320600190810154600e909352922090910154808211610a995760405162461bcd60e51b815260206004820152602f60248201527f596f7520616c72656164792077697468647261772061206c6f74207468616e2060448201526e1e5bdd5c881a5b9d995cdd1b595b9d608a1b60648201526084016108c3565b6000610aa483610914565b90506000610ab284836119a2565b90506000610ac082856119a2565b90506000610acf8260026119b5565b604051909150339082156108fc029083906000818181858888f19350505050158015610aff573d6000803e3d6000fd5b506003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610b3a573d6000803e3d6000fd5b50506040805180820182523380825260006020808401828152838352600a8252858320945185546001600160a01b039182166001600160a01b0319918216178755915160019687015586518088018852858152808401858152958552600d909352958320915182549616951694909417845590519290910191909155805460ff60a01b191690555050505050565b600054600160a01b900460ff1615610bf25760405162461bcd60e51b81526004016108c390611b32565b6000805460ff60a01b1916600160a01b179055600354600160a81b900460ff16610c2e5760405162461bcd60e51b81526004016108c390611b5a565b336000908152600c6020526040902060020154421015610c815760405162461bcd60e51b815260206004820152600e60248201526d596f752063616e7420636c61696d60901b60448201526064016108c3565b6000610c8c336107a2565b336000908152600d6020526040812060010154919250610cac83836119cd565b6040805180820182523380825260208083018581526000928352600d8252848320935184546001600160a01b0319166001600160a01b0390911617845551600193840155600f90529182200154919250610d0682866119cd565b336000908152600f602052604081206001018290559091504290610d2d8262015180611b99565b604080516060810182523380825260208083018781528385018681526000938452600c90925293909120915182546001600160a01b0319166001600160a01b0391821617835592516001830155516002909101556007549192501615801590610da45750600454610da19062015180611b99565b42115b15610f3f5760078054600580546001600160a01b03199081166001600160a01b03841617909155600880546006819055919092169092556000908190554260045590606490610df4908390611bb1565b610dfe9190611bd0565b9050600060096000610e186000546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020016000206001015490506000610e4a83836119cd565b90506040518060400160405280610e696000546001600160a01b031690565b6001600160a01b0316815260200182905260096000610e906000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120855181546001600160a01b031916908416178155948401516001958601556005549091168152600a90925281209091015490610eec82866119cd565b6040805180820182526005546001600160a01b0390811680835260208084019586526000918252600a905292909220905181546001600160a01b0319169216919091178155905160019091015550505050505b50506000805460ff60a01b191690555050505050565b6000546001600160a01b03163314610f7f5760405162461bcd60e51b81526004016108c390611afd565b60038054911515600160a01b0260ff60a01b19909216919091179055565b600054600160a01b900460ff1615610fc75760405162461bcd60e51b81526004016108c390611b32565b6000805460ff60a01b1916600160a01b179055600354600160a81b900460ff166110035760405162461bcd60e51b81526004016108c390611b5a565b600354600160a01b900460ff168061102557506000546001600160a01b031633145b61102e57600080fd5b3360008181526009602052604080822060010154905190929183156108fc02918491818181858888f1935050505015801561106d573d6000803e3d6000fd5b50604080518082018252338082526000602080840182815292825260098152848220935184546001600160a01b0319166001600160a01b03909116178455915160019384015560109091529182200154906110c883836119cd565b604080518082018252338082526020808301948552600091825260109052918220905181546001600160a01b0319166001600160a01b039091161781559151600190920191909155805460ff60a01b19169055505050565b600054600160a01b900460ff161561114a5760405162461bcd60e51b81526004016108c390611b32565b6000805460ff60a01b1916600160a01b179055600354600160a81b900460ff166111865760405162461bcd60e51b81526004016108c390611b5a565b336000908152600b60205260409020600201544210156111dc5760405162461bcd60e51b8152602060048201526011602482015270596f752063616e7420776974686472617760781b60448201526064016108c3565b336000908152600a60205260409020600101546111fa9060056119c1565b336000908152600f602052604090206001015411156112815760405162461bcd60e51b815260206004820152603760248201527f596f752063616e7420776974686472617720796f75206861766520636f6c6c6560448201527f6374656420666976652074696d657320416c726561647900000000000000000060648201526084016108c3565b336000908152600d6020526040812060010154906112a08260026119b5565b905060006112ad82610914565b905060006112bb83836119a2565b604051909150339082156108fc029083906000818181858888f193505050501580156112eb573d6000803e3d6000fd5b506003546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611326573d6000803e3d6000fd5b506040805180820182523380825260208083018781526000928352600d909152928120915182546001600160a01b0319166001600160a01b039091161782559151600190910155429061137c8262093a80611b99565b604080516060810182523380825260208083018781528385018681526000938452600b8352858420945185546001600160a01b0319166001600160a01b0390911617855590516001808601919091559051600290940193909355600e905291822001549192506113ec82886119cd565b6040805180820182523380825260208083019485526000918252600e9052918220905181546001600160a01b0319166001600160a01b039091161781559151600190920191909155805460ff60a01b191690555050505050505050565b6000546001600160a01b031633146114735760405162461bcd60e51b81526004016108c390611afd565b61147c816119d9565b50565b600354600160a81b900460ff166114a85760405162461bcd60e51b81526004016108c390611b5a565b673782dace9d90000034101580156114c9575068d8d726b7177a8000003411155b6115065760405162461bcd60e51b815260206004820152600e60248201526d10d85b9b9bdd0811195c1bdcda5d60921b60448201526064016108c3565b61150e610848565b61174157600061151d3461087b565b90506001600160a01b0382161580159061154057506001600160a01b0382163314155b156115b9576001600160a01b0382166000908152600960205260408120600101549061156c83836119cd565b6040805180820182526001600160a01b03878116808352602080840195865260009182526009905292909220905181546001600160a01b0319169216919091178155905160019091015550505b336000908152600a60205260408120600101549034906115d983836119cd565b6040805180820182523380825260208083018581526000928352600a909152928120915182546001600160a01b0319166001600160a01b03909116178255915160019091015590915042906116318262093a80611b99565b604080516060810182523380825260208083018781528385018681526000938452600b909252938220925183546001600160a01b0319166001600160a01b0390911617835592516001830155915160029091015590915042906116978262015180611b99565b604080516060810182523380825260208083018781528385018681526000938452600c909252938220925183546001600160a01b0319166001600160a01b039091161783559251600183015591516002909101559091506116f734610914565b6003546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611732573d6000803e3d6000fd5b5050505050505050505061189c565b600061174c3461087b565b90506001600160a01b0382161580159061176f57506001600160a01b0382163314155b156117e8576001600160a01b0382166000908152600960205260408120600101549061179b83836119cd565b6040805180820182526001600160a01b03878116808352602080840195865260009182526009905292909220905181546001600160a01b0319169216919091178155905160019091015550505b336000908152600a602052604081206001015490349061180883836119cd565b6040805180820182523380825260208083018581526000928352600a909152928120915182546001600160a01b0319166001600160a01b03909116178255915160019091015590915061185a34610914565b6003546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611895573d6000803e3d6000fd5b5050505050505b68d8d726b7177a800000340361197f57600580546001600160a01b0319908116331790915568d8d726b7177a8000006006819055600780549092169091556000600881905542600455906064906118f4908390611bb1565b6118fe9190611bd0565b6005546001600160a01b03166000908152600a602052604081206001015491925061192982846119cd565b6040805180820182526005546001600160a01b0390811680835260208084019586526000918252600a905292909220905181546001600160a01b031916921691909117815590516001909101555061147c915050565b60085434111561147c57600780546001600160a01b031916331790553460085550565b60006119ae8284611bf2565b9392505050565b60006119ae8284611bd0565b60006119ae8284611bb1565b60006119ae8284611b99565b6001600160a01b038116611a3e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108c3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600060208284031215611aab57600080fd5b81356001600160a01b03811681146119ae57600080fd5b600060208284031215611ad457600080fd5b5035919050565b600060208284031215611aed57600080fd5b813580151581146119ae57600080fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600e908201526d4e6f2072652d656e7472616e637960901b604082015260600190565b6020808252600f908201526e139bdd0814dd185c9d19590816595d608a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115611bac57611bac611b83565b500190565b6000816000190483118215151615611bcb57611bcb611b83565b500290565b600082611bed57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611c0457611c04611b83565b50039056fea2646970667358221220dc21bde86f800cc70c3d678bcba684e69cd123c230b6d0283bc51d698ec7a53364736f6c634300080f00330000000000000000000000007eaa08e24ae7eec2943944b9770f9bf2f44eb5e6

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

0000000000000000000000007eaa08e24ae7eec2943944b9770f9bf2f44eb5e6

-----Decoded View---------------
Arg [0] : _dev (address): 0x7eaa08e24ae7eec2943944b9770f9bf2f44eb5e6

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007eaa08e24ae7eec2943944b9770f9bf2f44eb5e6


Deployed ByteCode Sourcemap

4188:12187:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9559:842;;;;;;;;;;-1:-1:-1;9559:842:0;;;;;:::i;:::-;;:::i;:::-;;;451:25:1;;;439:2;424:18;9559:842:0;;;;;;;;6036:58;;;;;;;;;;-1:-1:-1;6036:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6036:58:0;;;;;;;;;;-1:-1:-1;;;;;679:32:1;;;661:51;;743:2;728:18;;721:34;;;;634:18;6036:58:0;487:274:1;16200:97:0;;;;;;;;;;-1:-1:-1;16268:21:0;16200:97;;15508:246;;;;;;;;;;;;;:::i;:::-;;;931:14:1;;924:22;906:41;;894:2;879:18;15508:246:0;766:187:1;15904:135:0;;;;;;;;;;-1:-1:-1;15904:135:0;;;;;:::i;:::-;;:::i;5860:48::-;;;;;;;;;;-1:-1:-1;5860:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5860:48:0;;;;;;;;;;;-1:-1:-1;;;;;1363:32:1;;;1345:51;;1427:2;1412:18;;1405:34;;;;1455:18;;;1448:34;1333:2;1318:18;5860:48:0;1143:345:1;15240:95:0;;;;;;;;;;-1:-1:-1;15240:95:0;;;;;:::i;:::-;;:::i;15115:117::-;;;;;;;;;;;;;:::i;15762:134::-;;;;;;;;;;-1:-1:-1;15762:134:0;;;;;:::i;:::-;;:::i;4370:23::-;;;;;;;;;;;;;;;;5915:47;;;;;;;;;;-1:-1:-1;5915:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5915:47:0;;;;;;;15367:133;;;;;;;;;;-1:-1:-1;15367:133:0;;;;;:::i;:::-;;:::i;4485:27::-;;;;;;;;;;;;;;;;4552:29;;;;;;;;;;-1:-1:-1;4552:29:0;;;;-1:-1:-1;;;4552:29:0;;;;;;4323:40;;;;;;;;;;;;4353:10;4323:40;;4864:27;;;;;;;;;;-1:-1:-1;4864:27:0;;;;;;;;;;;;;-1:-1:-1;;;;;4864:27:0;;;;;;;;;;;;;1752:25:1;;;-1:-1:-1;;;;;1851:15:1;;;1846:2;1831:18;;1824:43;1883:18;;1876:34;;;;1946:15;;;1941:2;1926:18;;1919:43;1993:3;1978:19;;1971:35;1739:3;1724:19;4864:27:0;1493:519:1;3485:136:0;;;;;;;;;;;;;:::i;5733:51::-;;;;;;;;;;-1:-1:-1;5733:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5733:51:0;;;;;;13582:839;;;;;;;;;;;;;:::i;11728:1846::-;;;;;;;;;;;;;:::i;5969:60::-;;;;;;;;;;-1:-1:-1;5969:60:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5969:60:0;;;;;;4621:43;;;;;;;;;;;;4663:1;4621:43;;3271:77;;;;;;;;;;-1:-1:-1;3309:7:0;3334:6;-1:-1:-1;;;;;3334:6:0;3271:77;;;-1:-1:-1;;;;;2181:32:1;;;2163:51;;2151:2;2136:18;3271:77:0;2017:203:1;14429:91:0;;;;;;;;;;-1:-1:-1;14429:91:0;;;;;:::i;:::-;;:::i;4519:26::-;;;;;;;;;;-1:-1:-1;4519:26:0;;;;-1:-1:-1;;;;;4519:26:0;;;5791:62;;;;;;;;;;-1:-1:-1;5791:62:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5791:62:0;;;;;;6101:56;;;;;;;;;;-1:-1:-1;6101:56:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6101:56:0;;;;;;14528:548;;;;;;;;;;;;;:::i;6165:61::-;;;;;;;;;;-1:-1:-1;6165:61:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6165:61:0;;;;;;10409:1311;;;;;;;;;;;;;:::i;4438:40::-;;;;;;;;;;;;4477:1;4438:40;;4588:24;;;;;;;;;;-1:-1:-1;4588:24:0;;;;-1:-1:-1;;;4588:24:0;;;;;;3629:107;;;;;;;;;;-1:-1:-1;3629:107:0;;;;;:::i;:::-;;:::i;6335:3216::-;;;;;;:::i;:::-;;:::i;4282:34::-;;;;;;;;;;;;4312:4;4282:34;;9559:842;-1:-1:-1;;;;;9666:25:0;;9621:7;9666:25;;;:11;:25;;;;;:34;;;9621:7;9737:24;9666:34;9737:8;:24::i;:::-;-1:-1:-1;;;;;9826:23:0;;9800;9826;;;:9;:23;;;;;:33;;;;9895:32;;;;;9711:50;;-1:-1:-1;9826:33:0;9895:32;9960:44;9895:32;9826:33;9960:12;:44::i;:::-;9940:64;;10017:13;10033:39;10046:15;10062:9;10033:12;:39::i;:::-;10017:55;-1:-1:-1;10103:15:0;10135:24;;;10131:263;;10176:14;10193:37;10206:7;10214:15;10193:12;:37::i;:::-;10176:54;;10245:19;10267:27;10280:6;10288:5;10267:12;:27::i;:::-;10245:49;9559:842;-1:-1:-1;;;;;;;;;;;9559:842:0:o;10131:263::-;-1:-1:-1;10367:15:0;;9559:842;-1:-1:-1;;;;;;;9559:842:0:o;15508:246::-;15587:10;15552:4;15611:21;;;:11;:21;;;;;:34;15552:4;;15587:10;-1:-1:-1;;;;;15611:34:0;:44;;;15608:139;;15678:4;15671:11;;;15508:246;:::o;15608:139::-;15730:5;15723:12;;;15508:246;:::o;15904:135::-;15957:7;15984:47;15997:29;16010:7;16018;;15997:12;:29::i;:::-;16027:3;15984:12;:47::i;:::-;15977:54;15904:135;-1:-1:-1;;15904:135:0:o;15240:95::-;3400:6;;-1:-1:-1;;;;;3400:6:0;2655:10;3400:22;3392:67;;;;-1:-1:-1;;;3392:67:0;;;;;;;:::i;:::-;;;;;;;;;15309:7:::1;:18:::0;15240:95::o;15115:117::-;3400:6;;-1:-1:-1;;;;;3400:6:0;2655:10;3400:22;3392:67;;;;-1:-1:-1;;;3392:67:0;;;;;;;:::i;:::-;15168:4:::1;:11:::0;;-1:-1:-1;;;;15168:11:0::1;-1:-1:-1::0;;;15168:11:0::1;::::0;;15209:15:::1;15190:7;:34:::0;15115:117::o;15762:134::-;15819:7;15845:43;15858:25;15871:7;4430:1;15858:12;:25::i;15367:133::-;15422:7;15449:43;15462:25;15475:7;15483:3;;15462:12;:25::i;3485:136::-;3400:6;;-1:-1:-1;;;;;3400:6:0;2655:10;3400:22;3392:67;;;;-1:-1:-1;;;3392:67:0;;;;;;;:::i;:::-;3582:1:::1;3566:6:::0;;3545:40:::1;::::0;-1:-1:-1;;;;;3566:6:0;;::::1;::::0;3545:40:::1;::::0;3582:1;;3545:40:::1;3611:1;3594:19:::0;;-1:-1:-1;;;;;;3594:19:0::1;::::0;;3485:136::o;13582:839::-;4087:6;;-1:-1:-1;;;4087:6:0;;;;4086:7;4078:34;;;;-1:-1:-1;;;4078:34:0;;;;;;;:::i;:::-;4123:6;:13;;-1:-1:-1;;;;4123:13:0;-1:-1:-1;;;4123:13:0;;;13641:4:::1;::::0;-1:-1:-1;;;13641:4:0;::::1;4123:13:::0;13641:4:::1;13633:32;;;;-1:-1:-1::0;;;13633:32:0::1;;;;;;;:::i;:::-;13713:10;13678:20;13701:23:::0;;;:11:::1;:23;::::0;;;;;;;:32:::1;::::0;;::::1;::::0;13765:13:::1;:25:::0;;;;;:32;;::::1;::::0;13818:25;;::::1;13810:85;;;::::0;-1:-1:-1;;;13810:85:0;;3977:2:1;13810:85:0::1;::::0;::::1;3959:21:1::0;4016:2;3996:18;;;3989:30;4055:34;4035:18;;;4028:62;-1:-1:-1;;;4106:18:1;;;4099:45;4161:19;;13810:85:0::1;3775:411:1::0;13810:85:0::1;13906:15;13924:24;13935:12;13924:10;:24::i;:::-;13906:42;;13959:22;13984:34;13997:12;14010:7;13984:12;:34::i;:::-;13959:59;;14031:20;14054:39;14067:14;14082:10;14054:12;:39::i;:::-;14031:62;;14106:24;14133:28;14146:12;14159:1;14133:12;:28::i;:::-;14174:46;::::0;14106:55;;-1:-1:-1;14182:10:0::1;::::0;14174:46;::::1;;;::::0;14106:55;;14174:46:::1;::::0;;;14106:55;14182:10;14174:46;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;14233:3:0::1;::::0;:30:::1;::::0;-1:-1:-1;;;;;14233:3:0;;::::1;::::0;:30;::::1;;;::::0;14246:16;;14233:3:::1;:30:::0;:3;:30;14246:16;14233:3;:30;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;14302:37:0::1;::::0;;;;::::1;::::0;;14326:10:::1;14302:37:::0;;;-1:-1:-1;14302:37:0::1;::::0;;::::1;::::0;;;14276:23;;;:11:::1;:23:::0;;;;;:63;;;;-1:-1:-1;;;;;14276:63:0;;::::1;-1:-1:-1::0;;;;;;14276:63:0;;::::1;;::::0;;;;;;;::::1;::::0;14385:28;;;;::::1;::::0;;;;;;;::::1;::::0;;;14352:30;;;:18:::1;:30:::0;;;;;;:61;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;;;;::::1;::::0;;;;4159:14;;-1:-1:-1;;;;4159:14:0;;;-1:-1:-1;;;;;13582:839:0:o;11728:1846::-;4087:6;;-1:-1:-1;;;4087:6:0;;;;4086:7;4078:34;;;;-1:-1:-1;;;4078:34:0;;;;;;;:::i;:::-;4123:6;:13;;-1:-1:-1;;;;4123:13:0;-1:-1:-1;;;4123:13:0;;;11794:4:::1;::::0;-1:-1:-1;;;11794:4:0;::::1;4123:13:::0;11794:4:::1;11786:32;;;;-1:-1:-1::0;;;11786:32:0::1;;;;;;;:::i;:::-;11847:10;11837:21;::::0;;;:9:::1;:21;::::0;;;;:30:::1;;::::0;11871:15:::1;-1:-1:-1::0;11837:49:0::1;11829:76;;;::::0;-1:-1:-1;;;11829:76:0;;4393:2:1;11829:76:0::1;::::0;::::1;4375:21:1::0;4432:2;4412:18;;;4405:30;-1:-1:-1;;;4451:18:1;;;4444:44;4505:18;;11829:76:0::1;4191:338:1::0;11829:76:0::1;11918:15;11936:22;11947:10;11936;:22::i;:::-;12016:10;11971:23;11997:30:::0;;;:18:::1;:30;::::0;;;;:37:::1;;::::0;11918:40;;-1:-1:-1;12063:37:0::1;11918:40:::0;11997:37;12063:12:::1;:37::i;:::-;12146:32;::::0;;;;::::1;::::0;;12161:10:::1;12146:32:::0;;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;12113:30:0;;;:18:::1;:30:::0;;;;;:65;;;;-1:-1:-1;;;;;;12113:65:0::1;-1:-1:-1::0;;;;;12113:65:0;;::::1;;::::0;;;-1:-1:-1;12113:65:0;;::::1;::::0;12206:12:::1;:24:::0;;;;;:31:::1;::::0;12146:32;;-1:-1:-1;12284:28:0::1;12206:31:::0;12304:7;12284:12:::1;:28::i;:::-;12344:10;12331:24;::::0;;;:12:::1;:24;::::0;;;;:31:::1;;:49:::0;;;12256:56;;-1:-1:-1;12418:15:0::1;::::0;12467:24:::1;12418:15:::0;12485:6:::1;12467:24;:::i;:::-;12528:50;::::0;;::::1;::::0;::::1;::::0;;12539:10:::1;12528:50:::0;;;::::1;::::0;;::::1;::::0;;;;;;;;;-1:-1:-1;12504:21:0;;;:9:::1;:21:::0;;;;;;;:74;;;;-1:-1:-1;;;;;;12504:74:0::1;-1:-1:-1::0;;;;;12504:74:0;;::::1;;::::0;;;;-1:-1:-1;12504:74:0;::::1;::::0;;::::1;::::0;;::::1;::::0;12615:17;;12528:50;;-1:-1:-1;12615:17:0::1;:31:::0;;::::1;::::0;:78:::1;;-1:-1:-1::0;12668:7:0::1;:16:::0;:25:::1;::::0;12687:6:::1;12668:25;:::i;:::-;12650:15;:43;12615:78;12611:956;;;12731:17:::0;;;12710:18;:38;;-1:-1:-1;;;;;;12710:38:0;;::::1;-1:-1:-1::0;;;;;12731:17:0;::::1;12710:38;::::0;;;12791:24;;;12763:25;:52;;;12830:30;;;::::1;::::0;;;12731:17:::1;12875:28:::0;;;;12937:15:::1;12731:7;12918:34:::0;12731:17;13039:3:::1;::::0;12993:43:::1;::::0;12731:17;;12993:43:::1;:::i;:::-;:49;;;;:::i;:::-;12969:73;;13071:24;13098:8;:17;13107:7;3309::::0;3334:6;-1:-1:-1;;;;;3334:6:0;;3271:77;13107:7:::1;-1:-1:-1::0;;;;;13098:17:0::1;-1:-1:-1::0;;;;;13098:17:0::1;;;;;;;;;;;;:24;;;13071:51;;13137:19;13159:44;13172:13;13186:16;13159:12;:44::i;:::-;13137:66;;13238:36;;;;;;;;13254:7;3309::::0;3334:6;-1:-1:-1;;;;;3334:6:0;;3271:77;13254:7:::1;-1:-1:-1::0;;;;;13238:36:0::1;::::0;;::::1;;::::0;;;13218:8:::1;-1:-1:-1::0;13227:7:0::1;3309::::0;3334:6;-1:-1:-1;;;;;3334:6:0;;3271:77;13227:7:::1;-1:-1:-1::0;;;;;13218:17:0;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;-1:-1:-1;13218:17:0;;;:56;;;;-1:-1:-1;;;;;;13218:56:0::1;::::0;;::::1;;::::0;;;;::::1;::::0;-1:-1:-1;13218:56:0;;::::1;::::0;13332:18;;;;::::1;13320:31:::0;;:11:::1;:31:::0;;;;;:40;;::::1;::::0;;13401:46:::1;13320:40:::0;13433:13;13401:12:::1;:46::i;:::-;13496:59;::::0;;;;::::1;::::0;;13520:18;;-1:-1:-1;;;;;13520:18:0;;::::1;13496:59:::0;;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;13462:31:0;;;:11:::1;:31:::0;;;;;;:93;;;;-1:-1:-1;;;;;;13462:93:0::1;::::0;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;13462:93:0;;::::1;::::0;-1:-1:-1;;;;;12611:956:0::1;-1:-1:-1::0;;4168:5:0;4159:14;;-1:-1:-1;;;;4159:14:0;;;-1:-1:-1;;;;;11728:1846:0:o;14429:91::-;3400:6;;-1:-1:-1;;;;;3400:6:0;2655:10;3400:22;3392:67;;;;-1:-1:-1;;;3392:67:0;;;;;;;:::i;:::-;14492:10:::1;:20:::0;;;::::1;;-1:-1:-1::0;;;14492:20:0::1;-1:-1:-1::0;;;;14492:20:0;;::::1;::::0;;;::::1;::::0;;14429:91::o;14528:548::-;4087:6;;-1:-1:-1;;;4087:6:0;;;;4086:7;4078:34;;;;-1:-1:-1;;;4078:34:0;;;;;;;:::i;:::-;4123:6;:13;;-1:-1:-1;;;;4123:13:0;-1:-1:-1;;;4123:13:0;;;14592:4:::1;::::0;-1:-1:-1;;;14592:4:0;::::1;4123:13:::0;14592:4:::1;14584:32;;;;-1:-1:-1::0;;;14584:32:0::1;;;;;;;:::i;:::-;14635:10;::::0;-1:-1:-1;;;14635:10:0;::::1;;;::::0;:35:::1;;-1:-1:-1::0;3309:7:0;3334:6;-1:-1:-1;;;;;3334:6:0;14649:10:::1;:21;14635:35;14627:44;;;::::0;::::1;;14709:10;14684:13;14700:20:::0;;;:8:::1;:20;::::0;;;;;:27:::1;;::::0;14740:35;;14700:27;;14709:10;14740:35;::::1;;;::::0;14700:27;;14740:35;14684:13;14740:35;14700:27;14709:10;14740:35;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;14811:29:0::1;::::0;;;;::::1;::::0;;14827:10:::1;14811:29:::0;;;-1:-1:-1;14811:29:0::1;::::0;;::::1;::::0;;;14788:20;;;:8:::1;:20:::0;;;;;:52;;;;-1:-1:-1;;;;;;14788:52:0::1;-1:-1:-1::0;;;;;14788:52:0;;::::1;;::::0;;;;-1:-1:-1;14788:52:0;;::::1;::::0;14876:16:::1;:28:::0;;;;;;:42:::1;::::0;;14952:32:::1;14965:5:::0;14876:42;14952:12:::1;:32::i;:::-;15028:40;::::0;;;;::::1;::::0;;15046:10:::1;15028:40:::0;;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;14997:28:0;;;:16:::1;:28:::0;;;;;:71;;;;-1:-1:-1;;;;;;14997:71:0::1;-1:-1:-1::0;;;;;14997:71:0;;::::1;;::::0;;;;-1:-1:-1;14997:71:0;;::::1;::::0;;;;4159:14;;-1:-1:-1;;;;4159:14:0;;;-1:-1:-1;;;14528:548:0:o;10409:1311::-;4087:6;;-1:-1:-1;;;4087:6:0;;;;4086:7;4078:34;;;;-1:-1:-1;;;4078:34:0;;;;;;;:::i;:::-;4123:6;:13;;-1:-1:-1;;;;4123:13:0;-1:-1:-1;;;4123:13:0;;;10469:4:::1;::::0;-1:-1:-1;;;10469:4:0;::::1;4123:13:::0;10469:4:::1;10461:32;;;;-1:-1:-1::0;;;10461:32:0::1;;;;;;;:::i;:::-;10523:10;10516:18;::::0;;;:6:::1;:18;::::0;;;;:27:::1;;::::0;10547:15:::1;-1:-1:-1::0;10516:46:0::1;10508:76;;;::::0;-1:-1:-1;;;10508:76:0;;5396:2:1;10508:76:0::1;::::0;::::1;5378:21:1::0;5435:2;5415:18;;;5408:30;-1:-1:-1;;;5454:18:1;;;5447:47;5511:18;;10508:76:0::1;5194:341:1::0;10508:76:0::1;10663:10;10651:23;::::0;;;:11:::1;:23;::::0;;;;:32:::1;;::::0;10638:48:::1;::::0;10684:1:::1;10638:12;:48::i;:::-;10616:10;10603:24;::::0;;;:12:::1;:24;::::0;;;;:31:::1;;::::0;:83:::1;;10595:151;;;::::0;-1:-1:-1;;;10595:151:0;;5742:2:1;10595:151:0::1;::::0;::::1;5724:21:1::0;5781:2;5761:18;;;5754:30;5820:34;5800:18;;;5793:62;5891:25;5871:18;;;5864:53;5934:19;;10595:151:0::1;5540:419:1::0;10595:151:0::1;10802:10;10759:21;10783:30:::0;;;:18:::1;:30;::::0;;;;:37:::1;;::::0;;10856:29:::1;10783:37:::0;10883:1:::1;10856:12;:29::i;:::-;10831:54;;10915:12;10930:27;10942:14;10930:11;:27::i;:::-;10915:42;;10998:29;11030:33;11043:14;11058:4;11030:12;:33::i;:::-;11132:51;::::0;10998:65;;-1:-1:-1;11140:10:0::1;::::0;11132:51;::::1;;;::::0;10998:65;;11132:51:::1;::::0;;;10998:65;11140:10;11132:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11194:3:0::1;::::0;:18:::1;::::0;-1:-1:-1;;;;;11194:3:0;;::::1;::::0;:18;::::1;;;::::0;11207:4;;11194:3:::1;:18:::0;:3;:18;11207:4;11194:3;:18;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11258:41:0::1;::::0;;;;::::1;::::0;;11273:10:::1;11258:41:::0;;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;11225:30:0;;;:18:::1;:30:::0;;;;;;:74;;;;-1:-1:-1;;;;;;11225:74:0::1;-1:-1:-1::0;;;;;11225:74:0;;::::1;;::::0;;;;-1:-1:-1;11225:74:0;;::::1;::::0;11334:15:::1;::::0;11386:24:::1;11334:15:::0;11404:6:::1;11386:24;:::i;:::-;11444:54;::::0;;::::1;::::0;::::1;::::0;;11459:10:::1;11444:54:::0;;;::::1;::::0;;::::1;::::0;;;;;;;;;-1:-1:-1;11423:18:0;;;:6:::1;:18:::0;;;;;:75;;;;-1:-1:-1;;;;;;11423:75:0::1;-1:-1:-1::0;;;;;11423:75:0;;::::1;;::::0;;;;-1:-1:-1;11423:75:0;;::::1;::::0;;;;;;::::1;::::0;;::::1;::::0;;;;11528:13:::1;:25:::0;;;;;:32:::1;::::0;11444:54;;-1:-1:-1;11595:35:0::1;11528:32:::0;11615:14;11595:12:::1;:35::i;:::-;11671:41;::::0;;;;::::1;::::0;;11689:10:::1;11671:41:::0;;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;11643:25:0;;;:13:::1;:25:::0;;;;;:69;;;;-1:-1:-1;;;;;;11643:69:0::1;-1:-1:-1::0;;;;;11643:69:0;;::::1;;::::0;;;;-1:-1:-1;11643:69:0;;::::1;::::0;;;;4159:14;;-1:-1:-1;;;;4159:14:0;;;-1:-1:-1;;;;;;;;10409:1311:0:o;3629:107::-;3400:6;;-1:-1:-1;;;;;3400:6:0;2655:10;3400:22;3392:67;;;;-1:-1:-1;;;3392:67:0;;;;;;;:::i;:::-;3700:28:::1;3719:8;3700:18;:28::i;:::-;3629:107:::0;:::o;6335:3216::-;6401:4;;-1:-1:-1;;;6401:4:0;;;;6393:32;;;;-1:-1:-1;;;6393:32:0;;;;;;;:::i;:::-;4312:4;6444:9;:14;;:34;;;;;4353:10;6462:9;:16;;6444:34;6436:61;;;;-1:-1:-1;;;6436:61:0;;6166:2:1;6436:61:0;;;6148:21:1;6205:2;6185:18;;;6178:30;-1:-1:-1;;;6224:18:1;;;6217:44;6278:18;;6436:61:0;5964:338:1;6436:61:0;6521:14;:12;:14::i;:::-;6517:2205;;6552:19;6574:17;6581:9;6574:6;:17::i;:::-;6552:39;-1:-1:-1;;;;;;6609:18:0;;;;;;:40;;-1:-1:-1;;;;;;6631:18:0;;6639:10;6631:18;;6609:40;6606:280;;;-1:-1:-1;;;;;6697:14:0;;6670:24;6697:14;;;:8;:14;;;;;:21;;;;6759:42;6772:11;6697:21;6759:12;:42::i;:::-;6837:33;;;;;;;;-1:-1:-1;;;;;6837:33:0;;;;;;;;;;;;;-1:-1:-1;6820:14:0;;;:8;:14;;;;;;:50;;;;-1:-1:-1;;;;;;6820:50:0;;;;;;;;;;;-1:-1:-1;6820:50:0;;;;-1:-1:-1;;6606:280:0;6978:10;6937:26;6966:23;;;:11;:23;;;;;:32;;;;7045:9;;7095:54;6966:32;7045:9;7095:12;:54::i;:::-;7190:51;;;;;;;;7214:10;7190:51;;;;;;;;;;-1:-1:-1;7164:23:0;;;:11;:23;;;;;;:77;;;;-1:-1:-1;;;;;;7164:77:0;-1:-1:-1;;;;;7164:77:0;;;;;;;;-1:-1:-1;7164:77:0;;;;7190:51;;-1:-1:-1;7313:15:0;;7369:24;7313:15;7387:6;7369:24;:::i;:::-;7431:54;;;;;;;;7446:10;7431:54;;;;;;;;;;;;;;;;-1:-1:-1;7410:18:0;;;:6;:18;;;;;;:75;;;;-1:-1:-1;;;;;;7410:75:0;-1:-1:-1;;;;;7410:75:0;;;;;;;;-1:-1:-1;7410:75:0;;;;;;;;;;7431:54;;-1:-1:-1;7557:15:0;;7610:24;7557:15;7628:6;7610:24;:::i;:::-;7675:50;;;;;;;;7686:10;7675:50;;;;;;;;;;;;;;;;-1:-1:-1;7651:21:0;;;:9;:21;;;;;;:74;;;;-1:-1:-1;;;;;;7651:74:0;-1:-1:-1;;;;;7651:74:0;;;;;;;;-1:-1:-1;7651:74:0;;;;;;;;;;7675:50;;-1:-1:-1;7800:21:0;7811:9;7800:10;:21::i;:::-;7836:3;;:23;;7780:41;;-1:-1:-1;;;;;;7836:3:0;;:23;;;;;7780:41;;7836:3;:23;:3;:23;7780:41;7836:3;:23;;;;;;;;;;;;;;;;;;;;;6537:1334;;;;;;;;;6517:2205;;;7892:19;7914:17;7921:9;7914:6;:17::i;:::-;7892:39;-1:-1:-1;;;;;;7949:18:0;;;;;;:40;;-1:-1:-1;;;;;;7971:18:0;;7979:10;7971:18;;7949:40;7946:283;;;-1:-1:-1;;;;;8037:14:0;;8010:24;8037:14;;;:8;:14;;;;;:21;;;;8099:42;8112:11;8037:21;8099:12;:42::i;:::-;8180:33;;;;;;;;-1:-1:-1;;;;;8180:33:0;;;;;;;;;;;;;-1:-1:-1;8163:14:0;;;:8;:14;;;;;;:50;;;;-1:-1:-1;;;;;;8163:50:0;;;;;;;;;;;-1:-1:-1;8163:50:0;;;;-1:-1:-1;;7946:283:0;8321:10;8280:26;8309:23;;;:11;:23;;;;;:32;;;;8388:9;;8438:54;8309:32;8388:9;8438:12;:54::i;:::-;8533:51;;;;;;;;8557:10;8533:51;;;;;;;;;;-1:-1:-1;8507:23:0;;;:11;:23;;;;;;:77;;;;-1:-1:-1;;;;;;8507:77:0;-1:-1:-1;;;;;8507:77:0;;;;;;;;-1:-1:-1;8507:77:0;;;;8533:51;;-1:-1:-1;8651:21:0;8662:9;8651:10;:21::i;:::-;8687:3;;:23;;8631:41;;-1:-1:-1;;;;;;8687:3:0;;:23;;;;;8631:41;;8687:3;:23;:3;:23;8631:41;8687:3;:23;;;;;;;;;;;;;;;;;;;;;7877:845;;;;;6517:2205;4353:10;8758:9;:16;8754:790;;8791:18;:31;;-1:-1:-1;;;;;;8791:31:0;;;8812:10;8791:31;;;;4353:10;8837:25;:31;;;8883:17;:30;;;;;;;;8791:18;8928:24;:28;;;8990:15;8791:7;8971:34;8791:18;9092:3;;9046:43;;8791:18;;9046:43;:::i;:::-;:49;;;;:::i;:::-;9153:18;;-1:-1:-1;;;;;9153:18:0;9112:26;9141:31;;;:11;:31;;;;;9153:18;9141:40;;9022:73;;-1:-1:-1;9222:46:0;9141:40;9022:73;9222:12;:46::i;:::-;9317:59;;;;;;;;9341:18;;-1:-1:-1;;;;;9341:18:0;;;9317:59;;;;;;;;;;-1:-1:-1;9283:31:0;;;:11;:31;;;;;;:93;;;;-1:-1:-1;;;;;;9283:93:0;;;;;;;;;;;-1:-1:-1;9283:93:0;;;;-1:-1:-1;8754:790:0;;-1:-1:-1;;8754:790:0;;9410:24;;9398:9;:36;9394:150;;;9451:17;:30;;-1:-1:-1;;;;;;9451:30:0;9471:10;9451:30;;;9523:9;9496:24;:36;6335:3216;:::o;1377:98::-;1435:7;1462:5;1466:1;1462;:5;:::i;:::-;1455:12;1377:98;-1:-1:-1;;;1377:98:0:o;1589:::-;1647:7;1674:5;1678:1;1674;:5;:::i;1483:98::-;1541:7;1568:5;1572:1;1568;:5;:::i;1271:98::-;1329:7;1356:5;1360:1;1356;:5;:::i;3744:223::-;-1:-1:-1;;;;;3816:22:0;;3808:73;;;;-1:-1:-1;;;3808:73:0;;6639:2:1;3808:73:0;;;6621:21:1;6678:2;6658:18;;;6651:30;6717:34;6697:18;;;6690:62;-1:-1:-1;;;6768:18:1;;;6761:36;6814:19;;3808:73:0;6437:402:1;3808:73:0;3916:6;;;3895:38;;-1:-1:-1;;;;;3895:38:0;;;;3916:6;;;3895:38;;;3942:6;:17;;-1:-1:-1;;;;;;3942:17:0;-1:-1:-1;;;;;3942:17:0;;;;;;;;;;3744:223::o;14:286:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:1;;210:42;;200:70;;266:1;263;256:12;958:180;1017:6;1070:2;1058:9;1049:7;1045:23;1041:32;1038:52;;;1086:1;1083;1076:12;1038:52;-1:-1:-1;1109:23:1;;958:180;-1:-1:-1;958:180:1:o;2225:273::-;2281:6;2334:2;2322:9;2313:7;2309:23;2305:32;2302:52;;;2350:1;2347;2340:12;2302:52;2389:9;2376:23;2442:5;2435:13;2428:21;2421:5;2418:32;2408:60;;2464:1;2461;2454:12;2727:356;2929:2;2911:21;;;2948:18;;;2941:30;3007:34;3002:2;2987:18;;2980:62;3074:2;3059:18;;2727:356::o;3088:338::-;3290:2;3272:21;;;3329:2;3309:18;;;3302:30;-1:-1:-1;;;3363:2:1;3348:18;;3341:44;3417:2;3402:18;;3088:338::o;3431:339::-;3633:2;3615:21;;;3672:2;3652:18;;;3645:30;-1:-1:-1;;;3706:2:1;3691:18;;3684:45;3761:2;3746:18;;3431:339::o;4534:127::-;4595:10;4590:3;4586:20;4583:1;4576:31;4626:4;4623:1;4616:15;4650:4;4647:1;4640:15;4666:128;4706:3;4737:1;4733:6;4730:1;4727:13;4724:39;;;4743:18;;:::i;:::-;-1:-1:-1;4779:9:1;;4666:128::o;4799:168::-;4839:7;4905:1;4901;4897:6;4893:14;4890:1;4887:21;4882:1;4875:9;4868:17;4864:45;4861:71;;;4912:18;;:::i;:::-;-1:-1:-1;4952:9:1;;4799:168::o;4972:217::-;5012:1;5038;5028:132;;5082:10;5077:3;5073:20;5070:1;5063:31;5117:4;5114:1;5107:15;5145:4;5142:1;5135:15;5028:132;-1:-1:-1;5174:9:1;;4972:217::o;6307:125::-;6347:4;6375:1;6372;6369:8;6366:34;;;6380:18;;:::i;:::-;-1:-1:-1;6417:9:1;;6307:125::o

Swarm Source

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