ETH Price: $3,123.89 (-2.77%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve167345182023-03-01 14:59:59699 days ago1677682799IN
0xaFD4753D...403cC6825
0 ETH0.0016552135.60819737
Set Multipliers166412202023-02-16 12:14:23712 days ago1676549663IN
0xaFD4753D...403cC6825
0 ETH0.0013946727.10271554
Approve166411992023-02-16 12:10:11712 days ago1676549411IN
0xaFD4753D...403cC6825
0 ETH0.0011763125.33849591
Approve165764182023-02-07 10:50:35721 days ago1675767035IN
0xaFD4753D...403cC6825
0 ETH0.00054620.53878696
Approve165764182023-02-07 10:50:35721 days ago1675767035IN
0xaFD4753D...403cC6825
0 ETH0.0009207419.80781776
Approve165598662023-02-05 3:22:23724 days ago1675567343IN
0xaFD4753D...403cC6825
0 ETH0.000796317.15285773
Approve165547582023-02-04 10:15:23724 days ago1675505723IN
0xaFD4753D...403cC6825
0 ETH0.000433517.91322415
Approve165467922023-02-03 7:33:59725 days ago1675409639IN
0xaFD4753D...403cC6825
0 ETH0.0009803221.08949296
Set Multipliers165463642023-02-03 6:07:47725 days ago1675404467IN
0xaFD4753D...403cC6825
0 ETH0.000810124.14843337
Set Multipliers165463622023-02-03 6:07:23725 days ago1675404443IN
0xaFD4753D...403cC6825
0 ETH0.0007491823.74809127
Set Wallets165438482023-02-02 21:39:11726 days ago1675373951IN
0xaFD4753D...403cC6825
0 ETH0.0012531336.2995083
Approve165372762023-02-01 23:33:47727 days ago1675294427IN
0xaFD4753D...403cC6825
0 ETH0.00144131
Approve165372652023-02-01 23:31:35727 days ago1675294295IN
0xaFD4753D...403cC6825
0 ETH0.0016734236
Approve165308112023-02-01 1:53:23728 days ago1675216403IN
0xaFD4753D...403cC6825
0 ETH0.0009663120.78813616
Approve165236502023-01-31 1:53:47729 days ago1675130027IN
0xaFD4753D...403cC6825
0 ETH0.0006894114.83125126
Approve165147582023-01-29 20:07:23730 days ago1675022843IN
0xaFD4753D...403cC6825
0 ETH0.0011084523.87683769
Approve165146272023-01-29 19:41:11730 days ago1675021271IN
0xaFD4753D...403cC6825
0 ETH0.0010713323.04747522
Approve165145752023-01-29 19:30:47730 days ago1675020647IN
0xaFD4753D...403cC6825
0 ETH0.0010702623.05403408
Approve165145722023-01-29 19:30:11730 days ago1675020611IN
0xaFD4753D...403cC6825
0 ETH0.0005666921.31719824
Approve165145712023-01-29 19:29:59730 days ago1675020599IN
0xaFD4753D...403cC6825
0 ETH0.0010221721.9899096
Approve165145152023-01-29 19:18:47730 days ago1675019927IN
0xaFD4753D...403cC6825
0 ETH0.0012551527.03672322
Approve165144582023-01-29 19:07:23730 days ago1675019243IN
0xaFD4753D...403cC6825
0 ETH0.0019988143
Approve165144512023-01-29 19:05:59730 days ago1675019159IN
0xaFD4753D...403cC6825
0 ETH0.0011856625.53986469
Approve165144472023-01-29 19:05:11730 days ago1675019111IN
0xaFD4753D...403cC6825
0 ETH0.0011607925.00426515
Approve165143972023-01-29 18:54:59730 days ago1675018499IN
0xaFD4753D...403cC6825
0 ETH0.0011787325.39062882
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
165373072023-02-01 23:39:59727 days ago1675294799
0xaFD4753D...403cC6825
0.00081149 ETH
165373072023-02-01 23:39:59727 days ago1675294799
0xaFD4753D...403cC6825
0.00243449 ETH
165373072023-02-01 23:39:59727 days ago1675294799
0xaFD4753D...403cC6825
0.00324599 ETH
165328842023-02-01 8:50:23727 days ago1675241423
0xaFD4753D...403cC6825
0.00085732 ETH
165328842023-02-01 8:50:23727 days ago1675241423
0xaFD4753D...403cC6825
0.00257198 ETH
165328842023-02-01 8:50:23727 days ago1675241423
0xaFD4753D...403cC6825
0.00342931 ETH
165207832023-01-30 16:17:47729 days ago1675095467
0xaFD4753D...403cC6825
0.00092991 ETH
165207832023-01-30 16:17:47729 days ago1675095467
0xaFD4753D...403cC6825
0.00278973 ETH
165207832023-01-30 16:17:47729 days ago1675095467
0xaFD4753D...403cC6825
0.00371964 ETH
165146292023-01-29 19:41:35730 days ago1675021295
0xaFD4753D...403cC6825
0.0009932 ETH
165146292023-01-29 19:41:35730 days ago1675021295
0xaFD4753D...403cC6825
0.0029796 ETH
165146292023-01-29 19:41:35730 days ago1675021295
0xaFD4753D...403cC6825
0.0039728 ETH
165145172023-01-29 19:19:11730 days ago1675019951
0xaFD4753D...403cC6825
0.00107205 ETH
165145172023-01-29 19:19:11730 days ago1675019951
0xaFD4753D...403cC6825
0.00321616 ETH
165145172023-01-29 19:19:11730 days ago1675019951
0xaFD4753D...403cC6825
0.00428821 ETH
165144152023-01-29 18:58:35730 days ago1675018715
0xaFD4753D...403cC6825
0.00114858 ETH
165144152023-01-29 18:58:35730 days ago1675018715
0xaFD4753D...403cC6825
0.00344575 ETH
165144152023-01-29 18:58:35730 days ago1675018715
0xaFD4753D...403cC6825
0.00459434 ETH
165136902023-01-29 16:32:59730 days ago1675009979
0xaFD4753D...403cC6825
0.00125859 ETH
165136902023-01-29 16:32:59730 days ago1675009979
0xaFD4753D...403cC6825
0.00377577 ETH
165136902023-01-29 16:32:59730 days ago1675009979
0xaFD4753D...403cC6825
0.00503436 ETH
165136582023-01-29 16:26:35730 days ago1675009595
0xaFD4753D...403cC6825
0.00137365 ETH
165136582023-01-29 16:26:35730 days ago1675009595
0xaFD4753D...403cC6825
0.00412097 ETH
165136582023-01-29 16:26:35730 days ago1675009595
0xaFD4753D...403cC6825
0.00549462 ETH
165114562023-01-29 9:03:11730 days ago1674982991
0xaFD4753D...403cC6825
0.00147583 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20SULTOKEN

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-27
*/

// SPDX-License-Identifier: UNLICENSED

pragma solidity 0.8.14;

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

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

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

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

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

interface ERC20 {
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }

    function authorize(address adr) external onlyOwner {
        authorizations[adr] = true;
    }

    function unauthorize(address adr) external onlyOwner {
        require(adr != owner, "OWNER cant be unauthorized");
        authorizations[adr] = false;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    function transferOwnership(address payable _newOwner) external onlyOwner {
        authorizations[owner] = false;
        owner = _newOwner;
        authorizations[owner] = true;
        emit OwnershipTransferred(owner);
    }

    function renounceOwnership() external onlyOwner {
        authorizations[owner] = false;
        owner = address(0);
        emit OwnershipTransferred(owner);
    }

    event OwnershipTransferred(address owner);
}

interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract ERC20SULTOKEN is ERC20, Auth {
    using SafeMath for uint256;

    address immutable WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public constant name = "Sul Token";
    string public constant symbol = "SUL";
    uint8 public constant decimals = 9;

    uint256 public constant totalSupply = 69 * 10**9 * 10**decimals;

    uint256 public _maxTxAmount = totalSupply / 200;
    uint256 public _maxWalletToken = totalSupply / 100;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isWalletLimitExempt;

    uint256 public marketingFee = 3;
    uint256 public teamFee = 1;
    uint256 public totalFee = marketingFee + teamFee;
    uint256 public constant feeDenominator = 100;

    uint256 sellMultiplier = 500;
    uint256 buyMultiplier = 500;
    uint256 transferMultiplier = 500;

    address public marketingFeeReceiver;
    address public teamFeeReceiver;

    IDEXRouter public router;
    address public immutable pair;

    bool public tradingOpen = false;

    bool public swapEnabled = true;
    uint256 public swapThreshold = totalSupply / 200;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        marketingFeeReceiver = 0xe31ddb26ba077dc7b0eeCC9e9D2Db521b2d745db;
        teamFeeReceiver = 0x6f4C19ec74E0844203C359f04FfEA66037006C3E;

        isFeeExempt[msg.sender] = true;

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[DEAD] = true;
        isTxLimitExempt[ZERO] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;
        isWalletLimitExempt[ZERO] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable { }

    function getOwner() external view override returns (address) { return owner; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner {
        require(maxWallPercent_base1000 >= 5,"Cannot set max wallet less than 0.5%");
        _maxWalletToken = (totalSupply * maxWallPercent_base1000 ) / 1000;
    }
    function setMaxTxPercent_base1000(uint256 maxTXPercentage_base1000) external onlyOwner {
        require(maxTXPercentage_base1000 >= 5,"Cannot set max transaction less than 0.5%");
        _maxTxAmount = (totalSupply * maxTXPercentage_base1000 ) / 1000;
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(tradingOpen,"Trading not open yet");
        }

        if (!authorizations[sender] && !isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }
    
        require((amount <= _maxTxAmount) || isTxLimitExempt[sender] || isTxLimitExempt[recipient], "Max TX Limit Exceeded");

        if(shouldSwapBack()){ swapBack(); }

        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);

        balanceOf[recipient] = balanceOf[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");
        balanceOf[recipient] = balanceOf[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        if(amount == 0 || totalFee == 0){
            return amount;
        }

        uint256 multiplier = transferMultiplier;

        if(recipient == pair) {
            multiplier = sellMultiplier;
        } else if(sender == pair) {
            multiplier = buyMultiplier;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);

        if(feeAmount > 0){
            balanceOf[address(this)] = balanceOf[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && balanceOf[address(this)] >= swapThreshold;
    }

    function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
        uint256 amountETH = address(this).balance;
        uint256 amountToClear = ( amountETH * amountPercentage ) / 100;
        payable(msg.sender).transfer(amountToClear);
    }

    function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) {
        if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        return ERC20(tokenAddress).transfer(msg.sender, tokens);
    }

    function goLive() external onlyOwner {
        tradingOpen = true;
    }

    function swapBack() internal swapping {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            swapThreshold,
            0,
            path,
            address(this),
            block.timestamp
        );
        
        uint256 amountETHMarketing = (marketingFee  * address(this).balance ) / totalFee;

        payable(marketingFeeReceiver).transfer(amountETHMarketing);
        payable(teamFeeReceiver).transfer(address(this).balance);
    }

    function manage_FeeExempt(address[] calldata addresses, bool status) external authorized {
        for (uint256 i=0; i < addresses.length; ++i) {
            isFeeExempt[addresses[i]] = status;
        }
    }

    function manage_TxLimitExempt(address[] calldata addresses, bool status) external authorized {
        for (uint256 i=0; i < addresses.length; ++i) {
            isTxLimitExempt[addresses[i]] = status;
        }
    }

    function manage_WalletLimitExempt(address[] calldata addresses, bool status) external authorized {
        for (uint256 i=0; i < addresses.length; ++i) {
            isWalletLimitExempt[addresses[i]] = status;
        }
    }

    function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external authorized {
        sellMultiplier = _sell;
        buyMultiplier = _buy;
        transferMultiplier = _trans;
    }

    function setFees_base100(uint256 _teamFee,  uint256 _marketingFee) external onlyOwner {
        teamFee = _teamFee;
        marketingFee = _marketingFee;

        totalFee = teamFee + marketingFee;
    }

    function setWallets(address _marketingFeeReceiver, address _teamFeeReceiver) external onlyOwner {
        marketingFeeReceiver = _marketingFeeReceiver;
        teamFeeReceiver = _teamFeeReceiver;
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"goLive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_FeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_TxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_WalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFees_base100","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercentage_base1000","type":"uint256"}],"name":"setMaxTxPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405260c8620000146009600a62000587565b6200002590641010b872006200059f565b620000319190620005c1565b6002556064620000446009600a62000587565b6200005590641010b872006200059f565b620000619190620005c1565b60035560036009556001600a55600a54600954620000809190620005e4565b600b556101f4600c819055600d819055600e556011805461ffff60a01b1916600160a81b17905560c8620000b76009600a62000587565b620000c890641010b872006200059f565b620000d49190620005c1565b601255348015620000e457600080fd5b5060008054336001600160a01b031991821681178355825260016020818152604093849020805460ff191690921790915560118054737a250d5630b4cf539739df2c5dacb4c659f2488d93168317905582516315ab88c960e31b81529251919263ad5c464892600480830193928290030181865afa1580156200016b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001919190620005ff565b6001600160a01b039081166080526011546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002089190620005ff565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af11580156200025a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002809190620005ff565b6001600160a01b0390811660a05230600081815260056020908152604080832060115490951683529381528382206000199055600f80546001600160a01b031990811673e31ddb26ba077dc7b0eecc9e9d2db521b2d745db1790915560108054909116736f4c19ec74e0844203c359f04ffea66037006c3e17905533825260068152838220805460ff1990811660019081179092556007835285842080548216831790557fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d80548216831790557f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df80548216831790556008909252848320805483168217905592825292812080548416831790557f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd09334299805484168317905580527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c78054909216179055620003f66009600a62000587565b6200040790641010b872006200059f565b33600081815260046020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200044a6009600a62000587565b6200045b90641010b872006200059f565b60405190815260200160405180910390a36200062a565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004c9578160001904821115620004ad57620004ad62000472565b80851615620004bb57918102915b93841c93908002906200048d565b509250929050565b600082620004e25750600162000581565b81620004f15750600062000581565b81600181146200050a5760028114620005155762000535565b600191505062000581565b60ff84111562000529576200052962000472565b50506001821b62000581565b5060208310610133831016604e8410600b84101617156200055a575081810a62000581565b62000566838362000488565b80600019048211156200057d576200057d62000472565b0290505b92915050565b60006200059860ff841683620004d1565b9392505050565b6000816000190483118215151615620005bc57620005bc62000472565b500290565b600082620005df57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620005fa57620005fa62000472565b500190565b6000602082840312156200061257600080fd5b81516001600160a01b03811681146200059857600080fd5b60805160a05161224a6200066c600039600081816106c4015281816114a50152818161182e01528181611a6f0152611aa3015260006118f8015261224a6000f3fe60806040526004361061027f5760003560e01c806370a082311161014f578063bd9ab537116100c1578063e96fada21161007a578063e96fada214610812578063f0b37c0414610832578063f2fde38b14610852578063f887ea4014610872578063fe9fbb8014610892578063ffb54a99146108b257600080fd5b8063bd9ab53714610726578063c867d60b14610746578063d3f6a15714610776578063d7c94efd14610796578063dd62ed3e146107ac578063df20fd49146107f257600080fd5b8063893d20e811610113578063893d20e8146106355780638b42507f1461065357806395d89b4114610683578063a8aa1b31146106b2578063a9059cbb146106e6578063b6a5d7de1461070657600080fd5b806370a08231146105a7578063715018a6146105d457806377b54bad146105e957806378109e54146106095780637d1db4a51461061f57600080fd5b80632b112e49116101f357806348a5df04116101ac57806348a5df04146104f05780634be9d86914610510578063571ac8b0146105305780636b67c4df146105505780636ce46bc3146105665780636ddd17131461058657600080fd5b80632b112e49146104085780632c28f5791461041d5780632f54bf6e14610432578063313ce567146104615780633f4218e01461048857806340291143146104b857600080fd5b8063095ea7b311610245578063095ea7b314610358578063180b0d7e1461038857806318160ddd1461039d5780631da1db5e146103b25780631df4ccfc146103d257806323b872dd146103e857600080fd5b80621086831461028b578062bff446146102ad5780630445b667146102cd57806306fdde03146102f657806309302dc61461033857600080fd5b3661028657005b600080fd5b34801561029757600080fd5b506102ab6102a6366004611d48565b6108d3565b005b3480156102b957600080fd5b506102ab6102c8366004611d48565b610976565b3480156102d957600080fd5b506102e360125481565b6040519081526020015b60405180910390f35b34801561030257600080fd5b5061032b6040518060400160405280600981526020016829bab6102a37b5b2b760b91b81525081565b6040516102ed9190611dce565b34801561034457600080fd5b506102ab610353366004611e23565b610a0a565b34801561036457600080fd5b50610378610373366004611e51565b610aca565b60405190151581526020016102ed565b34801561039457600080fd5b506102e3606481565b3480156103a957600080fd5b506102e3610b37565b3480156103be57600080fd5b506102ab6103cd366004611e23565b610b55565b3480156103de57600080fd5b506102e3600b5481565b3480156103f457600080fd5b50610378610403366004611e7d565b610bc8565b34801561041457600080fd5b506102e3610c8a565b34801561042957600080fd5b506102ab610d12565b34801561043e57600080fd5b5061037861044d366004611ebe565b6000546001600160a01b0391821691161490565b34801561046d57600080fd5b50610476600981565b60405160ff90911681526020016102ed565b34801561049457600080fd5b506103786104a3366004611ebe565b60066020526000908152604090205460ff1681565b3480156104c457600080fd5b506010546104d8906001600160a01b031681565b6040516001600160a01b0390911681526020016102ed565b3480156104fc57600080fd5b506102ab61050b366004611edb565b610d51565b34801561051c57600080fd5b506102ab61052b366004611d48565b610d96565b34801561053c57600080fd5b5061037861054b366004611ebe565b610e2a565b34801561055c57600080fd5b506102e360095481565b34801561057257600080fd5b506102ab610581366004611efd565b610e38565b34801561059257600080fd5b5060115461037890600160a81b900460ff1681565b3480156105b357600080fd5b506102e36105c2366004611ebe565b60046020526000908152604090205481565b3480156105e057600080fd5b506102ab610e6e565b3480156105f557600080fd5b50610378610604366004611e51565b610efa565b34801561061557600080fd5b506102e360035481565b34801561062b57600080fd5b506102e360025481565b34801561064157600080fd5b506000546001600160a01b03166104d8565b34801561065f57600080fd5b5061037861066e366004611ebe565b60076020526000908152604090205460ff1681565b34801561068f57600080fd5b5061032b6040518060400160405280600381526020016214d55360ea1b81525081565b3480156106be57600080fd5b506104d87f000000000000000000000000000000000000000000000000000000000000000081565b3480156106f257600080fd5b50610378610701366004611e51565b611009565b34801561071257600080fd5b506102ab610721366004611ebe565b611016565b34801561073257600080fd5b506102ab610741366004611e23565b611067565b34801561075257600080fd5b50610378610761366004611ebe565b60086020526000908152604090205460ff1681565b34801561078257600080fd5b506102ab610791366004611f29565b61112d565b3480156107a257600080fd5b506102e3600a5481565b3480156107b857600080fd5b506102e36107c7366004611f29565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156107fe57600080fd5b506102ab61080d366004611f62565b611185565b34801561081e57600080fd5b50600f546104d8906001600160a01b031681565b34801561083e57600080fd5b506102ab61084d366004611ebe565b6111d1565b34801561085e57600080fd5b506102ab61086d366004611ebe565b61127a565b34801561087e57600080fd5b506011546104d8906001600160a01b031681565b34801561089e57600080fd5b506103786108ad366004611ebe565b611326565b3480156108be57600080fd5b5060115461037890600160a01b900460ff1681565b6108dc33611326565b6109015760405162461bcd60e51b81526004016108f890611f80565b60405180910390fd5b60005b8281101561097057816008600086868581811061092357610923611fa5565b90506020020160208101906109389190611ebe565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561096981611fd1565b9050610904565b50505050565b61097f33611326565b61099b5760405162461bcd60e51b81526004016108f890611f80565b60005b828110156109705781600660008686858181106109bd576109bd611fa5565b90506020020160208101906109d29190611ebe565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610a0381611fd1565b905061099e565b6000546001600160a01b03163314610a345760405162461bcd60e51b81526004016108f890611fea565b6005811015610a915760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e352560e01b60648201526084016108f8565b6103e881610aa16009600a6120ee565b610ab090641010b872006120fd565b610aba91906120fd565b610ac4919061211c565b60035550565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b259086815260200190565b60405180910390a35060015b92915050565b610b436009600a6120ee565b610b5290641010b872006120fd565b81565b6000546001600160a01b03163314610b7f5760405162461bcd60e51b81526004016108f890611fea565b4760006064610b8e84846120fd565b610b98919061211c565b604051909150339082156108fc029083906000818181858888f19350505050158015610970573d6000803e3d6000fd5b6001600160a01b038316600090815260056020908152604080832033845290915281205460001914610c75576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600582528381203382529091529190912054610c50918490611344565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b610c8084848461137e565b90505b9392505050565b60046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec5461dead60009081527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd54909190610cea6009600a6120ee565b610cf990641010b872006120fd565b610d03919061213e565b610d0d919061213e565b905090565b6000546001600160a01b03163314610d3c5760405162461bcd60e51b81526004016108f890611fea565b6011805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610d7b5760405162461bcd60e51b81526004016108f890611fea565b600a8290556009819055610d8f8183612155565b600b555050565b610d9f33611326565b610dbb5760405162461bcd60e51b81526004016108f890611f80565b60005b82811015610970578160076000868685818110610ddd57610ddd611fa5565b9050602002016020810190610df29190611ebe565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610e2381611fd1565b9050610dbe565b6000610b3182600019610aca565b610e4133611326565b610e5d5760405162461bcd60e51b81526004016108f890611f80565b600c91909155600d91909155600e55565b6000546001600160a01b03163314610e985760405162461bcd60e51b81526004016108f890611fea565b600080546001600160a01b03168152600160209081526040808320805460ff1916905582546001600160a01b0319168355519182527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a1565b600080546001600160a01b03163314610f255760405162461bcd60e51b81526004016108f890611fea565b81600003610f98576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610f71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f95919061216d565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610fe5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c839190612186565b6000610c8333848461137e565b6000546001600160a01b031633146110405760405162461bcd60e51b81526004016108f890611fea565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b031633146110915760405162461bcd60e51b81526004016108f890611fea565b60058110156110f45760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e352560b81b60648201526084016108f8565b6103e8816111046009600a6120ee565b61111390641010b872006120fd565b61111d91906120fd565b611127919061211c565b60025550565b6000546001600160a01b031633146111575760405162461bcd60e51b81526004016108f890611fea565b600f80546001600160a01b039384166001600160a01b03199182161790915560108054929093169116179055565b6000546001600160a01b031633146111af5760405162461bcd60e51b81526004016108f890611fea565b60118054921515600160a81b0260ff60a81b1990931692909217909155601255565b6000546001600160a01b031633146111fb5760405162461bcd60e51b81526004016108f890611fea565b6000546001600160a01b03908116908216036112595760405162461bcd60e51b815260206004820152601a60248201527f4f574e45522063616e7420626520756e617574686f72697a656400000000000060448201526064016108f8565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146112a45760405162461bcd60e51b81526004016108f890611fea565b600080546001600160a01b039081168252600160208181526040808520805460ff1990811690915585546001600160a01b03191687861690811787558652818620805490911690931790925592549051911681527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b6001600160a01b031660009081526001602052604090205460ff1690565b600081848411156113685760405162461bcd60e51b81526004016108f89190611dce565b506000611375848661213e565b95945050505050565b60135460009060ff161561139e5761139784848461173b565b9050610c83565b6001600160a01b03841660009081526001602052604090205460ff161580156113e057506001600160a01b03831660009081526001602052604090205460ff16155b1561143557601154600160a01b900460ff166114355760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016108f8565b6001600160a01b03841660009081526001602052604090205460ff1615801561147757506001600160a01b03841660009081526008602052604090205460ff16155b801561149c57506001600160a01b03831660009081526008602052604090205460ff16155b80156114da57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15611554576003546001600160a01b038416600090815260046020526040902054611506908490612155565b11156115545760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016108f8565b6002548211158061157d57506001600160a01b03841660009081526007602052604090205460ff165b806115a057506001600160a01b03831660009081526007602052604090205460ff165b6115e45760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b60448201526064016108f8565b6115ec611821565b156115f9576115f9611894565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526004909152919091205461164b918490611344565b6001600160a01b038516600090815260046020908152604080832093909355600690529081205460ff168061169857506001600160a01b03841660009081526006602052604090205460ff165b6116ac576116a7858486611a47565b6116ae565b825b6001600160a01b0385166000908152600460205260409020549091506116d49082611ba4565b6001600160a01b0380861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117289085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260049091529182205461178c918490611344565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546117bb9083611ba4565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061180f9086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061185f575060135460ff16155b80156118745750601154600160a81b900460ff165b8015610d0d57505060125430600090815260046020526040902054101590565b6013805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106118d6576118d6611fa5565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061192a5761192a611fa5565b6001600160a01b03928316602091820292909201015260115460125460405163791ac94760e01b8152919092169163791ac9479161197491906000908690309042906004016121a3565b600060405180830381600087803b15801561198e57600080fd5b505af11580156119a2573d6000803e3d6000fd5b505050506000600b54476009546119b991906120fd565b6119c3919061211c565b600f546040519192506001600160a01b03169082156108fc029083906000818181858888f193505050501580156119fe573d6000803e3d6000fd5b506010546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611a38573d6000803e3d6000fd5b50506013805460ff1916905550565b6000821580611a565750600b54155b15611a62575081610c83565b600e546001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690841603611aa15750600c54611adf565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603611adf5750600d545b6000611b14611aef6064806120fd565b611b0e84611b08600b548a611c0390919063ffffffff16565b90611c03565b90611c85565b90508015611b905730600090815260046020526040902054611b369082611ba4565b30600081815260046020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b879085815260200190565b60405180910390a35b611b9a8582611cc7565b9695505050505050565b600080611bb18385612155565b905083811015610c835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108f8565b600082600003611c1557506000610b31565b6000611c2183856120fd565b905082611c2e858361211c565b14610c835760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108f8565b6000610c8383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d09565b6000610c8383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611344565b60008183611d2a5760405162461bcd60e51b81526004016108f89190611dce565b506000611375848661211c565b8015158114611d4557600080fd5b50565b600080600060408486031215611d5d57600080fd5b833567ffffffffffffffff80821115611d7557600080fd5b818601915086601f830112611d8957600080fd5b813581811115611d9857600080fd5b8760208260051b8501011115611dad57600080fd5b60209283019550935050840135611dc381611d37565b809150509250925092565b600060208083528351808285015260005b81811015611dfb57858101830151858201604001528201611ddf565b81811115611e0d576000604083870101525b50601f01601f1916929092016040019392505050565b600060208284031215611e3557600080fd5b5035919050565b6001600160a01b0381168114611d4557600080fd5b60008060408385031215611e6457600080fd5b8235611e6f81611e3c565b946020939093013593505050565b600080600060608486031215611e9257600080fd5b8335611e9d81611e3c565b92506020840135611ead81611e3c565b929592945050506040919091013590565b600060208284031215611ed057600080fd5b8135610c8381611e3c565b60008060408385031215611eee57600080fd5b50508035926020909101359150565b600080600060608486031215611f1257600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611f3c57600080fd5b8235611f4781611e3c565b91506020830135611f5781611e3c565b809150509250929050565b60008060408385031215611f7557600080fd5b8235611e6f81611d37565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611fe357611fe3611fbb565b5060010190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600181815b8085111561204557816000190482111561202b5761202b611fbb565b8085161561203857918102915b93841c939080029061200f565b509250929050565b60008261205c57506001610b31565b8161206957506000610b31565b816001811461207f5760028114612089576120a5565b6001915050610b31565b60ff84111561209a5761209a611fbb565b50506001821b610b31565b5060208310610133831016604e8410600b84101617156120c8575081810a610b31565b6120d2838361200a565b80600019048211156120e6576120e6611fbb565b029392505050565b6000610c8360ff84168361204d565b600081600019048311821515161561211757612117611fbb565b500290565b60008261213957634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561215057612150611fbb565b500390565b6000821982111561216857612168611fbb565b500190565b60006020828403121561217f57600080fd5b5051919050565b60006020828403121561219857600080fd5b8151610c8381611d37565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121f35784516001600160a01b0316835293830193918301916001016121ce565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212204cb5435aaf79cce375a32dc122f7212dd91eb3be3bc92d5b0fbb0dad8b47e6ee64736f6c634300080e0033

Deployed Bytecode

0x60806040526004361061027f5760003560e01c806370a082311161014f578063bd9ab537116100c1578063e96fada21161007a578063e96fada214610812578063f0b37c0414610832578063f2fde38b14610852578063f887ea4014610872578063fe9fbb8014610892578063ffb54a99146108b257600080fd5b8063bd9ab53714610726578063c867d60b14610746578063d3f6a15714610776578063d7c94efd14610796578063dd62ed3e146107ac578063df20fd49146107f257600080fd5b8063893d20e811610113578063893d20e8146106355780638b42507f1461065357806395d89b4114610683578063a8aa1b31146106b2578063a9059cbb146106e6578063b6a5d7de1461070657600080fd5b806370a08231146105a7578063715018a6146105d457806377b54bad146105e957806378109e54146106095780637d1db4a51461061f57600080fd5b80632b112e49116101f357806348a5df04116101ac57806348a5df04146104f05780634be9d86914610510578063571ac8b0146105305780636b67c4df146105505780636ce46bc3146105665780636ddd17131461058657600080fd5b80632b112e49146104085780632c28f5791461041d5780632f54bf6e14610432578063313ce567146104615780633f4218e01461048857806340291143146104b857600080fd5b8063095ea7b311610245578063095ea7b314610358578063180b0d7e1461038857806318160ddd1461039d5780631da1db5e146103b25780631df4ccfc146103d257806323b872dd146103e857600080fd5b80621086831461028b578062bff446146102ad5780630445b667146102cd57806306fdde03146102f657806309302dc61461033857600080fd5b3661028657005b600080fd5b34801561029757600080fd5b506102ab6102a6366004611d48565b6108d3565b005b3480156102b957600080fd5b506102ab6102c8366004611d48565b610976565b3480156102d957600080fd5b506102e360125481565b6040519081526020015b60405180910390f35b34801561030257600080fd5b5061032b6040518060400160405280600981526020016829bab6102a37b5b2b760b91b81525081565b6040516102ed9190611dce565b34801561034457600080fd5b506102ab610353366004611e23565b610a0a565b34801561036457600080fd5b50610378610373366004611e51565b610aca565b60405190151581526020016102ed565b34801561039457600080fd5b506102e3606481565b3480156103a957600080fd5b506102e3610b37565b3480156103be57600080fd5b506102ab6103cd366004611e23565b610b55565b3480156103de57600080fd5b506102e3600b5481565b3480156103f457600080fd5b50610378610403366004611e7d565b610bc8565b34801561041457600080fd5b506102e3610c8a565b34801561042957600080fd5b506102ab610d12565b34801561043e57600080fd5b5061037861044d366004611ebe565b6000546001600160a01b0391821691161490565b34801561046d57600080fd5b50610476600981565b60405160ff90911681526020016102ed565b34801561049457600080fd5b506103786104a3366004611ebe565b60066020526000908152604090205460ff1681565b3480156104c457600080fd5b506010546104d8906001600160a01b031681565b6040516001600160a01b0390911681526020016102ed565b3480156104fc57600080fd5b506102ab61050b366004611edb565b610d51565b34801561051c57600080fd5b506102ab61052b366004611d48565b610d96565b34801561053c57600080fd5b5061037861054b366004611ebe565b610e2a565b34801561055c57600080fd5b506102e360095481565b34801561057257600080fd5b506102ab610581366004611efd565b610e38565b34801561059257600080fd5b5060115461037890600160a81b900460ff1681565b3480156105b357600080fd5b506102e36105c2366004611ebe565b60046020526000908152604090205481565b3480156105e057600080fd5b506102ab610e6e565b3480156105f557600080fd5b50610378610604366004611e51565b610efa565b34801561061557600080fd5b506102e360035481565b34801561062b57600080fd5b506102e360025481565b34801561064157600080fd5b506000546001600160a01b03166104d8565b34801561065f57600080fd5b5061037861066e366004611ebe565b60076020526000908152604090205460ff1681565b34801561068f57600080fd5b5061032b6040518060400160405280600381526020016214d55360ea1b81525081565b3480156106be57600080fd5b506104d87f00000000000000000000000001f46c47a45b93d486e67f4b0f1ef15b92cb516681565b3480156106f257600080fd5b50610378610701366004611e51565b611009565b34801561071257600080fd5b506102ab610721366004611ebe565b611016565b34801561073257600080fd5b506102ab610741366004611e23565b611067565b34801561075257600080fd5b50610378610761366004611ebe565b60086020526000908152604090205460ff1681565b34801561078257600080fd5b506102ab610791366004611f29565b61112d565b3480156107a257600080fd5b506102e3600a5481565b3480156107b857600080fd5b506102e36107c7366004611f29565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156107fe57600080fd5b506102ab61080d366004611f62565b611185565b34801561081e57600080fd5b50600f546104d8906001600160a01b031681565b34801561083e57600080fd5b506102ab61084d366004611ebe565b6111d1565b34801561085e57600080fd5b506102ab61086d366004611ebe565b61127a565b34801561087e57600080fd5b506011546104d8906001600160a01b031681565b34801561089e57600080fd5b506103786108ad366004611ebe565b611326565b3480156108be57600080fd5b5060115461037890600160a01b900460ff1681565b6108dc33611326565b6109015760405162461bcd60e51b81526004016108f890611f80565b60405180910390fd5b60005b8281101561097057816008600086868581811061092357610923611fa5565b90506020020160208101906109389190611ebe565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561096981611fd1565b9050610904565b50505050565b61097f33611326565b61099b5760405162461bcd60e51b81526004016108f890611f80565b60005b828110156109705781600660008686858181106109bd576109bd611fa5565b90506020020160208101906109d29190611ebe565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610a0381611fd1565b905061099e565b6000546001600160a01b03163314610a345760405162461bcd60e51b81526004016108f890611fea565b6005811015610a915760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e352560e01b60648201526084016108f8565b6103e881610aa16009600a6120ee565b610ab090641010b872006120fd565b610aba91906120fd565b610ac4919061211c565b60035550565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b259086815260200190565b60405180910390a35060015b92915050565b610b436009600a6120ee565b610b5290641010b872006120fd565b81565b6000546001600160a01b03163314610b7f5760405162461bcd60e51b81526004016108f890611fea565b4760006064610b8e84846120fd565b610b98919061211c565b604051909150339082156108fc029083906000818181858888f19350505050158015610970573d6000803e3d6000fd5b6001600160a01b038316600090815260056020908152604080832033845290915281205460001914610c75576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600582528381203382529091529190912054610c50918490611344565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b610c8084848461137e565b90505b9392505050565b60046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec5461dead60009081527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd54909190610cea6009600a6120ee565b610cf990641010b872006120fd565b610d03919061213e565b610d0d919061213e565b905090565b6000546001600160a01b03163314610d3c5760405162461bcd60e51b81526004016108f890611fea565b6011805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610d7b5760405162461bcd60e51b81526004016108f890611fea565b600a8290556009819055610d8f8183612155565b600b555050565b610d9f33611326565b610dbb5760405162461bcd60e51b81526004016108f890611f80565b60005b82811015610970578160076000868685818110610ddd57610ddd611fa5565b9050602002016020810190610df29190611ebe565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610e2381611fd1565b9050610dbe565b6000610b3182600019610aca565b610e4133611326565b610e5d5760405162461bcd60e51b81526004016108f890611f80565b600c91909155600d91909155600e55565b6000546001600160a01b03163314610e985760405162461bcd60e51b81526004016108f890611fea565b600080546001600160a01b03168152600160209081526040808320805460ff1916905582546001600160a01b0319168355519182527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a1565b600080546001600160a01b03163314610f255760405162461bcd60e51b81526004016108f890611fea565b81600003610f98576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610f71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f95919061216d565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610fe5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c839190612186565b6000610c8333848461137e565b6000546001600160a01b031633146110405760405162461bcd60e51b81526004016108f890611fea565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b031633146110915760405162461bcd60e51b81526004016108f890611fea565b60058110156110f45760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e352560b81b60648201526084016108f8565b6103e8816111046009600a6120ee565b61111390641010b872006120fd565b61111d91906120fd565b611127919061211c565b60025550565b6000546001600160a01b031633146111575760405162461bcd60e51b81526004016108f890611fea565b600f80546001600160a01b039384166001600160a01b03199182161790915560108054929093169116179055565b6000546001600160a01b031633146111af5760405162461bcd60e51b81526004016108f890611fea565b60118054921515600160a81b0260ff60a81b1990931692909217909155601255565b6000546001600160a01b031633146111fb5760405162461bcd60e51b81526004016108f890611fea565b6000546001600160a01b03908116908216036112595760405162461bcd60e51b815260206004820152601a60248201527f4f574e45522063616e7420626520756e617574686f72697a656400000000000060448201526064016108f8565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146112a45760405162461bcd60e51b81526004016108f890611fea565b600080546001600160a01b039081168252600160208181526040808520805460ff1990811690915585546001600160a01b03191687861690811787558652818620805490911690931790925592549051911681527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b6001600160a01b031660009081526001602052604090205460ff1690565b600081848411156113685760405162461bcd60e51b81526004016108f89190611dce565b506000611375848661213e565b95945050505050565b60135460009060ff161561139e5761139784848461173b565b9050610c83565b6001600160a01b03841660009081526001602052604090205460ff161580156113e057506001600160a01b03831660009081526001602052604090205460ff16155b1561143557601154600160a01b900460ff166114355760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016108f8565b6001600160a01b03841660009081526001602052604090205460ff1615801561147757506001600160a01b03841660009081526008602052604090205460ff16155b801561149c57506001600160a01b03831660009081526008602052604090205460ff16155b80156114da57507f00000000000000000000000001f46c47a45b93d486e67f4b0f1ef15b92cb51666001600160a01b0316836001600160a01b031614155b15611554576003546001600160a01b038416600090815260046020526040902054611506908490612155565b11156115545760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016108f8565b6002548211158061157d57506001600160a01b03841660009081526007602052604090205460ff165b806115a057506001600160a01b03831660009081526007602052604090205460ff165b6115e45760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b60448201526064016108f8565b6115ec611821565b156115f9576115f9611894565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526004909152919091205461164b918490611344565b6001600160a01b038516600090815260046020908152604080832093909355600690529081205460ff168061169857506001600160a01b03841660009081526006602052604090205460ff165b6116ac576116a7858486611a47565b6116ae565b825b6001600160a01b0385166000908152600460205260409020549091506116d49082611ba4565b6001600160a01b0380861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117289085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260049091529182205461178c918490611344565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546117bb9083611ba4565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061180f9086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000001f46c47a45b93d486e67f4b0f1ef15b92cb5166161480159061185f575060135460ff16155b80156118745750601154600160a81b900460ff165b8015610d0d57505060125430600090815260046020526040902054101590565b6013805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106118d6576118d6611fa5565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061192a5761192a611fa5565b6001600160a01b03928316602091820292909201015260115460125460405163791ac94760e01b8152919092169163791ac9479161197491906000908690309042906004016121a3565b600060405180830381600087803b15801561198e57600080fd5b505af11580156119a2573d6000803e3d6000fd5b505050506000600b54476009546119b991906120fd565b6119c3919061211c565b600f546040519192506001600160a01b03169082156108fc029083906000818181858888f193505050501580156119fe573d6000803e3d6000fd5b506010546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611a38573d6000803e3d6000fd5b50506013805460ff1916905550565b6000821580611a565750600b54155b15611a62575081610c83565b600e546001600160a01b037f00000000000000000000000001f46c47a45b93d486e67f4b0f1ef15b92cb5166811690841603611aa15750600c54611adf565b7f00000000000000000000000001f46c47a45b93d486e67f4b0f1ef15b92cb51666001600160a01b0316856001600160a01b031603611adf5750600d545b6000611b14611aef6064806120fd565b611b0e84611b08600b548a611c0390919063ffffffff16565b90611c03565b90611c85565b90508015611b905730600090815260046020526040902054611b369082611ba4565b30600081815260046020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b879085815260200190565b60405180910390a35b611b9a8582611cc7565b9695505050505050565b600080611bb18385612155565b905083811015610c835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108f8565b600082600003611c1557506000610b31565b6000611c2183856120fd565b905082611c2e858361211c565b14610c835760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108f8565b6000610c8383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d09565b6000610c8383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611344565b60008183611d2a5760405162461bcd60e51b81526004016108f89190611dce565b506000611375848661211c565b8015158114611d4557600080fd5b50565b600080600060408486031215611d5d57600080fd5b833567ffffffffffffffff80821115611d7557600080fd5b818601915086601f830112611d8957600080fd5b813581811115611d9857600080fd5b8760208260051b8501011115611dad57600080fd5b60209283019550935050840135611dc381611d37565b809150509250925092565b600060208083528351808285015260005b81811015611dfb57858101830151858201604001528201611ddf565b81811115611e0d576000604083870101525b50601f01601f1916929092016040019392505050565b600060208284031215611e3557600080fd5b5035919050565b6001600160a01b0381168114611d4557600080fd5b60008060408385031215611e6457600080fd5b8235611e6f81611e3c565b946020939093013593505050565b600080600060608486031215611e9257600080fd5b8335611e9d81611e3c565b92506020840135611ead81611e3c565b929592945050506040919091013590565b600060208284031215611ed057600080fd5b8135610c8381611e3c565b60008060408385031215611eee57600080fd5b50508035926020909101359150565b600080600060608486031215611f1257600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611f3c57600080fd5b8235611f4781611e3c565b91506020830135611f5781611e3c565b809150509250929050565b60008060408385031215611f7557600080fd5b8235611e6f81611d37565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611fe357611fe3611fbb565b5060010190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600181815b8085111561204557816000190482111561202b5761202b611fbb565b8085161561203857918102915b93841c939080029061200f565b509250929050565b60008261205c57506001610b31565b8161206957506000610b31565b816001811461207f5760028114612089576120a5565b6001915050610b31565b60ff84111561209a5761209a611fbb565b50506001821b610b31565b5060208310610133831016604e8410600b84101617156120c8575081810a610b31565b6120d2838361200a565b80600019048211156120e6576120e6611fbb565b029392505050565b6000610c8360ff84168361204d565b600081600019048311821515161561211757612117611fbb565b500290565b60008261213957634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561215057612150611fbb565b500390565b6000821982111561216857612168611fbb565b500190565b60006020828403121561217f57600080fd5b5051919050565b60006020828403121561219857600080fd5b8151610c8381611d37565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121f35784516001600160a01b0316835293830193918301916001016121ce565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212204cb5435aaf79cce375a32dc122f7212dd91eb3be3bc92d5b0fbb0dad8b47e6ee64736f6c634300080e0033

Deployed Bytecode Sourcemap

3737:9417:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11975:229;;;;;;;;;;-1:-1:-1;11975:229:0;;;;;:::i;:::-;;:::i;:::-;;11525:213;;;;;;;;;;-1:-1:-1;11525:213:0;;;;;:::i;:::-;;:::i;5119:48::-;;;;;;;;;;;;;;;;;;;1038:25:1;;;1026:2;1011:18;5119:48:0;;;;;;;;3994:41;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3994:41:0;;;;;;;;;;;;:::i;7339:261::-;;;;;;;;;;-1:-1:-1;7339:261:0;;;;;:::i;:::-;;:::i;6443:216::-;;;;;;;;;;-1:-1:-1;6443:216:0;;;;;:::i;:::-;;:::i;:::-;;;2482:14:1;;2475:22;2457:41;;2445:2;2430:18;6443:216:0;2317:187:1;4729:44:0;;;;;;;;;;;;4770:3;4729:44;;4129:63;;;;;;;;;;;;;:::i;10277:259::-;;;;;;;;;;-1:-1:-1;10277:259:0;;;;;:::i;:::-;;:::i;4674:48::-;;;;;;;;;;;;;;;;6961:370;;;;;;;;;;-1:-1:-1;6961:370:0;;;;;:::i;:::-;;:::i;13014:137::-;;;;;;;;;;;;;:::i;10836:74::-;;;;;;;;;;;;;:::i;2572:103::-;;;;;;;;;;-1:-1:-1;2572:103:0;;;;;:::i;:::-;2627:4;2662:5;-1:-1:-1;;;;;2651:16:0;;;2662:5;;2651:16;;2572:103;4086:34;;;;;;;;;;;;4119:1;4086:34;;;;;3394:4:1;3382:17;;;3364:36;;3352:2;3337:18;4086:34:0;3222:184:1;4436:44:0;;;;;;;;;;-1:-1:-1;4436:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4934:30;;;;;;;;;;-1:-1:-1;4934:30:0;;;;-1:-1:-1;;;;;4934:30:0;;;;;;-1:-1:-1;;;;;3575:32:1;;;3557:51;;3545:2;3530:18;4934:30:0;3411:203:1;12419:208:0;;;;;;;;;;-1:-1:-1;12419:208:0;;;;;:::i;:::-;;:::i;11746:221::-;;;;;;;;;;-1:-1:-1;11746:221:0;;;;;:::i;:::-;;:::i;6667:122::-;;;;;;;;;;-1:-1:-1;6667:122:0;;;;;:::i;:::-;;:::i;4603:31::-;;;;;;;;;;;;;;;;12212:199;;;;;;;;;;-1:-1:-1;12212:199:0;;;;;:::i;:::-;;:::i;5082:30::-;;;;;;;;;;-1:-1:-1;5082:30:0;;;;-1:-1:-1;;;5082:30:0;;;;;;4314:45;;;;;;;;;;-1:-1:-1;4314:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;3037:168;;;;;;;;;;;;;:::i;10544:284::-;;;;;;;;;;-1:-1:-1;10544:284:0;;;;;:::i;:::-;;:::i;4255:50::-;;;;;;;;;;;;;;;;4201:47;;;;;;;;;;;;;;;;6218:78;;;;;;;;;;-1:-1:-1;6270:7:0;6288:5;-1:-1:-1;;;;;6288:5:0;6218:78;;4487:48;;;;;;;;;;-1:-1:-1;4487:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4042:37;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4042:37:0;;;;;5004:29;;;;;;;;;;;;;;;6797:156;;;;;;;;;;-1:-1:-1;6797:156:0;;;;;:::i;:::-;;:::i;2299:96::-;;;;;;;;;;-1:-1:-1;2299:96:0;;;;;:::i;:::-;;:::i;7606:262::-;;;;;;;;;;-1:-1:-1;7606:262:0;;;;;:::i;:::-;;:::i;4542:52::-;;;;;;;;;;-1:-1:-1;4542:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12635:204;;;;;;;;;;-1:-1:-1;12635:204:0;;;;;:::i;:::-;;:::i;4641:26::-;;;;;;;;;;;;;;;;6302:133;;;;;;;;;;-1:-1:-1;6302:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6404:19:0;;;6386:7;6404:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6302:133;12847:155;;;;;;;;;;-1:-1:-1;12847:155:0;;;;;:::i;:::-;;:::i;4892:35::-;;;;;;;;;;-1:-1:-1;4892:35:0;;;;-1:-1:-1;;;;;4892:35:0;;;2403:161;;;;;;;;;;-1:-1:-1;2403:161:0;;;;;:::i;:::-;;:::i;2798:231::-;;;;;;;;;;-1:-1:-1;2798:231:0;;;;;:::i;:::-;;:::i;4973:24::-;;;;;;;;;;-1:-1:-1;4973:24:0;;;;-1:-1:-1;;;;;4973:24:0;;;2683:107;;;;;;;;;;-1:-1:-1;2683:107:0;;;;;:::i;:::-;;:::i;5042:31::-;;;;;;;;;;-1:-1:-1;5042:31:0;;;;-1:-1:-1;;;5042:31:0;;;;;;11975:229;2240:24;2253:10;2240:12;:24::i;:::-;2232:48;;;;-1:-1:-1;;;2232:48:0;;;;;;;:::i;:::-;;;;;;;;;12088:9:::1;12083:114;12101:20:::0;;::::1;12083:114;;;12179:6;12143:19;:33;12163:9;;12173:1;12163:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12143:33:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;12143:33:0;:42;;-1:-1:-1;;12143:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12123:3:::1;::::0;::::1;:::i;:::-;;;12083:114;;;;11975:229:::0;;;:::o;11525:213::-;2240:24;2253:10;2240:12;:24::i;:::-;2232:48;;;;-1:-1:-1;;;2232:48:0;;;;;;;:::i;:::-;11630:9:::1;11625:106;11643:20:::0;;::::1;11625:106;;;11713:6;11685:11;:25;11697:9;;11707:1;11697:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11685:25:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11685:25:0;:34;;-1:-1:-1;;11685:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11665:3:::1;::::0;::::1;:::i;:::-;;;11625:106;;7339:261:::0;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;7475:1:::1;7448:23;:28;;7440:76;;;::::0;-1:-1:-1;;;7440:76:0;;6666:2:1;7440:76:0::1;::::0;::::1;6648:21:1::0;6705:2;6685:18;;;6678:30;6744:34;6724:18;;;6717:62;-1:-1:-1;;;6795:18:1;;;6788:34;6839:19;;7440:76:0::1;6464:400:1::0;7440:76:0::1;7588:4;7560:23:::0;4180:12:::1;4119:1;4180:2;:12;:::i;:::-;4167:25;::::0;:10:::1;:25;:::i;:::-;7546:37;;;;:::i;:::-;7545:47;;;;:::i;:::-;7527:15;:65:::0;-1:-1:-1;7339:261:0:o;6443:216::-;6547:10;6518:4;6535:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6535:32:0;;;;;;;;;;:41;;;6592:37;6518:4;;6535:32;;6592:37;;;;6570:6;1038:25:1;;1026:2;1011:18;;892:177;6592:37:0;;;;;;;;-1:-1:-1;6647:4:0;6443:216;;;;;:::o;4129:63::-;4180:12;4119:1;4180:2;:12;:::i;:::-;4167:25;;:10;:25;:::i;:::-;4129:63;:::o;10277:259::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;10380:21:::1;10360:17;10471:3;10438:28;10450:16:::0;10380:21;10438:28:::1;:::i;:::-;10436:38;;;;:::i;:::-;10485:43;::::0;10412:62;;-1:-1:-1;10493:10:0::1;::::0;10485:43;::::1;;;::::0;10412:62;;10485:43:::1;::::0;;;10412:62;10493:10;10485:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;6961:370:::0;-1:-1:-1;;;;;7081:19:0;;7061:4;7081:19;;;:11;:19;;;;;;;;7101:10;7081:31;;;;;;;;-1:-1:-1;;7081:52:0;7078:186;;7183:69;;;;;;;;;;;-1:-1:-1;;;7183:69:0;;;;;;;;-1:-1:-1;;;;;7183:19:0;;-1:-1:-1;7183:19:0;;;:11;:19;;;;;7203:10;7183:31;;;;;;;;;;:69;;7219:6;;7183:35;:69::i;:::-;-1:-1:-1;;;;;7149:19:0;;;;;;:11;:19;;;;;;;;7169:10;7149:31;;;;;;;:103;7078:186;7283:40;7297:6;7305:9;7316:6;7283:13;:40::i;:::-;7276:47;;6961:370;;;;;;:::o;13014:137::-;13127:9;:15;;;;3870:42;13067:7;13109:15;;;;;13067:7;;13127:15;4180:12;4119:1;4180:2;:12;:::i;:::-;4167:25;;:10;:25;:::i;:::-;13095:29;;;;:::i;:::-;:47;;;;:::i;:::-;13087:56;;13014:137;:::o;10836:74::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;10884:11:::1;:18:::0;;-1:-1:-1;;;;10884:18:0::1;-1:-1:-1::0;;;10884:18:0::1;::::0;;10836:74::o;12419:208::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;12516:7:::1;:18:::0;;;12545:12:::1;:28:::0;;;12597:22:::1;12560:13:::0;12526:8;12597:22:::1;:::i;:::-;12586:8;:33:::0;-1:-1:-1;;12419:208:0:o;11746:221::-;2240:24;2253:10;2240:12;:24::i;:::-;2232:48;;;;-1:-1:-1;;;2232:48:0;;;;;;;:::i;:::-;11855:9:::1;11850:110;11868:20:::0;;::::1;11850:110;;;11942:6;11910:15;:29;11926:9;;11936:1;11926:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11910:29:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11910:29:0;:38;;-1:-1:-1;;11910:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11890:3:::1;::::0;::::1;:::i;:::-;;;11850:110;;6667:122:::0;6722:4;6746:35;6754:7;-1:-1:-1;;6746:7:0;:35::i;12212:199::-;2240:24;2253:10;2240:12;:24::i;:::-;2232:48;;;;-1:-1:-1;;;2232:48:0;;;;;;;:::i;:::-;12312:14:::1;:22:::0;;;;12345:13:::1;:20:::0;;;;12376:18:::1;:27:::0;12212:199::o;3037:168::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;3120:5:::1;3111::::0;;-1:-1:-1;;;;;3111:5:0::1;3096:21:::0;;:14:::1;:21;::::0;;;;;;;:29;;-1:-1:-1;;3096:29:0::1;::::0;;3136:18;;-1:-1:-1;;;;;;3136:18:0::1;::::0;;3170:27;3557:51:1;;;3170:27:0::1;::::0;3530:18:1;3170:27:0::1;;;;;;;3037:168::o:0;10544:284::-;10635:12;2662:5;;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;10663:6:::1;10673:1;10663:11:::0;10660:95:::1;;10699:44;::::0;-1:-1:-1;;;10699:44:0;;10737:4:::1;10699:44;::::0;::::1;3557:51:1::0;-1:-1:-1;;;;;10699:29:0;::::1;::::0;::::1;::::0;3530:18:1;;10699:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10690:53;;10660:95;10772:48;::::0;-1:-1:-1;;;10772:48:0;;10801:10:::1;10772:48;::::0;::::1;9273:51:1::0;9340:18;;;9333:34;;;-1:-1:-1;;;;;10772:28:0;::::1;::::0;::::1;::::0;9246:18:1;;10772:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6797:156::-:0;6877:4;6901:44;6915:10;6927:9;6938:6;6901:13;:44::i;2299:96::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2361:19:0::1;;::::0;;;2383:4:::1;2361:19;::::0;;;;;;;:26;;-1:-1:-1;;2361:26:0::1;::::0;;::::1;::::0;;2299:96::o;7606:262::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;7740:1:::1;7712:24;:29;;7704:82;;;::::0;-1:-1:-1;;;7704:82:0;;9830:2:1;7704:82:0::1;::::0;::::1;9812:21:1::0;9869:2;9849:18;;;9842:30;9908:34;9888:18;;;9881:62;-1:-1:-1;;;9959:18:1;;;9952:39;10008:19;;7704:82:0::1;9628:405:1::0;7704:82:0::1;7856:4;7827:24:::0;4180:12:::1;4119:1;4180:2;:12;:::i;:::-;4167:25;::::0;:10:::1;:25;:::i;:::-;7813:38;;;;:::i;:::-;7812:48;;;;:::i;:::-;7797:12;:63:::0;-1:-1:-1;7606:262:0:o;12635:204::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;12742:20:::1;:44:::0;;-1:-1:-1;;;;;12742:44:0;;::::1;-1:-1:-1::0;;;;;;12742:44:0;;::::1;;::::0;;;12797:15:::1;:34:::0;;;;;::::1;::::0;::::1;;::::0;;12635:204::o;12847:155::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;12938:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;12938:22:0::1;-1:-1:-1::0;;;;12938:22:0;;::::1;::::0;;;::::1;::::0;;;12971:13:::1;:23:::0;12847:155::o;2403:161::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;2482:5:::1;::::0;-1:-1:-1;;;;;2482:5:0;;::::1;2475:12:::0;;::::1;::::0;2467:51:::1;;;::::0;-1:-1:-1;;;2467:51:0;;10240:2:1;2467:51:0::1;::::0;::::1;10222:21:1::0;10279:2;10259:18;;;10252:30;10318:28;10298:18;;;10291:56;10364:18;;2467:51:0::1;10038:350:1::0;2467:51:0::1;-1:-1:-1::0;;;;;2529:19:0::1;2551:5;2529:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;2529:27:0::1;::::0;;2403:161::o;2798:231::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;2906:5:::1;2897::::0;;-1:-1:-1;;;;;2897:5:0;;::::1;2882:21:::0;;:14:::1;:21;::::0;;;;;;;:29;;-1:-1:-1;;2882:29:0;;::::1;::::0;;;2922:17;;-1:-1:-1;;;;;;2922:17:0::1;::::0;;::::1;::::0;;::::1;::::0;;2950:21;;;;;:28;;;;::::1;::::0;;::::1;::::0;;;3015:5;;2994:27;;3015:5;::::1;3557:51:1::0;;2994:27:0::1;::::0;3530:18:1;2994:27:0::1;;;;;;;2798:231:::0;:::o;2683:107::-;-1:-1:-1;;;;;2763:19:0;2739:4;2763:19;;;:14;:19;;;;;;;;;2683:107::o;422:192::-;508:7;544:12;536:6;;;;528:29;;;;-1:-1:-1;;;528:29:0;;;;;;;;:::i;:::-;-1:-1:-1;568:9:0;580:5;584:1;580;:5;:::i;:::-;568:17;422:192;-1:-1:-1;;;;;422:192:0:o;7876:1115::-;7988:6;;7968:4;;7988:6;;7985:63;;;8004:41;8019:6;8027:9;8038:6;8004:14;:41::i;:::-;7997:48;;;;7985:63;-1:-1:-1;;;;;8064:22:0;;;;;;:14;:22;;;;;;;;8063:23;:53;;;;-1:-1:-1;;;;;;8091:25:0;;;;;;:14;:25;;;;;;;;8090:26;8063:53;8060:127;;;8140:11;;-1:-1:-1;;;8140:11:0;;;;8132:43;;;;-1:-1:-1;;;8132:43:0;;10595:2:1;8132:43:0;;;10577:21:1;10634:2;10614:18;;;10607:30;-1:-1:-1;;;10653:18:1;;;10646:50;10713:18;;8132:43:0;10393:344:1;8132:43:0;-1:-1:-1;;;;;8204:22:0;;;;;;:14;:22;;;;;;;;8203:23;:55;;;;-1:-1:-1;;;;;;8231:27:0;;;;;;:19;:27;;;;;;;;8230:28;8203:55;:90;;;;-1:-1:-1;;;;;;8263:30:0;;;;;;:19;:30;;;;;;;;8262:31;8203:90;:111;;;;;8310:4;-1:-1:-1;;;;;8297:17:0;:9;-1:-1:-1;;;;;8297:17:0;;;8203:111;8199:230;;;8374:15;;-1:-1:-1;;;;;8340:20:0;;;;;;:9;:20;;;;;;:29;;8363:6;;8340:29;:::i;:::-;8339:50;;8331:86;;;;-1:-1:-1;;;8331:86:0;;10944:2:1;8331:86:0;;;10926:21:1;10983:2;10963:18;;;10956:30;11022:26;11002:18;;;10995:54;11066:18;;8331:86:0;10742:348:1;8331:86:0;8464:12;;8454:6;:22;;8453:51;;;-1:-1:-1;;;;;;8481:23:0;;;;;;:15;:23;;;;;;;;8453:51;:81;;;-1:-1:-1;;;;;;8508:26:0;;;;;;:15;:26;;;;;;;;8453:81;8445:115;;;;-1:-1:-1;;;8445:115:0;;11297:2:1;8445:115:0;;;11279:21:1;11336:2;11316:18;;;11309:30;-1:-1:-1;;;11355:18:1;;;11348:51;11416:18;;8445:115:0;11095:345:1;8445:115:0;8576:16;:14;:16::i;:::-;8573:35;;;8595:10;:8;:10::i;:::-;8640:53;;;;;;;;;;;-1:-1:-1;;;8640:53:0;;;;;;;;-1:-1:-1;;;;;8640:17:0;;-1:-1:-1;8640:17:0;;;:9;:17;;;;;;;;:53;;8662:6;;8640:21;:53::i;:::-;-1:-1:-1;;;;;8620:17:0;;;;;;:9;:17;;;;;;;;:73;;;;8732:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;8755:22:0;;;;;;:11;:22;;;;;;;;8732:45;8731:93;;8790:34;8798:6;8806;8814:9;8790:7;:34::i;:::-;8731:93;;;8781:6;8731:93;-1:-1:-1;;;;;8860:20:0;;;;;;:9;:20;;;;;;8706:118;;-1:-1:-1;8860:40:0;;8706:118;8860:24;:40::i;:::-;-1:-1:-1;;;;;8837:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8918:43;;;;;;;;;;8946:14;1038:25:1;;1026:2;1011:18;;892:177;8918:43:0;;;;;;;;-1:-1:-1;8979:4:0;;7876:1115;-1:-1:-1;;;;7876:1115:0:o;9003:330::-;9133:53;;;;;;;;;;;-1:-1:-1;;;9133:53:0;;;;;;;;-1:-1:-1;;;;;9133:17:0;;9096:4;9133:17;;;:9;:17;;;;;;;:53;;9155:6;;9133:21;:53::i;:::-;-1:-1:-1;;;;;9113:17:0;;;;;;;:9;:17;;;;;;:73;;;;9220:20;;;;;;;:32;;9245:6;9220:24;:32::i;:::-;-1:-1:-1;;;;;9197:20:0;;;;;;;:9;:20;;;;;;;:55;;;;9268:35;;;;;;;;;;9296:6;1038:25:1;;1026:2;1011:18;;892:177;9268:35:0;;;;;;;;-1:-1:-1;9321:4:0;9003:330;;;;;:::o;10072:197::-;10121:4;10145:10;-1:-1:-1;;;;;10159:4:0;10145:18;;;;;:38;;-1:-1:-1;10177:6:0;;;;10176:7;10145:38;:62;;;;-1:-1:-1;10196:11:0;;-1:-1:-1;;;10196:11:0;;;;10145:62;:116;;;;-1:-1:-1;;10248:13:0;;10238:4;10220:24;;;;:9;:24;;;;;;:41;;;10072:197::o;10918:599::-;5214:6;:13;;-1:-1:-1;;5214:13:0;5223:4;5214:13;;;10993:16:::1;::::0;;11007:1:::1;10993:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10993:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10993:16:0::1;10969:40;;11038:4;11020;11025:1;11020:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;11020:23:0::1;;;-1:-1:-1::0;;;;;11020:23:0::1;;;::::0;::::1;11064:4;11054;11059:1;11054:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11054:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;11081:6:::1;::::0;11153:13:::1;::::0;11081:189:::1;::::0;-1:-1:-1;;;11081:189:0;;:6;;;::::1;::::0;:57:::1;::::0;:189:::1;::::0;11153:13;11081:6:::1;::::0;11197:4;;11224::::1;::::0;11244:15:::1;::::0;11081:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11291:26;11363:8;;11337:21;11321:12;;:37;;;;:::i;:::-;11320:51;;;;:::i;:::-;11392:20;::::0;11384:58:::1;::::0;11291:80;;-1:-1:-1;;;;;;11392:20:0::1;::::0;11384:58;::::1;;;::::0;11291:80;;11392:20:::1;11384:58:::0;11392:20;11384:58;11291:80;11392:20;11384:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11461:15:0::1;::::0;11453:56:::1;::::0;-1:-1:-1;;;;;11461:15:0;;::::1;::::0;11487:21:::1;11453:56:::0;::::1;;;::::0;11461:15:::1;11453:56:::0;11461:15;11453:56;11487:21;11461:15;11453:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5232:6:0;:14;;-1:-1:-1;;5232:14:0;;;-1:-1:-1;10918:599:0:o;9341:723::-;9427:7;9450:11;;;:28;;-1:-1:-1;9465:8:0;;:13;9450:28;9447:72;;;-1:-1:-1;9501:6:0;9494:13;;9447:72;9552:18;;-1:-1:-1;;;;;9599:4:0;9586:17;;;;;;9583:154;;-1:-1:-1;9633:14:0;;9583:154;;;9678:4;-1:-1:-1;;;;;9668:14:0;:6;-1:-1:-1;;;;;9668:14:0;;9665:72;;-1:-1:-1;9712:13:0;;9665:72;9749:17;9769:62;9810:20;4770:3;;9810:20;:::i;:::-;9769:36;9794:10;9769:20;9780:8;;9769:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:::-;:40;;:62::i;:::-;9749:82;-1:-1:-1;9847:13:0;;9844:172;;9921:4;9903:24;;;;:9;:24;;;;;;:39;;9932:9;9903:28;:39::i;:::-;9894:4;9876:24;;;;:9;:24;;;;;;;:66;;;;9962:42;;-1:-1:-1;;;;;9962:42:0;;;;;;;9994:9;1038:25:1;;1026:2;1011:18;;892:177;9962:42:0;;;;;;;;9844:172;10035:21;:6;10046:9;10035:10;:21::i;:::-;10028:28;9341:723;-1:-1:-1;;;;;;9341:723:0:o;93:181::-;151:7;;183:5;187:1;183;:5;:::i;:::-;171:17;;212:1;207;:6;;199:46;;;;-1:-1:-1;;;199:46:0;;12764:2:1;199:46:0;;;12746:21:1;12803:2;12783:18;;;12776:30;12842:29;12822:18;;;12815:57;12889:18;;199:46:0;12562:351:1;620:250:0;678:7;702:1;707;702:6;698:47;;-1:-1:-1;732:1:0;725:8;;698:47;757:9;769:5;773:1;769;:5;:::i;:::-;757:17;-1:-1:-1;802:1:0;793:5;797:1;757:17;793:5;:::i;:::-;:10;785:56;;;;-1:-1:-1;;;785:56:0;;13120:2:1;785:56:0;;;13102:21:1;13159:2;13139:18;;;13132:30;13198:34;13178:18;;;13171:62;-1:-1:-1;;;13249:18:1;;;13242:31;13290:19;;785:56:0;12918:397:1;876:132:0;934:7;961:39;965:1;968;961:39;;;;;;;;;;;;;;;;;:3;:39::i;280:136::-;338:7;365:43;369:1;372;365:43;;;;;;;;;;;;;;;;;:3;:43::i;1014:189::-;1100:7;1135:12;1128:5;1120:28;;;;-1:-1:-1;;;1120:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1159:9:0;1171:5;1175:1;1171;:5;:::i;14:118:1:-;100:5;93:13;86:21;79:5;76:32;66:60;;122:1;119;112:12;66:60;14:118;:::o;137:750::-;229:6;237;245;298:2;286:9;277:7;273:23;269:32;266:52;;;314:1;311;304:12;266:52;354:9;341:23;383:18;424:2;416:6;413:14;410:34;;;440:1;437;430:12;410:34;478:6;467:9;463:22;453:32;;523:7;516:4;512:2;508:13;504:27;494:55;;545:1;542;535:12;494:55;585:2;572:16;611:2;603:6;600:14;597:34;;;627:1;624;617:12;597:34;682:7;675:4;665:6;662:1;658:14;654:2;650:23;646:34;643:47;640:67;;;703:1;700;693:12;640:67;734:4;726:13;;;;-1:-1:-1;758:6:1;-1:-1:-1;;799:20:1;;786:34;829:28;786:34;829:28;:::i;:::-;876:5;866:15;;;137:750;;;;;:::o;1074:597::-;1186:4;1215:2;1244;1233:9;1226:21;1276:6;1270:13;1319:6;1314:2;1303:9;1299:18;1292:34;1344:1;1354:140;1368:6;1365:1;1362:13;1354:140;;;1463:14;;;1459:23;;1453:30;1429:17;;;1448:2;1425:26;1418:66;1383:10;;1354:140;;;1512:6;1509:1;1506:13;1503:91;;;1582:1;1577:2;1568:6;1557:9;1553:22;1549:31;1542:42;1503:91;-1:-1:-1;1655:2:1;1634:15;-1:-1:-1;;1630:29:1;1615:45;;;;1662:2;1611:54;;1074:597;-1:-1:-1;;;1074:597:1:o;1676:180::-;1735:6;1788:2;1776:9;1767:7;1763:23;1759:32;1756:52;;;1804:1;1801;1794:12;1756:52;-1:-1:-1;1827:23:1;;1676:180;-1:-1:-1;1676:180:1:o;1861:131::-;-1:-1:-1;;;;;1936:31:1;;1926:42;;1916:70;;1982:1;1979;1972:12;1997:315;2065:6;2073;2126:2;2114:9;2105:7;2101:23;2097:32;2094:52;;;2142:1;2139;2132:12;2094:52;2181:9;2168:23;2200:31;2225:5;2200:31;:::i;:::-;2250:5;2302:2;2287:18;;;;2274:32;;-1:-1:-1;;;1997:315:1:o;2509:456::-;2586:6;2594;2602;2655:2;2643:9;2634:7;2630:23;2626:32;2623:52;;;2671:1;2668;2661:12;2623:52;2710:9;2697:23;2729:31;2754:5;2729:31;:::i;:::-;2779:5;-1:-1:-1;2836:2:1;2821:18;;2808:32;2849:33;2808:32;2849:33;:::i;:::-;2509:456;;2901:7;;-1:-1:-1;;;2955:2:1;2940:18;;;;2927:32;;2509:456::o;2970:247::-;3029:6;3082:2;3070:9;3061:7;3057:23;3053:32;3050:52;;;3098:1;3095;3088:12;3050:52;3137:9;3124:23;3156:31;3181:5;3156:31;:::i;3619:248::-;3687:6;3695;3748:2;3736:9;3727:7;3723:23;3719:32;3716:52;;;3764:1;3761;3754:12;3716:52;-1:-1:-1;;3787:23:1;;;3857:2;3842:18;;;3829:32;;-1:-1:-1;3619:248:1:o;3872:316::-;3949:6;3957;3965;4018:2;4006:9;3997:7;3993:23;3989:32;3986:52;;;4034:1;4031;4024:12;3986:52;-1:-1:-1;;4057:23:1;;;4127:2;4112:18;;4099:32;;-1:-1:-1;4178:2:1;4163:18;;;4150:32;;3872:316;-1:-1:-1;3872:316:1:o;4193:388::-;4261:6;4269;4322:2;4310:9;4301:7;4297:23;4293:32;4290:52;;;4338:1;4335;4328:12;4290:52;4377:9;4364:23;4396:31;4421:5;4396:31;:::i;:::-;4446:5;-1:-1:-1;4503:2:1;4488:18;;4475:32;4516:33;4475:32;4516:33;:::i;:::-;4568:7;4558:17;;;4193:388;;;;;:::o;4586:309::-;4651:6;4659;4712:2;4700:9;4691:7;4687:23;4683:32;4680:52;;;4728:1;4725;4718:12;4680:52;4767:9;4754:23;4786:28;4808:5;4786:28;:::i;5386:335::-;5588:2;5570:21;;;5627:2;5607:18;;;5600:30;-1:-1:-1;;;5661:2:1;5646:18;;5639:41;5712:2;5697:18;;5386:335::o;5726:127::-;5787:10;5782:3;5778:20;5775:1;5768:31;5818:4;5815:1;5808:15;5842:4;5839:1;5832:15;5858:127;5919:10;5914:3;5910:20;5907:1;5900:31;5950:4;5947:1;5940:15;5974:4;5971:1;5964:15;5990:135;6029:3;6050:17;;;6047:43;;6070:18;;:::i;:::-;-1:-1:-1;6117:1:1;6106:13;;5990:135::o;6130:329::-;6332:2;6314:21;;;6371:1;6351:18;;;6344:29;-1:-1:-1;;;6404:2:1;6389:18;;6382:36;6450:2;6435:18;;6130:329::o;6869:422::-;6958:1;7001:5;6958:1;7015:270;7036:7;7026:8;7023:21;7015:270;;;7095:4;7091:1;7087:6;7083:17;7077:4;7074:27;7071:53;;;7104:18;;:::i;:::-;7154:7;7144:8;7140:22;7137:55;;;7174:16;;;;7137:55;7253:22;;;;7213:15;;;;7015:270;;;7019:3;6869:422;;;;;:::o;7296:806::-;7345:5;7375:8;7365:80;;-1:-1:-1;7416:1:1;7430:5;;7365:80;7464:4;7454:76;;-1:-1:-1;7501:1:1;7515:5;;7454:76;7546:4;7564:1;7559:59;;;;7632:1;7627:130;;;;7539:218;;7559:59;7589:1;7580:10;;7603:5;;;7627:130;7664:3;7654:8;7651:17;7648:43;;;7671:18;;:::i;:::-;-1:-1:-1;;7727:1:1;7713:16;;7742:5;;7539:218;;7841:2;7831:8;7828:16;7822:3;7816:4;7813:13;7809:36;7803:2;7793:8;7790:16;7785:2;7779:4;7776:12;7772:35;7769:77;7766:159;;;-1:-1:-1;7878:19:1;;;7910:5;;7766:159;7957:34;7982:8;7976:4;7957:34;:::i;:::-;8027:6;8023:1;8019:6;8015:19;8006:7;8003:32;8000:58;;;8038:18;;:::i;:::-;8076:20;;7296:806;-1:-1:-1;;;7296:806:1:o;8107:140::-;8165:5;8194:47;8235:4;8225:8;8221:19;8215:4;8194:47;:::i;8252:168::-;8292:7;8358:1;8354;8350:6;8346:14;8343:1;8340:21;8335:1;8328:9;8321:17;8317:45;8314:71;;;8365:18;;:::i;:::-;-1:-1:-1;8405:9:1;;8252:168::o;8425:217::-;8465:1;8491;8481:132;;8535:10;8530:3;8526:20;8523:1;8516:31;8570:4;8567:1;8560:15;8598:4;8595:1;8588:15;8481:132;-1:-1:-1;8627:9:1;;8425:217::o;8647:125::-;8687:4;8715:1;8712;8709:8;8706:34;;;8720:18;;:::i;:::-;-1:-1:-1;8757:9:1;;8647:125::o;8777:128::-;8817:3;8848:1;8844:6;8841:1;8838:13;8835:39;;;8854:18;;:::i;:::-;-1:-1:-1;8890:9:1;;8777:128::o;8910:184::-;8980:6;9033:2;9021:9;9012:7;9008:23;9004:32;9001:52;;;9049:1;9046;9039:12;9001:52;-1:-1:-1;9072:16:1;;8910:184;-1:-1:-1;8910:184:1:o;9378:245::-;9445:6;9498:2;9486:9;9477:7;9473:23;9469:32;9466:52;;;9514:1;9511;9504:12;9466:52;9546:9;9540:16;9565:28;9587:5;9565:28;:::i;11577:980::-;11839:4;11887:3;11876:9;11872:19;11918:6;11907:9;11900:25;11944:2;11982:6;11977:2;11966:9;11962:18;11955:34;12025:3;12020:2;12009:9;12005:18;11998:31;12049:6;12084;12078:13;12115:6;12107;12100:22;12153:3;12142:9;12138:19;12131:26;;12192:2;12184:6;12180:15;12166:29;;12213:1;12223:195;12237:6;12234:1;12231:13;12223:195;;;12302:13;;-1:-1:-1;;;;;12298:39:1;12286:52;;12393:15;;;;12358:12;;;;12334:1;12252:9;12223:195;;;-1:-1:-1;;;;;;;12474:32:1;;;;12469:2;12454:18;;12447:60;-1:-1:-1;;;12538:3:1;12523:19;12516:35;12435:3;11577:980;-1:-1:-1;;;11577:980:1:o

Swarm Source

ipfs://4cb5435aaf79cce375a32dc122f7212dd91eb3be3bc92d5b0fbb0dad8b47e6ee

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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.