ETH Price: $3,506.69 (+2.51%)
Gas: 2 Gwei

Contract

0xbe5131095161c367A3049f32AF9288F232DD5e33
 

Overview

ETH Balance

0.022225027647589036 ETH

Eth Value

$77.94 (@ $3,506.69/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer198216712024-05-08 0:09:3573 days ago1715126975IN
0xbe513109...232DD5e33
0 ETH0.000437656.0592547
Approve186912562023-12-01 11:26:11231 days ago1701429971IN
0xbe513109...232DD5e33
0 ETH0.001362729.46697543
Approve186646282023-11-27 18:00:35235 days ago1701108035IN
0xbe513109...232DD5e33
0 ETH0.0014964732.12625342
Approve186618652023-11-27 8:43:35235 days ago1701074615IN
0xbe513109...232DD5e33
0 ETH0.0015837534
Approve186584382023-11-26 21:11:35236 days ago1701033095IN
0xbe513109...232DD5e33
0 ETH0.0013924429.93160956
Approve186273942023-11-22 12:52:35240 days ago1700657555IN
0xbe513109...232DD5e33
0 ETH0.0016527235.48066186
Approve186037932023-11-19 5:32:47243 days ago1700371967IN
0xbe513109...232DD5e33
0 ETH0.0010713623
Transfer185680452023-11-14 5:26:59248 days ago1699939619IN
0xbe513109...232DD5e33
0 ETH0.0012331322.40432117
Approve185648582023-11-13 18:46:47249 days ago1699901207IN
0xbe513109...232DD5e33
0 ETH0.0017868238.40893225
Approve185415972023-11-10 12:38:47252 days ago1699619927IN
0xbe513109...232DD5e33
0 ETH0.0016279334.9935854
Approve185397492023-11-10 6:26:47252 days ago1699597607IN
0xbe513109...232DD5e33
0 ETH0.0015376533.2760633
Approve185263362023-11-08 9:26:35254 days ago1699435595IN
0xbe513109...232DD5e33
0 ETH0.0006270923.50350427
Approve185131822023-11-06 13:16:59256 days ago1699276619IN
0xbe513109...232DD5e33
0 ETH0.0019427541.76083126
Approve185019852023-11-04 23:37:11258 days ago1699141031IN
0xbe513109...232DD5e33
0 ETH0.0005533518.97060245
Approve184938342023-11-03 20:11:59259 days ago1699042319IN
0xbe513109...232DD5e33
0 ETH0.0013042628
Approve184902972023-11-03 8:19:23259 days ago1698999563IN
0xbe513109...232DD5e33
0 ETH0.0011143424.11525595
Approve184879062023-11-03 0:16:23260 days ago1698970583IN
0xbe513109...232DD5e33
0 ETH0.0004877720.12539852
Approve184817742023-11-02 3:37:11261 days ago1698896231IN
0xbe513109...232DD5e33
0 ETH0.0005901822.16995707
Approve184817732023-11-02 3:36:59261 days ago1698896219IN
0xbe513109...232DD5e33
0 ETH0.0010444522.45131666
Approve184782632023-11-01 15:51:11261 days ago1698853871IN
0xbe513109...232DD5e33
0 ETH0.0014231630.55253281
Transfer184757072023-11-01 7:16:23261 days ago1698822983IN
0xbe513109...232DD5e33
0 ETH0.0004439311.8271028
Transfer184757052023-11-01 7:15:59261 days ago1698822959IN
0xbe513109...232DD5e33
0 ETH0.000419211.16835213
Transfer184757032023-11-01 7:15:35261 days ago1698822935IN
0xbe513109...232DD5e33
0 ETH0.0006265611.47077527
Approve184599372023-10-30 2:15:35264 days ago1698632135IN
0xbe513109...232DD5e33
0 ETH0.0007185615.42620063
Approve184476772023-10-28 9:02:47265 days ago1698483767IN
0xbe513109...232DD5e33
0 ETH0.0007262815.59195442
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
185648612023-11-13 18:47:23249 days ago1699901243
0xbe513109...232DD5e33
0.01111251 ETH
185648612023-11-13 18:47:23249 days ago1699901243
0xbe513109...232DD5e33
0.00807157 ETH
184581432023-10-29 20:12:59264 days ago1698610379
0xbe513109...232DD5e33
0.01263298 ETH
184581432023-10-29 20:12:59264 days ago1698610379
0xbe513109...232DD5e33
0.01448105 ETH
184549502023-10-29 9:28:35264 days ago1698571715
0xbe513109...232DD5e33
0.02341788 ETH
184473282023-10-28 7:52:11265 days ago1698479531
0xbe513109...232DD5e33
0.02341788 ETH
184473282023-10-28 7:52:11265 days ago1698479531
0xbe513109...232DD5e33
0.02260791 ETH
184414102023-10-27 12:01:11266 days ago1698408071
0xbe513109...232DD5e33
0.04764574 ETH
184388922023-10-27 3:34:35267 days ago1698377675
0xbe513109...232DD5e33
0.04764574 ETH
184388922023-10-27 3:34:35267 days ago1698377675
0xbe513109...232DD5e33
0.05275324 ETH
184365392023-10-26 19:41:23267 days ago1698349283
0xbe513109...232DD5e33
0.04509199 ETH
184365392023-10-26 19:41:23267 days ago1698349283
0xbe513109...232DD5e33
0.06781815 ETH
184343972023-10-26 12:28:59267 days ago1698323339
0xbe513109...232DD5e33
0.03372891 ETH
184343972023-10-26 12:28:59267 days ago1698323339
0xbe513109...232DD5e33
0.05666998 ETH
184339452023-10-26 10:57:59267 days ago1698317879
0xbe513109...232DD5e33
0.02225838 ETH
184339452023-10-26 10:57:59267 days ago1698317879
0xbe513109...232DD5e33
0.02690428 ETH
184330992023-10-26 8:07:23267 days ago1698307643
0xbe513109...232DD5e33
0.01993543 ETH
184330992023-10-26 8:07:23267 days ago1698307643
0xbe513109...232DD5e33
0.03694077 ETH
184329672023-10-26 7:40:59267 days ago1698306059
0xbe513109...232DD5e33
0.01143275 ETH
184329672023-10-26 7:40:59267 days ago1698306059
0xbe513109...232DD5e33
0.02704826 ETH
184327182023-10-26 6:50:59267 days ago1698303059
0xbe513109...232DD5e33
0.00725001 ETH
184212412023-10-24 16:14:59269 days ago1698164099
0xbe513109...232DD5e33
0.01450002 ETH
184118582023-10-23 8:43:35270 days ago1698050615
0xbe513109...232DD5e33
0.01450002 ETH
184118582023-10-23 8:43:35270 days ago1698050615
0xbe513109...232DD5e33
0.01925176 ETH
184076132023-10-22 18:27:23271 days ago1697999243
0xbe513109...232DD5e33
0.01212415 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FullRetardINU

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-17
*/

// SPDX-License-Identifier: MIT

/**

Let´s go Full Retard

Twitter: https://twitter.com/FullR_t__dInu
Telegram: https://t.me/FullRetardPortal
Website: https://fullretardinu.com/
Author: TonyBoy

**/

pragma solidity 0.8.16;

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

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
    );
}

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;
    }
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

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

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

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

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

    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);
}

    // Main Contract Features

