MON Price: $0.018613 (+4.30%)

Contract

0x0cd7C8C16C847F5b487B8357b2d256e2845a2aa5

Overview

MON Balance

Monad Chain LogoMonad Chain LogoMonad Chain Logo0 MON

MON Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Update Swap Thre...380435942025-11-26 4:22:1168 days ago1764130931IN
0x0cd7C8C1...2845a2aa5
0 MON0.00820171133
Transfer380429042025-11-26 4:17:3568 days ago1764130655IN
0x0cd7C8C1...2845a2aa5
0 MON0.02087072104.52188984
Exclude From Fee...380423532025-11-26 4:13:5468 days ago1764130434IN
0x0cd7C8C1...2845a2aa5
0 MON0.00942446106
Enable Trading380420662025-11-26 4:11:5868 days ago1764130318IN
0x0cd7C8C1...2845a2aa5
0 MON0.01364572103.624
Approve380417592025-11-26 4:09:5668 days ago1764130196IN
0x0cd7C8C1...2845a2aa5
0 MON0.0062679102

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MonadRewardsToken

Compiler Version
v0.8.30+commit.73712a01

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at monadscan.com on 2025-11-26
*/

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

/**
 * @title MonadRewardsToken
 * @dev FULLY AUTOMATIC MON rewards token with dividend tracker
 * Features:
 * - 3% tax on buys/sells
 * - Automatic MON distribution to ALL holders proportionally
 * - Rewards accumulate and distribute on threshold
 * - NO CLAIMING REQUIRED - rewards sent automatically
 */

interface IERC20 {
    function totalSupply() external view returns (uint256);
    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);
}

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

interface IUniswapV2Router {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        return a - b;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) return 0;
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        return a / b;
    }
}

library SafeMathInt {
    function add(int256 a, int256 b) internal pure returns (int256) {
        int256 c = a + b;
        require((b >= 0 && c >= a) || (b < 0 && c < a), "SafeMathInt: addition overflow");
        return c;
    }
    
    function sub(int256 a, int256 b) internal pure returns (int256) {
        int256 c = a - b;
        require((b >= 0 && c <= a) || (b < 0 && c > a), "SafeMathInt: subtraction overflow");
        return c;
    }
    
    function toUint256Safe(int256 a) internal pure returns (uint256) {
        require(a >= 0);
        return uint256(a);
    }
}

library SafeMathUint {
    function toInt256Safe(uint256 a) internal pure returns (int256) {
        int256 b = int256(a);
        require(b >= 0);
        return b;
    }
}

