ETH Price: $3,204.34 (-6.97%)
Gas: 8 Gwei

Contract

0x56E1786Cd1265992AB2e42c063CFA81dD7435127
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer201508322024-06-23 0:31:1132 days ago1719102671IN
0x56E1786C...dD7435127
0 ETH0.000141422.65968873
Approve200466382024-06-08 10:52:5946 days ago1717843979IN
0x56E1786C...dD7435127
0 ETH0.000264985.74252463
Approve200411772024-06-07 16:34:5947 days ago1717778099IN
0x56E1786C...dD7435127
0 ETH0.0038111381.95285051
Approve200411762024-06-07 16:34:4747 days ago1717778087IN
0x56E1786C...dD7435127
0 ETH0.003720880.01036424
Approve200411222024-06-07 16:23:5947 days ago1717777439IN
0x56E1786C...dD7435127
0 ETH0.0012233126.33947576
Approve200410992024-06-07 16:19:2347 days ago1717777163IN
0x56E1786C...dD7435127
0 ETH0.001236526.58921033
Approve200410932024-06-07 16:18:1147 days ago1717777091IN
0x56E1786C...dD7435127
0 ETH0.001235326.56342577
Approve200410862024-06-07 16:16:4747 days ago1717777007IN
0x56E1786C...dD7435127
0 ETH0.0012236126.31196317
Approve200410832024-06-07 16:16:1147 days ago1717776971IN
0x56E1786C...dD7435127
0 ETH0.0013454828.93270303
Approve200410752024-06-07 16:14:3547 days ago1717776875IN
0x56E1786C...dD7435127
0 ETH0.0012277626.40123913
Approve200410622024-06-07 16:11:5947 days ago1717776719IN
0x56E1786C...dD7435127
0 ETH0.0012792327.50810702
Approve200410592024-06-07 16:11:2347 days ago1717776683IN
0x56E1786C...dD7435127
0 ETH0.0013288128.57425943
Approve200410592024-06-07 16:11:2347 days ago1717776683IN
0x56E1786C...dD7435127
0 ETH0.0013288128.57425943
Renounce Ownersh...200410242024-06-07 16:04:2347 days ago1717776263IN
0x56E1786C...dD7435127
0 ETH0.0005714420.77975961
Approve200410222024-06-07 16:03:5947 days ago1717776239IN
0x56E1786C...dD7435127
0 ETH0.0012283626.41424624
Approve200410212024-06-07 16:03:4747 days ago1717776227IN
0x56E1786C...dD7435127
0 ETH0.0010849823.33095218
Approve200410212024-06-07 16:03:4747 days ago1717776227IN
0x56E1786C...dD7435127
0 ETH0.0011547324.83095218
Approve200410192024-06-07 16:03:2347 days ago1717776203IN
0x56E1786C...dD7435127
0 ETH0.0013073328.11241298
Set Fees200410172024-06-07 16:02:5947 days ago1717776179IN
0x56E1786C...dD7435127
0 ETH0.0006453823.7823886
Approve200409812024-06-07 15:55:4747 days ago1717775747IN
0x56E1786C...dD7435127
0 ETH0.0010644822.89025155
Approve200409772024-06-07 15:54:5947 days ago1717775699IN
0x56E1786C...dD7435127
0 ETH0.0011505224.74037511
Set Fees200409752024-06-07 15:54:3547 days ago1717775675IN
0x56E1786C...dD7435127
0 ETH0.0005295319.49621681
Approve200409672024-06-07 15:52:5947 days ago1717775579IN
0x56E1786C...dD7435127
0 ETH0.0011158223.99416346
Approve200409642024-06-07 15:52:2347 days ago1717775543IN
0x56E1786C...dD7435127
0 ETH0.0012382626.62709774
Set Limits200409612024-06-07 15:51:4747 days ago1717775507IN
0x56E1786C...dD7435127
0 ETH0.0007972822.57631917
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
200410282024-06-07 16:05:1147 days ago1717776311
0x56E1786C...dD7435127
0.00515043 ETH
200410282024-06-07 16:05:1147 days ago1717776311
0x56E1786C...dD7435127
0.00515043 ETH
200410032024-06-07 16:00:1147 days ago1717776011
0x56E1786C...dD7435127
0.00180774 ETH
200410032024-06-07 16:00:1147 days ago1717776011
0x56E1786C...dD7435127
0.00180774 ETH
200410012024-06-07 15:59:4747 days ago1717775987
0x56E1786C...dD7435127
0.00244884 ETH
200410012024-06-07 15:59:4747 days ago1717775987
0x56E1786C...dD7435127
0.00244884 ETH
200410002024-06-07 15:59:3547 days ago1717775975
0x56E1786C...dD7435127
0.00251256 ETH
200410002024-06-07 15:59:3547 days ago1717775975
0x56E1786C...dD7435127
0.00251256 ETH
200410002024-06-07 15:59:3547 days ago1717775975
0x56E1786C...dD7435127
0.0025788 ETH
200410002024-06-07 15:59:3547 days ago1717775975
0x56E1786C...dD7435127
0.0025788 ETH
200410002024-06-07 15:59:3547 days ago1717775975
0x56E1786C...dD7435127
0.0026477 ETH
200410002024-06-07 15:59:3547 days ago1717775975
0x56E1786C...dD7435127
0.0026477 ETH
200410002024-06-07 15:59:3547 days ago1717775975
0x56E1786C...dD7435127
0.0027194 ETH
200410002024-06-07 15:59:3547 days ago1717775975
0x56E1786C...dD7435127
0.0027194 ETH
200410002024-06-07 15:59:3547 days ago1717775975
0x56E1786C...dD7435127
0.00279405 ETH
200410002024-06-07 15:59:3547 days ago1717775975
0x56E1786C...dD7435127
0.00279405 ETH
200409992024-06-07 15:59:2347 days ago1717775963
0x56E1786C...dD7435127
0.00287183 ETH
200409992024-06-07 15:59:2347 days ago1717775963
0x56E1786C...dD7435127
0.00287183 ETH
200409992024-06-07 15:59:2347 days ago1717775963
0x56E1786C...dD7435127
0.00218418 ETH
200409992024-06-07 15:59:2347 days ago1717775963
0x56E1786C...dD7435127
0.00218418 ETH
200409912024-06-07 15:57:4747 days ago1717775867
0x56E1786C...dD7435127
0.00229649 ETH
200409912024-06-07 15:57:4747 days ago1717775867
0x56E1786C...dD7435127
0.00229649 ETH
200409912024-06-07 15:57:4747 days ago1717775867
0x56E1786C...dD7435127
0.00209256 ETH
200409912024-06-07 15:57:4747 days ago1717775867
0x56E1786C...dD7435127
0.00209256 ETH
200409912024-06-07 15:57:4747 days ago1717775867
0x56E1786C...dD7435127
0.0121858 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Gme

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-07
*/

//SPDX-License-Identifier: MIT
/*
GME Token stands for GIVE ME ETH – a cheeky nod to our favourite stock and the relentless drive of the ape community. 
Just like the original GME stock that sent Wall Street into a tailspin and made hedge funds weep, our token is here to shake things up in the crypto world. 
So buckle up, because this is going to be one wild ride!

Telegram- https://t.me/GiveMeEthCoin
Twitter- https://X.com/GiveMeEthCoin
Web- https://GiveMeEth.Com

*/
pragma solidity 0.8.21;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    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 IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
    function WETH() external pure returns (address);
    function factory() 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);
}

abstract contract Auth {
    address internal _owner;
    constructor(address deployerWallet) { 
        _owner = deployerWallet; 
    }
    modifier onlyOwner() { 
        require(msg.sender == _owner, "Only owner can call this"); 
        _; 
    }
    function owner() public view returns (address) { 
        return _owner; 
    }
    function transferOwnership(address payable newOwner) external onlyOwner { 
        _owner = newOwner; 
        emit OwnershipTransferred(newOwner); 
    }
    function renounceOwnership() external onlyOwner { 
        _owner = address(0); 
        emit OwnershipTransferred(address(0)); 
    }
    event OwnershipTransferred(address _owner);
}