contract FullRetardINU is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private bots;

    mapping(address => uint256) private _holderLastTransferTimestamp;
    mapping(address => uint256) private _holderTickets;

    mapping(address => bool) private _isExcludedFromLottery;
    modifier notExcludedFromLottery(address account) {
    require(!_isExcludedFromLottery[account], "Address excluded from lottery");
    _;
    }

    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    // Lottery Adjustment

    uint256 private _lotteryPool = 0;
    uint256 private _lastLotteryTime;
    uint256 private constant _lotteryDuration = 24 hours;
    uint256 private _ticketPrice = 100;
    address[] private _holders;
    address private _lastWinner;

    // Tax Adjustments and Variables

    uint256 private _initialBuyTax = 3;
    uint256 private _initialSellTax = 3;
    uint256 private _finalBuyTax = 3;
    uint256 private _finalSellTax = 3;
    uint256 private _reduceBuyTaxAt = 3;
    uint256 private _reduceSellTaxAt = 3;
    uint256 private _buyCount = 0;

    // Rate for the tax split between lottery and tax in %
    uint256 private _deployerTaxRate = 33; 

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000 * 10 ** _decimals;
    string private constant _name = "FullRetardINU";
    string private constant _symbol = "RUPEE";
    uint256 public _maxTxAmount = 1000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 1000000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 2000 * 10 ** _decimals;
    uint256 public _swapThreshold = 2000 * 10 ** _decimals;
    uint256 private _lastSwapTime;


    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(_msgSender(), 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(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

function _transfer(address from, address to, uint256 amount) private {
    require(from != address(0), "ERC20: transfer from the zero address");
    require(to != address(0), "ERC20: transfer to the zero address");
    require(amount > 0, "Transfer amount must be greater than zero");

    uint256 taxAmount = 0;
    uint256 liquidityAmount;

    if (from != owner() && to != owner()) {
        taxAmount = amount
            .mul(
                (_buyCount > _reduceBuyTaxAt)
                    ? _finalBuyTax
                    : _initialBuyTax
            )
            .div(100);

        
        liquidityAmount = taxAmount.mul(2).div(100);
        _balances[address(this)] = _balances[address(this)].add(liquidityAmount);
        
        if (transferDelayEnabled) {
            if (
                to != address(uniswapV2Router) &&
                to != address(uniswapV2Pair)
            ) {
                require(
                    _holderLastTransferTimestamp[tx.origin] < block.timestamp,
                    "_transfer:: Transfer Delay enabled. Only one purchase per block allowed."
                );
                _holderLastTransferTimestamp[tx.origin] = block.timestamp;
            }
        }

        if (
            from == uniswapV2Pair &&
            to != address(uniswapV2Router) &&
            !_isExcludedFromFee[to]
        ) {
            require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
            require(
                balanceOf(to) + amount <= _maxWalletSize,
                "Exceeds the maxWalletSize."
            );
            _buyCount++;

            // Lottery Entry
            _addToLottery(to, amount);

            // Check for a Draw Lottery
            if (block.timestamp.sub(_lastLotteryTime) > _lotteryDuration) {
                _drawWinner();
                _resetTickets();
                _lastLotteryTime = block.timestamp;
            }
        }

        if (to == uniswapV2Pair && from != address(this)) {
            taxAmount = amount
                .mul(
                    (_buyCount > _reduceSellTaxAt)
                        ? _finalSellTax
                        : _initialSellTax
                )
                .div(100);

            
            liquidityAmount = taxAmount.div(2);
            taxAmount = taxAmount.sub(liquidityAmount);
        }

uint256 contractTokenBalance = balanceOf(address(this));
uint256 tokensToSwap = contractTokenBalance > _maxTaxSwap ? _maxTaxSwap : contractTokenBalance;

if (
    !inSwap && 
    to == uniswapV2Pair &&
    swapEnabled &&
    contractTokenBalance >= _swapThreshold &&
    block.timestamp - _lastSwapTime > 10 // Time Interval for Swaps | Prevent the loop
) {
    inSwap = true;
    _lastSwapTime = block.timestamp;

    // Swap tokens for BNB/ETH
    swapTokensForEth(tokensToSwap);
    
    uint256 newBalance = address(this).balance;

    uint256 deployerShare = newBalance.div(3);  // 1/3 to the taxwallet
    _taxWallet.transfer(deployerShare);  // Send BNB/ETH to taxwallet

    uint256 lotteryShare = newBalance.sub(deployerShare); // Tax portion
    _lotteryPool = _lotteryPool.add(lotteryShare); // Lottery pools increase

    inSwap = false; // Stop the Swap and prevent the loop
}
    }

    if (taxAmount > 0) {
        _balances[address(this)] = _balances[address(this)].add(taxAmount);
        emit Transfer(from, address(this), taxAmount);
    }

    _balances[from] = _balances[from].sub(amount);
    _balances[to] = _balances[to].add(amount.sub(taxAmount));
    emit Transfer(from, to, amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function _addToLottery(address buyer, uint256 amount) private notExcludedFromLottery(buyer) {
    uint256 tickets = amount.div(_ticketPrice);
    if (_holderTickets[buyer] == 0 && tickets > 0) {
        _holders.push(buyer); 
    }
    _holderTickets[buyer] = _holderTickets[buyer].add(tickets);
    }

    function _drawWinner() private returns (address) {
    uint256 totalTickets = 0;
    
    for (uint256 i = 0; i < _holders.length; i++) {
        totalTickets = totalTickets.add(_holderTickets[_holders[i]]);
    }

    require(totalTickets > 0, "No tickets to draw a winner from.");

    // Winner is selected randomly from the ticket holders who bought the tokens this round
    uint256 randomTicket = _pseudoRandom() % totalTickets + 1;
    uint256 checkedTickets = 0;

    for (uint256 i = 0; i < _holders.length; i++) {
    checkedTickets = checkedTickets.add(_holderTickets[_holders[i]]);
    if (randomTicket <= checkedTickets) {
        
        // Winner is found here and distributes the pool balance to the winner
        uint256 halfPool = address(this).balance.div(2);
        if (halfPool > 0 && halfPool <= address(this).balance) {
            payable(_holders[i]).transfer(halfPool);
            _lotteryPool = _lotteryPool.sub(halfPool);
        }

        // Store the last winner's address
        _lastWinner = _holders[i];

        return _holders[i];
    }
}

    return address(0); 
    }


    function _pseudoRandom() private view returns (uint256) {
    return uint256(keccak256(abi.encodePacked(block.difficulty, block.timestamp, _holders)));
    }

    function _resetTickets() private {
    // Reset the ticket count for all holders.
    for (uint256 i = 0; i < _holders.length; i++) {
        _holderTickets[_holders[i]] = 0;
    }
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    // Automatic Liquidity addition from the taxes
    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
    // Approve the router to spend the tokens
    _approve(address(this), address(uniswapV2Router), tokenAmount);

    // Add the liquidity
    uniswapV2Router.addLiquidityETH{value: ethAmount}(
        address(this),
        tokenAmount,
        0,  // set min amount to 0 to ensure all tokens are added
        0,  // set min amount to 0 to ensure all ETH is added
        owner(),
        block.timestamp
    );
    }

    function getTicketsOf(address holder) public view returns (uint256) {
    return _holderTickets[holder];
    }

    function getTotalTicketsForCurrentRound() public view returns (uint256) {
    uint256 totalTickets = 0;
    for (uint256 i = 0; i < _holders.length; i++) {
        totalTickets = totalTickets.add(_holderTickets[_holders[i]]);
    }
    return totalTickets;
    }

    function getCurrentLotteryPool() public view returns (uint256) {
    return _lotteryPool;
    }

    function getReadableLotteryPool() public view returns (uint256, uint256) {
    uint256 baseValue = _lotteryPool.div(1e18);
    uint256 fractionalValue = _lotteryPool % 1e18; 
    return (baseValue, fractionalValue);
    }

    function getLastWinner() public view returns (address) {
    return _lastWinner;
    }

    function excludeFromLottery(address account) external onlyOwner {
    _isExcludedFromLottery[account] = true;
    }

    function includeInLottery(address account) external onlyOwner {
    _isExcludedFromLottery[account] = false;
    }

    function isExcludedFromLottery(address account) external view returns (bool) {
    return _isExcludedFromLottery[account];
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        transferDelayEnabled = false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    // Called only once and never again
    // Uniswap Router: 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
    // Pancakeswap Router: 0x10ED43C718714eb63d5aA57B78B54704E256024E
    // Pancakeswap Testnet Router: 0xD99D1c33F9fC3444f8101754aBC46c52416550D1

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _taxWallet);
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }

}

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":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromLottery","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCurrentLotteryPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastWinner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReadableLotteryPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"getTicketsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalTicketsForCurrentRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInLottery","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromLottery","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60806040526008805460ff19169055600060098181556064600b556003600e819055600f81905560108190556011819055601281905560135560149190915560216015556200005090600a62000355565b6200005f90620f42406200036d565b601655620000706009600a62000355565b6200007f90620f42406200036d565b601755620000906009600a62000355565b6200009e906107d06200036d565b601855620000af6009600a62000355565b620000bd906107d06200036d565b601955601c805461ffff60a81b19169055348015620000db57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060088054610100600160a81b0319166101003302179055620001426009600a62000355565b6200015190620f42406200036d565b3360009081526001602081905260408220929092556003906200017c6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556008546101009004909116835291208054909216179055620001e03390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200021a6009600a62000355565b6200022990620f42406200036d565b60405190815260200160405180910390a36200038f565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002975781600019048211156200027b576200027b62000240565b808516156200028957918102915b93841c93908002906200025b565b509250929050565b600082620002b0575060016200034f565b81620002bf575060006200034f565b8160018114620002d85760028114620002e35762000303565b60019150506200034f565b60ff841115620002f757620002f762000240565b50506001821b6200034f565b5060208310610133831016604e8410600b841016171562000328575081810a6200034f565b62000334838362000256565b80600019048211156200034b576200034b62000240565b0290505b92915050565b60006200036660ff8416836200029f565b9392505050565b60008160001904831182151516156200038a576200038a62000240565b500290565b6120f2806200039f6000396000f3fe6080604052600436106101a05760003560e01c8063715018a6116100ec578063a9059cbb1161008a578063c9567bf911610064578063c9567bf9146104cf578063d189ee06146104e4578063dd62ed3e14610504578063f88649a11461054a57600080fd5b8063a9059cbb14610480578063acc9b381146104a0578063c876d0b9146104b557600080fd5b80638da5cb5b116100c65780638da5cb5b146103d15780638f9a55c01461040357806395d89b41146104195780639bf97c301461044757600080fd5b8063715018a614610391578063751039fc146103a65780637d1db4a5146103bb57600080fd5b806323b872dd1161015957806351bc3c851161013357806351bc3c85146102e657806360b96bea146102fb578063645c234c1461033157806370a082311461035b57600080fd5b806323b872dd14610295578063313ce567146102b55780634b588feb146102d157600080fd5b806306fdde03146101ac578063095ea7b3146101f45780630e5a9231146102245780630faee56f146102485780631000034c1461025e57806318160ddd1461028057600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b5060408051808201909152600d81526c46756c6c526574617264494e5560981b60208201525b6040516101eb9190611c50565b60405180910390f35b34801561020057600080fd5b5061021461020f366004611cb3565b610568565b60405190151581526020016101eb565b34801561023057600080fd5b5061023a60195481565b6040519081526020016101eb565b34801561025457600080fd5b5061023a60185481565b34801561026a57600080fd5b5061027e610279366004611cdf565b61057f565b005b34801561028c57600080fd5b5061023a6105d6565b3480156102a157600080fd5b506102146102b0366004611cfc565b6105f6565b3480156102c157600080fd5b50604051600981526020016101eb565b3480156102dd57600080fd5b5061023a61065f565b3480156102f257600080fd5b5061027e6106ce565b34801561030757600080fd5b5061023a610316366004611cdf565b6001600160a01b031660009081526006602052604090205490565b34801561033d57600080fd5b50610346610726565b604080519283526020830191909152016101eb565b34801561036757600080fd5b5061023a610376366004611cdf565b6001600160a01b031660009081526001602052604090205490565b34801561039d57600080fd5b5061027e61076d565b3480156103b257600080fd5b5061027e6107e1565b3480156103c757600080fd5b5061023a60165481565b3480156103dd57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101eb565b34801561040f57600080fd5b5061023a60175481565b34801561042557600080fd5b50604080518082019091526005815264525550454560d81b60208201526101de565b34801561045357600080fd5b50610214610462366004611cdf565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561048c57600080fd5b5061021461049b366004611cb3565b61089a565b3480156104ac57600080fd5b5060095461023a565b3480156104c157600080fd5b506008546102149060ff1681565b3480156104db57600080fd5b5061027e6108a7565b3480156104f057600080fd5b5061027e6104ff366004611cdf565b610c62565b34801561051057600080fd5b5061023a61051f366004611d3d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561055657600080fd5b50600d546001600160a01b03166103eb565b6000610575338484610cad565b5060015b92915050565b6000546001600160a01b031633146105b25760405162461bcd60e51b81526004016105a990611d76565b60405180910390fd5b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b60006105e46009600a611ea5565b6105f190620f4240611eb4565b905090565b6000610603848484610dd1565b610655843361065085604051806060016040528060288152602001612095602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906114eb565b610cad565b5060019392505050565b600080805b600c548110156106c8576106b460066000600c848154811061068857610688611ed3565b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611525565b9150806106c081611ee9565b915050610664565b50919050565b60085461010090046001600160a01b0316336001600160a01b0316146106f357600080fd5b306000908152600160205260409020548015610712576107128161158b565b4780156107225761072281611705565b5050565b6000806000610748670de0b6b3a764000060095461174390919063ffffffff16565b90506000670de0b6b3a76400006009546107629190611f18565b919491935090915050565b6000546001600160a01b031633146107975760405162461bcd60e51b81526004016105a990611d76565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461080b5760405162461bcd60e51b81526004016105a990611d76565b6108176009600a611ea5565b61082490620f4240611eb4565b6016556108336009600a611ea5565b61084090620f4240611eb4565b6017556008805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61087a6009600a611ea5565b61088790620f4240611eb4565b60405190815260200160405180910390a1565b6000610575338484610dd1565b6000546001600160a01b031633146108d15760405162461bcd60e51b81526004016105a990611d76565b601c54600160a01b900460ff161561092b5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105a9565b601b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109739030906109666009600a611ea5565b61065090620f4240611eb4565b601b60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ea9190611f2c565b6001600160a01b031663c9c6539630601b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a709190611f2c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae19190611f2c565b601c80546001600160a01b039283166001600160a01b0319909116179055601b541663f305d7194730610b29816001600160a01b031660009081526001602052604090205490565b600080610b3e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ba6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bcb9190611f49565b5050601c54601b5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610c24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c489190611f77565b50601c805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610c8c5760405162461bcd60e51b81526004016105a990611d76565b6001600160a01b03166000908152600760205260409020805460ff19169055565b6001600160a01b038316610d0f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a9565b6001600160a01b038216610d705760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a9565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e355760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a9565b6001600160a01b038216610e975760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a9565b60008111610ef95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105a9565b600080610f0e6000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610f3d57506000546001600160a01b03858116911614155b156113a757610f6e6064610f6860125460145411610f5d57600e54610f61565b6010545b8690611785565b90611743565b9150610f806064610f68846002611785565b30600090815260016020526040902054909150610f9d9082611525565b3060009081526001602052604090205560085460ff161561109157601b546001600160a01b03858116911614801590610fe45750601c546001600160a01b03858116911614155b156110915732600090815260056020526040902054421161107e5760405162461bcd60e51b815260206004820152604860248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060648201526730b63637bbb2b21760c11b608482015260a4016105a9565b3260009081526005602052604090204290555b601c546001600160a01b0386811691161480156110bc5750601b546001600160a01b03858116911614155b80156110e157506001600160a01b03841660009081526003602052604090205460ff16155b15611207576016548311156111385760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105a9565b6017548361115b866001600160a01b031660009081526001602052604090205490565b6111659190611f99565b11156111b35760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105a9565b601480549060006111c383611ee9565b91905055506111d28484611807565b620151806111eb600a544261194890919063ffffffff16565b1115611207576111f961198a565b50611202611b8c565b42600a555b601c546001600160a01b03858116911614801561122d57506001600160a01b0385163014155b15611273576112576064610f686013546014541161124d57600f54610f61565b6011548690611785565b9150611264826002611743565b90506112708282611948565b91505b30600090815260016020526040812054905060006018548211611296578161129a565b6018545b601c54909150600160a81b900460ff161580156112c45750601c546001600160a01b038781169116145b80156112d95750601c54600160b01b900460ff165b80156112e757506019548210155b80156113005750600a601a54426112fe9190611fac565b115b156113a457601c805460ff60a81b1916600160a81b17905542601a556113258161158b565b476000611333826003611743565b60085460405191925061010090046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015611373573d6000803e3d6000fd5b5060006113808383611948565b6009549091506113909082611525565b6009555050601c805460ff60a81b19169055505b50505b811561142157306000908152600160205260409020546113c79083611525565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114189086815260200190565b60405180910390a35b6001600160a01b0385166000908152600160205260409020546114449084611948565b6001600160a01b03861660009081526001602052604090205561148961146a8484611948565b6001600160a01b03861660009081526001602052604090205490611525565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114d38686611948565b60405190815260200160405180910390a35050505050565b6000818484111561150f5760405162461bcd60e51b81526004016105a99190611c50565b50600061151c8486611fac565b95945050505050565b6000806115328385611f99565b9050838110156115845760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105a9565b9392505050565b601c805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106115d3576115d3611ed3565b6001600160a01b03928316602091820292909201810191909152601b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561162c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116509190611f2c565b8160018151811061166357611663611ed3565b6001600160a01b039283166020918202929092010152601b546116899130911684610cad565b601b5460405163791ac94760e01b81526001600160a01b039091169063791ac947906116c2908590600090869030904290600401611fbf565b600060405180830381600087803b1580156116dc57600080fd5b505af11580156116f0573d6000803e3d6000fd5b5050601c805460ff60a81b1916905550505050565b6008546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610722573d6000803e3d6000fd5b600061158483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bec565b60008260000361179757506000610579565b60006117a38385611eb4565b9050826117b08583612030565b146115845760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105a9565b6001600160a01b038216600090815260076020526040902054829060ff16156118725760405162461bcd60e51b815260206004820152601d60248201527f41646472657373206578636c756465642066726f6d206c6f747465727900000060448201526064016105a9565b6000611889600b548461174390919063ffffffff16565b6001600160a01b0385166000908152600660205260409020549091501580156118b25750600081115b1561190357600c80546001810182556000919091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b0319166001600160a01b0386161790555b6001600160a01b0384166000908152600660205260409020546119269082611525565b6001600160a01b03909416600090815260066020526040902093909355505050565b600061158483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114eb565b600080805b600c548110156119c7576119b360066000600c848154811061068857610688611ed3565b9150806119bf81611ee9565b91505061198f565b5060008111611a225760405162461bcd60e51b815260206004820152602160248201527f4e6f207469636b65747320746f206472617720612077696e6e65722066726f6d6044820152601760f91b60648201526084016105a9565b600081611a2d611c1a565b611a379190611f18565b611a42906001611f99565b90506000805b600c54811015611b8157611a6c60066000600c848154811061068857610688611ed3565b9150818311611b6f576000611a82476002611743565b9050600081118015611a945750478111155b15611afe57600c8281548110611aac57611aac611ed3565b60009182526020822001546040516001600160a01b039091169183156108fc02918491818181858888f19350505050158015611aec573d6000803e3d6000fd5b50600954611afa9082611948565b6009555b600c8281548110611b1157611b11611ed3565b600091825260209091200154600d80546001600160a01b0319166001600160a01b03909216919091179055600c805483908110611b5057611b50611ed3565b6000918252602090912001546001600160a01b03169695505050505050565b80611b7981611ee9565b915050611a48565b506000935050505090565b60005b600c54811015611be957600060066000600c8481548110611bb257611bb2611ed3565b60009182526020808320909101546001600160a01b0316835282019290925260400190205580611be181611ee9565b915050611b8f565b50565b60008183611c0d5760405162461bcd60e51b81526004016105a99190611c50565b50600061151c8486612030565b60004442600c604051602001611c3293929190612044565b6040516020818303038152906040528051906020012060001c905090565b600060208083528351808285015260005b81811015611c7d57858101830151858201604001528201611c61565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611be957600080fd5b60008060408385031215611cc657600080fd5b8235611cd181611c9e565b946020939093013593505050565b600060208284031215611cf157600080fd5b813561158481611c9e565b600080600060608486031215611d1157600080fd5b8335611d1c81611c9e565b92506020840135611d2c81611c9e565b929592945050506040919091013590565b60008060408385031215611d5057600080fd5b8235611d5b81611c9e565b91506020830135611d6b81611c9e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611dfc578160001904821115611de257611de2611dab565b80851615611def57918102915b93841c9390800290611dc6565b509250929050565b600082611e1357506001610579565b81611e2057506000610579565b8160018114611e365760028114611e4057611e5c565b6001915050610579565b60ff841115611e5157611e51611dab565b50506001821b610579565b5060208310610133831016604e8410600b8410161715611e7f575081810a610579565b611e898383611dc1565b8060001904821115611e9d57611e9d611dab565b029392505050565b600061158460ff841683611e04565b6000816000190483118215151615611ece57611ece611dab565b500290565b634e487b7160e01b600052603260045260246000fd5b600060018201611efb57611efb611dab565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082611f2757611f27611f02565b500690565b600060208284031215611f3e57600080fd5b815161158481611c9e565b600080600060608486031215611f5e57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611f8957600080fd5b8151801515811461158457600080fd5b8082018082111561057957610579611dab565b8181038181111561057957610579611dab565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561200f5784516001600160a01b031683529383019391830191600101611fea565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261203f5761203f611f02565b500490565b838152600060208481840152604083018454856000528260002060005b828110156120865781546001600160a01b031684529284019260019182019101612061565b50919897505050505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f61568778221071264040d1304b362b971d5311487068355abc13c1c8227662864736f6c63430008100033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c8063715018a6116100ec578063a9059cbb1161008a578063c9567bf911610064578063c9567bf9146104cf578063d189ee06146104e4578063dd62ed3e14610504578063f88649a11461054a57600080fd5b8063a9059cbb14610480578063acc9b381146104a0578063c876d0b9146104b557600080fd5b80638da5cb5b116100c65780638da5cb5b146103d15780638f9a55c01461040357806395d89b41146104195780639bf97c301461044757600080fd5b8063715018a614610391578063751039fc146103a65780637d1db4a5146103bb57600080fd5b806323b872dd1161015957806351bc3c851161013357806351bc3c85146102e657806360b96bea146102fb578063645c234c1461033157806370a082311461035b57600080fd5b806323b872dd14610295578063313ce567146102b55780634b588feb146102d157600080fd5b806306fdde03146101ac578063095ea7b3146101f45780630e5a9231146102245780630faee56f146102485780631000034c1461025e57806318160ddd1461028057600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b5060408051808201909152600d81526c46756c6c526574617264494e5560981b60208201525b6040516101eb9190611c50565b60405180910390f35b34801561020057600080fd5b5061021461020f366004611cb3565b610568565b60405190151581526020016101eb565b34801561023057600080fd5b5061023a60195481565b6040519081526020016101eb565b34801561025457600080fd5b5061023a60185481565b34801561026a57600080fd5b5061027e610279366004611cdf565b61057f565b005b34801561028c57600080fd5b5061023a6105d6565b3480156102a157600080fd5b506102146102b0366004611cfc565b6105f6565b3480156102c157600080fd5b50604051600981526020016101eb565b3480156102dd57600080fd5b5061023a61065f565b3480156102f257600080fd5b5061027e6106ce565b34801561030757600080fd5b5061023a610316366004611cdf565b6001600160a01b031660009081526006602052604090205490565b34801561033d57600080fd5b50610346610726565b604080519283526020830191909152016101eb565b34801561036757600080fd5b5061023a610376366004611cdf565b6001600160a01b031660009081526001602052604090205490565b34801561039d57600080fd5b5061027e61076d565b3480156103b257600080fd5b5061027e6107e1565b3480156103c757600080fd5b5061023a60165481565b3480156103dd57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101eb565b34801561040f57600080fd5b5061023a60175481565b34801561042557600080fd5b50604080518082019091526005815264525550454560d81b60208201526101de565b34801561045357600080fd5b50610214610462366004611cdf565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561048c57600080fd5b5061021461049b366004611cb3565b61089a565b3480156104ac57600080fd5b5060095461023a565b3480156104c157600080fd5b506008546102149060ff1681565b3480156104db57600080fd5b5061027e6108a7565b3480156104f057600080fd5b5061027e6104ff366004611cdf565b610c62565b34801561051057600080fd5b5061023a61051f366004611d3d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561055657600080fd5b50600d546001600160a01b03166103eb565b6000610575338484610cad565b5060015b92915050565b6000546001600160a01b031633146105b25760405162461bcd60e51b81526004016105a990611d76565b60405180910390fd5b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b60006105e46009600a611ea5565b6105f190620f4240611eb4565b905090565b6000610603848484610dd1565b610655843361065085604051806060016040528060288152602001612095602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906114eb565b610cad565b5060019392505050565b600080805b600c548110156106c8576106b460066000600c848154811061068857610688611ed3565b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611525565b9150806106c081611ee9565b915050610664565b50919050565b60085461010090046001600160a01b0316336001600160a01b0316146106f357600080fd5b306000908152600160205260409020548015610712576107128161158b565b4780156107225761072281611705565b5050565b6000806000610748670de0b6b3a764000060095461174390919063ffffffff16565b90506000670de0b6b3a76400006009546107629190611f18565b919491935090915050565b6000546001600160a01b031633146107975760405162461bcd60e51b81526004016105a990611d76565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461080b5760405162461bcd60e51b81526004016105a990611d76565b6108176009600a611ea5565b61082490620f4240611eb4565b6016556108336009600a611ea5565b61084090620f4240611eb4565b6017556008805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61087a6009600a611ea5565b61088790620f4240611eb4565b60405190815260200160405180910390a1565b6000610575338484610dd1565b6000546001600160a01b031633146108d15760405162461bcd60e51b81526004016105a990611d76565b601c54600160a01b900460ff161561092b5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105a9565b601b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109739030906109666009600a611ea5565b61065090620f4240611eb4565b601b60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ea9190611f2c565b6001600160a01b031663c9c6539630601b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a709190611f2c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae19190611f2c565b601c80546001600160a01b039283166001600160a01b0319909116179055601b541663f305d7194730610b29816001600160a01b031660009081526001602052604090205490565b600080610b3e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ba6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bcb9190611f49565b5050601c54601b5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610c24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c489190611f77565b50601c805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610c8c5760405162461bcd60e51b81526004016105a990611d76565b6001600160a01b03166000908152600760205260409020805460ff19169055565b6001600160a01b038316610d0f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a9565b6001600160a01b038216610d705760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a9565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e355760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a9565b6001600160a01b038216610e975760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a9565b60008111610ef95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105a9565b600080610f0e6000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610f3d57506000546001600160a01b03858116911614155b156113a757610f6e6064610f6860125460145411610f5d57600e54610f61565b6010545b8690611785565b90611743565b9150610f806064610f68846002611785565b30600090815260016020526040902054909150610f9d9082611525565b3060009081526001602052604090205560085460ff161561109157601b546001600160a01b03858116911614801590610fe45750601c546001600160a01b03858116911614155b156110915732600090815260056020526040902054421161107e5760405162461bcd60e51b815260206004820152604860248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060648201526730b63637bbb2b21760c11b608482015260a4016105a9565b3260009081526005602052604090204290555b601c546001600160a01b0386811691161480156110bc5750601b546001600160a01b03858116911614155b80156110e157506001600160a01b03841660009081526003602052604090205460ff16155b15611207576016548311156111385760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105a9565b6017548361115b866001600160a01b031660009081526001602052604090205490565b6111659190611f99565b11156111b35760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105a9565b601480549060006111c383611ee9565b91905055506111d28484611807565b620151806111eb600a544261194890919063ffffffff16565b1115611207576111f961198a565b50611202611b8c565b42600a555b601c546001600160a01b03858116911614801561122d57506001600160a01b0385163014155b15611273576112576064610f686013546014541161124d57600f54610f61565b6011548690611785565b9150611264826002611743565b90506112708282611948565b91505b30600090815260016020526040812054905060006018548211611296578161129a565b6018545b601c54909150600160a81b900460ff161580156112c45750601c546001600160a01b038781169116145b80156112d95750601c54600160b01b900460ff165b80156112e757506019548210155b80156113005750600a601a54426112fe9190611fac565b115b156113a457601c805460ff60a81b1916600160a81b17905542601a556113258161158b565b476000611333826003611743565b60085460405191925061010090046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015611373573d6000803e3d6000fd5b5060006113808383611948565b6009549091506113909082611525565b6009555050601c805460ff60a81b19169055505b50505b811561142157306000908152600160205260409020546113c79083611525565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114189086815260200190565b60405180910390a35b6001600160a01b0385166000908152600160205260409020546114449084611948565b6001600160a01b03861660009081526001602052604090205561148961146a8484611948565b6001600160a01b03861660009081526001602052604090205490611525565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114d38686611948565b60405190815260200160405180910390a35050505050565b6000818484111561150f5760405162461bcd60e51b81526004016105a99190611c50565b50600061151c8486611fac565b95945050505050565b6000806115328385611f99565b9050838110156115845760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105a9565b9392505050565b601c805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106115d3576115d3611ed3565b6001600160a01b03928316602091820292909201810191909152601b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561162c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116509190611f2c565b8160018151811061166357611663611ed3565b6001600160a01b039283166020918202929092010152601b546116899130911684610cad565b601b5460405163791ac94760e01b81526001600160a01b039091169063791ac947906116c2908590600090869030904290600401611fbf565b600060405180830381600087803b1580156116dc57600080fd5b505af11580156116f0573d6000803e3d6000fd5b5050601c805460ff60a81b1916905550505050565b6008546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610722573d6000803e3d6000fd5b600061158483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bec565b60008260000361179757506000610579565b60006117a38385611eb4565b9050826117b08583612030565b146115845760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105a9565b6001600160a01b038216600090815260076020526040902054829060ff16156118725760405162461bcd60e51b815260206004820152601d60248201527f41646472657373206578636c756465642066726f6d206c6f747465727900000060448201526064016105a9565b6000611889600b548461174390919063ffffffff16565b6001600160a01b0385166000908152600660205260409020549091501580156118b25750600081115b1561190357600c80546001810182556000919091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b0319166001600160a01b0386161790555b6001600160a01b0384166000908152600660205260409020546119269082611525565b6001600160a01b03909416600090815260066020526040902093909355505050565b600061158483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114eb565b600080805b600c548110156119c7576119b360066000600c848154811061068857610688611ed3565b9150806119bf81611ee9565b91505061198f565b5060008111611a225760405162461bcd60e51b815260206004820152602160248201527f4e6f207469636b65747320746f206472617720612077696e6e65722066726f6d6044820152601760f91b60648201526084016105a9565b600081611a2d611c1a565b611a379190611f18565b611a42906001611f99565b90506000805b600c54811015611b8157611a6c60066000600c848154811061068857610688611ed3565b9150818311611b6f576000611a82476002611743565b9050600081118015611a945750478111155b15611afe57600c8281548110611aac57611aac611ed3565b60009182526020822001546040516001600160a01b039091169183156108fc02918491818181858888f19350505050158015611aec573d6000803e3d6000fd5b50600954611afa9082611948565b6009555b600c8281548110611b1157611b11611ed3565b600091825260209091200154600d80546001600160a01b0319166001600160a01b03909216919091179055600c805483908110611b5057611b50611ed3565b6000918252602090912001546001600160a01b03169695505050505050565b80611b7981611ee9565b915050611a48565b506000935050505090565b60005b600c54811015611be957600060066000600c8481548110611bb257611bb2611ed3565b60009182526020808320909101546001600160a01b0316835282019290925260400190205580611be181611ee9565b915050611b8f565b50565b60008183611c0d5760405162461bcd60e51b81526004016105a99190611c50565b50600061151c8486612030565b60004442600c604051602001611c3293929190612044565b6040516020818303038152906040528051906020012060001c905090565b600060208083528351808285015260005b81811015611c7d57858101830151858201604001528201611c61565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611be957600080fd5b60008060408385031215611cc657600080fd5b8235611cd181611c9e565b946020939093013593505050565b600060208284031215611cf157600080fd5b813561158481611c9e565b600080600060608486031215611d1157600080fd5b8335611d1c81611c9e565b92506020840135611d2c81611c9e565b929592945050506040919091013590565b60008060408385031215611d5057600080fd5b8235611d5b81611c9e565b91506020830135611d6b81611c9e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611dfc578160001904821115611de257611de2611dab565b80851615611def57918102915b93841c9390800290611dc6565b509250929050565b600082611e1357506001610579565b81611e2057506000610579565b8160018114611e365760028114611e4057611e5c565b6001915050610579565b60ff841115611e5157611e51611dab565b50506001821b610579565b5060208310610133831016604e8410600b8410161715611e7f575081810a610579565b611e898383611dc1565b8060001904821115611e9d57611e9d611dab565b029392505050565b600061158460ff841683611e04565b6000816000190483118215151615611ece57611ece611dab565b500290565b634e487b7160e01b600052603260045260246000fd5b600060018201611efb57611efb611dab565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082611f2757611f27611f02565b500690565b600060208284031215611f3e57600080fd5b815161158481611c9e565b600080600060608486031215611f5e57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611f8957600080fd5b8151801515811461158457600080fd5b8082018082111561057957610579611dab565b8181038181111561057957610579611dab565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561200f5784516001600160a01b031683529383019391830191600101611fea565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261203f5761203f611f02565b500490565b838152600060208481840152604083018454856000528260002060005b828110156120865781546001600160a01b031684529284019260019182019101612061565b50919897505050505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f61568778221071264040d1304b362b971d5311487068355abc13c1c8227662864736f6c63430008100033

Deployed Bytecode Sourcemap

3962:14225:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6589:83;;;;;;;;;;-1:-1:-1;6659:5:0;;;;;;;;;;;;-1:-1:-1;;;6659:5:0;;;;6589:83;;;;;;;:::i;:::-;;;;;;;;7472:186;;;;;;;;;;-1:-1:-1;7472:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7472:186:0;1023:187:1;5823:54:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5823:54:0;1215:177:1;5765:51:0;;;;;;;;;;;;;;;;15990:117;;;;;;;;;;-1:-1:-1;15990:117:0;;;;;:::i;:::-;;:::i;:::-;;6866:95;;;;;;;;;;;;;:::i;7666:446::-;;;;;;;;;;-1:-1:-1;7666:446:0;;;;;:::i;:::-;;:::i;6775:83::-;;;;;;;;;;-1:-1:-1;6775:83:0;;5462:1;2252:36:1;;2240:2;2225:18;6775:83:0;2110:184:1;15280:268:0;;;;;;;;;;;;;:::i;17816:366::-;;;;;;;;;;;;;:::i;15160:112::-;;;;;;;;;;-1:-1:-1;15160:112:0;;;;;:::i;:::-;-1:-1:-1;;;;;15242:22:0;15219:7;15242:22;;;:14;:22;;;;;;;15160:112;15661:225;;;;;;;;;;;;;:::i;:::-;;;;2473:25:1;;;2529:2;2514:18;;2507:34;;;;2446:18;15661:225:0;2299:248:1;6969:119:0;;;;;;;;;;-1:-1:-1;6969:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7062:18:0;7035:7;7062:18;;;:9;:18;;;;;;;6969:119;2954:148;;;;;;;;;;;;;:::i;16377:201::-;;;;;;;;;;;;;:::i;5639:55::-;;;;;;;;;;;;;;;;2740:79;;;;;;;;;;-1:-1:-1;2778:7:0;2805:6;-1:-1:-1;;;;;2805:6:0;2740:79;;;-1:-1:-1;;;;;2716:32:1;;;2698:51;;2686:2;2671:18;2740:79:0;2552:203:1;5701:57:0;;;;;;;;;;;;;;;;6680:87;;;;;;;;;;-1:-1:-1;6752:7:0;;;;;;;;;;;;-1:-1:-1;;;6752:7:0;;;;6680:87;;16239:130;;;;;;;;;;-1:-1:-1;16239:130:0;;;;;:::i;:::-;-1:-1:-1;;;;;16330:31:0;16310:4;16330:31;;;:22;:31;;;;;;;;;16239:130;7096:192;;;;;;;;;;-1:-1:-1;7096:192:0;;;;;:::i;:::-;;:::i;15556:97::-;;;;;;;;;;-1:-1:-1;15633:12:0;;15556:97;;4629:40;;;;;;;;;;-1:-1:-1;4629:40:0;;;;;;;;16946:825;;;;;;;;;;;;;:::i;16115:116::-;;;;;;;;;;-1:-1:-1;16115:116:0;;;;;:::i;:::-;;:::i;7296:168::-;;;;;;;;;;-1:-1:-1;7296:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7429:18:0;;;7402:7;7429:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7296:168;15894:88;;;;;;;;;;-1:-1:-1;15963:11:0;;-1:-1:-1;;;;;15963:11:0;15894:88;;7472:186;7572:4;7589:39;355:10;7612:7;7621:6;7589:8;:39::i;:::-;-1:-1:-1;7646:4:0;7472:186;;;;;:::o;15990:117::-;2867:6;;-1:-1:-1;;;;;2867:6:0;355:10;2867:22;2859:67;;;;-1:-1:-1;;;2859:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;16061:31:0::1;;::::0;;;:22:::1;:31;::::0;;;;:38;;-1:-1:-1;;16061:38:0::1;16095:4;16061:38;::::0;;15990:117::o;6866:95::-;6919:7;5515:15;5462:1;5515:2;:15;:::i;:::-;5505:25;;:7;:25;:::i;:::-;6939:14;;6866:95;:::o;7666:446::-;7798:4;7815:36;7825:6;7833:9;7844:6;7815:9;:36::i;:::-;7862:220;7885:6;355:10;7933:138;7989:6;7933:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7933:19:0;;;;;;:11;:19;;;;;;;;355:10;7933:33;;;;;;;;;;:37;:138::i;:::-;7862:8;:220::i;:::-;-1:-1:-1;8100:4:0;7666:446;;;;;:::o;15280:268::-;15343:7;;;15390:125;15414:8;:15;15410:19;;15390:125;;;15462:45;15479:14;:27;15494:8;15503:1;15494:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;15494:11:0;15479:27;;;;;;;;;;;;;15462:12;;:16;:45::i;:::-;15447:60;-1:-1:-1;15431:3:0;;;;:::i;:::-;;;;15390:125;;;-1:-1:-1;15528:12:0;15280:268;-1:-1:-1;15280:268:0:o;17816:366::-;17882:10;;;;;-1:-1:-1;;;;;17882:10:0;355;-1:-1:-1;;;;;17866:26:0;;17858:35;;;;;;17945:4;17904:20;7062:18;;;:9;:18;;;;;;17966:16;;17962:79;;17999:30;18016:12;17999:16;:30::i;:::-;18072:21;18108:14;;18104:71;;18139:24;18152:10;18139:12;:24::i;:::-;17847:335;;17816:366::o;15661:225::-;15716:7;15725;15741:17;15761:22;15778:4;15761:12;;:16;;:22;;;;:::i;:::-;15741:42;;15790:23;15831:4;15816:12;;:19;;;;:::i;:::-;15851:9;;15790:45;;-1:-1:-1;15661:225:0;;-1:-1:-1;;15661:225:0:o;2954:148::-;2867:6;;-1:-1:-1;;;;;2867:6:0;355:10;2867:22;2859:67;;;;-1:-1:-1;;;2859:67:0;;;;;;;:::i;:::-;3061:1:::1;3045:6:::0;;3024:40:::1;::::0;-1:-1:-1;;;;;3045:6:0;;::::1;::::0;3024:40:::1;::::0;3061:1;;3024:40:::1;3092:1;3075:19:::0;;-1:-1:-1;;;;;;3075:19:0::1;::::0;;2954:148::o;16377:201::-;2867:6;;-1:-1:-1;;;;;2867:6:0;355:10;2867:22;2859:67;;;;-1:-1:-1;;;2859:67:0;;;;;;;:::i;:::-;5515:15:::1;5462:1;5515:2;:15;:::i;:::-;5505:25;::::0;:7:::1;:25;:::i;:::-;16431:12;:22:::0;5515:15:::1;5462:1;5515:2;:15;:::i;:::-;5505:25;::::0;:7:::1;:25;:::i;:::-;16464:14;:24:::0;16499:20:::1;:28:::0;;-1:-1:-1;;16499:28:0::1;::::0;;16543:27:::1;5515:15;5462:1;5515:2;:15;:::i;:::-;5505:25;::::0;:7:::1;:25;:::i;:::-;16543:27;::::0;1361:25:1;;;1349:2;1334:18;16543:27:0::1;;;;;;;16377:201::o:0;7096:192::-;7199:4;7216:42;355:10;7240:9;7251:6;7216:9;:42::i;16946:825::-;2867:6;;-1:-1:-1;;;;;2867:6:0;355:10;2867:22;2859:67;;;;-1:-1:-1;;;2859:67:0;;;;;;;:::i;:::-;17008:11:::1;::::0;-1:-1:-1;;;17008:11:0;::::1;;;17007:12;16999:48;;;::::0;-1:-1:-1;;;16999:48:0;;5925:2:1;16999:48:0::1;::::0;::::1;5907:21:1::0;5964:2;5944:18;;;5937:30;6003:25;5983:18;;;5976:53;6046:18;;16999:48:0::1;5723:347:1::0;16999:48:0::1;17058:15;:104:::0;;-1:-1:-1;;;;;;17058:104:0::1;17109:42;17058:104:::0;;::::1;::::0;;;17173:58:::1;::::0;17190:4:::1;::::0;5515:15:::1;5462:1;5515:2;:15;:::i;:::-;5505:25;::::0;:7:::1;:25;:::i;17173:58::-;17276:15;;;;;;;;;-1:-1:-1::0;;;;;17276:15:0::1;-1:-1:-1::0;;;;;17276:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17258:55:0::1;;17336:4;17356:15;;;;;;;;;-1:-1:-1::0;;;;;17356:15:0::1;-1:-1:-1::0;;;;;17356:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17258:131;::::0;-1:-1:-1;;;;;;17258:131:0::1;::::0;;;;;;-1:-1:-1;;;;;6561:15:1;;;17258:131:0::1;::::0;::::1;6543:34:1::0;6613:15;;6593:18;;;6586:43;6478:18;;17258:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17242:13;:147:::0;;-1:-1:-1;;;;;17242:147:0;;::::1;-1:-1:-1::0;;;;;;17242:147:0;;::::1;;::::0;;17400:15:::1;::::0;::::1;:31;17439:21;17484:4;17504:24;17484:4:::0;-1:-1:-1;;;;;7062:18:0;7035:7;7062:18;;;:9;:18;;;;;;;6969:119;17504:24:::1;17543:1;17559::::0;17575:7:::1;2778::::0;2805:6;-1:-1:-1;;;;;2805:6:0;;2740:79;17575:7:::1;17400:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;17400:223:0;;;-1:-1:-1;;;;;6999:15:1;;;17400:223:0::1;::::0;::::1;6981:34:1::0;7031:18;;;7024:34;;;;7074:18;;;7067:34;;;;7117:18;;;7110:34;7181:15;;;7160:19;;;7153:44;17597:15:0::1;7213:19:1::0;;;7206:35;6915:19;;17400:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17641:13:0::1;::::0;17672:15:::1;::::0;17634:71:::1;::::0;-1:-1:-1;;;17634:71:0;;-1:-1:-1;;;;;17672:15:0;;::::1;17634:71;::::0;::::1;7737:51:1::0;-1:-1:-1;;7804:18:1;;;7797:34;17641:13:0;::::1;::::0;-1:-1:-1;17634:29:0::1;::::0;7710:18:1;;17634:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;17716:11:0::1;:18:::0;;-1:-1:-1;;;;17745:18:0;-1:-1:-1;;;17745:18:0;;;16946:825::o;16115:116::-;2867:6;;-1:-1:-1;;;;;2867:6:0;355:10;2867:22;2859:67;;;;-1:-1:-1;;;2859:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16184:31:0::1;16218:5;16184:31:::0;;;:22:::1;:31;::::0;;;;:39;;-1:-1:-1;;16184:39:0::1;::::0;;16115:116::o;8120:335::-;-1:-1:-1;;;;;8213:19:0;;8205:68;;;;-1:-1:-1;;;8205:68:0;;8326:2:1;8205:68:0;;;8308:21:1;8365:2;8345:18;;;8338:30;8404:34;8384:18;;;8377:62;-1:-1:-1;;;8455:18:1;;;8448:34;8499:19;;8205:68:0;8124:400:1;8205:68:0;-1:-1:-1;;;;;8292:21:0;;8284:68;;;;-1:-1:-1;;;8284:68:0;;8731:2:1;8284:68:0;;;8713:21:1;8770:2;8750:18;;;8743:30;8809:34;8789:18;;;8782:62;-1:-1:-1;;;8860:18:1;;;8853:32;8902:19;;8284:68:0;8529:398:1;8284:68:0;-1:-1:-1;;;;;8363:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8415:32;;1361:25:1;;;8415:32:0;;1334:18:1;8415:32:0;;;;;;;8120:335;;;:::o;8459:3689::-;-1:-1:-1;;;;;8543:18:0;;8535:68;;;;-1:-1:-1;;;8535:68:0;;9134:2:1;8535:68:0;;;9116:21:1;9173:2;9153:18;;;9146:30;9212:34;9192:18;;;9185:62;-1:-1:-1;;;9263:18:1;;;9256:35;9308:19;;8535:68:0;8932:401:1;8535:68:0;-1:-1:-1;;;;;8618:16:0;;8610:64;;;;-1:-1:-1;;;8610:64:0;;9540:2:1;8610:64:0;;;9522:21:1;9579:2;9559:18;;;9552:30;9618:34;9598:18;;;9591:62;-1:-1:-1;;;9669:18:1;;;9662:33;9712:19;;8610:64:0;9338:399:1;8610:64:0;8698:1;8689:6;:10;8681:64;;;;-1:-1:-1;;;8681:64:0;;9944:2:1;8681:64:0;;;9926:21:1;9983:2;9963:18;;;9956:30;10022:34;10002:18;;;9995:62;-1:-1:-1;;;10073:18:1;;;10066:39;10122:19;;8681:64:0;9742:405:1;8681:64:0;8754:17;8782:23;8826:7;2778;2805:6;-1:-1:-1;;;;;2805:6:0;;2740:79;8826:7;-1:-1:-1;;;;;8818:15:0;:4;-1:-1:-1;;;;;8818:15:0;;;:32;;;;-1:-1:-1;2778:7:0;2805:6;-1:-1:-1;;;;;8837:13:0;;;2805:6;;8837:13;;8818:32;8814:2989;;;8875:184;9055:3;8875:161;8931:15;;8919:9;;:27;8918:103;;9007:14;;8918:103;;;8971:12;;8918:103;8875:6;;:24;:161::i;:::-;:179;;:184::i;:::-;8863:196;-1:-1:-1;9100:25:0;9121:3;9100:16;8863:196;9114:1;9100:13;:16::i;:25::-;9181:4;9163:24;;;;:9;:24;;;;;;9082:43;;-1:-1:-1;9163:45:0;;9082:43;9163:28;:45::i;:::-;9154:4;9136:24;;;;:9;:24;;;;;:72;9233:20;;;;9229:483;;;9306:15;;-1:-1:-1;;;;;9292:30:0;;;9306:15;;9292:30;;;;:79;;-1:-1:-1;9357:13:0;;-1:-1:-1;;;;;9343:28:0;;;9357:13;;9343:28;;9292:79;9270:431;;;9465:9;9436:39;;;;:28;:39;;;;;;9478:15;-1:-1:-1;9406:203:0;;;;-1:-1:-1;;;9406:203:0;;10354:2:1;9406:203:0;;;10336:21:1;10393:2;10373:18;;;10366:30;10432:34;10412:18;;;10405:62;10503:34;10483:18;;;10476:62;-1:-1:-1;;;10554:19:1;;;10547:39;10603:19;;9406:203:0;10152:476:1;9406:203:0;9657:9;9628:39;;;;:28;:39;;;;;9670:15;9628:57;;9270:431;9750:13;;-1:-1:-1;;;;;9742:21:0;;;9750:13;;9742:21;:68;;;;-1:-1:-1;9794:15:0;;-1:-1:-1;;;;;9780:30:0;;;9794:15;;9780:30;;9742:68;:108;;;;-1:-1:-1;;;;;;9828:22:0;;;;;;:18;:22;;;;;;;;9827:23;9742:108;9724:720;;;9895:12;;9885:6;:22;;9877:60;;;;-1:-1:-1;;;9877:60:0;;10835:2:1;9877:60:0;;;10817:21:1;10874:2;10854:18;;;10847:30;10913:27;10893:18;;;10886:55;10958:18;;9877:60:0;10633:349:1;9877:60:0;10004:14;;9994:6;9978:13;9988:2;-1:-1:-1;;;;;7062:18:0;7035:7;7062:18;;;:9;:18;;;;;;;6969:119;9978:13;:22;;;;:::i;:::-;:40;;9952:128;;;;-1:-1:-1;;;9952:128:0;;11319:2:1;9952:128:0;;;11301:21:1;11358:2;11338:18;;;11331:30;11397:28;11377:18;;;11370:56;11443:18;;9952:128:0;11117:350:1;9952:128:0;10095:9;:11;;;:9;:11;;;:::i;:::-;;;;;;10153:25;10167:2;10171:6;10153:13;:25::i;:::-;4870:8;10240:37;10260:16;;10240:15;:19;;:37;;;;:::i;:::-;:56;10236:197;;;10317:13;:11;:13::i;:::-;;10349:15;:13;:15::i;:::-;10402;10383:16;:34;10236:197;10466:13;;-1:-1:-1;;;;;10460:19:0;;;10466:13;;10460:19;:44;;;;-1:-1:-1;;;;;;10483:21:0;;10499:4;10483:21;;10460:44;10456:422;;;10533:211;10740:3;10533:184;10597:16;;10585:9;;:28;10584:114;;10683:15;;10584:114;;;10642:13;;10533:6;;:28;:184::i;:211::-;10521:223;-1:-1:-1;10793:16:0;10521:223;10807:1;10793:13;:16::i;:::-;10775:34;-1:-1:-1;10836:30:0;:9;10775:34;10836:13;:30::i;:::-;10824:42;;10456:422;10931:4;10882:28;7062:18;;;:9;:18;;;;;;10882:55;;10940:20;10986:11;;10963:20;:34;:71;;11014:20;10963:71;;;11000:11;;10963:71;11050:6;;10940:94;;-1:-1:-1;;;;11050:6:0;;;;11049:7;:36;;;;-1:-1:-1;11072:13:0;;-1:-1:-1;;;;;11066:19:0;;;11072:13;;11066:19;11049:36;:56;;;;-1:-1:-1;11094:11:0;;-1:-1:-1;;;11094:11:0;;;;11049:56;:103;;;;;11138:14;;11114:20;:38;;11049:103;:148;;;;;11195:2;11179:13;;11161:15;:31;;;;:::i;:::-;:36;11049:148;11039:757;;;11254:6;:13;;-1:-1:-1;;;;11254:13:0;-1:-1:-1;;;11254:13:0;;;11290:15;11274:13;:31;11346:30;11363:12;11346:16;:30::i;:::-;11410:21;11389:18;11464:17;11410:21;11479:1;11464:14;:17::i;:::-;11513:10;;:34;;11440:41;;-1:-1:-1;11513:10:0;;;-1:-1:-1;;;;;11513:10:0;;:34;;;;;11440:41;;11513:34;;;;11440:41;11513:10;:34;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11586:20:0;11609:29;:10;11624:13;11609:14;:29::i;:::-;11675:12;;11586:52;;-1:-1:-1;11675:30:0;;11586:52;11675:16;:30::i;:::-;11660:12;:45;-1:-1:-1;;11740:6:0;:14;;-1:-1:-1;;;;11740:14:0;;;-1:-1:-1;11039:757:0;8852:2951;;8814:2989;11815:13;;11811:160;;11886:4;11868:24;;;;:9;:24;;;;;;:39;;11897:9;11868:28;:39::i;:::-;11859:4;11841:24;;;;:9;:24;;;;;;;:66;;;;11923:40;;-1:-1:-1;;;;;11923:40:0;;;;;;;11953:9;1361:25:1;;1349:2;1334:18;;1215:177;11923:40:0;;;;;;;;11811:160;-1:-1:-1;;;;;11997:15:0;;;;;;:9;:15;;;;;;:27;;12017:6;11997:19;:27::i;:::-;-1:-1:-1;;;;;11979:15:0;;;;;;:9;:15;;;;;:45;12047:40;12065:21;:6;12076:9;12065:10;:21::i;:::-;-1:-1:-1;;;;;12047:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;12031:13:0;;;;;;;:9;:13;;;;;:56;;;;12099:41;;;12118:21;:6;12129:9;12118:10;:21::i;:::-;12099:41;;1361:25:1;;;1349:2;1334:18;12099:41:0;;;;;;;8528:3620;;8459:3689;;;:::o;1542:224::-;1662:7;1698:12;1690:6;;;;1682:29;;;;-1:-1:-1;;;1682:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1722:9:0;1734:5;1738:1;1734;:5;:::i;:::-;1722:17;1542:224;-1:-1:-1;;;;;1542:224:0:o;1211:179::-;1269:7;;1301:5;1305:1;1301;:5;:::i;:::-;1289:17;;1330:1;1325;:6;;1317:46;;;;-1:-1:-1;;;1317:46:0;;11807:2:1;1317:46:0;;;11789:21:1;11846:2;11826:18;;;11819:30;11885:29;11865:18;;;11858:57;11932:18;;1317:46:0;11605:351:1;1317:46:0;1381:1;1211:179;-1:-1:-1;;;1211:179:0:o;14104:483::-;6199:6;:13;;-1:-1:-1;;;;6199:13:0;-1:-1:-1;;;6199:13:0;;;14206:16:::1;::::0;;14220:1:::1;14206:16:::0;;;;;::::1;::::0;;-1:-1:-1;;14206:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14206:16:0::1;14182:40;;14251:4;14233;14238:1;14233:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14233:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;14277:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;14277:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;14233:7;;14277:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14267:4;14272:1;14267:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14267:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;14342:15:::1;::::0;14310:62:::1;::::0;14327:4:::1;::::0;14342:15:::1;14360:11:::0;14310:8:::1;:62::i;:::-;14383:15;::::0;:196:::1;::::0;-1:-1:-1;;;14383:196:0;;-1:-1:-1;;;;;14383:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;14464:11;;14383:15:::1;::::0;14506:4;;14533::::1;::::0;14553:15:::1;::::0;14383:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6235:6:0;:14;;-1:-1:-1;;;;6235:14:0;;;-1:-1:-1;;;;14104:483:0:o;16586:92::-;16643:10;;:27;;:10;;;;-1:-1:-1;;;;;16643:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;2028:132;2086:7;2113:39;2117:1;2120;2113:39;;;;;;;;;;;;;;;;;:3;:39::i;1774:246::-;1832:7;1856:1;1861;1856:6;1852:47;;-1:-1:-1;1886:1:0;1879:8;;1852:47;1909:9;1921:5;1925:1;1921;:5;:::i;:::-;1909:17;-1:-1:-1;1954:1:0;1945:5;1949:1;1909:17;1945:5;:::i;:::-;:10;1937:56;;;;-1:-1:-1;;;1937:56:0;;13405:2:1;1937:56:0;;;13387:21:1;13444:2;13424:18;;;13417:30;13483:34;13463:18;;;13456:62;-1:-1:-1;;;13534:18:1;;;13527:31;13575:19;;1937:56:0;13203:397:1;12271:307:0;-1:-1:-1;;;;;4540:31:0;;;;;;:22;:31;;;;;;12356:5;;4540:31;;4539:32;4531:74;;;;-1:-1:-1;;;4531:74:0;;13807:2:1;4531:74:0;;;13789:21:1;13846:2;13826:18;;;13819:30;13885:31;13865:18;;;13858:59;13934:18;;4531:74:0;13605:353:1;4531:74:0;12370:15:::1;12388:24;12399:12;;12388:6;:10;;:24;;;;:::i;:::-;-1:-1:-1::0;;;;;12423:21:0;::::1;;::::0;;;:14:::1;:21;::::0;;;;;12370:42;;-1:-1:-1;12423:26:0;:41;::::1;;;;12463:1;12453:7;:11;12423:41;12419:87;;;12477:8;:20:::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;12477:20:0;;;;;::::1;::::0;;-1:-1:-1;;;;;;12477:20:0::1;-1:-1:-1::0;;;;;12477:20:0;::::1;;::::0;;12419:87:::1;-1:-1:-1::0;;;;;12536:21:0;::::1;;::::0;;;:14:::1;:21;::::0;;;;;:34:::1;::::0;12562:7;12536:25:::1;:34::i;:::-;-1:-1:-1::0;;;;;12512:21:0;;::::1;;::::0;;;:14:::1;:21;::::0;;;;:58;;;;-1:-1:-1;;;12271:307:0:o;1398:136::-;1456:7;1483:43;1487:1;1490;1483:43;;;;;;;;;;;;;;;;;:3;:43::i;12586:1142::-;12626:7;;;12679:125;12703:8;:15;12699:19;;12679:125;;;12751:45;12768:14;:27;12783:8;12792:1;12783:11;;;;;;;;:::i;12751:45::-;12736:60;-1:-1:-1;12720:3:0;;;;:::i;:::-;;;;12679:125;;;;12835:1;12820:12;:16;12812:62;;;;-1:-1:-1;;;12812:62:0;;14165:2:1;12812:62:0;;;14147:21:1;14204:2;14184:18;;;14177:30;14243:34;14223:18;;;14216:62;-1:-1:-1;;;14294:18:1;;;14287:31;14335:19;;12812:62:0;13963:397:1;12812:62:0;12976:20;13017:12;12999:15;:13;:15::i;:::-;:30;;;;:::i;:::-;:34;;13032:1;12999:34;:::i;:::-;12976:57;;13040:22;13080:9;13075:619;13099:8;:15;13095:19;;13075:619;;;13145:47;13164:14;:27;13179:8;13188:1;13179:11;;;;;;;;:::i;13145:47::-;13128:64;;13219:14;13203:12;:30;13199:492;;13336:16;13355:28;:21;13381:1;13355:25;:28::i;:::-;13336:47;;13409:1;13398:8;:12;:49;;;;;13426:21;13414:8;:33;;13398:49;13394:177;;;13472:8;13481:1;13472:11;;;;;;;;:::i;:::-;;;;;;;;;;13464:39;;-1:-1:-1;;;;;13472:11:0;;;;13464:39;;;;;13494:8;;13464:39;13472:11;13464:39;13494:8;13472:11;13464:39;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13533:12:0;;:26;;13550:8;13533:16;:26::i;:::-;13518:12;:41;13394:177;13641:8;13650:1;13641:11;;;;;;;;:::i;:::-;;;;;;;;;;;13627;:25;;-1:-1:-1;;;;;;13627:25:0;-1:-1:-1;;;;;13641:11:0;;;13627:25;;;;;;13672:8;:11;;13681:1;;13672:11;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;13672:11:0;;12586:1142;-1:-1:-1;;;;;;12586:1142:0:o;13199:492::-;13116:3;;;;:::i;:::-;;;;13075:619;;;;13717:1;13702:17;;;;;12586:1142;:::o;13905:191::-;13998:9;13993:96;14017:8;:15;14013:19;;13993:96;;;14080:1;14050:14;:27;14065:8;14074:1;14065:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;14065:11:0;14050:27;;;;;;;;;;;;:31;14034:3;;;;:::i;:::-;;;;13993:96;;;;13905:191::o;2168:223::-;2288:7;2323:12;2316:5;2308:28;;;;-1:-1:-1;;;2308:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2347:9:0;2359:5;2363:1;2359;:5;:::i;13738:159::-;13785:7;13843:16;13861:15;13878:8;13826:61;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;13816:72;;;;;;13808:81;;13801:88;;13738:159;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:247::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;1564:9;1551:23;1583:31;1608:5;1583:31;:::i;1649:456::-;1726:6;1734;1742;1795:2;1783:9;1774:7;1770:23;1766:32;1763:52;;;1811:1;1808;1801:12;1763:52;1850:9;1837:23;1869:31;1894:5;1869:31;:::i;:::-;1919:5;-1:-1:-1;1976:2:1;1961:18;;1948:32;1989:33;1948:32;1989:33;:::i;:::-;1649:456;;2041:7;;-1:-1:-1;;;2095:2:1;2080:18;;;;2067:32;;1649:456::o;2760:388::-;2828:6;2836;2889:2;2877:9;2868:7;2864:23;2860:32;2857:52;;;2905:1;2902;2895:12;2857:52;2944:9;2931:23;2963:31;2988:5;2963:31;:::i;:::-;3013:5;-1:-1:-1;3070:2:1;3055:18;;3042:32;3083:33;3042:32;3083:33;:::i;:::-;3135:7;3125:17;;;2760:388;;;;;:::o;3153:356::-;3355:2;3337:21;;;3374:18;;;3367:30;3433:34;3428:2;3413:18;;3406:62;3500:2;3485:18;;3153:356::o;3514:127::-;3575:10;3570:3;3566:20;3563:1;3556:31;3606:4;3603:1;3596:15;3630:4;3627:1;3620:15;3646:422;3735:1;3778:5;3735:1;3792:270;3813:7;3803:8;3800:21;3792:270;;;3872:4;3868:1;3864:6;3860:17;3854:4;3851:27;3848:53;;;3881:18;;:::i;:::-;3931:7;3921:8;3917:22;3914:55;;;3951:16;;;;3914:55;4030:22;;;;3990:15;;;;3792:270;;;3796:3;3646:422;;;;;:::o;4073:806::-;4122:5;4152:8;4142:80;;-1:-1:-1;4193:1:1;4207:5;;4142:80;4241:4;4231:76;;-1:-1:-1;4278:1:1;4292:5;;4231:76;4323:4;4341:1;4336:59;;;;4409:1;4404:130;;;;4316:218;;4336:59;4366:1;4357:10;;4380:5;;;4404:130;4441:3;4431:8;4428:17;4425:43;;;4448:18;;:::i;:::-;-1:-1:-1;;4504:1:1;4490:16;;4519:5;;4316:218;;4618:2;4608:8;4605:16;4599:3;4593:4;4590:13;4586:36;4580:2;4570:8;4567:16;4562:2;4556:4;4553:12;4549:35;4546:77;4543:159;;;-1:-1:-1;4655:19:1;;;4687:5;;4543:159;4734:34;4759:8;4753:4;4734:34;:::i;:::-;4804:6;4800:1;4796:6;4792:19;4783:7;4780:32;4777:58;;;4815:18;;:::i;:::-;4853:20;;4073:806;-1:-1:-1;;;4073:806:1:o;4884:140::-;4942:5;4971:47;5012:4;5002:8;4998:19;4992:4;4971:47;:::i;5029:168::-;5069:7;5135:1;5131;5127:6;5123:14;5120:1;5117:21;5112:1;5105:9;5098:17;5094:45;5091:71;;;5142:18;;:::i;:::-;-1:-1:-1;5182:9:1;;5029:168::o;5202:127::-;5263:10;5258:3;5254:20;5251:1;5244:31;5294:4;5291:1;5284:15;5318:4;5315:1;5308:15;5334:135;5373:3;5394:17;;;5391:43;;5414:18;;:::i;:::-;-1:-1:-1;5461:1:1;5450:13;;5334:135::o;5474:127::-;5535:10;5530:3;5526:20;5523:1;5516:31;5566:4;5563:1;5556:15;5590:4;5587:1;5580:15;5606:112;5638:1;5664;5654:35;;5669:18;;:::i;:::-;-1:-1:-1;5703:9:1;;5606:112::o;6075:251::-;6145:6;6198:2;6186:9;6177:7;6173:23;6169:32;6166:52;;;6214:1;6211;6204:12;6166:52;6246:9;6240:16;6265:31;6290:5;6265:31;:::i;7252:306::-;7340:6;7348;7356;7409:2;7397:9;7388:7;7384:23;7380:32;7377:52;;;7425:1;7422;7415:12;7377:52;7454:9;7448:16;7438:26;;7504:2;7493:9;7489:18;7483:25;7473:35;;7548:2;7537:9;7533:18;7527:25;7517:35;;7252:306;;;;;:::o;7842:277::-;7909:6;7962:2;7950:9;7941:7;7937:23;7933:32;7930:52;;;7978:1;7975;7968:12;7930:52;8010:9;8004:16;8063:5;8056:13;8049:21;8042:5;8039:32;8029:60;;8085:1;8082;8075:12;10987:125;11052:9;;;11073:10;;;11070:36;;;11086:18;;:::i;11472:128::-;11539:9;;;11560:11;;;11557:37;;;11574:18;;:::i;12093:980::-;12355:4;12403:3;12392:9;12388:19;12434:6;12423:9;12416:25;12460:2;12498:6;12493:2;12482:9;12478:18;12471:34;12541:3;12536:2;12525:9;12521:18;12514:31;12565:6;12600;12594:13;12631:6;12623;12616:22;12669:3;12658:9;12654:19;12647:26;;12708:2;12700:6;12696:15;12682:29;;12729:1;12739:195;12753:6;12750:1;12747:13;12739:195;;;12818:13;;-1:-1:-1;;;;;12814:39:1;12802:52;;12909:15;;;;12874:12;;;;12850:1;12768:9;12739:195;;;-1:-1:-1;;;;;;;12990:32:1;;;;12985:2;12970:18;;12963:60;-1:-1:-1;;;13054:3:1;13039:19;13032:35;12951:3;12093:980;-1:-1:-1;;;12093:980:1:o;13078:120::-;13118:1;13144;13134:35;;13149:18;;:::i;:::-;-1:-1:-1;13183:9:1;;13078:120::o;14365:722::-;14609:6;14604:3;14597:19;14579:3;14635:2;14667:6;14662:2;14657:3;14653:12;14646:28;14705:2;14700:3;14696:12;14737:6;14731:13;14786:6;14783:1;14776:17;14829:2;14826:1;14816:16;14850:1;14860:200;14874:6;14871:1;14868:13;14860:200;;;14941:13;;-1:-1:-1;;;;;14937:39:1;14923:54;;14999:14;;;;14973:1;15036:14;;;;14889:9;14860:200;;;-1:-1:-1;15076:5:1;;14365:722;-1:-1:-1;;;;;;;;14365:722:1:o

Swarm Source

ipfs://f61568778221071264040d1304b362b971d5311487068355abc13c1c82276628

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.