contract MonadRewardsToken is IERC20 {
    using SafeMath for uint256;
    using SafeMathInt for int256;
    using SafeMathUint for uint256;
    
    string private _name = "MoNUGGETS";
    string private _symbol = "NUGGETS";
    uint8 private _decimals = 18;
    uint256 private _totalSupply = 1_000_000_000 * 10**18;
    
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedFromRewards;
    mapping(address => bool) private _isExcludedFromMaxWallet;
    
    // Dividend tracking
    uint256 internal constant magnitude = 2**128;
    uint256 internal magnifiedDividendPerShare;
    mapping(address => int256) internal magnifiedDividendCorrections;
    mapping(address => uint256) internal withdrawnDividends;
    
    address public owner;
    address public devWallet;
    address public constant BURN_WALLET = 0x000000000000000000000000000000000000dEaD;
    address public pair;
    IUniswapV2Router public router;
    
    uint256 public launchTime;
    uint256 public constant DAY_ONE_DURATION = 24 hours;
    
    uint256 public buyTax = 300; // 3%
    uint256 public sellTax = 300; // 3%
    uint256 public holderRewardsSplit = 200; // 2% Day 1
    uint256 public devRewardsSplit = 100; // 1% Day 1
    
    uint256 public totalDividendsDistributed;
    
    bool private inSwap;
    bool public tradingEnabled;
    uint256 public swapThreshold = 1_000_000 * 10**18;
    uint256 public maxWalletAmount = 20_000_000 * 10**18;
    
    modifier onlyOwner() {
        require(msg.sender == owner, "Not owner");
        _;
    }
    
    modifier lockSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }
    
    event RewardsDistributed(uint256 amount);
    event DividendWithdrawn(address indexed user, uint256 amount);
    event TradingEnabled(uint256 timestamp);
    event RewardsSwapped(uint256 tokensSwapped, uint256 monReceived);
    
    constructor(address _router, address _devWallet) {
        owner = msg.sender;
        devWallet = _devWallet;
        
        router = IUniswapV2Router(_router);
        pair = IUniswapV2Factory(router.factory()).createPair(
            address(this),
            router.WETH()
        );
        
        _isExcludedFromFees[owner] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[devWallet] = true;
        
        _isExcludedFromRewards[pair] = true;
        _isExcludedFromRewards[address(this)] = true;
        _isExcludedFromRewards[BURN_WALLET] = true;
        _isExcludedFromRewards[address(0)] = true;
        
        _isExcludedFromMaxWallet[owner] = true;
        _isExcludedFromMaxWallet[address(this)] = true;
        _isExcludedFromMaxWallet[pair] = true;
        _isExcludedFromMaxWallet[BURN_WALLET] = true;
        _isExcludedFromMaxWallet[devWallet] = true;
        
        _balances[owner] = _totalSupply;
        emit Transfer(address(0), owner, _totalSupply);
    }
    
    function name() public view returns (string memory) { return _name; }
    function symbol() public view returns (string memory) { return _symbol; }
    function decimals() public view returns (uint8) { return _decimals; }
    function totalSupply() public view override returns (uint256) { return _totalSupply; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    
    function allowance(address _owner, address spender) public view override returns (uint256) {
        return _allowances[_owner][spender];
    }
    
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount, "Transfer exceeds allowance");
        _approve(sender, msg.sender, currentAllowance - amount);
        return true;
    }
    
    function _approve(address _owner, address spender, uint256 amount) private {
        require(_owner != address(0), "Approve from zero address");
        require(spender != address(0), "Approve to zero address");
        _allowances[_owner][spender] = amount;
        emit Approval(_owner, spender, amount);
    }
    
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "Transfer from zero address");
        require(to != address(0), "Transfer to zero address");
        require(amount > 0, "Amount must be greater than zero");
        require(_balances[from] >= amount, "Insufficient balance");
        
        if (!tradingEnabled) {
            require(from == owner || to == owner, "Trading not enabled");
        }
        
        // Auto-withdraw pending dividends before balance changes
        if (!_isExcludedFromRewards[from]) {
            _withdrawDividendOfUser(payable(from));
        }
        if (!_isExcludedFromRewards[to]) {
            _withdrawDividendOfUser(payable(to));
        }
        
        bool takeFee = tradingEnabled && !inSwap && !_isExcludedFromFees[from] && !_isExcludedFromFees[to];
        
        if (takeFee && balanceOf(address(this)) >= swapThreshold && from != pair) {
            swapAndDistribute(swapThreshold);
        }
        
        uint256 transferAmount = amount;
        
        if (takeFee) {
            uint256 tax;
            
            if (from == pair) {
                tax = (amount * buyTax) / 10000;
            } else if (to == pair) {
                tax = (amount * sellTax) / 10000;
            }
            
            if (tax > 0) {
                transferAmount = amount - tax;
                _balances[address(this)] += tax;
                emit Transfer(from, address(this), tax);
            }
        }
        
        _balances[from] -= amount;
        _balances[to] += transferAmount;
        
        if (!_isExcludedFromMaxWallet[to] && to != pair) {
            require(_balances[to] <= maxWalletAmount, "Exceeds max wallet");
        }
        
        // Update dividend corrections
        _updateDividendCorrections(from, to, transferAmount);
        
        emit Transfer(from, to, transferAmount);
    }
    
    function _updateDividendCorrections(address from, address to, uint256 value) private {
        if (!_isExcludedFromRewards[from]) {
            int256 _magCorrection = magnifiedDividendPerShare.mul(value).toInt256Safe();
            magnifiedDividendCorrections[from] = magnifiedDividendCorrections[from].add(_magCorrection);
        }
        if (!_isExcludedFromRewards[to]) {
            int256 _magCorrection = magnifiedDividendPerShare.mul(value).toInt256Safe();
            magnifiedDividendCorrections[to] = magnifiedDividendCorrections[to].sub(_magCorrection);
        }
    }
    
    function swapAndDistribute(uint256 tokenAmount) private lockSwap {
        uint256 initialBalance = address(this).balance;
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        
        _approve(address(this), address(router), tokenAmount);
        
        try router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        ) {
            uint256 monReceived = address(this).balance - initialBalance;
            
            if (monReceived > 0) {
                uint256 holderShare;
                uint256 devShare;
                
                // Split based on day
                if (block.timestamp < launchTime + DAY_ONE_DURATION) {
                    holderShare = (monReceived * holderRewardsSplit) / buyTax;
                    devShare = monReceived - holderShare;
                } else {
                    holderShare = monReceived;
                    devShare = 0;
                }
                
                // Send dev share immediately
                if (devShare > 0) {
                    (bool success, ) = payable(devWallet).call{value: devShare}("");
                    if (success) {
                        emit DividendWithdrawn(devWallet, devShare);
                    }
                }
                
                // Distribute holder share proportionally
                if (holderShare > 0) {
                    _distributeDividends(holderShare);
                }
                
                emit RewardsSwapped(tokenAmount, monReceived);
            }
        } catch {}
    }
    
    function _distributeDividends(uint256 amount) private {
        uint256 eligibleSupply = getEligibleSupply();
        require(eligibleSupply > 0, "No eligible supply");
        
        magnifiedDividendPerShare = magnifiedDividendPerShare.add(
            (amount).mul(magnitude).div(eligibleSupply)
        );
        
        totalDividendsDistributed = totalDividendsDistributed.add(amount);
        emit RewardsDistributed(amount);
    }
    
    function _withdrawDividendOfUser(address payable user) internal returns (uint256) {
        uint256 _withdrawableDividend = withdrawableDividendOf(user);
        if (_withdrawableDividend > 0) {
            withdrawnDividends[user] = withdrawnDividends[user].add(_withdrawableDividend);
            
            (bool success, ) = user.call{value: _withdrawableDividend}("");
            if (success) {
                emit DividendWithdrawn(user, _withdrawableDividend);
                return _withdrawableDividend;
            } else {
                withdrawnDividends[user] = withdrawnDividends[user].sub(_withdrawableDividend);
                return 0;
            }
        }
        return 0;
    }
    
    function withdrawableDividendOf(address _owner) public view returns (uint256) {
        return accumulativeDividendOf(_owner).sub(withdrawnDividends[_owner]);
    }
    
    function accumulativeDividendOf(address _owner) public view returns (uint256) {
        if (_isExcludedFromRewards[_owner]) return 0;
        
        return magnifiedDividendPerShare
            .mul(_balances[_owner])
            .toInt256Safe()
            .add(magnifiedDividendCorrections[_owner])
            .toUint256Safe() / magnitude;
    }
    
    function getEligibleSupply() public view returns (uint256) {
        uint256 eligible = _totalSupply;
        eligible -= _balances[BURN_WALLET];
        eligible -= _balances[pair];
        eligible -= _balances[address(this)];
        eligible -= _balances[address(0)];
        return eligible;
    }
    
    function getPendingRewards(address user) external view returns (uint256) {
        return withdrawableDividendOf(user);
    }
    
    // Manual claim function
    function claim() external {
        _withdrawDividendOfUser(payable(msg.sender));
    }
    
    // Owner Functions
    function setupLiquidity(uint256 tokenAmount) external onlyOwner {
        require(!tradingEnabled, "Trading already enabled");
        require(_balances[owner] >= tokenAmount, "Insufficient balance");
        
        _balances[owner] -= tokenAmount;
        _balances[address(this)] += tokenAmount;
        
        emit Transfer(owner, address(this), tokenAmount);
    }
    
    function addLiquidity() external payable onlyOwner {
        require(!tradingEnabled, "Trading already enabled");
        require(msg.value > 0, "Need MON for liquidity");
        
        uint256 tokenAmount = _balances[address(this)];
        require(tokenAmount > 0, "No tokens in contract for liquidity");
        
        _approve(address(this), address(router), tokenAmount);
        
        router.addLiquidityETH{value: msg.value}(
            address(this),
            tokenAmount,
            0,
            0,
            owner,
            block.timestamp
        );
    }
    
    function enableTrading() external onlyOwner {
        require(!tradingEnabled, "Already enabled");
        tradingEnabled = true;
        launchTime = block.timestamp;
        emit TradingEnabled(block.timestamp);
    }
    
    function updateSwapThreshold(uint256 newThreshold) external onlyOwner {
        swapThreshold = newThreshold;
    }
    
    function excludeFromFees(address account, bool excluded) external onlyOwner {
        _isExcludedFromFees[account] = excluded;
    }
    
    function excludeFromRewards(address account, bool excluded) external onlyOwner {
        if (excluded && !_isExcludedFromRewards[account]) {
            _withdrawDividendOfUser(payable(account));
        }
        _isExcludedFromRewards[account] = excluded;
    }
    
    function excludeFromMaxWallet(address account, bool excluded) external onlyOwner {
        _isExcludedFromMaxWallet[account] = excluded;
    }
    
    function updateMaxWallet(uint256 newMax) external onlyOwner {
        require(newMax >= (_totalSupply * 1) / 100, "Max wallet too low");
        maxWalletAmount = newMax;
    }
    
    function rescueTokens(address token) external onlyOwner {
        require(token != address(this), "Cannot rescue own token");
        IERC20(token).transfer(owner, IERC20(token).balanceOf(address(this)));
    }
    
    function rescueMON() external onlyOwner {
        payable(owner).transfer(address(this).balance);
    }
    
    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_router","type":"address"},{"internalType":"address","name":"_devWallet","type":"address"}],"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":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DividendWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardsDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"monReceived","type":"uint256"}],"name":"RewardsSwapped","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"TradingEnabled","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":"BURN_WALLET","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DAY_ONE_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"accumulativeDividendOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devRewardsSplit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getEligibleSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getPendingRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"holderRewardsSplit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rescueMON","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"setupLiquidity","outputs":[],"stateMutability":"nonpayable","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":"totalDividendsDistributed","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":"tradingEnabled","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":"uint256","name":"newMax","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"updateSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"withdrawableDividendOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405260096080908152684d6f4e55474745545360b81b60a0525f90610027908261048c565b506040805180820190915260078152664e55474745545360c81b6020820152600190610053908261048c565b506002805460ff191660129081179091556b033b2e3c9fd0803ce800000060035561012c6011819055905560c8601355606460145569d3c21bcecceda10000006017556a108b2a2c280290940000006018553480156100b0575f5ffd5b506040516129303803806129308339810160408190526100cf91610561565b600c8054336001600160a01b031991821617909155600d805482166001600160a01b0384811691909117909155600f80549092169084169081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610145573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101699190610592565b6001600160a01b031663c9c6539630600f5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101c8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ec9190610592565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610236573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061025a9190610592565b600e80546001600160a01b0319166001600160a01b03928316178155600c805483165f908152600660209081526040808320805460ff199081166001908117909255308086528386208054831684179055600d80548a168752848720805484168517905588548a16875260078652848720805484168517905581875284872080548416851790557fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d80548416851790557f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df805484168517905587548a168752600886528487208054841685179055908652838620805483168417905596548816855282852080548216831790557f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd09334299805482168317905595548716845281842080549096161790945560035483548616835260048252848320819055925493519283529290931692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350506105b2565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061041c57607f821691505b60208210810361043a57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561048757805f5260205f20601f840160051c810160208510156104655750805b601f840160051c820191505b81811015610484575f8155600101610471565b50505b505050565b81516001600160401b038111156104a5576104a56103f4565b6104b9816104b38454610408565b84610440565b6020601f8211600181146104eb575f83156104d45750848201515b5f19600385901b1c1916600184901b178455610484565b5f84815260208120601f198516915b8281101561051a57878501518255602094850194600190920191016104fa565b508482101561053757868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b80516001600160a01b038116811461055c575f5ffd5b919050565b5f5f60408385031215610572575f5ffd5b61057b83610546565b915061058960208401610546565b90509250929050565b5f602082840312156105a2575f5ffd5b6105ab82610546565b9392505050565b612371806105bf5f395ff3fe60806040526004361061022a575f3560e01c806385a6b3ae11610129578063c81bc8be116100a8578063dd62ed3e1161006d578063dd62ed3e1461060d578063e3d3f9de14610651578063e8078d9414610666578063f6ed20171461066e578063f887ea401461068d575f5ffd5b8063c81bc8be14610592578063cc1776d3146105a6578063cc274b29146105bb578063cd415c4a146105da578063d2fcc001146105ee575f5ffd5b8063a8aa1b31116100ee578063a8aa1b3114610501578063a8b9d24014610520578063a9059cbb1461053f578063aa4bde281461055e578063c024666814610573575f5ffd5b806385a6b3ae146104865780638a8c523c1461049b5780638da5cb5b146104af5780638ea5220f146104ce57806395d89b41146104ed575f5ffd5b806327ce0147116101b55780634f7041a51161017a5780634f7041a5146103fd5780636125413e1461041257806370a0823114610428578063790ca4131461045c5780638574d68514610471575f5ffd5b806327ce01471461036c5780632ad4cab71461038b578063313ce567146103aa5780634ada218b146103cb5780634e71d92d146103e9575f5ffd5b806318160ddd116101fb57806318160ddd146102ce5780631c499ab0146102e25780631fb9abf91461030157806323b872dd1461032057806327060b2b1461033f575f5ffd5b8062ae3bf8146102355780630445b6671461025657806306fdde031461027e578063095ea7b31461029f575f5ffd5b3661023157005b5f5ffd5b348015610240575f5ffd5b5061025461024f366004611fe8565b6106ac565b005b348015610261575f5ffd5b5061026b60175481565b6040519081526020015b60405180910390f35b348015610289575f5ffd5b5061029261081c565b6040516102759190612003565b3480156102aa575f5ffd5b506102be6102b9366004612038565b6108ab565b6040519015158152602001610275565b3480156102d9575f5ffd5b5060035461026b565b3480156102ed575f5ffd5b506102546102fc366004612062565b6108c1565b34801561030c575f5ffd5b5061025461031b366004612062565b61094f565b34801561032b575f5ffd5b506102be61033a366004612079565b610ac1565b34801561034a575f5ffd5b5061035461dead81565b6040516001600160a01b039091168152602001610275565b348015610377575f5ffd5b5061026b610386366004611fe8565b610b5f565b348015610396575f5ffd5b506102546103a53660046120c4565b610be3565b3480156103b5575f5ffd5b5060025460405160ff9091168152602001610275565b3480156103d6575f5ffd5b506016546102be90610100900460ff1681565b3480156103f4575f5ffd5b50610254610c6c565b348015610408575f5ffd5b5061026b60115481565b34801561041d575f5ffd5b5061026b6201518081565b348015610433575f5ffd5b5061026b610442366004611fe8565b6001600160a01b03165f9081526004602052604090205490565b348015610467575f5ffd5b5061026b60105481565b34801561047c575f5ffd5b5061026b60145481565b348015610491575f5ffd5b5061026b60155481565b3480156104a6575f5ffd5b50610254610c78565b3480156104ba575f5ffd5b50600c54610354906001600160a01b031681565b3480156104d9575f5ffd5b50600d54610354906001600160a01b031681565b3480156104f8575f5ffd5b50610292610d3d565b34801561050c575f5ffd5b50600e54610354906001600160a01b031681565b34801561052b575f5ffd5b5061026b61053a366004611fe8565b610d4c565b34801561054a575f5ffd5b506102be610559366004612038565b610d77565b348015610569575f5ffd5b5061026b60185481565b34801561057e575f5ffd5b5061025461058d3660046120c4565b610d83565b34801561059d575f5ffd5b50610254610dd7565b3480156105b1575f5ffd5b5061026b60125481565b3480156105c6575f5ffd5b506102546105d5366004612062565b610e37565b3480156105e5575f5ffd5b5061026b610e66565b3480156105f9575f5ffd5b506102546106083660046120c4565b610f1e565b348015610618575f5ffd5b5061026b6106273660046120fb565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b34801561065c575f5ffd5b5061026b60135481565b610254610f72565b348015610679575f5ffd5b5061026b610688366004611fe8565b61114e565b348015610698575f5ffd5b50600f54610354906001600160a01b031681565b600c546001600160a01b031633146106df5760405162461bcd60e51b81526004016106d690612127565b60405180910390fd5b306001600160a01b038216036107375760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f7420726573637565206f776e20746f6b656e00000000000000000060448201526064016106d6565b600c546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610788573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ac919061214a565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156107f4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108189190612161565b5050565b60605f805461082a9061217c565b80601f01602080910402602001604051908101604052809291908181526020018280546108569061217c565b80156108a15780601f10610878576101008083540402835291602001916108a1565b820191905f5260205f20905b81548152906001019060200180831161088457829003601f168201915b5050505050905090565b5f6108b7338484611158565b5060015b92915050565b600c546001600160a01b031633146108eb5760405162461bcd60e51b81526004016106d690612127565b606460035460016108fc91906121c8565b61090691906121df565b81101561094a5760405162461bcd60e51b81526020600482015260126024820152714d61782077616c6c657420746f6f206c6f7760701b60448201526064016106d6565b601855565b600c546001600160a01b031633146109795760405162461bcd60e51b81526004016106d690612127565b601654610100900460ff16156109cb5760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c8185b1c9958591e48195b98589b1959604a1b60448201526064016106d6565b600c546001600160a01b03165f90815260046020526040902054811115610a2b5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016106d6565b600c546001600160a01b03165f9081526004602052604081208054839290610a549084906121fe565b9091555050305f9081526004602052604081208054839290610a77908490612211565b9091555050600c5460405182815230916001600160a01b0316907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350565b5f610acd848484611264565b6001600160a01b0384165f90815260056020908152604080832033845290915290205482811015610b405760405162461bcd60e51b815260206004820152601a60248201527f5472616e73666572206578636565647320616c6c6f77616e636500000000000060448201526064016106d6565b610b548533610b4f86856121fe565b611158565b506001949350505050565b6001600160a01b0381165f9081526007602052604081205460ff1615610b8657505f919050565b6001600160a01b0382165f908152600a6020908152604080832054600490925290912054600954600160801b92610bd992610bd492610bce91610bc99190611778565b6117fd565b9061180b565b611889565b6108bb91906121df565b600c546001600160a01b03163314610c0d5760405162461bcd60e51b81526004016106d690612127565b808015610c3257506001600160a01b0382165f9081526007602052604090205460ff16155b15610c4257610c408261189a565b505b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b610c753361189a565b50565b600c546001600160a01b03163314610ca25760405162461bcd60e51b81526004016106d690612127565b601654610100900460ff1615610cec5760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e48195b98589b1959608a1b60448201526064016106d6565b6016805461ff0019166101001790554260108190556040517fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e92391610d339190815260200190565b60405180910390a1565b60606001805461082a9061217c565b6001600160a01b0381165f908152600b60205260408120546108bb90610d7184610b5f565b906119cc565b5f6108b7338484611264565b600c546001600160a01b03163314610dad5760405162461bcd60e51b81526004016106d690612127565b6001600160a01b03919091165f908152600660205260409020805460ff1916911515919091179055565b600c546001600160a01b03163314610e015760405162461bcd60e51b81526004016106d690612127565b600c546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610c75573d5f5f3e3d5ffd5b600c546001600160a01b03163314610e615760405162461bcd60e51b81526004016106d690612127565b601755565b60035461dead5f90815260046020527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd54909190610ea490826121fe565b600e546001600160a01b03165f90815260046020526040902054909150610ecb90826121fe565b305f90815260046020526040902054909150610ee790826121fe565b5f805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec549091506108bb90826121fe565b600c546001600160a01b03163314610f485760405162461bcd60e51b81526004016106d690612127565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b600c546001600160a01b03163314610f9c5760405162461bcd60e51b81526004016106d690612127565b601654610100900460ff1615610fee5760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c8185b1c9958591e48195b98589b1959604a1b60448201526064016106d6565b5f34116110365760405162461bcd60e51b81526020600482015260166024820152754e656564204d4f4e20666f72206c697175696469747960501b60448201526064016106d6565b305f908152600460205260409020548061109e5760405162461bcd60e51b815260206004820152602360248201527f4e6f20746f6b656e7320696e20636f6e747261637420666f72206c697175696460448201526269747960e81b60648201526084016106d6565b600f546110b69030906001600160a01b031683611158565b600f54600c5460405163f305d71960e01b8152306004820152602481018490525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990349060c40160606040518083038185885af1158015611123573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111489190612224565b50505050565b5f6108bb82610d4c565b6001600160a01b0383166111ae5760405162461bcd60e51b815260206004820152601960248201527f417070726f76652066726f6d207a65726f20616464726573730000000000000060448201526064016106d6565b6001600160a01b0382166112045760405162461bcd60e51b815260206004820152601760248201527f417070726f766520746f207a65726f206164647265737300000000000000000060448201526064016106d6565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112ba5760405162461bcd60e51b815260206004820152601a60248201527f5472616e736665722066726f6d207a65726f206164647265737300000000000060448201526064016106d6565b6001600160a01b0382166113105760405162461bcd60e51b815260206004820152601860248201527f5472616e7366657220746f207a65726f2061646472657373000000000000000060448201526064016106d6565b5f811161135f5760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f60448201526064016106d6565b6001600160a01b0383165f908152600460205260409020548111156113bd5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016106d6565b601654610100900460ff1661143757600c546001600160a01b03848116911614806113f55750600c546001600160a01b038381169116145b6114375760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016106d6565b6001600160a01b0383165f9081526007602052604090205460ff166114615761145f8361189a565b505b6001600160a01b0382165f9081526007602052604090205460ff1661148b576114898261189a565b505b6016545f90610100900460ff1680156114a7575060165460ff16155b80156114cb57506001600160a01b0384165f9081526006602052604090205460ff16155b80156114ef57506001600160a01b0383165f9081526006602052604090205460ff16155b905080801561150e5750601754305f9081526004602052604090205410155b80156115285750600e546001600160a01b03858116911614155b1561153857611538601754611a27565b81811561162857600e545f906001600160a01b0390811690871603611579576127106011548561156891906121c8565b61157291906121df565b90506115ad565b600e546001600160a01b03908116908616036115ad57612710601254856115a091906121c8565b6115aa91906121df565b90505b8015611626576115bd81856121fe565b305f908152600460205260408120805492945083929091906115e0908490612211565b909155505060405181815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b505b6001600160a01b0385165f908152600460205260408120805485929061164f9084906121fe565b90915550506001600160a01b0384165f908152600460205260408120805483929061167b908490612211565b90915550506001600160a01b0384165f9081526008602052604090205460ff161580156116b65750600e546001600160a01b03858116911614155b15611719576018546001600160a01b0385165f9081526004602052604090205411156117195760405162461bcd60e51b8152602060048201526012602482015271115e18d959591cc81b585e081dd85b1b195d60721b60448201526064016106d6565b611724858583611ce4565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161176991815260200190565b60405180910390a35050505050565b5f825f0361178757505f6108bb565b5f61179283856121c8565b90508261179f85836121df565b146117f65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106d6565b9392505050565b5f81818112156108bb575f5ffd5b5f80611817838561224f565b90505f83121580156118295750838112155b8061183d57505f8312801561183d57508381125b6117f65760405162461bcd60e51b815260206004820152601e60248201527f536166654d617468496e743a206164646974696f6e206f766572666c6f77000060448201526064016106d6565b5f5f821215611896575f5ffd5b5090565b5f5f6118a583610d4c565b905080156119c4576001600160a01b0383165f908152600b60205260409020546118cf9082611dd7565b6001600160a01b0384165f818152600b602052604080822093909355915183908381818185875af1925050503d805f8114611925576040519150601f19603f3d011682016040523d82523d5f602084013e61192a565b606091505b50509050801561197e57836001600160a01b03167fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d8360405161196f91815260200190565b60405180910390a25092915050565b6001600160a01b0384165f908152600b60205260409020546119a090836119cc565b6001600160a01b039094165f908152600b6020526040812094909455509192915050565b505f92915050565b5f82821115611a1d5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016106d6565b6117f682846121fe565b6016805460ff1916600117905560408051600280825260608201835247925f92919060208301908036833701905050905030815f81518110611a6b57611a6b612276565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611ac2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ae6919061228a565b81600181518110611af957611af9612276565b6001600160a01b039283166020918202929092010152600f54611b1f9130911685611158565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611b579086905f908690309042906004016122a5565b5f604051808303815f87803b158015611b6e575f5ffd5b505af1925050508015611b7f575060015b15611cd5575f611b8f83476121fe565b90508015611cd3575f5f62015180601054611baa9190612211565b421015611bde57601154601354611bc190856121c8565b611bcb91906121df565b9150611bd782846121fe565b9050611be4565b508190505f5b8015611c8857600d546040515f916001600160a01b03169083908381818185875af1925050503d805f8114611c34576040519150601f19603f3d011682016040523d82523d5f602084013e611c39565b606091505b505090508015611c8657600d546040518381526001600160a01b03909116907fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d9060200160405180910390a25b505b8115611c9757611c9782611e35565b60408051878152602081018590527fa6f00573d3d636305b78d01be65e94d383ea39bda1aa8163aad473b09dad640d910160405180910390a150505b505b50506016805460ff1916905550565b6001600160a01b0383165f9081526007602052604090205460ff16611d5b575f611d1c610bc98360095461177890919063ffffffff16565b6001600160a01b0385165f908152600a6020526040902054909150611d41908261180b565b6001600160a01b0385165f908152600a6020526040902055505b6001600160a01b0382165f9081526007602052604090205460ff16611dd2575f611d93610bc98360095461177890919063ffffffff16565b6001600160a01b0384165f908152600a6020526040902054909150611db89082611ef2565b6001600160a01b0384165f908152600a6020526040902055505b505050565b5f80611de38385612211565b9050838110156117f65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106d6565b5f611e3e610e66565b90505f8111611e845760405162461bcd60e51b81526020600482015260126024820152714e6f20656c696769626c6520737570706c7960701b60448201526064016106d6565b611ea8611e9f82611e9985600160801b611778565b90611f7a565b60095490611dd7565b600955601554611eb89083611dd7565b6015556040518281527f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4429060200160405180910390a15050565b5f80611efe8385612315565b90505f8312158015611f105750838113155b80611f2457505f83128015611f2457508381135b6117f65760405162461bcd60e51b815260206004820152602160248201527f536166654d617468496e743a207375627472616374696f6e206f766572666c6f6044820152607760f81b60648201526084016106d6565b5f5f8211611fca5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f00000000000060448201526064016106d6565b6117f682846121df565b6001600160a01b0381168114610c75575f5ffd5b5f60208284031215611ff8575f5ffd5b81356117f681611fd4565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f60408385031215612049575f5ffd5b823561205481611fd4565b946020939093013593505050565b5f60208284031215612072575f5ffd5b5035919050565b5f5f5f6060848603121561208b575f5ffd5b833561209681611fd4565b925060208401356120a681611fd4565b929592945050506040919091013590565b8015158114610c75575f5ffd5b5f5f604083850312156120d5575f5ffd5b82356120e081611fd4565b915060208301356120f0816120b7565b809150509250929050565b5f5f6040838503121561210c575f5ffd5b823561211781611fd4565b915060208301356120f081611fd4565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b5f6020828403121561215a575f5ffd5b5051919050565b5f60208284031215612171575f5ffd5b81516117f6816120b7565b600181811c9082168061219057607f821691505b6020821081036121ae57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176108bb576108bb6121b4565b5f826121f957634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156108bb576108bb6121b4565b808201808211156108bb576108bb6121b4565b5f5f5f60608486031215612236575f5ffd5b5050815160208301516040909301519094929350919050565b8082018281125f83128015821682158216171561226e5761226e6121b4565b505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561229a575f5ffd5b81516117f681611fd4565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156122f55783516001600160a01b03168352602093840193909201916001016122ce565b50506001600160a01b039590951660608401525050608001529392505050565b8181035f831280158383131683831282161715612334576123346121b4565b509291505056fea264697066735822122075703e888235dfcc4024d01c67f99570e1077f8fc25d4cce2ba239107594e38064736f6c634300081e00330000000000000000000000004b2ab38dbf28d31d467aa8993f6c2585981d6804000000000000000000000000b557f176b110f5943d399d2f75049b75ac222005