contract Gme is IERC20, Auth {
    uint8 private constant _decimals      = 9;
    uint256 private constant _totalSupply = 69000000 * (10**_decimals);
    string private constant _name         = "Give Me Eth";
    string private constant _symbol       = "GME";

    uint8 private antiSnipeTax1 = 35;
    uint8 private antiSnipeTax2 = 30;
    uint8 private antiSnipeBlocks1 = 1;
    uint8 private antiSnipeBlocks2 = 2;

    uint8 private _buyTaxRate  = 20;
    uint8 private _sellTaxRate = 20;

    address payable private _walletMarketing = payable(0x0759b527af8364CeCCDB6E3A075429F99350073d); 

    uint256 private _launchBlock;
    uint256 private _maxTxAmount = _totalSupply * 1 / 100; 
    uint256 private _maxWalletAmount = _totalSupply * 1 / 100;
    uint256 private _taxSwapMin = _totalSupply * 10 / 100000;
    uint256 private _taxSwapMax = _totalSupply * 475 / 100000;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _noFees;
    mapping (address => bool) private _noLimits;

    address private _lpOwner;

    address private constant _swapRouterAddress = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    IUniswapV2Router02 private _primarySwapRouter = IUniswapV2Router02(_swapRouterAddress);
    address private _primaryLP;
    mapping (address => bool) private _isLP;

    bool private _tradingOpen;

    bool private _inTaxSwap = false;
    modifier lockTaxSwap { 
        _inTaxSwap = true; 
        _; 
        _inTaxSwap = false; 
    }

    event TokensAirdropped(uint256 totalWallets, uint256 totalTokens);
    event TokensBurned(address indexed burnedByWallet, uint256 tokenAmount);

    constructor() Auth(msg.sender) {
        _lpOwner = msg.sender;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _balances[_owner]);

        _noFees[_owner] = true;
        _noFees[address(this)] = true;
        _noFees[_swapRouterAddress] = true;
        _noFees[_walletMarketing] = true;
        _noLimits[_owner] = true;
        _noLimits[address(this)] = true;
        _noLimits[_swapRouterAddress] = true;
        _noLimits[_walletMarketing] = true;
    }

    receive() external payable {}
    
    function totalSupply() external pure override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

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

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        require(_checkTradingOpen(msg.sender), "Trading not open");
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        require(_checkTradingOpen(sender), "Trading not open");
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] -= amount;
        }
        return _transferFrom(sender, recipient, amount);
    }

    function _approveRouter(uint256 _tokenAmount) internal {
        if ( _allowances[address(this)][_swapRouterAddress] < _tokenAmount ) {
            _allowances[address(this)][_swapRouterAddress] = type(uint256).max;
            emit Approval(address(this), _swapRouterAddress, type(uint256).max);
        }
    }

    function addLiquidity() external payable onlyOwner lockTaxSwap {
        require(_primaryLP == address(0), "LP exists");
        require(!_tradingOpen, "trading is open");
        require(msg.value > 0 || address(this).balance>0, "No ETH in contract or message");
        require(_balances[address(this)]>0, "No tokens in contract");
        _primaryLP = IUniswapV2Factory(_primarySwapRouter.factory()).createPair(address(this), _primarySwapRouter.WETH());
        _addLiquidity(_balances[address(this)], address(this).balance, false);
        _isLP[_primaryLP] = true;
    }

    function _addLiquidity(uint256 _tokenAmount, uint256 _ethAmountWei, bool autoburn) internal {
        address lpTokenRecipient = _lpOwner;
        if ( autoburn ) { lpTokenRecipient = address(0); }
        _approveRouter(_tokenAmount);
        _primarySwapRouter.addLiquidityETH{value: _ethAmountWei} ( address(this), _tokenAmount, 0, 0, lpTokenRecipient, block.timestamp );
    }

    function enableTrading() external onlyOwner {
        require(!_tradingOpen, "trading is open");
        _openTrading();
    }

    function _openTrading() internal {
        _tradingOpen = true;
        _launchBlock = block.number;
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(sender != address(0), "No transfers from Zero wallet");
        if (!_tradingOpen) { require(_noFees[sender] && _noLimits[sender], "Trading not open"); }
        if ( !_inTaxSwap && _isLP[recipient] ) { _swapTaxAndLiquify(); }
        
        if ( sender != address(this) && recipient != address(this) && sender != _owner ) { 
            require(_checkLimits(sender, recipient, amount), "TX exceeds limits"); 
        }
        uint256 _taxAmount = _calculateTax(sender, recipient, amount);
        uint256 _transferAmount = amount - _taxAmount;
        _balances[sender] = _balances[sender] - amount;
        if ( _taxAmount > 0 ) { _balances[address(this)] += _taxAmount; }
        _balances[recipient] += _transferAmount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function _checkLimits(address sender, address recipient, uint256 transferAmount) internal view returns (bool) {
        bool limitCheckPassed = true;
        if ( _tradingOpen && !_noLimits[sender] && !_noLimits[recipient] ) {
            if ( transferAmount > _maxTxAmount ) { 
                limitCheckPassed = false; 
            }
            else if ( !_isLP[recipient] && (_balances[recipient] + transferAmount > _maxWalletAmount) ) { 
                limitCheckPassed = false; 
            }
        }
        return limitCheckPassed;
    }

    function _checkTradingOpen(address sender) private view returns (bool){
        bool checkResult = false;
        if ( _tradingOpen ) { checkResult = true; } 
        else if (_noFees[sender] && _noLimits[sender]) { checkResult = true; } 
        return checkResult;
    }

    function _calculateTax(address sender, address recipient, uint256 amount) internal view returns (uint256) {
        uint256 taxAmount;
        if ( !_tradingOpen || _noFees[sender] || _noFees[recipient] ) { 
            taxAmount = 0; 
        } else if ( _isLP[sender] ) { 
            if ( block.number >= _launchBlock + antiSnipeBlocks1 + antiSnipeBlocks2 ) {
                taxAmount = amount * _buyTaxRate / 100; 
            } else if ( block.number >= _launchBlock + antiSnipeBlocks1 ) {
                taxAmount = amount * antiSnipeTax2 / 100;
            } else if ( block.number >= _launchBlock) {
                taxAmount = amount * antiSnipeTax1 / 100;
            }
        } else if ( _isLP[recipient] ) { 
            taxAmount = amount * _sellTaxRate / 100; 
        }
        return taxAmount;
    }

    function exemptFromFees(address wallet) external view returns (bool) {
        return _noFees[wallet];
    } 
    function exemptFromLimits(address wallet) external view returns (bool) {
        return _noLimits[wallet];
    } 
    function setExempt(address wallet, bool noFees, bool noLimits) external onlyOwner {
        if (noLimits || noFees) { require(!_isLP[wallet], "Cannot exempt LP"); }
        _noFees[ wallet ] = noFees;
        _noLimits[ wallet ] = noLimits;
    }

    function buyFee() external view returns(uint8) {
        return _buyTaxRate;
    }
    function sellFee() external view returns(uint8) {
        return _sellTaxRate;
    }

    function setFees(uint8 buy, uint8 sell) external onlyOwner {
        require(buy + sell <= 35, "Roundtrip too high");
        _buyTaxRate = buy;
        _sellTaxRate = sell;
    }  

    function marketingWallet() external view returns (address) {
        return _walletMarketing;
    }

    function updateWallet(address marketing) external onlyOwner {
        require(!_isLP[marketing], "LP cannot be tax wallet");
        _walletMarketing = payable(marketing);
        _noFees[marketing] = true;
        _noLimits[marketing] = true;
    }

    function maxWallet() external view returns (uint256) {
        return _maxWalletAmount;
    }
    function maxTransaction() external view returns (uint256) {
        return _maxTxAmount;
    }

    function swapAtMin() external view returns (uint256) {
        return _taxSwapMin;
    }
    function swapAtMax() external view returns (uint256) {
        return _taxSwapMax;
    }

    function setLimits(uint16 maxTransactionPermille, uint16 maxWalletPermille) external onlyOwner {
        uint256 newTxAmt = _totalSupply * maxTransactionPermille / 1000 + 1;
        require(newTxAmt >= _maxTxAmount, "tx too low");
        _maxTxAmount = newTxAmt;
        uint256 newWalletAmt = _totalSupply * maxWalletPermille / 1000 + 1;
        require(newWalletAmt >= _maxWalletAmount, "wallet too low");
        _maxWalletAmount = newWalletAmt;
    }

    function setTaxSwap(uint32 minValue, uint32 minDivider, uint32 maxValue, uint32 maxDivider) external onlyOwner {
        _taxSwapMin = _totalSupply * minValue / minDivider;
        _taxSwapMax = _totalSupply * maxValue / maxDivider;
        require(_taxSwapMax>=_taxSwapMin, "Min/Max error");
        require(_taxSwapMax>_totalSupply / 100000, "Max too low");
        require(_taxSwapMax<_totalSupply / 100, "Max too high");
    }

    function _swapTaxAndLiquify() private lockTaxSwap {
        uint256 _taxTokensAvailable = balanceOf(address(this));

        if ( _taxTokensAvailable >= _taxSwapMin && _tradingOpen ) {
            if ( _taxTokensAvailable >= _taxSwapMax ) { _taxTokensAvailable = _taxSwapMax; }
            uint256 _tokensToSwap = _taxTokensAvailable;
            if( _tokensToSwap > 10**_decimals ) {
                _swapTaxTokensForEth(_tokensToSwap);
            }
            uint256 _contractETHBalance = address(this).balance;
            if(_contractETHBalance > 0) { _walletMarketing.transfer(_contractETHBalance); }
        }
    }

    function _swapTaxTokensForEth(uint256 tokenAmt) private {
        _approveRouter(tokenAmt);
        address[] memory swappath = new address[](2);
        swappath[0] = address(this); swappath[1] = _primarySwapRouter.WETH();
        _primarySwapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmt,0,swappath,address(this),block.timestamp);
    }

    function manualTaxSwapAndSend(uint8 swapTokenPercent, bool sendEth) external onlyOwner lockTaxSwap {
        require(swapTokenPercent <= 100, "Cannot swap more than 100%");
        uint256 tokensToSwap = balanceOf(address(this)) * swapTokenPercent / 100;
        if (tokensToSwap > 10 ** _decimals) {
            _swapTaxTokensForEth(tokensToSwap);
        }
        if (sendEth) { 
            uint256 ethBalance = address(this).balance;
            require(ethBalance > 0, "No ETH");
            _walletMarketing.transfer(ethBalance);
        }
    }

    function burn(uint256 amount) external onlyOwner {
        uint256 _tokensAvailable = balanceOf(msg.sender);
        require(amount <= _tokensAvailable, "balance too low");
        if ( amount > 0 ) {
            _balances[msg.sender] -= amount;
            _balances[address(0)] += amount;
            emit Transfer(msg.sender, address(0), amount);
            emit TokensBurned(msg.sender, amount);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"totalWallets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalTokens","type":"uint256"}],"name":"TokensAirdropped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burnedByWallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"TokensBurned","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":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"exemptFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"exemptFromLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"swapTokenPercent","type":"uint8"},{"internalType":"bool","name":"sendEth","type":"bool"}],"name":"manualTaxSwapAndSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"noFees","type":"bool"},{"internalType":"bool","name":"noLimits","type":"bool"}],"name":"setExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"buy","type":"uint8"},{"internalType":"uint8","name":"sell","type":"uint8"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"maxTransactionPermille","type":"uint16"},{"internalType":"uint16","name":"maxWalletPermille","type":"uint16"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"minValue","type":"uint32"},{"internalType":"uint32","name":"minDivider","type":"uint32"},{"internalType":"uint32","name":"maxValue","type":"uint32"},{"internalType":"uint32","name":"maxDivider","type":"uint32"}],"name":"setTaxSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAtMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAtMin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketing","type":"address"}],"name":"updateWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f805465141402011e2360a01b65ffffffffffff60a01b19909116179055600180546001600160a01b031916730759b527af8364ceccdb6e3a075429f99350073d1790556064620000586009600a62000405565b620000689063041cdb406200041c565b620000759060016200041c565b62000081919062000436565b6003556064620000946009600a62000405565b620000a49063041cdb406200041c565b620000b19060016200041c565b620000bd919062000436565b600455620186a0620000d26009600a62000405565b620000e29063041cdb406200041c565b620000ef90600a6200041c565b620000fb919062000436565b600555620186a0620001106009600a62000405565b620001209063041cdb406200041c565b6200012e906101db6200041c565b6200013a919062000436565b600655600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055600f805461ff00191690553480156200017a575f80fd5b505f8054336001600160a01b03199182168117909255600b80549091169091179055620001aa6009600a62000405565b620001ba9063041cdb406200041c565b5f80546001600160a01b039081168252600760205260408083209390935581541680825282822054925190927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916200021591815260200190565b60405180910390a35f80546001600160a01b0390811682526009602090815260408084208054600160ff1991821681179092553080875283872080548316841790557fbaa441ac52505693dd98c7dd2f5bbf8f9349b7da9de72f9d52e5cac70e7da8ce80548316841790558254861687528387208054831684179055865486168752600a909452828620805482168317905592855281852080548416821790557fc90215bb1b0ac6bfa50a3c02c4b559c695b6a8e828048a88e327592fc55c5d2c805484168217905580549093168452909220805490921617905562000456565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200034a57815f19048211156200032e576200032e620002f6565b808516156200033c57918102915b93841c93908002906200030f565b509250929050565b5f826200036257506001620003ff565b816200037057505f620003ff565b81600181146200038957600281146200039457620003b4565b6001915050620003ff565b60ff841115620003a857620003a8620002f6565b50506001821b620003ff565b5060208310610133831016604e8410600b8410161715620003d9575081810a620003ff565b620003e583836200030a565b805f1904821115620003fb57620003fb620002f6565b0290505b92915050565b5f6200041560ff84168362000352565b9392505050565b8082028115828204841417620003ff57620003ff620002f6565b5f826200045157634e487b7160e01b5f52601260045260245ffd5b500490565b6121d980620004645f395ff3fe6080604052600436106101c8575f3560e01c806370a08231116100f257806395d89b4111610092578063dd62ed3e11610062578063dd62ed3e1461055b578063e8078d941461059f578063f2fde38b146105a7578063f8b45b05146105c6575f80fd5b806395d89b41146104de578063a6097b0a14610509578063a9059cbb14610528578063c3f70b5214610547575f80fd5b8063848b86e3116100cd578063848b86e3146104585780638a8c523c146104775780638d3e6e401461048b5780638da5cb5b146104c2575f80fd5b806370a08231146103df578063715018a61461041357806375f0a87414610427575f80fd5b8063368f4800116101685780634d4ce935116101385780634d4ce935146103565780634fcd24461461036a57806357ff135a146103895780635a90a49e146103a8575f80fd5b8063368f4800146102e757806342966c681461030657806346b89834146103255780634706240214610339575f80fd5b806323b872dd116101a357806323b872dd146102695780632b14ca56146102885780632fb528ba146102b3578063313ce567146102d4575f80fd5b806306fdde03146101d3578063095ea7b31461021857806318160ddd14610247575f80fd5b366101cf57005b5f80fd5b3480156101de575f80fd5b5060408051808201909152600b81526a08ed2ecca409aca408ae8d60ab1b60208201525b60405161020f9190611c76565b60405180910390f35b348015610223575f80fd5b50610237610232366004611cd5565b6105da565b604051901515815260200161020f565b348015610252575f80fd5b5061025b610646565b60405190815260200161020f565b348015610274575f80fd5b50610237610283366004611cff565b610666565b348015610293575f80fd5b505f54600160c81b900460ff165b60405160ff909116815260200161020f565b3480156102be575f80fd5b506102d26102cd366004611d61565b61070a565b005b3480156102df575f80fd5b5060096102a1565b3480156102f2575f80fd5b506102d2610301366004611da3565b610865565b348015610311575f80fd5b506102d2610320366004611dcb565b6109a5565b348015610330575f80fd5b5060055461025b565b348015610344575f80fd5b505f54600160c01b900460ff166102a1565b348015610361575f80fd5b5060065461025b565b348015610375575f80fd5b506102d2610384366004611de2565b610af8565b348015610394575f80fd5b506102d26103a3366004611e0a565b610ba6565b3480156103b3575f80fd5b506102376103c2366004611e4c565b6001600160a01b03165f9081526009602052604090205460ff1690565b3480156103ea575f80fd5b5061025b6103f9366004611e4c565b6001600160a01b03165f9081526007602052604090205490565b34801561041e575f80fd5b506102d2610c79565b348015610432575f80fd5b506001546001600160a01b03165b6040516001600160a01b03909116815260200161020f565b348015610463575f80fd5b506102d2610472366004611e4c565b610ce6565b348015610482575f80fd5b506102d2610dc5565b348015610496575f80fd5b506102376104a5366004611e4c565b6001600160a01b03165f908152600a602052604090205460ff1690565b3480156104cd575f80fd5b505f546001600160a01b0316610440565b3480156104e9575f80fd5b50604080518082019091526003815262474d4560e81b6020820152610202565b348015610514575f80fd5b506102d2610523366004611e7a565b610e4b565b348015610533575f80fd5b50610237610542366004611cd5565b611000565b348015610552575f80fd5b5060035461025b565b348015610566575f80fd5b5061025b610575366004611ecb565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b6102d2611038565b3480156105b2575f80fd5b506102d26105c1366004611e4c565b611376565b3480156105d1575f80fd5b5060045461025b565b335f8181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106349086815260200190565b60405180910390a35060015b92915050565b5f6106536009600a611ff6565b6106619063041cdb40612004565b905090565b5f610670846113f2565b6106955760405162461bcd60e51b815260040161068c9061201b565b60405180910390fd5b6001600160a01b0384165f9081526008602090815260408083203384529091529020545f19146106f7576001600160a01b0384165f908152600860209081526040808320338452909152812080548492906106f1908490612045565b90915550505b610702848484611455565b949350505050565b5f546001600160a01b031633146107335760405162461bcd60e51b815260040161068c90612058565b600f805461ff001916610100179055606460ff831611156107965760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742073776170206d6f7265207468616e2031303025000000000000604482015260640161068c565b305f908152600760205260408120546064906107b69060ff861690612004565b6107c0919061208f565b90506107ce6009600a611ff6565b8111156107de576107de816116df565b811561085557478061081b5760405162461bcd60e51b815260206004820152600660248201526509cde408aa8960d31b604482015260640161068c565b6001546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610852573d5f803e3d5ffd5b50505b5050600f805461ff001916905550565b5f546001600160a01b0316331461088e5760405162461bcd60e51b815260040161068c90612058565b5f6103e861ffff84166108a36009600a611ff6565b6108b19063041cdb40612004565b6108bb9190612004565b6108c5919061208f565b6108d09060016120ae565b90506003548110156109115760405162461bcd60e51b815260206004820152600a602482015269747820746f6f206c6f7760b01b604482015260640161068c565b60038190555f6103e861ffff841661092b6009600a611ff6565b6109399063041cdb40612004565b6109439190612004565b61094d919061208f565b6109589060016120ae565b905060045481101561099d5760405162461bcd60e51b815260206004820152600e60248201526d77616c6c657420746f6f206c6f7760901b604482015260640161068c565b600455505050565b5f546001600160a01b031633146109ce5760405162461bcd60e51b815260040161068c90612058565b335f9081526007602052604090205480821115610a1f5760405162461bcd60e51b815260206004820152600f60248201526e62616c616e636520746f6f206c6f7760881b604482015260640161068c565b8115610af457335f9081526007602052604081208054849290610a43908490612045565b90915550505f80805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df8054849290610a829084906120ae565b90915550506040518281525f9033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a360405182815233907ffd38818f5291bf0bb3a2a48aadc06ba8757865d1dabd804585338aab3009dcb69060200160405180910390a25b5050565b5f546001600160a01b03163314610b215760405162461bcd60e51b815260040161068c90612058565b6023610b2d82846120c1565b60ff161115610b735760405162461bcd60e51b81526020600482015260126024820152710a4deeadcc8e8e4d2e040e8dede40d0d2ced60731b604482015260640161068c565b5f805461ffff60c01b1916600160c01b60ff9485160260ff60c81b191617600160c81b9290931691909102919091179055565b5f546001600160a01b03163314610bcf5760405162461bcd60e51b815260040161068c90612058565b8080610bd85750815b15610c38576001600160a01b0383165f908152600e602052604090205460ff1615610c385760405162461bcd60e51b815260206004820152601060248201526f043616e6e6f74206578656d7074204c560841b604482015260640161068c565b6001600160a01b039092165f908152600960209081526040808320805494151560ff19958616179055600a9091529020805492151592909116919091179055565b5f546001600160a01b03163314610ca25760405162461bcd60e51b815260040161068c90612058565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b03163314610d0f5760405162461bcd60e51b815260040161068c90612058565b6001600160a01b0381165f908152600e602052604090205460ff1615610d775760405162461bcd60e51b815260206004820152601760248201527f4c502063616e6e6f74206265207461782077616c6c6574000000000000000000604482015260640161068c565b600180546001600160a01b039092166001600160a01b0319909216821781555f918252600960209081526040808420805460ff199081168517909155600a9092529092208054909216179055565b5f546001600160a01b03163314610dee5760405162461bcd60e51b815260040161068c90612058565b600f5460ff1615610e335760405162461bcd60e51b815260206004820152600f60248201526e3a3930b234b7339034b99037b832b760891b604482015260640161068c565b610e49600f805460ff1916600117905543600255565b565b5f546001600160a01b03163314610e745760405162461bcd60e51b815260040161068c90612058565b63ffffffff808416908516610e8b6009600a611ff6565b610e999063041cdb40612004565b610ea39190612004565b610ead919061208f565b60055563ffffffff808216908316610ec76009600a611ff6565b610ed59063041cdb40612004565b610edf9190612004565b610ee9919061208f565b60068190556005541115610f2f5760405162461bcd60e51b815260206004820152600d60248201526c26b4b717a6b0bc1032b93937b960991b604482015260640161068c565b620186a0610f3f6009600a611ff6565b610f4d9063041cdb40612004565b610f57919061208f565b60065411610f955760405162461bcd60e51b815260206004820152600b60248201526a4d617820746f6f206c6f7760a81b604482015260640161068c565b6064610fa36009600a611ff6565b610fb19063041cdb40612004565b610fbb919061208f565b60065410610ffa5760405162461bcd60e51b815260206004820152600c60248201526b09ac2f040e8dede40d0d2ced60a31b604482015260640161068c565b50505050565b5f61100a336113f2565b6110265760405162461bcd60e51b815260040161068c9061201b565b611031338484611455565b9392505050565b5f546001600160a01b031633146110615760405162461bcd60e51b815260040161068c90612058565b600f805461ff001916610100179055600d546001600160a01b0316156110b55760405162461bcd60e51b81526020600482015260096024820152684c502065786973747360b81b604482015260640161068c565b600f5460ff16156110fa5760405162461bcd60e51b815260206004820152600f60248201526e3a3930b234b7339034b99037b832b760891b604482015260640161068c565b5f34118061110757505f47115b6111535760405162461bcd60e51b815260206004820152601d60248201527f4e6f2045544820696e20636f6e7472616374206f72206d657373616765000000604482015260640161068c565b305f908152600760205260409020546111a65760405162461bcd60e51b8152602060048201526015602482015274139bc81d1bdad95b9cc81a5b8818dbdb9d1c9858dd605a1b604482015260640161068c565b600c5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111f6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061121a91906120da565b6001600160a01b031663c9c6539630600c5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611279573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061129d91906120da565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156112e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061130b91906120da565b600d80546001600160a01b0319166001600160a01b0392909216919091179055305f9081526007602052604081205461134591479061181f565b600d546001600160a01b03165f908152600e60205260409020805460ff19166001179055600f805461ff0019169055565b5f546001600160a01b0316331461139f5760405162461bcd60e51b815260040161068c90612058565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b600f545f90819060ff161561140957506001610640565b6001600160a01b0383165f9081526009602052604090205460ff16801561144757506001600160a01b0383165f908152600a602052604090205460ff165b156106405750600192915050565b5f6001600160a01b0384166114ac5760405162461bcd60e51b815260206004820152601d60248201527f4e6f207472616e73666572732066726f6d205a65726f2077616c6c6574000000604482015260640161068c565b600f5460ff16611510576001600160a01b0384165f9081526009602052604090205460ff1680156114f457506001600160a01b0384165f908152600a602052604090205460ff165b6115105760405162461bcd60e51b815260040161068c9061201b565b600f54610100900460ff1615801561153f57506001600160a01b0383165f908152600e602052604090205460ff165b1561154c5761154c6118d6565b6001600160a01b038416301480159061156e57506001600160a01b0383163014155b801561158757505f546001600160a01b03858116911614155b156115d75761159784848461198b565b6115d75760405162461bcd60e51b815260206004820152601160248201527054582065786365656473206c696d69747360781b604482015260640161068c565b5f6115e3858585611a4e565b90505f6115f08285612045565b6001600160a01b0387165f90815260076020526040902054909150611616908590612045565b6001600160a01b0387165f90815260076020526040902055811561165857305f90815260076020526040812080548492906116529084906120ae565b90915550505b6001600160a01b0385165f908152600760205260408120805483929061167f9084906120ae565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516116cb91815260200190565b60405180910390a350600195945050505050565b6116e881611bd4565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061171b5761171b6120f5565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611772573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179691906120da565b816001815181106117a9576117a96120f5565b6001600160a01b039283166020918202929092010152600c5460405163791ac94760e01b815291169063791ac947906117ee9085905f90869030904290600401612109565b5f604051808303815f87803b158015611805575f80fd5b505af1158015611817573d5f803e3d5ffd5b505050505050565b600b546001600160a01b0316811561183457505f5b61183d84611bd4565b600c5460405163f305d71960e01b8152306004820152602481018690525f6044820181905260648201526001600160a01b0383811660848301524260a48301529091169063f305d71990859060c40160606040518083038185885af11580156118a8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906118cd9190612178565b50505050505050565b600f805461ff001916610100179055305f908152600760205260408120549050600554811015801561190a5750600f5460ff165b1561197d57600654811061191d57506006545b8061192a6009600a611ff6565b81111561193a5761193a816116df565b47801561197a576001546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611978573d5f803e3d5ffd5b505b50505b50600f805461ff0019169055565b600f545f9060019060ff1680156119ba57506001600160a01b0385165f908152600a602052604090205460ff16155b80156119de57506001600160a01b0384165f908152600a602052604090205460ff16155b15610702576003548311156119f457505f610702565b6001600160a01b0384165f908152600e602052604090205460ff16158015611a3f57506004546001600160a01b0385165f90815260076020526040902054611a3d9085906120ae565b115b1561070257505f949350505050565b600f545f90819060ff161580611a7b57506001600160a01b0385165f9081526009602052604090205460ff165b80611a9d57506001600160a01b0384165f9081526009602052604090205460ff165b15611aa957505f610702565b6001600160a01b0385165f908152600e602052604090205460ff1615611b88575f5460025460ff600160b81b8304811692611aef92600160b01b909104909116906120ae565b611af991906120ae565b4310611b29575f54606490611b1890600160c01b900460ff1685612004565b611b22919061208f565b9050610702565b5f54600254611b4291600160b01b900460ff16906120ae565b4310611b61575f54606490611b1890600160a81b900460ff1685612004565b6002544310611b83575f54606490611b1890600160a01b900460ff1685612004565b610702565b6001600160a01b0384165f908152600e602052604090205460ff1615610702575f54606490611bc190600160c81b900460ff1685612004565b611bcb919061208f565b95945050505050565b305f908152600860209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d8452909152902054811115611c7357305f818152600860209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d808552908352928190205f199081905590519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b50565b5f6020808352835180828501525f5b81811015611ca157858101830151858201604001528201611c85565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611c73575f80fd5b5f8060408385031215611ce6575f80fd5b8235611cf181611cc1565b946020939093013593505050565b5f805f60608486031215611d11575f80fd5b8335611d1c81611cc1565b92506020840135611d2c81611cc1565b929592945050506040919091013590565b803560ff81168114611d4d575f80fd5b919050565b80358015158114611d4d575f80fd5b5f8060408385031215611d72575f80fd5b611d7b83611d3d565b9150611d8960208401611d52565b90509250929050565b803561ffff81168114611d4d575f80fd5b5f8060408385031215611db4575f80fd5b611dbd83611d92565b9150611d8960208401611d92565b5f60208284031215611ddb575f80fd5b5035919050565b5f8060408385031215611df3575f80fd5b611dfc83611d3d565b9150611d8960208401611d3d565b5f805f60608486031215611e1c575f80fd5b8335611e2781611cc1565b9250611e3560208501611d52565b9150611e4360408501611d52565b90509250925092565b5f60208284031215611e5c575f80fd5b813561103181611cc1565b803563ffffffff81168114611d4d575f80fd5b5f805f8060808587031215611e8d575f80fd5b611e9685611e67565b9350611ea460208601611e67565b9250611eb260408601611e67565b9150611ec060608601611e67565b905092959194509250565b5f8060408385031215611edc575f80fd5b8235611ee781611cc1565b91506020830135611ef781611cc1565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611f5057815f1904821115611f3657611f36611f02565b80851615611f4357918102915b93841c9390800290611f1b565b509250929050565b5f82611f6657506001610640565b81611f7257505f610640565b8160018114611f885760028114611f9257611fae565b6001915050610640565b60ff841115611fa357611fa3611f02565b50506001821b610640565b5060208310610133831016604e8410600b8410161715611fd1575081810a610640565b611fdb8383611f16565b805f1904821115611fee57611fee611f02565b029392505050565b5f61103160ff841683611f58565b808202811582820484141761064057610640611f02565b60208082526010908201526f2a3930b234b733903737ba1037b832b760811b604082015260600190565b8181038181111561064057610640611f02565b60208082526018908201527f4f6e6c79206f776e65722063616e2063616c6c20746869730000000000000000604082015260600190565b5f826120a957634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561064057610640611f02565b60ff818116838216019081111561064057610640611f02565b5f602082840312156120ea575f80fd5b815161103181611cc1565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156121575784516001600160a01b031683529383019391830191600101612132565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f6060848603121561218a575f80fd5b835192506020840151915060408401519050925092509256fea264697066735822122099fbfff93201ae0416a50aecae59aa36b3524630dab4a81c5327ae6d938751e464736f6c63430008150033

Deployed Bytecode

0x6080604052600436106101c8575f3560e01c806370a08231116100f257806395d89b4111610092578063dd62ed3e11610062578063dd62ed3e1461055b578063e8078d941461059f578063f2fde38b146105a7578063f8b45b05146105c6575f80fd5b806395d89b41146104de578063a6097b0a14610509578063a9059cbb14610528578063c3f70b5214610547575f80fd5b8063848b86e3116100cd578063848b86e3146104585780638a8c523c146104775780638d3e6e401461048b5780638da5cb5b146104c2575f80fd5b806370a08231146103df578063715018a61461041357806375f0a87414610427575f80fd5b8063368f4800116101685780634d4ce935116101385780634d4ce935146103565780634fcd24461461036a57806357ff135a146103895780635a90a49e146103a8575f80fd5b8063368f4800146102e757806342966c681461030657806346b89834146103255780634706240214610339575f80fd5b806323b872dd116101a357806323b872dd146102695780632b14ca56146102885780632fb528ba146102b3578063313ce567146102d4575f80fd5b806306fdde03146101d3578063095ea7b31461021857806318160ddd14610247575f80fd5b366101cf57005b5f80fd5b3480156101de575f80fd5b5060408051808201909152600b81526a08ed2ecca409aca408ae8d60ab1b60208201525b60405161020f9190611c76565b60405180910390f35b348015610223575f80fd5b50610237610232366004611cd5565b6105da565b604051901515815260200161020f565b348015610252575f80fd5b5061025b610646565b60405190815260200161020f565b348015610274575f80fd5b50610237610283366004611cff565b610666565b348015610293575f80fd5b505f54600160c81b900460ff165b60405160ff909116815260200161020f565b3480156102be575f80fd5b506102d26102cd366004611d61565b61070a565b005b3480156102df575f80fd5b5060096102a1565b3480156102f2575f80fd5b506102d2610301366004611da3565b610865565b348015610311575f80fd5b506102d2610320366004611dcb565b6109a5565b348015610330575f80fd5b5060055461025b565b348015610344575f80fd5b505f54600160c01b900460ff166102a1565b348015610361575f80fd5b5060065461025b565b348015610375575f80fd5b506102d2610384366004611de2565b610af8565b348015610394575f80fd5b506102d26103a3366004611e0a565b610ba6565b3480156103b3575f80fd5b506102376103c2366004611e4c565b6001600160a01b03165f9081526009602052604090205460ff1690565b3480156103ea575f80fd5b5061025b6103f9366004611e4c565b6001600160a01b03165f9081526007602052604090205490565b34801561041e575f80fd5b506102d2610c79565b348015610432575f80fd5b506001546001600160a01b03165b6040516001600160a01b03909116815260200161020f565b348015610463575f80fd5b506102d2610472366004611e4c565b610ce6565b348015610482575f80fd5b506102d2610dc5565b348015610496575f80fd5b506102376104a5366004611e4c565b6001600160a01b03165f908152600a602052604090205460ff1690565b3480156104cd575f80fd5b505f546001600160a01b0316610440565b3480156104e9575f80fd5b50604080518082019091526003815262474d4560e81b6020820152610202565b348015610514575f80fd5b506102d2610523366004611e7a565b610e4b565b348015610533575f80fd5b50610237610542366004611cd5565b611000565b348015610552575f80fd5b5060035461025b565b348015610566575f80fd5b5061025b610575366004611ecb565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b6102d2611038565b3480156105b2575f80fd5b506102d26105c1366004611e4c565b611376565b3480156105d1575f80fd5b5060045461025b565b335f8181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106349086815260200190565b60405180910390a35060015b92915050565b5f6106536009600a611ff6565b6106619063041cdb40612004565b905090565b5f610670846113f2565b6106955760405162461bcd60e51b815260040161068c9061201b565b60405180910390fd5b6001600160a01b0384165f9081526008602090815260408083203384529091529020545f19146106f7576001600160a01b0384165f908152600860209081526040808320338452909152812080548492906106f1908490612045565b90915550505b610702848484611455565b949350505050565b5f546001600160a01b031633146107335760405162461bcd60e51b815260040161068c90612058565b600f805461ff001916610100179055606460ff831611156107965760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742073776170206d6f7265207468616e2031303025000000000000604482015260640161068c565b305f908152600760205260408120546064906107b69060ff861690612004565b6107c0919061208f565b90506107ce6009600a611ff6565b8111156107de576107de816116df565b811561085557478061081b5760405162461bcd60e51b815260206004820152600660248201526509cde408aa8960d31b604482015260640161068c565b6001546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610852573d5f803e3d5ffd5b50505b5050600f805461ff001916905550565b5f546001600160a01b0316331461088e5760405162461bcd60e51b815260040161068c90612058565b5f6103e861ffff84166108a36009600a611ff6565b6108b19063041cdb40612004565b6108bb9190612004565b6108c5919061208f565b6108d09060016120ae565b90506003548110156109115760405162461bcd60e51b815260206004820152600a602482015269747820746f6f206c6f7760b01b604482015260640161068c565b60038190555f6103e861ffff841661092b6009600a611ff6565b6109399063041cdb40612004565b6109439190612004565b61094d919061208f565b6109589060016120ae565b905060045481101561099d5760405162461bcd60e51b815260206004820152600e60248201526d77616c6c657420746f6f206c6f7760901b604482015260640161068c565b600455505050565b5f546001600160a01b031633146109ce5760405162461bcd60e51b815260040161068c90612058565b335f9081526007602052604090205480821115610a1f5760405162461bcd60e51b815260206004820152600f60248201526e62616c616e636520746f6f206c6f7760881b604482015260640161068c565b8115610af457335f9081526007602052604081208054849290610a43908490612045565b90915550505f80805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df8054849290610a829084906120ae565b90915550506040518281525f9033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a360405182815233907ffd38818f5291bf0bb3a2a48aadc06ba8757865d1dabd804585338aab3009dcb69060200160405180910390a25b5050565b5f546001600160a01b03163314610b215760405162461bcd60e51b815260040161068c90612058565b6023610b2d82846120c1565b60ff161115610b735760405162461bcd60e51b81526020600482015260126024820152710a4deeadcc8e8e4d2e040e8dede40d0d2ced60731b604482015260640161068c565b5f805461ffff60c01b1916600160c01b60ff9485160260ff60c81b191617600160c81b9290931691909102919091179055565b5f546001600160a01b03163314610bcf5760405162461bcd60e51b815260040161068c90612058565b8080610bd85750815b15610c38576001600160a01b0383165f908152600e602052604090205460ff1615610c385760405162461bcd60e51b815260206004820152601060248201526f043616e6e6f74206578656d7074204c560841b604482015260640161068c565b6001600160a01b039092165f908152600960209081526040808320805494151560ff19958616179055600a9091529020805492151592909116919091179055565b5f546001600160a01b03163314610ca25760405162461bcd60e51b815260040161068c90612058565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b03163314610d0f5760405162461bcd60e51b815260040161068c90612058565b6001600160a01b0381165f908152600e602052604090205460ff1615610d775760405162461bcd60e51b815260206004820152601760248201527f4c502063616e6e6f74206265207461782077616c6c6574000000000000000000604482015260640161068c565b600180546001600160a01b039092166001600160a01b0319909216821781555f918252600960209081526040808420805460ff199081168517909155600a9092529092208054909216179055565b5f546001600160a01b03163314610dee5760405162461bcd60e51b815260040161068c90612058565b600f5460ff1615610e335760405162461bcd60e51b815260206004820152600f60248201526e3a3930b234b7339034b99037b832b760891b604482015260640161068c565b610e49600f805460ff1916600117905543600255565b565b5f546001600160a01b03163314610e745760405162461bcd60e51b815260040161068c90612058565b63ffffffff808416908516610e8b6009600a611ff6565b610e999063041cdb40612004565b610ea39190612004565b610ead919061208f565b60055563ffffffff808216908316610ec76009600a611ff6565b610ed59063041cdb40612004565b610edf9190612004565b610ee9919061208f565b60068190556005541115610f2f5760405162461bcd60e51b815260206004820152600d60248201526c26b4b717a6b0bc1032b93937b960991b604482015260640161068c565b620186a0610f3f6009600a611ff6565b610f4d9063041cdb40612004565b610f57919061208f565b60065411610f955760405162461bcd60e51b815260206004820152600b60248201526a4d617820746f6f206c6f7760a81b604482015260640161068c565b6064610fa36009600a611ff6565b610fb19063041cdb40612004565b610fbb919061208f565b60065410610ffa5760405162461bcd60e51b815260206004820152600c60248201526b09ac2f040e8dede40d0d2ced60a31b604482015260640161068c565b50505050565b5f61100a336113f2565b6110265760405162461bcd60e51b815260040161068c9061201b565b611031338484611455565b9392505050565b5f546001600160a01b031633146110615760405162461bcd60e51b815260040161068c90612058565b600f805461ff001916610100179055600d546001600160a01b0316156110b55760405162461bcd60e51b81526020600482015260096024820152684c502065786973747360b81b604482015260640161068c565b600f5460ff16156110fa5760405162461bcd60e51b815260206004820152600f60248201526e3a3930b234b7339034b99037b832b760891b604482015260640161068c565b5f34118061110757505f47115b6111535760405162461bcd60e51b815260206004820152601d60248201527f4e6f2045544820696e20636f6e7472616374206f72206d657373616765000000604482015260640161068c565b305f908152600760205260409020546111a65760405162461bcd60e51b8152602060048201526015602482015274139bc81d1bdad95b9cc81a5b8818dbdb9d1c9858dd605a1b604482015260640161068c565b600c5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111f6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061121a91906120da565b6001600160a01b031663c9c6539630600c5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611279573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061129d91906120da565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156112e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061130b91906120da565b600d80546001600160a01b0319166001600160a01b0392909216919091179055305f9081526007602052604081205461134591479061181f565b600d546001600160a01b03165f908152600e60205260409020805460ff19166001179055600f805461ff0019169055565b5f546001600160a01b0316331461139f5760405162461bcd60e51b815260040161068c90612058565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b600f545f90819060ff161561140957506001610640565b6001600160a01b0383165f9081526009602052604090205460ff16801561144757506001600160a01b0383165f908152600a602052604090205460ff165b156106405750600192915050565b5f6001600160a01b0384166114ac5760405162461bcd60e51b815260206004820152601d60248201527f4e6f207472616e73666572732066726f6d205a65726f2077616c6c6574000000604482015260640161068c565b600f5460ff16611510576001600160a01b0384165f9081526009602052604090205460ff1680156114f457506001600160a01b0384165f908152600a602052604090205460ff165b6115105760405162461bcd60e51b815260040161068c9061201b565b600f54610100900460ff1615801561153f57506001600160a01b0383165f908152600e602052604090205460ff165b1561154c5761154c6118d6565b6001600160a01b038416301480159061156e57506001600160a01b0383163014155b801561158757505f546001600160a01b03858116911614155b156115d75761159784848461198b565b6115d75760405162461bcd60e51b815260206004820152601160248201527054582065786365656473206c696d69747360781b604482015260640161068c565b5f6115e3858585611a4e565b90505f6115f08285612045565b6001600160a01b0387165f90815260076020526040902054909150611616908590612045565b6001600160a01b0387165f90815260076020526040902055811561165857305f90815260076020526040812080548492906116529084906120ae565b90915550505b6001600160a01b0385165f908152600760205260408120805483929061167f9084906120ae565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516116cb91815260200190565b60405180910390a350600195945050505050565b6116e881611bd4565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061171b5761171b6120f5565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611772573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179691906120da565b816001815181106117a9576117a96120f5565b6001600160a01b039283166020918202929092010152600c5460405163791ac94760e01b815291169063791ac947906117ee9085905f90869030904290600401612109565b5f604051808303815f87803b158015611805575f80fd5b505af1158015611817573d5f803e3d5ffd5b505050505050565b600b546001600160a01b0316811561183457505f5b61183d84611bd4565b600c5460405163f305d71960e01b8152306004820152602481018690525f6044820181905260648201526001600160a01b0383811660848301524260a48301529091169063f305d71990859060c40160606040518083038185885af11580156118a8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906118cd9190612178565b50505050505050565b600f805461ff001916610100179055305f908152600760205260408120549050600554811015801561190a5750600f5460ff165b1561197d57600654811061191d57506006545b8061192a6009600a611ff6565b81111561193a5761193a816116df565b47801561197a576001546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611978573d5f803e3d5ffd5b505b50505b50600f805461ff0019169055565b600f545f9060019060ff1680156119ba57506001600160a01b0385165f908152600a602052604090205460ff16155b80156119de57506001600160a01b0384165f908152600a602052604090205460ff16155b15610702576003548311156119f457505f610702565b6001600160a01b0384165f908152600e602052604090205460ff16158015611a3f57506004546001600160a01b0385165f90815260076020526040902054611a3d9085906120ae565b115b1561070257505f949350505050565b600f545f90819060ff161580611a7b57506001600160a01b0385165f9081526009602052604090205460ff165b80611a9d57506001600160a01b0384165f9081526009602052604090205460ff165b15611aa957505f610702565b6001600160a01b0385165f908152600e602052604090205460ff1615611b88575f5460025460ff600160b81b8304811692611aef92600160b01b909104909116906120ae565b611af991906120ae565b4310611b29575f54606490611b1890600160c01b900460ff1685612004565b611b22919061208f565b9050610702565b5f54600254611b4291600160b01b900460ff16906120ae565b4310611b61575f54606490611b1890600160a81b900460ff1685612004565b6002544310611b83575f54606490611b1890600160a01b900460ff1685612004565b610702565b6001600160a01b0384165f908152600e602052604090205460ff1615610702575f54606490611bc190600160c81b900460ff1685612004565b611bcb919061208f565b95945050505050565b305f908152600860209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d8452909152902054811115611c7357305f818152600860209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d808552908352928190205f199081905590519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b50565b5f6020808352835180828501525f5b81811015611ca157858101830151858201604001528201611c85565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611c73575f80fd5b5f8060408385031215611ce6575f80fd5b8235611cf181611cc1565b946020939093013593505050565b5f805f60608486031215611d11575f80fd5b8335611d1c81611cc1565b92506020840135611d2c81611cc1565b929592945050506040919091013590565b803560ff81168114611d4d575f80fd5b919050565b80358015158114611d4d575f80fd5b5f8060408385031215611d72575f80fd5b611d7b83611d3d565b9150611d8960208401611d52565b90509250929050565b803561ffff81168114611d4d575f80fd5b5f8060408385031215611db4575f80fd5b611dbd83611d92565b9150611d8960208401611d92565b5f60208284031215611ddb575f80fd5b5035919050565b5f8060408385031215611df3575f80fd5b611dfc83611d3d565b9150611d8960208401611d3d565b5f805f60608486031215611e1c575f80fd5b8335611e2781611cc1565b9250611e3560208501611d52565b9150611e4360408501611d52565b90509250925092565b5f60208284031215611e5c575f80fd5b813561103181611cc1565b803563ffffffff81168114611d4d575f80fd5b5f805f8060808587031215611e8d575f80fd5b611e9685611e67565b9350611ea460208601611e67565b9250611eb260408601611e67565b9150611ec060608601611e67565b905092959194509250565b5f8060408385031215611edc575f80fd5b8235611ee781611cc1565b91506020830135611ef781611cc1565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611f5057815f1904821115611f3657611f36611f02565b80851615611f4357918102915b93841c9390800290611f1b565b509250929050565b5f82611f6657506001610640565b81611f7257505f610640565b8160018114611f885760028114611f9257611fae565b6001915050610640565b60ff841115611fa357611fa3611f02565b50506001821b610640565b5060208310610133831016604e8410600b8410161715611fd1575081810a610640565b611fdb8383611f16565b805f1904821115611fee57611fee611f02565b029392505050565b5f61103160ff841683611f58565b808202811582820484141761064057610640611f02565b60208082526010908201526f2a3930b234b733903737ba1037b832b760811b604082015260600190565b8181038181111561064057610640611f02565b60208082526018908201527f4f6e6c79206f776e65722063616e2063616c6c20746869730000000000000000604082015260600190565b5f826120a957634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561064057610640611f02565b60ff818116838216019081111561064057610640611f02565b5f602082840312156120ea575f80fd5b815161103181611cc1565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156121575784516001600160a01b031683529383019391830191600101612132565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f6060848603121561218a575f80fd5b835192506020840151915060408401519050925092509256fea264697066735822122099fbfff93201ae0416a50aecae59aa36b3524630dab4a81c5327ae6d938751e464736f6c63430008150033