Deployed Bytecode

0x60806040526004361061022a575f3560e01c806385a6b3ae11610129578063c81bc8be116100a8578063dd62ed3e1161006d578063dd62ed3e1461060d578063e3d3f9de14610651578063e8078d9414610666578063f6ed20171461066e578063f887ea401461068d575f5ffd5b8063c81bc8be14610592578063cc1776d3146105a6578063cc274b29146105bb578063cd415c4a146105da578063d2fcc001146105ee575f5ffd5b8063a8aa1b31116100ee578063a8aa1b3114610501578063a8b9d24014610520578063a9059cbb1461053f578063aa4bde281461055e578063c024666814610573575f5ffd5b806385a6b3ae146104865780638a8c523c1461049b5780638da5cb5b146104af5780638ea5220f146104ce57806395d89b41146104ed575f5ffd5b806327ce0147116101b55780634f7041a51161017a5780634f7041a5146103fd5780636125413e1461041257806370a0823114610428578063790ca4131461045c5780638574d68514610471575f5ffd5b806327ce01471461036c5780632ad4cab71461038b578063313ce567146103aa5780634ada218b146103cb5780634e71d92d146103e9575f5ffd5b806318160ddd116101fb57806318160ddd146102ce5780631c499ab0146102e25780631fb9abf91461030157806323b872dd1461032057806327060b2b1461033f575f5ffd5b8062ae3bf8146102355780630445b6671461025657806306fdde031461027e578063095ea7b31461029f575f5ffd5b3661023157005b5f5ffd5b348015610240575f5ffd5b5061025461024f366004611fe8565b6106ac565b005b348015610261575f5ffd5b5061026b60175481565b6040519081526020015b60405180910390f35b348015610289575f5ffd5b5061029261081c565b6040516102759190612003565b3480156102aa575f5ffd5b506102be6102b9366004612038565b6108ab565b6040519015158152602001610275565b3480156102d9575f5ffd5b5060035461026b565b3480156102ed575f5ffd5b506102546102fc366004612062565b6108c1565b34801561030c575f5ffd5b5061025461031b366004612062565b61094f565b34801561032b575f5ffd5b506102be61033a366004612079565b610ac1565b34801561034a575f5ffd5b5061035461dead81565b6040516001600160a01b039091168152602001610275565b348015610377575f5ffd5b5061026b610386366004611fe8565b610b5f565b348015610396575f5ffd5b506102546103a53660046120c4565b610be3565b3480156103b5575f5ffd5b5060025460405160ff9091168152602001610275565b3480156103d6575f5ffd5b506016546102be90610100900460ff1681565b3480156103f4575f5ffd5b50610254610c6c565b348015610408575f5ffd5b5061026b60115481565b34801561041d575f5ffd5b5061026b6201518081565b348015610433575f5ffd5b5061026b610442366004611fe8565b6001600160a01b03165f9081526004602052604090205490565b348015610467575f5ffd5b5061026b60105481565b34801561047c575f5ffd5b5061026b60145481565b348015610491575f5ffd5b5061026b60155481565b3480156104a6575f5ffd5b50610254610c78565b3480156104ba575f5ffd5b50600c54610354906001600160a01b031681565b3480156104d9575f5ffd5b50600d54610354906001600160a01b031681565b3480156104f8575f5ffd5b50610292610d3d565b34801561050c575f5ffd5b50600e54610354906001600160a01b031681565b34801561052b575f5ffd5b5061026b61053a366004611fe8565b610d4c565b34801561054a575f5ffd5b506102be610559366004612038565b610d77565b348015610569575f5ffd5b5061026b60185481565b34801561057e575f5ffd5b5061025461058d3660046120c4565b610d83565b34801561059d575f5ffd5b50610254610dd7565b3480156105b1575f5ffd5b5061026b60125481565b3480156105c6575f5ffd5b506102546105d5366004612062565b610e37565b3480156105e5575f5ffd5b5061026b610e66565b3480156105f9575f5ffd5b506102546106083660046120c4565b610f1e565b348015610618575f5ffd5b5061026b6106273660046120fb565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b34801561065c575f5ffd5b5061026b60135481565b610254610f72565b348015610679575f5ffd5b5061026b610688366004611fe8565b61114e565b348015610698575f5ffd5b50600f54610354906001600160a01b031681565b600c546001600160a01b031633146106df5760405162461bcd60e51b81526004016106d690612127565b60405180910390fd5b306001600160a01b038216036107375760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f7420726573637565206f776e20746f6b656e00000000000000000060448201526064016106d6565b600c546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610788573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ac919061214a565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156107f4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108189190612161565b5050565b60605f805461082a9061217c565b80601f01602080910402602001604051908101604052809291908181526020018280546108569061217c565b80156108a15780601f10610878576101008083540402835291602001916108a1565b820191905f5260205f20905b81548152906001019060200180831161088457829003601f168201915b5050505050905090565b5f6108b7338484611158565b5060015b92915050565b600c546001600160a01b031633146108eb5760405162461bcd60e51b81526004016106d690612127565b606460035460016108fc91906121c8565b61090691906121df565b81101561094a5760405162461bcd60e51b81526020600482015260126024820152714d61782077616c6c657420746f6f206c6f7760701b60448201526064016106d6565b601855565b600c546001600160a01b031633146109795760405162461bcd60e51b81526004016106d690612127565b601654610100900460ff16156109cb5760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c8185b1c9958591e48195b98589b1959604a1b60448201526064016106d6565b600c546001600160a01b03165f90815260046020526040902054811115610a2b5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016106d6565b600c546001600160a01b03165f9081526004602052604081208054839290610a549084906121fe565b9091555050305f9081526004602052604081208054839290610a77908490612211565b9091555050600c5460405182815230916001600160a01b0316907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350565b5f610acd848484611264565b6001600160a01b0384165f90815260056020908152604080832033845290915290205482811015610b405760405162461bcd60e51b815260206004820152601a60248201527f5472616e73666572206578636565647320616c6c6f77616e636500000000000060448201526064016106d6565b610b548533610b4f86856121fe565b611158565b506001949350505050565b6001600160a01b0381165f9081526007602052604081205460ff1615610b8657505f919050565b6001600160a01b0382165f908152600a6020908152604080832054600490925290912054600954600160801b92610bd992610bd492610bce91610bc99190611778565b6117fd565b9061180b565b611889565b6108bb91906121df565b600c546001600160a01b03163314610c0d5760405162461bcd60e51b81526004016106d690612127565b808015610c3257506001600160a01b0382165f9081526007602052604090205460ff16155b15610c4257610c408261189a565b505b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b610c753361189a565b50565b600c546001600160a01b03163314610ca25760405162461bcd60e51b81526004016106d690612127565b601654610100900460ff1615610cec5760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e48195b98589b1959608a1b60448201526064016106d6565b6016805461ff0019166101001790554260108190556040517fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e92391610d339190815260200190565b60405180910390a1565b60606001805461082a9061217c565b6001600160a01b0381165f908152600b60205260408120546108bb90610d7184610b5f565b906119cc565b5f6108b7338484611264565b600c546001600160a01b03163314610dad5760405162461bcd60e51b81526004016106d690612127565b6001600160a01b03919091165f908152600660205260409020805460ff1916911515919091179055565b600c546001600160a01b03163314610e015760405162461bcd60e51b81526004016106d690612127565b600c546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610c75573d5f5f3e3d5ffd5b600c546001600160a01b03163314610e615760405162461bcd60e51b81526004016106d690612127565b601755565b60035461dead5f90815260046020527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd54909190610ea490826121fe565b600e546001600160a01b03165f90815260046020526040902054909150610ecb90826121fe565b305f90815260046020526040902054909150610ee790826121fe565b5f805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec549091506108bb90826121fe565b600c546001600160a01b03163314610f485760405162461bcd60e51b81526004016106d690612127565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b600c546001600160a01b03163314610f9c5760405162461bcd60e51b81526004016106d690612127565b601654610100900460ff1615610fee5760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c8185b1c9958591e48195b98589b1959604a1b60448201526064016106d6565b5f34116110365760405162461bcd60e51b81526020600482015260166024820152754e656564204d4f4e20666f72206c697175696469747960501b60448201526064016106d6565b305f908152600460205260409020548061109e5760405162461bcd60e51b815260206004820152602360248201527f4e6f20746f6b656e7320696e20636f6e747261637420666f72206c697175696460448201526269747960e81b60648201526084016106d6565b600f546110b69030906001600160a01b031683611158565b600f54600c5460405163f305d71960e01b8152306004820152602481018490525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990349060c40160606040518083038185885af1158015611123573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111489190612224565b50505050565b5f6108bb82610d4c565b6001600160a01b0383166111ae5760405162461bcd60e51b815260206004820152601960248201527f417070726f76652066726f6d207a65726f20616464726573730000000000000060448201526064016106d6565b6001600160a01b0382166112045760405162461bcd60e51b815260206004820152601760248201527f417070726f766520746f207a65726f206164647265737300000000000000000060448201526064016106d6565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112ba5760405162461bcd60e51b815260206004820152601a60248201527f5472616e736665722066726f6d207a65726f206164647265737300000000000060448201526064016106d6565b6001600160a01b0382166113105760405162461bcd60e51b815260206004820152601860248201527f5472616e7366657220746f207a65726f2061646472657373000000000000000060448201526064016106d6565b5f811161135f5760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f60448201526064016106d6565b6001600160a01b0383165f908152600460205260409020548111156113bd5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016106d6565b601654610100900460ff1661143757600c546001600160a01b03848116911614806113f55750600c546001600160a01b038381169116145b6114375760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016106d6565b6001600160a01b0383165f9081526007602052604090205460ff166114615761145f8361189a565b505b6001600160a01b0382165f9081526007602052604090205460ff1661148b576114898261189a565b505b6016545f90610100900460ff1680156114a7575060165460ff16155b80156114cb57506001600160a01b0384165f9081526006602052604090205460ff16155b80156114ef57506001600160a01b0383165f9081526006602052604090205460ff16155b905080801561150e5750601754305f9081526004602052604090205410155b80156115285750600e546001600160a01b03858116911614155b1561153857611538601754611a27565b81811561162857600e545f906001600160a01b0390811690871603611579576127106011548561156891906121c8565b61157291906121df565b90506115ad565b600e546001600160a01b03908116908616036115ad57612710601254856115a091906121c8565b6115aa91906121df565b90505b8015611626576115bd81856121fe565b305f908152600460205260408120805492945083929091906115e0908490612211565b909155505060405181815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b505b6001600160a01b0385165f908152600460205260408120805485929061164f9084906121fe565b90915550506001600160a01b0384165f908152600460205260408120805483929061167b908490612211565b90915550506001600160a01b0384165f9081526008602052604090205460ff161580156116b65750600e546001600160a01b03858116911614155b15611719576018546001600160a01b0385165f9081526004602052604090205411156117195760405162461bcd60e51b8152602060048201526012602482015271115e18d959591cc81b585e081dd85b1b195d60721b60448201526064016106d6565b611724858583611ce4565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161176991815260200190565b60405180910390a35050505050565b5f825f0361178757505f6108bb565b5f61179283856121c8565b90508261179f85836121df565b146117f65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106d6565b9392505050565b5f81818112156108bb575f5ffd5b5f80611817838561224f565b90505f83121580156118295750838112155b8061183d57505f8312801561183d57508381125b6117f65760405162461bcd60e51b815260206004820152601e60248201527f536166654d617468496e743a206164646974696f6e206f766572666c6f77000060448201526064016106d6565b5f5f821215611896575f5ffd5b5090565b5f5f6118a583610d4c565b905080156119c4576001600160a01b0383165f908152600b60205260409020546118cf9082611dd7565b6001600160a01b0384165f818152600b602052604080822093909355915183908381818185875af1925050503d805f8114611925576040519150601f19603f3d011682016040523d82523d5f602084013e61192a565b606091505b50509050801561197e57836001600160a01b03167fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d8360405161196f91815260200190565b60405180910390a25092915050565b6001600160a01b0384165f908152600b60205260409020546119a090836119cc565b6001600160a01b039094165f908152600b6020526040812094909455509192915050565b505f92915050565b5f82821115611a1d5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016106d6565b6117f682846121fe565b6016805460ff1916600117905560408051600280825260608201835247925f92919060208301908036833701905050905030815f81518110611a6b57611a6b612276565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611ac2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ae6919061228a565b81600181518110611af957611af9612276565b6001600160a01b039283166020918202929092010152600f54611b1f9130911685611158565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611b579086905f908690309042906004016122a5565b5f604051808303815f87803b158015611b6e575f5ffd5b505af1925050508015611b7f575060015b15611cd5575f611b8f83476121fe565b90508015611cd3575f5f62015180601054611baa9190612211565b421015611bde57601154601354611bc190856121c8565b611bcb91906121df565b9150611bd782846121fe565b9050611be4565b508190505f5b8015611c8857600d546040515f916001600160a01b03169083908381818185875af1925050503d805f8114611c34576040519150601f19603f3d011682016040523d82523d5f602084013e611c39565b606091505b505090508015611c8657600d546040518381526001600160a01b03909116907fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d9060200160405180910390a25b505b8115611c9757611c9782611e35565b60408051878152602081018590527fa6f00573d3d636305b78d01be65e94d383ea39bda1aa8163aad473b09dad640d910160405180910390a150505b505b50506016805460ff1916905550565b6001600160a01b0383165f9081526007602052604090205460ff16611d5b575f611d1c610bc98360095461177890919063ffffffff16565b6001600160a01b0385165f908152600a6020526040902054909150611d41908261180b565b6001600160a01b0385165f908152600a6020526040902055505b6001600160a01b0382165f9081526007602052604090205460ff16611dd2575f611d93610bc98360095461177890919063ffffffff16565b6001600160a01b0384165f908152600a6020526040902054909150611db89082611ef2565b6001600160a01b0384165f908152600a6020526040902055505b505050565b5f80611de38385612211565b9050838110156117f65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106d6565b5f611e3e610e66565b90505f8111611e845760405162461bcd60e51b81526020600482015260126024820152714e6f20656c696769626c6520737570706c7960701b60448201526064016106d6565b611ea8611e9f82611e9985600160801b611778565b90611f7a565b60095490611dd7565b600955601554611eb89083611dd7565b6015556040518281527f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4429060200160405180910390a15050565b5f80611efe8385612315565b90505f8312158015611f105750838113155b80611f2457505f83128015611f2457508381135b6117f65760405162461bcd60e51b815260206004820152602160248201527f536166654d617468496e743a207375627472616374696f6e206f766572666c6f6044820152607760f81b60648201526084016106d6565b5f5f8211611fca5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f00000000000060448201526064016106d6565b6117f682846121df565b6001600160a01b0381168114610c75575f5ffd5b5f60208284031215611ff8575f5ffd5b81356117f681611fd4565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f60408385031215612049575f5ffd5b823561205481611fd4565b946020939093013593505050565b5f60208284031215612072575f5ffd5b5035919050565b5f5f5f6060848603121561208b575f5ffd5b833561209681611fd4565b925060208401356120a681611fd4565b929592945050506040919091013590565b8015158114610c75575f5ffd5b5f5f604083850312156120d5575f5ffd5b82356120e081611fd4565b915060208301356120f0816120b7565b809150509250929050565b5f5f6040838503121561210c575f5ffd5b823561211781611fd4565b915060208301356120f081611fd4565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b5f6020828403121561215a575f5ffd5b5051919050565b5f60208284031215612171575f5ffd5b81516117f6816120b7565b600181811c9082168061219057607f821691505b6020821081036121ae57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176108bb576108bb6121b4565b5f826121f957634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156108bb576108bb6121b4565b808201808211156108bb576108bb6121b4565b5f5f5f60608486031215612236575f5ffd5b5050815160208301516040909301519094929350919050565b8082018281125f83128015821682158216171561226e5761226e6121b4565b505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561229a575f5ffd5b81516117f681611fd4565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156122f55783516001600160a01b03168352602093840193909201916001016122ce565b50506001600160a01b039590951660608401525050608001529392505050565b8181035f831280158383131683831282161715612334576123346121b4565b509291505056fea264697066735822122075703e888235dfcc4024d01c67f99570e1077f8fc25d4cce2ba239107594e38064736f6c634300081e0033

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

0000000000000000000000004b2ab38dbf28d31d467aa8993f6c2585981d6804000000000000000000000000b557f176b110f5943d399d2f75049b75ac222005

-----Decoded View---------------
Arg [0] : _router (address): 0x4B2ab38DBF28D31D467aA8993f6c2585981D6804
Arg [1] : _devWallet (address): 0xB557F176b110F5943D399D2f75049b75Ac222005

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000004b2ab38dbf28d31d467aa8993f6c2585981d6804
Arg [1] : 000000000000000000000000b557f176b110f5943d399d2f75049b75ac222005


Deployed Bytecode Sourcemap

3367:14140:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17133:213;;;;;;;;;;-1:-1:-1;17133:213:0;;;;;:::i;:::-;;:::i;:::-;;4909:49;;;;;;;;;;;;;;;;;;;548:25:1;;;536:2;521:18;4909:49:0;;;;;;;;6542:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7314:159::-;;;;;;;;;;-1:-1:-1;7314:159:0;;;;;:::i;:::-;;:::i;:::-;;;1544:14:1;;1537:22;1519:41;;1507:2;1492:18;7314:159:0;1379:187:1;6771:86:0;;;;;;;;;;-1:-1:-1;6842:12:0;;6771:86;;16942:179;;;;;;;;;;-1:-1:-1;16942:179:0;;;;;:::i;:::-;;:::i;14988:380::-;;;;;;;;;;-1:-1:-1;14988:380:0;;;;;:::i;:::-;;:::i;7485:392::-;;;;;;;;;;-1:-1:-1;7485:392:0;;;;;:::i;:::-;;:::i;4345:80::-;;;;;;;;;;;;4383:42;4345:80;;;;;-1:-1:-1;;;;;2479:32:1;;;2461:51;;2449:2;2434:18;4345:80:0;2315:203:1;14003:358:0;;;;;;;;;;-1:-1:-1;14003:358:0;;;;;:::i;:::-;;:::i;16506:268::-;;;;;;;;;;-1:-1:-1;16506:268:0;;;;;:::i;:::-;;:::i;6696:69::-;;;;;;;;;;-1:-1:-1;6753:9:0;;6696:69;;6753:9;;;;3175:36:1;;3163:2;3148:18;6696:69:0;3033:184:1;4876:26:0;;;;;;;;;;-1:-1:-1;4876:26:0;;;;;;;;;;;14863:89;;;;;;;;;;;;;:::i;4597:27::-;;;;;;;;;;;;;;;;4533:51;;;;;;;;;;;;4576:8;4533:51;;6863:105;;;;;;;;;;-1:-1:-1;6863:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6947:18:0;6929:7;6947:18;;;:9;:18;;;;;;;6863:105;4501:25;;;;;;;;;;;;;;;;4736:36;;;;;;;;;;;;;;;;4797:40;;;;;;;;;;;;;;;;15995:224;;;;;;;;;;;;;:::i;4287:20::-;;;;;;;;;;-1:-1:-1;4287:20:0;;;;-1:-1:-1;;;;;4287:20:0;;;4314:24;;;;;;;;;;-1:-1:-1;4314:24:0;;;;-1:-1:-1;;;;;4314:24:0;;;6617:73;;;;;;;;;;;;;:::i;4432:19::-;;;;;;;;;;-1:-1:-1;4432:19:0;;;;-1:-1:-1;;;;;4432:19:0;;;13825:166;;;;;;;;;;-1:-1:-1;13825:166:0;;;;;:::i;:::-;;:::i;6980:165::-;;;;;;;;;;-1:-1:-1;6980:165:0;;;;;:::i;:::-;;:::i;4965:52::-;;;;;;;;;;;;;;;;16360:134;;;;;;;;;;-1:-1:-1;16360:134:0;;;;;:::i;:::-;;:::i;17358:105::-;;;;;;;;;;;;;:::i;4637:28::-;;;;;;;;;;;;;;;;16231:117;;;;;;;;;;-1:-1:-1;16231:117:0;;;;;:::i;:::-;;:::i;14373:309::-;;;;;;;;;;;;;:::i;16786:144::-;;;;;;;;;;-1:-1:-1;16786:144:0;;;;;:::i;:::-;;:::i;7157:145::-;;;;;;;;;;-1:-1:-1;7157:145:0;;;;;:::i;:::-;-1:-1:-1;;;;;7266:19:0;;;7239:7;7266:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7157:145;4678:39;;;;;;;;;;;;;;;;15380:603;;;:::i;14694:127::-;;;;;;;;;;-1:-1:-1;14694:127:0;;;;;:::i;:::-;;:::i;4458:30::-;;;;;;;;;;-1:-1:-1;4458:30:0;;;;-1:-1:-1;;;;;4458:30:0;;;17133:213;5084:5;;-1:-1:-1;;;;;5084:5:0;5070:10;:19;5062:41;;;;-1:-1:-1;;;5062:41:0;;;;;;;:::i;:::-;;;;;;;;;17225:4:::1;-1:-1:-1::0;;;;;17208:22:0;::::1;::::0;17200:58:::1;;;::::0;-1:-1:-1;;;17200:58:0;;4386:2:1;17200:58:0::1;::::0;::::1;4368:21:1::0;4425:2;4405:18;;;4398:30;4464:25;4444:18;;;4437:53;4507:18;;17200:58:0::1;4184:347:1::0;17200:58:0::1;17292:5;::::0;17299:38:::1;::::0;-1:-1:-1;;;17299:38:0;;17331:4:::1;17299:38;::::0;::::1;2461:51:1::0;-1:-1:-1;;;;;17269:22:0;;::::1;::::0;::::1;::::0;17292:5;::::1;::::0;17269:22;;17299:23:::1;::::0;2434:18:1;;17299:38:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17269:69;::::0;-1:-1:-1;;;;;;17269:69:0::1;::::0;;;;;;-1:-1:-1;;;;;4963:32:1;;;17269:69:0::1;::::0;::::1;4945:51:1::0;5012:18;;;5005:34;4918:18;;17269:69:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17133:213:::0;:::o;6542:69::-;6579:13;6603:5;6596:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6542:69;:::o;7314:159::-;7389:4;7406:37;7415:10;7427:7;7436:6;7406:8;:37::i;:::-;-1:-1:-1;7461:4:0;7314:159;;;;;:::o;16942:179::-;5084:5;;-1:-1:-1;;;;;5084:5:0;5070:10;:19;5062:41;;;;-1:-1:-1;;;5062:41:0;;;;;;;:::i;:::-;17052:3:::1;17032:12;;17047:1;17032:16;;;;:::i;:::-;17031:24;;;;:::i;:::-;17021:6;:34;;17013:65;;;::::0;-1:-1:-1;;;17013:65:0;;6414:2:1;17013:65:0::1;::::0;::::1;6396:21:1::0;6453:2;6433:18;;;6426:30;-1:-1:-1;;;6472:18:1;;;6465:48;6530:18;;17013:65:0::1;6212:342:1::0;17013:65:0::1;17089:15;:24:::0;16942:179::o;14988:380::-;5084:5;;-1:-1:-1;;;;;5084:5:0;5070:10;:19;5062:41;;;;-1:-1:-1;;;5062:41:0;;;;;;;:::i;:::-;15072:14:::1;::::0;::::1;::::0;::::1;;;15071:15;15063:51;;;::::0;-1:-1:-1;;;15063:51:0;;6761:2:1;15063:51:0::1;::::0;::::1;6743:21:1::0;6800:2;6780:18;;;6773:30;-1:-1:-1;;;6819:18:1;;;6812:53;6882:18;;15063:51:0::1;6559:347:1::0;15063:51:0::1;15143:5;::::0;-1:-1:-1;;;;;15143:5:0::1;15133:16;::::0;;;:9:::1;:16;::::0;;;;;:31;-1:-1:-1;15133:31:0::1;15125:64;;;::::0;-1:-1:-1;;;15125:64:0;;7113:2:1;15125:64:0::1;::::0;::::1;7095:21:1::0;7152:2;7132:18;;;7125:30;-1:-1:-1;;;7171:18:1;;;7164:50;7231:18;;15125:64:0::1;6911:344:1::0;15125:64:0::1;15220:5;::::0;-1:-1:-1;;;;;15220:5:0::1;15210:16;::::0;;;:9:::1;:16;::::0;;;;:31;;15230:11;;15210:16;:31:::1;::::0;15230:11;;15210:31:::1;:::i;:::-;::::0;;;-1:-1:-1;;15270:4:0::1;15252:24;::::0;;;:9:::1;:24;::::0;;;;:39;;15280:11;;15252:24;:39:::1;::::0;15280:11;;15252:39:::1;:::i;:::-;::::0;;;-1:-1:-1;;15326:5:0::1;::::0;15317:43:::1;::::0;548:25:1;;;15341:4:0::1;::::0;-1:-1:-1;;;;;15326:5:0::1;::::0;15317:43:::1;::::0;536:2:1;521:18;15317:43:0::1;;;;;;;14988:380:::0;:::o;7485:392::-;7583:4;7600:36;7610:6;7618:9;7629:6;7600:9;:36::i;:::-;-1:-1:-1;;;;;7674:19:0;;7647:24;7674:19;;;:11;:19;;;;;;;;7694:10;7674:31;;;;;;;;7724:26;;;;7716:65;;;;-1:-1:-1;;;7716:65:0;;7725:2:1;7716:65:0;;;7707:21:1;7764:2;7744:18;;;7737:30;7803:28;7783:18;;;7776:56;7849:18;;7716:65:0;7523:350:1;7716:65:0;7792:55;7801:6;7809:10;7821:25;7840:6;7821:16;:25;:::i;:::-;7792:8;:55::i;:::-;-1:-1:-1;7865:4:0;;7485:392;-1:-1:-1;;;;7485:392:0:o;14003:358::-;-1:-1:-1;;;;;14096:30:0;;14072:7;14096:30;;;:22;:30;;;;;;;;14092:44;;;-1:-1:-1;14135:1:0;;14003:358;-1:-1:-1;14003:358:0:o;14092:44::-;-1:-1:-1;;;;;14274:36:0;;;;;;:28;:36;;;;;;;;;14208:9;:17;;;;;;;14164:25;;-1:-1:-1;;;4086:6:0;14164:177;;:147;;:91;;:62;;:25;:43;:62::i;:::-;:89;:91::i;:::-;:109;;:147::i;:::-;:175;:177::i;:::-;:189;;;;:::i;16506:268::-;5084:5;;-1:-1:-1;;;;;5084:5:0;5070:10;:19;5062:41;;;;-1:-1:-1;;;5062:41:0;;;;;;;:::i;:::-;16600:8:::1;:44;;;;-1:-1:-1::0;;;;;;16613:31:0;::::1;;::::0;;;:22:::1;:31;::::0;;;;;::::1;;16612:32;16600:44;16596:118;;;16661:41;16693:7;16661:23;:41::i;:::-;;16596:118;-1:-1:-1::0;;;;;16724:31:0;;;::::1;;::::0;;;:22:::1;:31;::::0;;;;:42;;-1:-1:-1;;16724:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16506:268::o;14863:89::-;14900:44;14932:10;14900:23;:44::i;:::-;;14863:89::o;15995:224::-;5084:5;;-1:-1:-1;;;;;5084:5:0;5070:10;:19;5062:41;;;;-1:-1:-1;;;5062:41:0;;;;;;;:::i;:::-;16059:14:::1;::::0;::::1;::::0;::::1;;;16058:15;16050:43;;;::::0;-1:-1:-1;;;16050:43:0;;8080:2:1;16050:43:0::1;::::0;::::1;8062:21:1::0;8119:2;8099:18;;;8092:30;-1:-1:-1;;;8138:18:1;;;8131:45;8193:18;;16050:43:0::1;7878:339:1::0;16050:43:0::1;16104:14;:21:::0;;-1:-1:-1;;16104:21:0::1;;;::::0;;16149:15:::1;16136:10;:28:::0;;;16180:31:::1;::::0;::::1;::::0;::::1;::::0;548:25:1;;;536:2;521:18;;402:177;16180:31:0::1;;;;;;;;15995:224::o:0;6617:73::-;6656:13;6680:7;6673:14;;;;;:::i;13825:166::-;-1:-1:-1;;;;;13956:26:0;;13894:7;13956:26;;;:18;:26;;;;;;13921:62;;:30;13975:6;13921:22;:30::i;:::-;:34;;:62::i;6980:165::-;7058:4;7075:40;7085:10;7097:9;7108:6;7075:9;:40::i;16360:134::-;5084:5;;-1:-1:-1;;;;;5084:5:0;5070:10;:19;5062:41;;;;-1:-1:-1;;;5062:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16447:28:0;;;::::1;;::::0;;;:19:::1;:28;::::0;;;;:39;;-1:-1:-1;;16447:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16360:134::o;17358:105::-;5084:5;;-1:-1:-1;;;;;5084:5:0;5070:10;:19;5062:41;;;;-1:-1:-1;;;5062:41:0;;;;;;;:::i;:::-;17417:5:::1;::::0;17409:46:::1;::::0;-1:-1:-1;;;;;17417:5:0;;::::1;::::0;17433:21:::1;17409:46:::0;::::1;;;::::0;17417:5:::1;17409:46:::0;17417:5;17409:46;17433:21;17417:5;17409:46;::::1;;;;;;;;;;;;;;;;;;16231:117:::0;5084:5;;-1:-1:-1;;;;;5084:5:0;5070:10;:19;5062:41;;;;-1:-1:-1;;;5062:41:0;;;;;;;:::i;:::-;16312:13:::1;:28:::0;16231:117::o;14373:309::-;14462:12;;4383:42;14423:7;14497:22;;;:9;:22;;;;14423:7;;14462:12;14485:34;;14462:12;14485:34;:::i;:::-;14552:4;;-1:-1:-1;;;;;14552:4:0;14542:15;;;;:9;:15;;;;;;14485:34;;-1:-1:-1;14530:27:0;;14485:34;14530:27;:::i;:::-;14598:4;14580:24;;;;:9;:24;;;;;;14530:27;;-1:-1:-1;14568:36:0;;14530:27;14568:36;:::i;:::-;14627:21;;;:9;:21;;;;14568:36;;-1:-1:-1;14615:33:0;;14568:36;14615:33;:::i;16786:144::-;5084:5;;-1:-1:-1;;;;;5084:5:0;5070:10;:19;5062:41;;;;-1:-1:-1;;;5062:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16878:33:0;;;::::1;;::::0;;;:24:::1;:33;::::0;;;;:44;;-1:-1:-1;;16878:44:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16786:144::o;15380:603::-;5084:5;;-1:-1:-1;;;;;5084:5:0;5070:10;:19;5062:41;;;;-1:-1:-1;;;5062:41:0;;;;;;;:::i;:::-;15451:14:::1;::::0;::::1;::::0;::::1;;;15450:15;15442:51;;;::::0;-1:-1:-1;;;15442:51:0;;6761:2:1;15442:51:0::1;::::0;::::1;6743:21:1::0;6800:2;6780:18;;;6773:30;-1:-1:-1;;;6819:18:1;;;6812:53;6882:18;;15442:51:0::1;6559:347:1::0;15442:51:0::1;15524:1;15512:9;:13;15504:48;;;::::0;-1:-1:-1;;;15504:48:0;;8424:2:1;15504:48:0::1;::::0;::::1;8406:21:1::0;8463:2;8443:18;;;8436:30;-1:-1:-1;;;8482:18:1;;;8475:52;8544:18;;15504:48:0::1;8222:346:1::0;15504:48:0::1;15613:4;15573:19;15595:24:::0;;;:9:::1;:24;::::0;;;;;15638:15;15630:63:::1;;;::::0;-1:-1:-1;;;15630:63:0;;8775:2:1;15630:63:0::1;::::0;::::1;8757:21:1::0;8814:2;8794:18;;;8787:30;8853:34;8833:18;;;8826:62;-1:-1:-1;;;8904:18:1;;;8897:33;8947:19;;15630:63:0::1;8573:399:1::0;15630:63:0::1;15746:6;::::0;15714:53:::1;::::0;15731:4:::1;::::0;-1:-1:-1;;;;;15746:6:0::1;15755:11:::0;15714:8:::1;:53::i;:::-;15788:6;::::0;15929:5:::1;::::0;15788:187:::1;::::0;-1:-1:-1;;;15788:187:0;;15851:4:::1;15788:187;::::0;::::1;9280:51:1::0;9347:18;;;9340:34;;;15788:6:0::1;9390:18:1::0;;;9383:34;;;9433:18;;;9426:34;-1:-1:-1;;;;;15929:5:0;;::::1;9476:19:1::0;;;9469:61;15949:15:0::1;9546:19:1::0;;;9539:35;15788:6:0;::::1;::::0;:22:::1;::::0;15818:9:::1;::::0;9252:19:1;;15788:187:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15431:552;15380:603::o:0;14694:127::-;14758:7;14785:28;14808:4;14785:22;:28::i;7889:317::-;-1:-1:-1;;;;;7983:20:0;;7975:58;;;;-1:-1:-1;;;7975:58:0;;10248:2:1;7975:58:0;;;10230:21:1;10287:2;10267:18;;;10260:30;10326:27;10306:18;;;10299:55;10371:18;;7975:58:0;10046:349:1;7975:58:0;-1:-1:-1;;;;;8052:21:0;;8044:57;;;;-1:-1:-1;;;8044:57:0;;10602:2:1;8044:57:0;;;10584:21:1;10641:2;10621:18;;;10614:30;10680:25;10660:18;;;10653:53;10723:18;;8044:57:0;10400:347:1;8044:57:0;-1:-1:-1;;;;;8112:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;8165:33;;548:25:1;;;8165:33:0;;521:18:1;8165:33:0;;;;;;;7889:317;;;:::o;8218:1994::-;-1:-1:-1;;;;;8306:18:0;;8298:57;;;;-1:-1:-1;;;8298:57:0;;10954:2:1;8298:57:0;;;10936:21:1;10993:2;10973:18;;;10966:30;11032:28;11012:18;;;11005:56;11078:18;;8298:57:0;10752:350:1;8298:57:0;-1:-1:-1;;;;;8374:16:0;;8366:53;;;;-1:-1:-1;;;8366:53:0;;11309:2:1;8366:53:0;;;11291:21:1;11348:2;11328:18;;;11321:30;11387:26;11367:18;;;11360:54;11431:18;;8366:53:0;11107:348:1;8366:53:0;8447:1;8438:6;:10;8430:55;;;;-1:-1:-1;;;8430:55:0;;11662:2:1;8430:55:0;;;11644:21:1;;;11681:18;;;11674:30;11740:34;11720:18;;;11713:62;11792:18;;8430:55:0;11460:356:1;8430:55:0;-1:-1:-1;;;;;8504:15:0;;;;;;:9;:15;;;;;;:25;-1:-1:-1;8504:25:0;8496:58;;;;-1:-1:-1;;;8496:58:0;;7113:2:1;8496:58:0;;;7095:21:1;7152:2;7132:18;;;7125:30;-1:-1:-1;;;7171:18:1;;;7164:50;7231:18;;8496:58:0;6911:344:1;8496:58:0;8580:14;;;;;;;8575:108;;8627:5;;-1:-1:-1;;;;;8619:13:0;;;8627:5;;8619:13;;:28;;-1:-1:-1;8642:5:0;;-1:-1:-1;;;;;8636:11:0;;;8642:5;;8636:11;8619:28;8611:60;;;;-1:-1:-1;;;8611:60:0;;12023:2:1;8611:60:0;;;12005:21:1;12062:2;12042:18;;;12035:30;-1:-1:-1;;;12081:18:1;;;12074:49;12140:18;;8611:60:0;11821:343:1;8611:60:0;-1:-1:-1;;;;;8775:28:0;;;;;;:22;:28;;;;;;;;8770:100;;8820:38;8852:4;8820:23;:38::i;:::-;;8770:100;-1:-1:-1;;;;;8885:26:0;;;;;;:22;:26;;;;;;;;8880:96;;8928:36;8960:2;8928:23;:36::i;:::-;;8880:96;9011:14;;8996:12;;9011:14;;;;;:25;;;;-1:-1:-1;9030:6:0;;;;9029:7;9011:25;:55;;;;-1:-1:-1;;;;;;9041:25:0;;;;;;:19;:25;;;;;;;;9040:26;9011:55;:83;;;;-1:-1:-1;;;;;;9071:23:0;;;;;;:19;:23;;;;;;;;9070:24;9011:83;8996:98;;9119:7;:52;;;;-1:-1:-1;9158:13:0;;9148:4;6929:7;6947:18;;;:9;:18;;;;;;9130:41;;9119:52;:68;;;;-1:-1:-1;9183:4:0;;-1:-1:-1;;;;;9175:12:0;;;9183:4;;9175:12;;9119:68;9115:133;;;9204:32;9222:13;;9204:17;:32::i;:::-;9293:6;9320:465;;;;9400:4;;9348:11;;-1:-1:-1;;;;;9400:4:0;;;9392:12;;;;9388:173;;9451:5;9441:6;;9432;:15;;;;:::i;:::-;9431:25;;;;:::i;:::-;9425:31;;9388:173;;;9488:4;;-1:-1:-1;;;;;9488:4:0;;;9482:10;;;;9478:83;;9540:5;9529:7;;9520:6;:16;;;;:::i;:::-;9519:26;;;;:::i;:::-;9513:32;;9478:83;9593:7;;9589:185;;9638:12;9647:3;9638:6;:12;:::i;:::-;9687:4;9669:24;;;;:9;:24;;;;;:31;;9621:29;;-1:-1:-1;9697:3:0;;9669:24;;;:31;;9697:3;;9669:31;:::i;:::-;;;;-1:-1:-1;;9724:34:0;;548:25:1;;;9747:4:0;;-1:-1:-1;;;;;9724:34:0;;;;;536:2:1;521:18;9724:34:0;;;;;;;9589:185;9333:452;9320:465;-1:-1:-1;;;;;9805:15:0;;;;;;:9;:15;;;;;:25;;9824:6;;9805:15;:25;;9824:6;;9805:25;:::i;:::-;;;;-1:-1:-1;;;;;;;9841:13:0;;;;;;:9;:13;;;;;:31;;9858:14;;9841:13;:31;;9858:14;;9841:31;:::i;:::-;;;;-1:-1:-1;;;;;;;9898:28:0;;;;;;:24;:28;;;;;;;;9897:29;:43;;;;-1:-1:-1;9936:4:0;;-1:-1:-1;;;;;9930:10:0;;;9936:4;;9930:10;;9897:43;9893:139;;;9982:15;;-1:-1:-1;;;;;9965:13:0;;;;;;:9;:13;;;;;;:32;;9957:63;;;;-1:-1:-1;;;9957:63:0;;12371:2:1;9957:63:0;;;12353:21:1;12410:2;12390:18;;;12383:30;-1:-1:-1;;;12429:18:1;;;12422:48;12487:18;;9957:63:0;12169:342:1;9957:63:0;10092:52;10119:4;10125:2;10129:14;10092:26;:52::i;:::-;10185:2;-1:-1:-1;;;;;10170:34:0;10179:4;-1:-1:-1;;;;;10170:34:0;;10189:14;10170:34;;;;548:25:1;;536:2;521:18;;402:177;10170:34:0;;;;;;;;8287:1925;;8218:1994;;;:::o;2190:220::-;2248:7;2272:1;2277;2272:6;2268:20;;-1:-1:-1;2287:1:0;2280:8;;2268:20;2299:9;2311:5;2315:1;2311;:5;:::i;:::-;2299:17;-1:-1:-1;2344:1:0;2335:5;2339:1;2299:17;2335:5;:::i;:::-;:10;2327:56;;;;-1:-1:-1;;;2327:56:0;;12718:2:1;2327:56:0;;;12700:21:1;12757:2;12737:18;;;12730:30;12796:34;12776:18;;;12769:62;-1:-1:-1;;;12847:18:1;;;12840:31;12888:19;;2327:56:0;12516:397:1;2327:56:0;2401:1;2190:220;-1:-1:-1;;;2190:220:0:o;3212:148::-;3268:6;3305:1;3326:6;;;;3318:15;;;;;2603:210;2659:6;;2689:5;2693:1;2689;:5;:::i;:::-;2678:16;;2719:1;2714;:6;;:16;;;;;2729:1;2724;:6;;2714:16;2713:38;;;;2740:1;2736;:5;:14;;;;;2749:1;2745;:5;2736:14;2705:81;;;;-1:-1:-1;;;2705:81:0;;13341:2:1;2705:81:0;;;13323:21:1;13380:2;13360:18;;;13353:30;13419:32;13399:18;;;13392:60;13469:18;;2705:81:0;13139:354:1;3050:127:0;3106:7;3139:1;3134;:6;;3126:15;;;;;;-1:-1:-1;3167:1:0;3050:127::o;13090:723::-;13163:7;13183:29;13215:28;13238:4;13215:22;:28::i;:::-;13183:60;-1:-1:-1;13258:25:0;;13254:533;;-1:-1:-1;;;;;13327:24:0;;;;;;:18;:24;;;;;;:51;;13356:21;13327:28;:51::i;:::-;-1:-1:-1;;;;;13300:24:0;;;;;;:18;:24;;;;;;:78;;;;13426:43;;13443:21;;13300:24;13426:43;13300:24;13426:43;13443:21;13300:24;13426:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13407:62;;;13488:7;13484:292;;;13539:4;-1:-1:-1;;;;;13521:46:0;;13545:21;13521:46;;;;548:25:1;;536:2;521:18;;402:177;13521:46:0;;;;;;;;-1:-1:-1;13593:21:0;13090:723;-1:-1:-1;;13090:723:0:o;13484:292::-;-1:-1:-1;;;;;13682:24:0;;;;;;:18;:24;;;;;;:51;;13711:21;13682:28;:51::i;:::-;-1:-1:-1;;;;;13655:24:0;;;;;;;:18;:24;;;;;:78;;;;-1:-1:-1;13655:24:0;;13090:723;-1:-1:-1;;13090:723:0:o;13254:533::-;-1:-1:-1;13804:1:0;;13090:723;-1:-1:-1;;13090:723:0:o;2026:158::-;2084:7;2117:1;2112;:6;;2104:49;;;;-1:-1:-1;;;2104:49:0;;13910:2:1;2104:49:0;;;13892:21:1;13949:2;13929:18;;;13922:30;13988:32;13968:18;;;13961:60;14038:18;;2104:49:0;13708:354:1;2104:49:0;2171:5;2175:1;2171;:5;:::i;10829:1785::-;5166:6;:13;;-1:-1:-1;;5166:13:0;5175:4;5166:13;;;10996:16:::1;::::0;;11010:1:::1;10996:16:::0;;;;;::::1;::::0;;10930:21:::1;::::0;-1:-1:-1;;10996:16:0;11010:1;10996:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10996:16:0::1;10972:40;;11041:4;11023;11028:1;11023:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11023:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11067:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;11067:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;11023:7;;11067:13;;;;;:6;:13:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11057:4;11062:1;11057:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11057:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;11133:6:::1;::::0;11101:53:::1;::::0;11118:4:::1;::::0;11133:6:::1;11142:11:::0;11101:8:::1;:53::i;:::-;11179:6;::::0;:187:::1;::::0;-1:-1:-1;;;11179:187:0;;-1:-1:-1;;;;;11179:6:0;;::::1;::::0;:57:::1;::::0;:187:::1;::::0;11251:11;;11179:6:::1;::::0;11293:4;;11320::::1;::::0;11340:15:::1;::::0;11179:187:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11175:1432:::0;::::1;;11382:19;11404:38;11428:14:::0;11404:21:::1;:38;:::i;:::-;11382:60:::0;-1:-1:-1;11475:15:0;;11471:1116:::1;;11511:19;11549:16;4576:8;11663:10;;:29;;;;:::i;:::-;11645:15;:47;11641:321;;;11768:6;::::0;11746:18:::1;::::0;11732:32:::1;::::0;:11;:32:::1;:::i;:::-;11731:43;;;;:::i;:::-;11717:57:::0;-1:-1:-1;11808:25:0::1;11717:57:::0;11808:11;:25:::1;:::i;:::-;11797:36;;11641:321;;;-1:-1:-1::0;11896:11:0;;-1:-1:-1;11941:1:0::1;11641:321;12049:12:::0;;12045:253:::1;;12113:9;::::0;12105:44:::1;::::0;12087:12:::1;::::0;-1:-1:-1;;;;;12113:9:0::1;::::0;12136:8;;12087:12;12105:44;12087:12;12105:44;12136:8;12113:9;12105:44:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12086:63;;;12176:7;12172:107;;;12235:9;::::0;12217:38:::1;::::0;548:25:1;;;-1:-1:-1;;;;;12235:9:0;;::::1;::::0;12217:38:::1;::::0;536:2:1;521:18;12217:38:0::1;;;;;;;12172:107;12063:235;12045:253;12397:15:::0;;12393:97:::1;;12437:33;12458:11;12437:20;:33::i;:::-;12531:40;::::0;;15725:25:1;;;15781:2;15766:18;;15759:34;;;12531:40:0::1;::::0;15698:18:1;12531:40:0::1;;;;;;;11492:1095;;11471:1116;11367:1231;11175:1432;-1:-1:-1::0;;5202:6:0;:14;;-1:-1:-1;;5202:14:0;;;-1:-1:-1;10829:1785:0:o;10224:593::-;-1:-1:-1;;;;;10325:28:0;;;;;;:22;:28;;;;;;;;10320:243;;10370:21;10394:51;:36;10424:5;10394:25;;:29;;:36;;;;:::i;:51::-;-1:-1:-1;;;;;10497:34:0;;;;;;:28;:34;;;;;;10370:75;;-1:-1:-1;10497:54:0;;10370:75;10497:38;:54::i;:::-;-1:-1:-1;;;;;10460:34:0;;;;;;:28;:34;;;;;:91;-1:-1:-1;10320:243:0;-1:-1:-1;;;;;10578:26:0;;;;;;:22;:26;;;;;;;;10573:237;;10621:21;10645:51;:36;10675:5;10645:25;;:29;;:36;;;;:::i;:51::-;-1:-1:-1;;;;;10746:32:0;;;;;;:28;:32;;;;;;10621:75;;-1:-1:-1;10746:52:0;;10621:75;10746:36;:52::i;:::-;-1:-1:-1;;;;;10711:32:0;;;;;;:28;:32;;;;;:87;-1:-1:-1;10573:237:0;10224:593;;;:::o;1841:179::-;1899:7;;1931:5;1935:1;1931;:5;:::i;:::-;1919:17;;1960:1;1955;:6;;1947:46;;;;-1:-1:-1;;;1947:46:0;;16006:2:1;1947:46:0;;;15988:21:1;16045:2;16025:18;;;16018:30;16084:29;16064:18;;;16057:57;16131:18;;1947:46:0;15804:351:1;12626:452:0;12691:22;12716:19;:17;:19::i;:::-;12691:44;;12771:1;12754:14;:18;12746:49;;;;-1:-1:-1;;;12746:49:0;;16362:2:1;12746:49:0;;;16344:21:1;16401:2;16381:18;;;16374:30;-1:-1:-1;;;16420:18:1;;;16413:48;16478:18;;12746:49:0;16160:342:1;12746:49:0;12844:98;12888:43;12916:14;12888:23;12889:6;-1:-1:-1;;;12888:12:0;:23::i;:::-;:27;;:43::i;:::-;12844:25;;;:29;:98::i;:::-;12816:25;:126;12991:25;;:37;;13021:6;12991:29;:37::i;:::-;12963:25;:65;13044:26;;548:25:1;;;13044:26:0;;536:2:1;521:18;13044:26:0;;;;;;;12680:398;12626:452;:::o;2825:213::-;2881:6;;2911:5;2915:1;2911;:5;:::i;:::-;2900:16;;2941:1;2936;:6;;:16;;;;;2951:1;2946;:6;;2936:16;2935:38;;;;2962:1;2958;:5;:14;;;;;2971:1;2967;:5;2958:14;2927:84;;;;-1:-1:-1;;;2927:84:0;;16914:2:1;2927:84:0;;;16896:21:1;16953:2;16933:18;;;16926:30;16992:34;16972:18;;;16965:62;-1:-1:-1;;;17043:18:1;;;17036:31;17084:19;;2927:84:0;16712:397:1;2416:153:0;2474:7;2506:1;2502;:5;2494:44;;;;-1:-1:-1;;;2494:44:0;;17316:2:1;2494:44:0;;;17298:21:1;17355:2;17335:18;;;17328:30;17394:28;17374:18;;;17367:56;17440:18;;2494:44:0;17114:350:1;2494:44:0;2556:5;2560:1;2556;:5;:::i;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;150:247;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;584:418::-;733:2;722:9;715:21;696:4;765:6;759:13;808:6;803:2;792:9;788:18;781:34;867:6;862:2;854:6;850:15;845:2;834:9;830:18;824:50;923:1;918:2;909:6;898:9;894:22;890:31;883:42;993:2;986;982:7;977:2;969:6;965:15;961:29;950:9;946:45;942:54;934:62;;;584:418;;;;:::o;1007:367::-;1075:6;1083;1136:2;1124:9;1115:7;1111:23;1107:32;1104:52;;;1152:1;1149;1142:12;1104:52;1191:9;1178:23;1210:31;1235:5;1210:31;:::i;:::-;1260:5;1338:2;1323:18;;;;1310:32;;-1:-1:-1;;;1007:367:1:o;1571:226::-;1630:6;1683:2;1671:9;1662:7;1658:23;1654:32;1651:52;;;1699:1;1696;1689:12;1651:52;-1:-1:-1;1744:23:1;;1571:226;-1:-1:-1;1571:226:1:o;1802:508::-;1879:6;1887;1895;1948:2;1936:9;1927:7;1923:23;1919:32;1916:52;;;1964:1;1961;1954:12;1916:52;2003:9;1990:23;2022:31;2047:5;2022:31;:::i;:::-;2072:5;-1:-1:-1;2129:2:1;2114:18;;2101:32;2142:33;2101:32;2142:33;:::i;:::-;1802:508;;2194:7;;-1:-1:-1;;;2274:2:1;2259:18;;;;2246:32;;1802:508::o;2523:118::-;2609:5;2602:13;2595:21;2588:5;2585:32;2575:60;;2631:1;2628;2621:12;2646:382;2711:6;2719;2772:2;2760:9;2751:7;2747:23;2743:32;2740:52;;;2788:1;2785;2778:12;2740:52;2827:9;2814:23;2846:31;2871:5;2846:31;:::i;:::-;2896:5;-1:-1:-1;2953:2:1;2938:18;;2925:32;2966:30;2925:32;2966:30;:::i;:::-;3015:7;3005:17;;;2646:382;;;;;:::o;3222:388::-;3290:6;3298;3351:2;3339:9;3330:7;3326:23;3322:32;3319:52;;;3367:1;3364;3357:12;3319:52;3406:9;3393:23;3425:31;3450:5;3425:31;:::i;:::-;3475:5;-1:-1:-1;3532:2:1;3517:18;;3504:32;3545:33;3504:32;3545:33;:::i;3847:332::-;4049:2;4031:21;;;4088:1;4068:18;;;4061:29;-1:-1:-1;;;4121:2:1;4106:18;;4099:39;4170:2;4155:18;;3847:332::o;4536:230::-;4606:6;4659:2;4647:9;4638:7;4634:23;4630:32;4627:52;;;4675:1;4672;4665:12;4627:52;-1:-1:-1;4720:16:1;;4536:230;-1:-1:-1;4536:230:1:o;5050:245::-;5117:6;5170:2;5158:9;5149:7;5145:23;5141:32;5138:52;;;5186:1;5183;5176:12;5138:52;5218:9;5212:16;5237:28;5259:5;5237:28;:::i;5300:380::-;5379:1;5375:12;;;;5422;;;5443:61;;5497:4;5489:6;5485:17;5475:27;;5443:61;5550:2;5542:6;5539:14;5519:18;5516:38;5513:161;;5596:10;5591:3;5587:20;5584:1;5577:31;5631:4;5628:1;5621:15;5659:4;5656:1;5649:15;5513:161;;5300:380;;;:::o;5685:127::-;5746:10;5741:3;5737:20;5734:1;5727:31;5777:4;5774:1;5767:15;5801:4;5798:1;5791:15;5817:168;5890:9;;;5921;;5938:15;;;5932:22;;5918:37;5908:71;;5959:18;;:::i;5990:217::-;6030:1;6056;6046:132;;6100:10;6095:3;6091:20;6088:1;6081:31;6135:4;6132:1;6125:15;6163:4;6160:1;6153:15;6046:132;-1:-1:-1;6192:9:1;;5990:217::o;7260:128::-;7327:9;;;7348:11;;;7345:37;;;7362:18;;:::i;7393:125::-;7458:9;;;7479:10;;;7476:36;;;7492:18;;:::i;9585:456::-;9673:6;9681;9689;9742:2;9730:9;9721:7;9717:23;9713:32;9710:52;;;9758:1;9755;9748:12;9710:52;-1:-1:-1;;9803:16:1;;9909:2;9894:18;;9888:25;10005:2;9990:18;;;9984:25;9803:16;;9888:25;;-1:-1:-1;9984:25:1;9585:456;-1:-1:-1;9585:456:1:o;12918:216::-;12982:9;;;13010:11;;;12957:3;13040:9;;13068:10;;13064:19;;13093:10;;13085:19;;13061:44;13058:70;;;13108:18;;:::i;:::-;13058:70;;12918:216;;;;:::o;14199:127::-;14260:10;14255:3;14251:20;14248:1;14241:31;14291:4;14288:1;14281:15;14315:4;14312:1;14305:15;14331:251;14401:6;14454:2;14442:9;14433:7;14429:23;14425:32;14422:52;;;14470:1;14467;14460:12;14422:52;14502:9;14496:16;14521:31;14546:5;14521:31;:::i;14587:959::-;14849:4;14897:3;14886:9;14882:19;14928:6;14917:9;14910:25;14971:6;14966:2;14955:9;14951:18;14944:34;15014:3;15009:2;14998:9;14994:18;14987:31;15038:6;15073;15067:13;15104:6;15096;15089:22;15142:3;15131:9;15127:19;15120:26;;15181:2;15173:6;15169:15;15155:29;;15202:1;15212:195;15226:6;15223:1;15220:13;15212:195;;;15291:13;;-1:-1:-1;;;;;15287:39:1;15275:52;;15356:2;15382:15;;;;15347:12;;;;15323:1;15241:9;15212:195;;;-1:-1:-1;;;;;;;15463:32:1;;;;15458:2;15443:18;;15436:60;-1:-1:-1;;15527:3:1;15512:19;15505:35;15424:3;14587:959;-1:-1:-1;;;14587:959:1:o;16507:200::-;16573:9;;;16546:4;16601:9;;16629:10;;16641:12;;;16625:29;16664:12;;;16656:21;;16622:56;16619:82;;;16681:18;;:::i;:::-;16619:82;16507:200;;;;:::o

Swarm Source

ipfs://75703e888235dfcc4024d01c67f99570e1077f8fc25d4cce2ba239107594e380

Block Transaction Gas Used Reward
view all blocks produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.