Deployed Bytecode Sourcemap

2727:12554:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5335:80;;;;;;;;;;-1:-1:-1;5407:5:0;;;;;;;;;;;;-1:-1:-1;;;5407:5:0;;;;5335:80;;;;;;;:::i;:::-;;;;;;;;5673:216;;;;;;;;;;-1:-1:-1;5673:216:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5673:216:0;1023:187:1;5065:88:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5065:88:0;1215:177:1;6130:371:0;;;;;;;;;;-1:-1:-1;6130:371:0;;;;;:::i;:::-;;:::i;11295:86::-;;;;;;;;;;-1:-1:-1;11336:5:0;11361:12;-1:-1:-1;;;11361:12:0;;;;11295:86;;;2030:4:1;2018:17;;;2000:36;;1988:2;1973:18;11295:86:0;1858:184:1;14282:563:0;;;;;;;;;;-1:-1:-1;14282:563:0;;;;;:::i;:::-;;:::i;:::-;;5159:80;;;;;;;;;;-1:-1:-1;2803:1:0;5159:80;;12352:462;;;;;;;;;;-1:-1:-1;12352:462:0;;;;;:::i;:::-;;:::i;14853:425::-;;;;;;;;;;-1:-1:-1;14853:425:0;;;;;:::i;:::-;;:::i;12158:90::-;;;;;;;;;;-1:-1:-1;12229:11:0;;12158:90;;11205:84;;;;;;;;;;-1:-1:-1;11245:5:0;11270:11;-1:-1:-1;;;11270:11:0;;;;11205:84;;12254:90;;;;;;;;;;-1:-1:-1;12325:11:0;;12254:90;;11389:183;;;;;;;;;;-1:-1:-1;11389:183:0;;;;;:::i;:::-;;:::i;10947:250::-;;;;;;;;;;-1:-1:-1;10947:250:0;;;;;:::i;:::-;;:::i;10709:110::-;;;;;;;;;;-1:-1:-1;10709:110:0;;;;;:::i;:::-;-1:-1:-1;;;;;10796:15:0;10772:4;10796:15;;;:7;:15;;;;;;;;;10709:110;5421:105;;;;;;;;;;-1:-1:-1;5421:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;5505:18:0;5487:7;5505:18;;;:9;:18;;;;;;;5421:105;2534:137;;;;;;;;;;;;;:::i;11582:101::-;;;;;;;;;;-1:-1:-1;11659:16:0;;-1:-1:-1;;;;;11659:16:0;11582:101;;;-1:-1:-1;;;;;4299:32:1;;;4281:51;;4269:2;4254:18;11582:101:0;4135:203:1;11691:254:0;;;;;;;;;;-1:-1:-1;11691:254:0;;;;;:::i;:::-;;:::i;7818:129::-;;;;;;;;;;;;;:::i;10826:114::-;;;;;;;;;;-1:-1:-1;10826:114:0;;;;;:::i;:::-;-1:-1:-1;;;;;10915:17:0;10891:4;10915:17;;;:9;:17;;;;;;;;;10826:114;2284:81;;;;;;;;;;-1:-1:-1;2322:7:0;2350:6;-1:-1:-1;;;;;2350:6:0;2284:81;;5245:84;;;;;;;;;;-1:-1:-1;5319:7:0;;;;;;;;;;;;-1:-1:-1;;;5319:7:0;;;;5245:84;;12822:436;;;;;;;;;;-1:-1:-1;12822:436:0;;;;;:::i;:::-;;:::i;5897:225::-;;;;;;;;;;-1:-1:-1;5897:225:0;;;;;:::i;:::-;;:::i;12054:96::-;;;;;;;;;;-1:-1:-1;12130:12:0;;12054:96;;5532:133;;;;;;;;;;-1:-1:-1;5532:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5634:19:0;;;5616:7;5634:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5532:133;6834:583;;;:::i;2371:157::-;;;;;;;;;;-1:-1:-1;2371:157:0;;;;;:::i;:::-;;:::i;11953:95::-;;;;;;;;;;-1:-1:-1;12024:16:0;;11953:95;;5673:216;5777:10;5748:4;5765:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5765:32:0;;;;;;;;;;:41;;;5822:37;5748:4;;5765:32;;5822:37;;;;5800:6;1361:25:1;;1349:2;1334:18;;1215:177;5822:37:0;;;;;;;;-1:-1:-1;5877:4:0;5673:216;;;;;:::o;5065:88::-;5120:7;2863:13;2803:1;2863:2;:13;:::i;:::-;2851:26;;:8;:26;:::i;:::-;5131:19;;5065:88;:::o;6130:371::-;6230:4;6255:25;6273:6;6255:17;:25::i;:::-;6247:54;;;;-1:-1:-1;;;6247:54:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;6315:19:0;;;;;;:11;:19;;;;;;;;6335:10;6315:31;;;;;;;;-1:-1:-1;;6315:52:0;6312:124;;-1:-1:-1;;;;;6383:19:0;;;;;;:11;:19;;;;;;;;6403:10;6383:31;;;;;;;:41;;6418:6;;6383:19;:41;;6418:6;;6383:41;:::i;:::-;;;;-1:-1:-1;;6312:124:0;6453:40;6467:6;6475:9;6486:6;6453:13;:40::i;:::-;6446:47;6130:371;-1:-1:-1;;;;6130:371:0:o;14282:563::-;2221:6;;-1:-1:-1;;;;;2221:6:0;2207:10;:20;2199:57;;;;-1:-1:-1;;;2199:57:0;;;;;;;:::i;:::-;4276:10:::1;:17:::0;;-1:-1:-1;;4276:17:0::1;;;::::0;;14420:3:::2;4276:17:::1;14400:23:::0;::::2;;;14392:62;;;::::0;-1:-1:-1;;;14392:62:0;;8291:2:1;14392:62:0::2;::::0;::::2;8273:21:1::0;8330:2;8310:18;;;8303:30;8369:28;8349:18;;;8342:56;8415:18;;14392:62:0::2;8089:350:1::0;14392:62:0::2;14506:4;14465:20;5505:18:::0;;;:9;:18;;;;;;14534:3:::2;::::0;14488:43:::2;::::0;::::2;::::0;::::2;::::0;::::2;:::i;:::-;:49;;;;:::i;:::-;14465:72:::0;-1:-1:-1;14567:15:0::2;2803:1;14567:2;:15;:::i;:::-;14552:12;:30;14548:97;;;14599:34;14620:12;14599:20;:34::i;:::-;14659:7;14655:183;;;14705:21;14749:14:::0;14741:33:::2;;;::::0;-1:-1:-1;;;14741:33:0;;8868:2:1;14741:33:0::2;::::0;::::2;8850:21:1::0;8907:1;8887:18;;;8880:29;-1:-1:-1;;;8925:18:1;;;8918:36;8971:18;;14741:33:0::2;8666:329:1::0;14741:33:0::2;14789:16;::::0;:37:::2;::::0;-1:-1:-1;;;;;14789:16:0;;::::2;::::0;:37;::::2;;;::::0;14815:10;;14789:16:::2;:37:::0;:16;:37;14815:10;14789:16;:37;::::2;;;;;;;;;;;;;::::0;::::2;;;;;;14668:170;14655:183;-1:-1:-1::0;;4318:10:0::1;:18:::0;;-1:-1:-1;;4318:18:0::1;::::0;;-1:-1:-1;14282:563:0:o;12352:462::-;2221:6;;-1:-1:-1;;;;;2221:6:0;2207:10;:20;2199:57;;;;-1:-1:-1;;;2199:57:0;;;;;;;:::i;:::-;12458:16:::1;12517:4;12477:37;::::0;::::1;2863:13;2803:1;2863:2;:13;:::i;:::-;2851:26;::::0;:8:::1;:26;:::i;:::-;12477:37;;;;:::i;:::-;:44;;;;:::i;:::-;:48;::::0;12524:1:::1;12477:48;:::i;:::-;12458:67;;12556:12;;12544:8;:24;;12536:47;;;::::0;-1:-1:-1;;;12536:47:0;;9332:2:1;12536:47:0::1;::::0;::::1;9314:21:1::0;9371:2;9351:18;;;9344:30;-1:-1:-1;;;9390:18:1;;;9383:40;9440:18;;12536:47:0::1;9130:334:1::0;12536:47:0::1;12594:12;:23:::0;;;12628:20:::1;12686:4;12651:32;::::0;::::1;2863:13;2803:1;2863:2;:13;:::i;:::-;2851:26;::::0;:8:::1;:26;:::i;:::-;12651:32;;;;:::i;:::-;:39;;;;:::i;:::-;:43;::::0;12693:1:::1;12651:43;:::i;:::-;12628:66;;12729:16;;12713:12;:32;;12705:59;;;::::0;-1:-1:-1;;;12705:59:0;;9671:2:1;12705:59:0::1;::::0;::::1;9653:21:1::0;9710:2;9690:18;;;9683:30;-1:-1:-1;;;9729:18:1;;;9722:44;9783:18;;12705:59:0::1;9469:338:1::0;12705:59:0::1;12775:16;:31:::0;-1:-1:-1;;;12352:462:0:o;14853:425::-;2221:6;;-1:-1:-1;;;;;2221:6:0;2207:10;:20;2199:57;;;;-1:-1:-1;;;2199:57:0;;;;;;;:::i;:::-;14950:10:::1;14913:24;5505:18:::0;;;:9;:18;;;;;;14980:26;;::::1;;14972:54;;;::::0;-1:-1:-1;;;14972:54:0;;10014:2:1;14972:54:0::1;::::0;::::1;9996:21:1::0;10053:2;10033:18;;;10026:30;-1:-1:-1;;;10072:18:1;;;10065:45;10127:18;;14972:54:0::1;9812:339:1::0;14972:54:0::1;15042:10:::0;;15037:234:::1;;15080:10;15070:21;::::0;;;:9:::1;:21;::::0;;;;:31;;15095:6;;15070:21;:31:::1;::::0;15095:6;;15070:31:::1;:::i;:::-;::::0;;;-1:-1:-1;;15116:21:0::1;::::0;;;:9:::1;:21;::::0;;:31;;15141:6;;15116:21;:31:::1;::::0;15141:6;;15116:31:::1;:::i;:::-;::::0;;;-1:-1:-1;;15167:40:0::1;::::0;1361:25:1;;;15196:1:0::1;::::0;15176:10:::1;::::0;15167:40:::1;::::0;1349:2:1;1334:18;15167:40:0::1;;;;;;;15227:32;::::0;1361:25:1;;;15240:10:0::1;::::0;15227:32:::1;::::0;1349:2:1;1334:18;15227:32:0::1;;;;;;;15037:234;14902:376;14853:425:::0;:::o;11389:183::-;2221:6;;-1:-1:-1;;;;;2221:6:0;2207:10;:20;2199:57;;;;-1:-1:-1;;;2199:57:0;;;;;;;:::i;:::-;11481:2:::1;11467:10;11473:4:::0;11467:3;:10:::1;:::i;:::-;:16;;;;11459:47;;;::::0;-1:-1:-1;;;11459:47:0;;10511:2:1;11459:47:0::1;::::0;::::1;10493:21:1::0;10550:2;10530:18;;;10523:30;-1:-1:-1;;;10569:18:1;;;10562:48;10627:18;;11459:47:0::1;10309:342:1::0;11459:47:0::1;11517:11;:17:::0;;-1:-1:-1;;;;11545:19:0;-1:-1:-1;;;11517:17:0::1;::::0;;::::1;;-1:-1:-1::0;;;;11545:19:0;;-1:-1:-1;;;11545:19:0;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;11389:183::o;10947:250::-;2221:6;;-1:-1:-1;;;;;2221:6:0;2207:10;:20;2199:57;;;;-1:-1:-1;;;2199:57:0;;;;;;;:::i;:::-;11044:8:::1;:18;;;;11056:6;11044:18;11040:72;;;-1:-1:-1::0;;;;;11075:13:0;::::1;;::::0;;;:5:::1;:13;::::0;;;;;::::1;;11074:14;11066:43;;;::::0;-1:-1:-1;;;11066:43:0;;10858:2:1;11066:43:0::1;::::0;::::1;10840:21:1::0;10897:2;10877:18;;;10870:30;-1:-1:-1;;;10916:18:1;;;10909:46;10972:18;;11066:43:0::1;10656:340:1::0;11066:43:0::1;-1:-1:-1::0;;;;;11122:17:0;;::::1;;::::0;;;:7:::1;:17;::::0;;;;;;;:26;;;::::1;;-1:-1:-1::0;;11122:26:0;;::::1;;::::0;;11159:9:::1;:19:::0;;;;;:30;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;10947:250::o;2534:137::-;2221:6;;-1:-1:-1;;;;;2221:6:0;2207:10;:20;2199:57;;;;-1:-1:-1;;;2199:57:0;;;;;;;:::i;:::-;2611:1:::1;2594:19:::0;;-1:-1:-1;;;;;;2594:19:0::1;::::0;;2630:32:::1;::::0;4281:51:1;;;2630:32:0::1;::::0;4269:2:1;4254:18;2630:32:0::1;;;;;;;2534:137::o:0;11691:254::-;2221:6;;-1:-1:-1;;;;;2221:6:0;2207:10;:20;2199:57;;;;-1:-1:-1;;;2199:57:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11771:16:0;::::1;;::::0;;;:5:::1;:16;::::0;;;;;::::1;;11770:17;11762:53;;;::::0;-1:-1:-1;;;11762:53:0;;11203:2:1;11762:53:0::1;::::0;::::1;11185:21:1::0;11242:2;11222:18;;;11215:30;11281:25;11261:18;;;11254:53;11324:18;;11762:53:0::1;11001:347:1::0;11762:53:0::1;11826:16;:37:::0;;-1:-1:-1;;;;;11826:37:0;;::::1;-1:-1:-1::0;;;;;;11826:37:0;;::::1;::::0;::::1;::::0;;:16:::1;11874:18:::0;;;:7:::1;:18;::::0;;;;;;;:25;;-1:-1:-1;;11874:25:0;;::::1;::::0;::::1;::::0;;;11910:9:::1;:20:::0;;;;;;:27;;;;::::1;;::::0;;11691:254::o;7818:129::-;2221:6;;-1:-1:-1;;;;;2221:6:0;2207:10;:20;2199:57;;;;-1:-1:-1;;;2199:57:0;;;;;;;:::i;:::-;7882:12:::1;::::0;::::1;;7881:13;7873:41;;;::::0;-1:-1:-1;;;7873:41:0;;11555:2:1;7873:41:0::1;::::0;::::1;11537:21:1::0;11594:2;11574:18;;;11567:30;-1:-1:-1;;;11613:18:1;;;11606:45;11668:18;;7873:41:0::1;11353:339:1::0;7873:41:0::1;7925:14;7999:12:::0;:19;;-1:-1:-1;;7999:19:0;8014:4;7999:19;;;8044:12;8029;:27;7955:109;7925:14:::1;7818:129::o:0;12822:436::-;2221:6;;-1:-1:-1;;;;;2221:6:0;2207:10;:20;2199:57;;;;-1:-1:-1;;;2199:57:0;;;;;;;:::i;:::-;12958:36:::1;::::0;;::::1;::::0;:23;::::1;2863:13;2803:1;2863:2;:13;:::i;:::-;2851:26;::::0;:8:::1;:26;:::i;:::-;12958:23;;;;:::i;:::-;:36;;;;:::i;:::-;12944:11;:50:::0;13019:36:::1;::::0;;::::1;::::0;:23;::::1;2863:13;2803:1;2863:2;:13;:::i;:::-;2851:26;::::0;:8:::1;:26;:::i;:::-;13019:23;;;;:::i;:::-;:36;;;;:::i;:::-;13005:11;:50:::0;;;13087:11:::1;::::0;-1:-1:-1;13074:24:0::1;13066:50;;;::::0;-1:-1:-1;;;13066:50:0;;11899:2:1;13066:50:0::1;::::0;::::1;11881:21:1::0;11938:2;11918:18;;;11911:30;-1:-1:-1;;;11957:18:1;;;11950:43;12010:18;;13066:50:0::1;11697:337:1::0;13066:50:0::1;13162:6;2863:13;2803:1;2863:2;:13;:::i;:::-;2851:26;::::0;:8:::1;:26;:::i;:::-;13147:21;;;;:::i;:::-;13135:11;;:33;13127:57;;;::::0;-1:-1:-1;;;13127:57:0;;12241:2:1;13127:57:0::1;::::0;::::1;12223:21:1::0;12280:2;12260:18;;;12253:30;-1:-1:-1;;;12299:18:1;;;12292:41;12350:18;;13127:57:0::1;12039:335:1::0;13127:57:0::1;13230:3;2863:13;2803:1;2863:2;:13;:::i;:::-;2851:26;::::0;:8:::1;:26;:::i;:::-;13215:18;;;;:::i;:::-;13203:11;;:30;13195:55;;;::::0;-1:-1:-1;;;13195:55:0;;12581:2:1;13195:55:0::1;::::0;::::1;12563:21:1::0;12620:2;12600:18;;;12593:30;-1:-1:-1;;;12639:18:1;;;12632:42;12691:18;;13195:55:0::1;12379:336:1::0;13195:55:0::1;12822:436:::0;;;;:::o;5897:225::-;5977:4;6002:29;6020:10;6002:17;:29::i;:::-;5994:58;;;;-1:-1:-1;;;5994:58:0;;;;;;;:::i;:::-;6070:44;6084:10;6096:9;6107:6;6070:13;:44::i;:::-;6063:51;5897:225;-1:-1:-1;;;5897:225:0:o;6834:583::-;2221:6;;-1:-1:-1;;;;;2221:6:0;2207:10;:20;2199:57;;;;-1:-1:-1;;;2199:57:0;;;;;;;:::i;:::-;4276:10:::1;:17:::0;;-1:-1:-1;;4276:17:0::1;;;::::0;;6916:10:::2;::::0;-1:-1:-1;;;;;6916:10:0::2;:24:::0;6908:46:::2;;;::::0;-1:-1:-1;;;6908:46:0;;12922:2:1;6908:46:0::2;::::0;::::2;12904:21:1::0;12961:1;12941:18;;;12934:29;-1:-1:-1;;;12979:18:1;;;12972:39;13028:18;;6908:46:0::2;12720:332:1::0;6908:46:0::2;6974:12;::::0;::::2;;6973:13;6965:41;;;::::0;-1:-1:-1;;;6965:41:0;;11555:2:1;6965:41:0::2;::::0;::::2;11537:21:1::0;11594:2;11574:18;;;11567:30;-1:-1:-1;;;11613:18:1;;;11606:45;11668:18;;6965:41:0::2;11353:339:1::0;6965:41:0::2;7037:1;7025:9;:13;:40;;;;7064:1;7042:21;:23;7025:40;7017:82;;;::::0;-1:-1:-1;;;7017:82:0;;13259:2:1;7017:82:0::2;::::0;::::2;13241:21:1::0;13298:2;13278:18;;;13271:30;13337:31;13317:18;;;13310:59;13386:18;;7017:82:0::2;13057:353:1::0;7017:82:0::2;7136:4;7143:1;7118:24:::0;;;:9:::2;:24;::::0;;;;;7110:60:::2;;;::::0;-1:-1:-1;;;7110:60:0;;13617:2:1;7110:60:0::2;::::0;::::2;13599:21:1::0;13656:2;13636:18;;;13629:30;-1:-1:-1;;;13675:18:1;;;13668:51;13736:18;;7110:60:0::2;13415:345:1::0;7110:60:0::2;7212:18;;;;;;;;;-1:-1:-1::0;;;;;7212:18:0::2;-1:-1:-1::0;;;;;7212:26:0::2;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7194:58:0::2;;7261:4;7268:18;;;;;;;;;-1:-1:-1::0;;;;;7268:18:0::2;-1:-1:-1::0;;;;;7268:23:0::2;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7194:100;::::0;-1:-1:-1;;;;;;7194:100:0::2;::::0;;;;;;-1:-1:-1;;;;;14251:15:1;;;7194:100:0::2;::::0;::::2;14233:34:1::0;14303:15;;14283:18;;;14276:43;14168:18;;7194:100:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7181:10;:113:::0;;-1:-1:-1;;;;;;7181:113:0::2;-1:-1:-1::0;;;;;7181:113:0;;;::::2;::::0;;;::::2;::::0;;7337:4:::2;-1:-1:-1::0;7319:24:0;;;:9:::2;:24;::::0;;;;;7305:69:::2;::::0;7345:21:::2;::::0;7305:13:::2;:69::i;:::-;7391:10;::::0;-1:-1:-1;;;;;7391:10:0::2;7385:17;::::0;;;:5:::2;:17;::::0;;;;:24;;-1:-1:-1;;7385:24:0::2;7405:4;7385:24;::::0;;4318:10:::1;:18:::0;;-1:-1:-1;;4318:18:0::1;::::0;;6834:583::o;2371:157::-;2221:6;;-1:-1:-1;;;;;2221:6:0;2207:10;:20;2199:57;;;;-1:-1:-1;;;2199:57:0;;;;;;;:::i;:::-;2455:6:::1;:17:::0;;-1:-1:-1;;;;;;2455:17:0::1;-1:-1:-1::0;;;;;2455:17:0;::::1;::::0;;::::1;::::0;;;2489:30:::1;::::0;4281:51:1;;;2489:30:0::1;::::0;4269:2:1;4254:18;2489:30:0::1;;;;;;;2371:157:::0;:::o;9581:277::-;9702:12;;9646:4;;;;9702:12;;9697:124;;;-1:-1:-1;9733:4:0;9697:124;;;-1:-1:-1;;;;;9760:15:0;;;;;;:7;:15;;;;;;;;:36;;;;-1:-1:-1;;;;;;9779:17:0;;;;;;:9;:17;;;;;;;;9760:36;9756:65;;;-1:-1:-1;9814:4:0;9839:11;9581:277;-1:-1:-1;;9581:277:0:o;8072:934::-;8164:4;-1:-1:-1;;;;;8189:20:0;;8181:62;;;;-1:-1:-1;;;8181:62:0;;14748:2:1;8181:62:0;;;14730:21:1;14787:2;14767:18;;;14760:30;14826:31;14806:18;;;14799:59;14875:18;;8181:62:0;14546:353:1;8181:62:0;8259:12;;;;8254:89;;-1:-1:-1;;;;;8283:15:0;;;;;;:7;:15;;;;;;;;:36;;;;-1:-1:-1;;;;;;8302:17:0;;;;;;:9;:17;;;;;;;;8283:36;8275:65;;;;-1:-1:-1;;;8275:65:0;;;;;;;:::i;:::-;8359:10;;;;;;;8358:11;:31;;;;-1:-1:-1;;;;;;8373:16:0;;;;;;:5;:16;;;;;;;;8358:31;8353:64;;;8394:20;:18;:20::i;:::-;-1:-1:-1;;;;;8442:23:0;;8460:4;8442:23;;;;:53;;-1:-1:-1;;;;;;8469:26:0;;8490:4;8469:26;;8442:53;:73;;;;-1:-1:-1;8509:6:0;;-1:-1:-1;;;;;8499:16:0;;;8509:6;;8499:16;;8442:73;8437:179;;;8542:39;8555:6;8563:9;8574:6;8542:12;:39::i;:::-;8534:69;;;;-1:-1:-1;;;8534:69:0;;15106:2:1;8534:69:0;;;15088:21:1;15145:2;15125:18;;;15118:30;-1:-1:-1;;;15164:18:1;;;15157:47;15221:18;;8534:69:0;14904:341:1;8534:69:0;8626:18;8647:40;8661:6;8669:9;8680:6;8647:13;:40::i;:::-;8626:61;-1:-1:-1;8698:23:0;8724:19;8626:61;8724:6;:19;:::i;:::-;-1:-1:-1;;;;;8774:17:0;;;;;;:9;:17;;;;;;8698:45;;-1:-1:-1;8774:26:0;;8794:6;;8774:26;:::i;:::-;-1:-1:-1;;;;;8754:17:0;;;;;;:9;:17;;;;;:46;8816:14;;8811:65;;8853:4;8835:24;;;;:9;:24;;;;;:38;;8863:10;;8835:24;:38;;8863:10;;8835:38;:::i;:::-;;;;-1:-1:-1;;8811:65:0;-1:-1:-1;;;;;8886:20:0;;;;;;:9;:20;;;;;:39;;8910:15;;8886:20;:39;;8910:15;;8886:39;:::i;:::-;;;;;;;;8958:9;-1:-1:-1;;;;;8941:35:0;8950:6;-1:-1:-1;;;;;8941:35:0;;8969:6;8941:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;8941:35:0;;;;;;;;-1:-1:-1;8994:4:0;;8072:934;-1:-1:-1;;;;;8072:934:0:o;13910:364::-;13977:24;13992:8;13977:14;:24::i;:::-;14040:16;;;14054:1;14040:16;;;;;;;;14012:25;;14040:16;;;;;;;;;;-1:-1:-1;14040:16:0;14012:44;;14089:4;14067:8;14076:1;14067:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14067:27:0;;;:11;;;;;;;;;;:27;;;;14110:18;;:25;;;-1:-1:-1;;;14110:25:0;;;;:18;;;;;:23;;:25;;;;;14067:11;;14110:25;;;;;:18;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14096:8;14105:1;14096:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14096:39:0;;;:11;;;;;;;;;:39;14146:18;;:120;;-1:-1:-1;;;14146:120:0;;:18;;;:69;;:120;;14216:8;;14146:18;;14227:8;;14244:4;;14250:15;;14146:120;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13966:308;13910:364;:::o;7425:385::-;7555:8;;-1:-1:-1;;;;;7555:8:0;7574:50;;;;-1:-1:-1;7619:1:0;7574:50;7634:28;7649:12;7634:14;:28::i;:::-;7673:18;;:129;;-1:-1:-1;;;7673:129:0;;7740:4;7673:129;;;16840:34:1;16890:18;;;16883:34;;;7673:18:0;16933::1;;;16926:34;;;16976:18;;;16969:34;-1:-1:-1;;;;;17040:15:1;;;17019:19;;;17012:44;7785:15:0;17072:19:1;;;17065:35;7673:18:0;;;;:34;;7715:13;;16774:19:1;;7673:129:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7517:293;7425:385;;;:::o;13266:636::-;4276:10;:17;;-1:-1:-1;;4276:17:0;;;;;13375:4:::1;-1:-1:-1::0;5505:18:0;;;:9;:18;;;;;;13327:54:::1;;13422:11;;13399:19;:34;;:50;;;;-1:-1:-1::0;13437:12:0::1;::::0;::::1;;13399:50;13394:501;;;13495:11;;13472:19;:34;13467:80;;-1:-1:-1::0;13533:11:0::1;::::0;13467:80:::1;13585:19:::0;13639:13:::1;2803:1;13639:2;:13;:::i;:::-;13623;:29;13619:106;;;13674:35;13695:13;13674:20;:35::i;:::-;13769:21;13808:23:::0;;13805:79:::1;;13835:16;::::0;:46:::1;::::0;-1:-1:-1;;;;;13835:16:0;;::::1;::::0;:46;::::1;;;::::0;13861:19;;13835:16:::1;:46:::0;:16;:46;13861:19;13835:16;:46;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13805:79;13452:443;;13394:501;-1:-1:-1::0;4318:10:0;:18;;-1:-1:-1;;4318:18:0;;;13266:636::o;9014:559::-;9179:12;;9118:4;;9159;;9179:12;;:34;;;;-1:-1:-1;;;;;;9196:17:0;;;;;;:9;:17;;;;;;;;9195:18;9179:34;:59;;;;-1:-1:-1;;;;;;9218:20:0;;;;;;:9;:20;;;;;;;;9217:21;9179:59;9174:358;;;9278:12;;9261:14;:29;9256:265;;;-1:-1:-1;9332:5:0;9256:265;;;-1:-1:-1;;;;;9379:16:0;;;;;;:5;:16;;;;;;;;9378:17;:79;;;;-1:-1:-1;9440:16:0;;-1:-1:-1;;;;;9400:20:0;;;;;;:9;:20;;;;;;:37;;9423:14;;9400:37;:::i;:::-;:56;9378:79;9373:148;;;-1:-1:-1;9499:5:0;9549:16;9014:559;-1:-1:-1;;;;9014:559:0:o;9866:835::-;10017:12;;9963:7;;;;10017:12;;10016:13;;:32;;-1:-1:-1;;;;;;10033:15:0;;;;;;:7;:15;;;;;;;;10016:32;:54;;;-1:-1:-1;;;;;;10052:18:0;;;;;;:7;:18;;;;;;;;10016:54;10011:656;;;-1:-1:-1;10101:1:0;10011:656;;;-1:-1:-1;;;;;10126:13:0;;;;;;:5;:13;;;;;;;;10121:546;;;10213:16;;10179:12;;10213:16;-1:-1:-1;;;10213:16:0;;;;;10179:31;;-1:-1:-1;;;10194:16:0;;;;;;;10179:31;:::i;:::-;:50;;;;:::i;:::-;10163:12;:66;10158:400;;10272:11;;10286:3;;10263:20;;-1:-1:-1;;;10272:11:0;;;;10263:6;:20;:::i;:::-;:26;;;;:::i;:::-;10251:38;;10121:546;;10158:400;10348:16;;10333:12;;:31;;-1:-1:-1;;;10348:16:0;;;;;10333:31;:::i;:::-;10317:12;:47;10312:246;;10407:13;;10423:3;;10398:22;;-1:-1:-1;;;10407:13:0;;;;10398:6;:22;:::i;10312:246::-;10469:12;;10453;:28;10448:110;;10523:13;;10539:3;;10514:22;;-1:-1:-1;;;10523:13:0;;;;10514:6;:22;:::i;10448:110::-;10121:546;;;-1:-1:-1;;;;;10580:16:0;;;;;;:5;:16;;;;;;;;10575:92;;;10636:12;;10651:3;;10627:21;;-1:-1:-1;;;10636:12:0;;;;10627:6;:21;:::i;:::-;:27;;;;:::i;:::-;10615:39;9866:835;-1:-1:-1;;;;;9866:835:0:o;6509:317::-;6600:4;6580:26;;;;:11;:26;;;;;;;;3947:42;6580:46;;;;;;;;:61;-1:-1:-1;6575:244:0;;;6679:4;6659:26;;;;:11;:26;;;;;;;;3947:42;6659:46;;;;;;;;;;-1:-1:-1;;6659:66:0;;;;6745:62;;1361:25:1;;;3947:42:0;;6679:4;6745:62;;1334:18:1;6745:62:0;;;;;;;6575:244;6509:317;:::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:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:156::-;2113:20;;2173:4;2162:16;;2152:27;;2142:55;;2193:1;2190;2183:12;2142:55;2047:156;;;:::o;2208:160::-;2273:20;;2329:13;;2322:21;2312:32;;2302:60;;2358:1;2355;2348:12;2373:250;2436:6;2444;2497:2;2485:9;2476:7;2472:23;2468:32;2465:52;;;2513:1;2510;2503:12;2465:52;2536:27;2553:9;2536:27;:::i;:::-;2526:37;;2582:35;2613:2;2602:9;2598:18;2582:35;:::i;:::-;2572:45;;2373:250;;;;;:::o;2628:159::-;2695:20;;2755:6;2744:18;;2734:29;;2724:57;;2777:1;2774;2767:12;2792:256;2858:6;2866;2919:2;2907:9;2898:7;2894:23;2890:32;2887:52;;;2935:1;2932;2925:12;2887:52;2958:28;2976:9;2958:28;:::i;:::-;2948:38;;3005:37;3038:2;3027:9;3023:18;3005:37;:::i;3053:180::-;3112:6;3165:2;3153:9;3144:7;3140:23;3136:32;3133:52;;;3181:1;3178;3171:12;3133:52;-1:-1:-1;3204:23:1;;3053:180;-1:-1:-1;3053:180:1:o;3238:252::-;3302:6;3310;3363:2;3351:9;3342:7;3338:23;3334:32;3331:52;;;3379:1;3376;3369:12;3331:52;3402:27;3419:9;3402:27;:::i;:::-;3392:37;;3448:36;3480:2;3469:9;3465:18;3448:36;:::i;3495:383::-;3566:6;3574;3582;3635:2;3623:9;3614:7;3610:23;3606:32;3603:52;;;3651:1;3648;3641:12;3603:52;3690:9;3677:23;3709:31;3734:5;3709:31;:::i;:::-;3759:5;-1:-1:-1;3783:35:1;3814:2;3799:18;;3783:35;:::i;:::-;3773:45;;3837:35;3868:2;3857:9;3853:18;3837:35;:::i;:::-;3827:45;;3495:383;;;;;:::o;3883:247::-;3942:6;3995:2;3983:9;3974:7;3970:23;3966:32;3963:52;;;4011:1;4008;4001:12;3963:52;4050:9;4037:23;4069:31;4094:5;4069:31;:::i;4343:163::-;4410:20;;4470:10;4459:22;;4449:33;;4439:61;;4496:1;4493;4486:12;4511:401;4593:6;4601;4609;4617;4670:3;4658:9;4649:7;4645:23;4641:33;4638:53;;;4687:1;4684;4677:12;4638:53;4710:28;4728:9;4710:28;:::i;:::-;4700:38;;4757:37;4790:2;4779:9;4775:18;4757:37;:::i;:::-;4747:47;;4813:37;4846:2;4835:9;4831:18;4813:37;:::i;:::-;4803:47;;4869:37;4902:2;4891:9;4887:18;4869:37;:::i;:::-;4859:47;;4511:401;;;;;;;:::o;4917:388::-;4985:6;4993;5046:2;5034:9;5025:7;5021:23;5017:32;5014:52;;;5062:1;5059;5052:12;5014:52;5101:9;5088:23;5120:31;5145:5;5120:31;:::i;:::-;5170:5;-1:-1:-1;5227:2:1;5212:18;;5199:32;5240:33;5199:32;5240:33;:::i;:::-;5292:7;5282:17;;;4917:388;;;;;:::o;5570:127::-;5631:10;5626:3;5622:20;5619:1;5612:31;5662:4;5659:1;5652:15;5686:4;5683:1;5676:15;5702:422;5791:1;5834:5;5791:1;5848:270;5869:7;5859:8;5856:21;5848:270;;;5928:4;5924:1;5920:6;5916:17;5910:4;5907:27;5904:53;;;5937:18;;:::i;:::-;5987:7;5977:8;5973:22;5970:55;;;6007:16;;;;5970:55;6086:22;;;;6046:15;;;;5848:270;;;5852:3;5702:422;;;;;:::o;6129:806::-;6178:5;6208:8;6198:80;;-1:-1:-1;6249:1:1;6263:5;;6198:80;6297:4;6287:76;;-1:-1:-1;6334:1:1;6348:5;;6287:76;6379:4;6397:1;6392:59;;;;6465:1;6460:130;;;;6372:218;;6392:59;6422:1;6413:10;;6436:5;;;6460:130;6497:3;6487:8;6484:17;6481:43;;;6504:18;;:::i;:::-;-1:-1:-1;;6560:1:1;6546:16;;6575:5;;6372:218;;6674:2;6664:8;6661:16;6655:3;6649:4;6646:13;6642:36;6636:2;6626:8;6623:16;6618:2;6612:4;6609:12;6605:35;6602:77;6599:159;;;-1:-1:-1;6711:19:1;;;6743:5;;6599:159;6790:34;6815:8;6809:4;6790:34;:::i;:::-;6860:6;6856:1;6852:6;6848:19;6839:7;6836:32;6833:58;;;6871:18;;:::i;:::-;6909:20;;6129:806;-1:-1:-1;;;6129:806:1:o;6940:140::-;6998:5;7027:47;7068:4;7058:8;7054:19;7048:4;7027:47;:::i;7085:168::-;7158:9;;;7189;;7206:15;;;7200:22;;7186:37;7176:71;;7227:18;;:::i;7258:340::-;7460:2;7442:21;;;7499:2;7479:18;;;7472:30;-1:-1:-1;;;7533:2:1;7518:18;;7511:46;7589:2;7574:18;;7258:340::o;7603:128::-;7670:9;;;7691:11;;;7688:37;;;7705:18;;:::i;7736:348::-;7938:2;7920:21;;;7977:2;7957:18;;;7950:30;8016:26;8011:2;7996:18;;7989:54;8075:2;8060:18;;7736:348::o;8444:217::-;8484:1;8510;8500:132;;8554:10;8549:3;8545:20;8542:1;8535:31;8589:4;8586:1;8579:15;8617:4;8614:1;8607:15;8500:132;-1:-1:-1;8646:9:1;;8444:217::o;9000:125::-;9065:9;;;9086:10;;;9083:36;;;9099:18;;:::i;10156:148::-;10244:4;10223:12;;;10237;;;10219:31;;10262:13;;10259:39;;;10278:18;;:::i;13765:251::-;13835:6;13888:2;13876:9;13867:7;13863:23;13859:32;13856:52;;;13904:1;13901;13894:12;13856:52;13936:9;13930:16;13955:31;13980:5;13955:31;:::i;15382:127::-;15443:10;15438:3;15434:20;15431:1;15424:31;15474:4;15471:1;15464:15;15498:4;15495:1;15488:15;15514:980;15776:4;15824:3;15813:9;15809:19;15855:6;15844:9;15837:25;15881:2;15919:6;15914:2;15903:9;15899:18;15892:34;15962:3;15957:2;15946:9;15942:18;15935:31;15986:6;16021;16015:13;16052:6;16044;16037:22;16090:3;16079:9;16075:19;16068:26;;16129:2;16121:6;16117:15;16103:29;;16150:1;16160:195;16174:6;16171:1;16168:13;16160:195;;;16239:13;;-1:-1:-1;;;;;16235:39:1;16223:52;;16330:15;;;;16295:12;;;;16271:1;16189:9;16160:195;;;-1:-1:-1;;;;;;;16411:32:1;;;;16406:2;16391:18;;16384:60;-1:-1:-1;;;16475:3:1;16460:19;16453:35;16372:3;15514:980;-1:-1:-1;;;15514:980:1:o;17111:306::-;17199:6;17207;17215;17268:2;17256:9;17247:7;17243:23;17239:32;17236:52;;;17284:1;17281;17274:12;17236:52;17313:9;17307:16;17297:26;;17363:2;17352:9;17348:18;17342:25;17332:35;;17407:2;17396:9;17392:18;17386:25;17376:35;;17111:306;;;;;:::o

Swarm Source

ipfs://99fbfff93201ae0416a50aecae59aa36b3524630dab4a81c5327ae6d938751e4

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.