ETH Price: $3,258.98 (-4.59%)
Gas: 11 Gwei

Contract

0xa14694c0dD2246fa21080f19A60d524F42749b39
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve195219722024-03-26 23:53:4798 days ago1711497227IN
0xa14694c0...F42749b39
0 ETH0.0007356230.2949077
Approve192531712024-02-18 7:21:11136 days ago1708240871IN
0xa14694c0...F42749b39
0 ETH0.0004775419.61830389
Approve174687692023-06-13 4:41:47386 days ago1686631307IN
0xa14694c0...F42749b39
0 ETH0.0003501614.42071867
Approve172380772023-05-11 15:44:59419 days ago1683819899IN
0xa14694c0...F42749b39
0 ETH0.00496013106.5183515
Approve172376242023-05-11 14:12:11419 days ago1683814331IN
0xa14694c0...F42749b39
0 ETH0.00619024132.93483474
Approve172104902023-05-07 18:38:23423 days ago1683484703IN
0xa14694c0...F42749b39
0 ETH0.00604574129.83179118
Approve172101172023-05-07 17:22:35423 days ago1683480155IN
0xa14694c0...F42749b39
0 ETH0.00609582130.90713189
Approve172078652023-05-07 9:46:11423 days ago1683452771IN
0xa14694c0...F42749b39
0 ETH0.0039191484.05484704
Approve171922562023-05-05 5:08:23425 days ago1683263303IN
0xa14694c0...F42749b39
0 ETH0.0039107683.9833109
Approve171912272023-05-05 1:40:47425 days ago1683250847IN
0xa14694c0...F42749b39
0 ETH0.00467386101.0477241
Approve171793012023-05-03 9:26:47427 days ago1683106007IN
0xa14694c0...F42749b39
0 ETH0.0024604152.83711989
Approve171771842023-05-03 2:16:47427 days ago1683080207IN
0xa14694c0...F42749b39
0 ETH0.0036794979.44679786
Approve171766072023-05-03 0:20:35427 days ago1683073235IN
0xa14694c0...F42749b39
0 ETH0.0038789883.30075219
Approve171706542023-05-02 4:14:47428 days ago1683000887IN
0xa14694c0...F42749b39
0 ETH0.0029780663.95355271
Approve171665762023-05-01 14:29:23429 days ago1682951363IN
0xa14694c0...F42749b39
0 ETH0.00297284100.89070873
Approve171638762023-05-01 5:23:11429 days ago1682918591IN
0xa14694c0...F42749b39
0 ETH0.0023252549.93458069
Approve171635462023-05-01 4:16:23429 days ago1682914583IN
0xa14694c0...F42749b39
0 ETH0.0039713585.28438634
Approve171631572023-05-01 2:57:11429 days ago1682909831IN
0xa14694c0...F42749b39
0 ETH0.0022596548.85325208
Approve171624232023-05-01 0:27:47429 days ago1682900867IN
0xa14694c0...F42749b39
0 ETH0.0018634840.01820618
Approve171623402023-05-01 0:11:11429 days ago1682899871IN
0xa14694c0...F42749b39
0 ETH0.0017113937
Approve171622452023-04-30 23:51:35429 days ago1682898695IN
0xa14694c0...F42749b39
0 ETH0.0017943938.53447324
Approve171596832023-04-30 15:13:35430 days ago1682867615IN
0xa14694c0...F42749b39
0 ETH0.0031826968.3479754
Approve171581782023-04-30 10:09:59430 days ago1682849399IN
0xa14694c0...F42749b39
0 ETH0.0015976934.31026923
Approve171576412023-04-30 8:21:11430 days ago1682842871IN
0xa14694c0...F42749b39
0 ETH0.0015429233.13406639
Approve171572242023-04-30 6:57:23430 days ago1682837843IN
0xa14694c0...F42749b39
0 ETH0.0015297532.80910363
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
172497572023-05-13 8:04:35417 days ago1683965075
0xa14694c0...F42749b39
0.03126916 ETH
172497572023-05-13 8:04:35417 days ago1683965075
0xa14694c0...F42749b39
0.03126916 ETH
172078702023-05-07 9:47:11423 days ago1683452831
0xa14694c0...F42749b39
0.03585087 ETH
172078702023-05-07 9:47:11423 days ago1683452831
0xa14694c0...F42749b39
0.03585087 ETH
171766122023-05-03 0:21:35427 days ago1683073295
0xa14694c0...F42749b39
0.03943834 ETH
171766122023-05-03 0:21:35427 days ago1683073295
0xa14694c0...F42749b39
0.03943834 ETH
171675132023-05-01 17:38:59429 days ago1682962739
0xa14694c0...F42749b39
0.04611016 ETH
171675132023-05-01 17:38:59429 days ago1682962739
0xa14694c0...F42749b39
0.04611016 ETH
171631592023-05-01 2:57:47429 days ago1682909867
0xa14694c0...F42749b39
0.13102724 ETH
171631592023-05-01 2:57:47429 days ago1682909867
0xa14694c0...F42749b39
0.13102724 ETH
171481482023-04-29 0:19:47431 days ago1682727587
0xa14694c0...F42749b39
0.05388504 ETH
171481482023-04-29 0:19:47431 days ago1682727587
0xa14694c0...F42749b39
0.05388504 ETH
171462322023-04-28 17:52:47432 days ago1682704367
0xa14694c0...F42749b39
0.1427873 ETH
171462322023-04-28 17:52:47432 days ago1682704367
0xa14694c0...F42749b39
0.1427873 ETH
171450552023-04-28 13:55:35432 days ago1682690135
0xa14694c0...F42749b39
0.0961657 ETH
171450552023-04-28 13:55:35432 days ago1682690135
0xa14694c0...F42749b39
0.0961657 ETH
171408962023-04-27 23:53:23432 days ago1682639603
0xa14694c0...F42749b39
0.10885313 ETH
171408962023-04-27 23:53:23432 days ago1682639603
0xa14694c0...F42749b39
0.10885313 ETH
171396772023-04-27 19:45:59433 days ago1682624759
0xa14694c0...F42749b39
0.11717128 ETH
171396772023-04-27 19:45:59433 days ago1682624759
0xa14694c0...F42749b39
0.11717128 ETH
171384282023-04-27 15:33:11433 days ago1682609591
0xa14694c0...F42749b39
0.15546864 ETH
171384282023-04-27 15:33:11433 days ago1682609591
0xa14694c0...F42749b39
0.15546864 ETH
171361432023-04-27 7:49:35433 days ago1682581775
0xa14694c0...F42749b39
0.25589846 ETH
171361432023-04-27 7:49:35433 days ago1682581775
0xa14694c0...F42749b39
0.25589846 ETH
171344552023-04-27 2:08:59433 days ago1682561339
0xa14694c0...F42749b39
0.33036375 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EtherHeads

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-25
*/

//SPDX-License-Identifier: MIT

/**
Etherheads is a truly 3D web3 brand and culture benefiting all the like-minded etherheads. 

Telegram: https://t.me/Etherheads
Website: https://www.etherheads.xyz
Twitter: https://twitter.com/tehetherheads/

 */

pragma solidity ^0.8.9;

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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);
    }

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

}

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

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract EtherHeads is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "EtherHeads";
    string private constant _symbol = "ETHEAD";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 10000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 15;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 25;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;
    address payable private _developmentAddress = payable(0x0301E43Eb025f82D8c1ba92C53d3c97E0189e1c8);
    address payable private _marketingAddress = payable(0x0301E43Eb025f82D8c1ba92C53d3c97E0189e1c8);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = true;
    bool private inSwap = false;
    bool private swapEnabled = true;

    //2% max wallet and max transaction
    uint256 public _maxTxAmount = 200000 * 10**9;
    uint256 public _maxWalletSize = 200000 * 10**9;
    uint256 public _swapTokensAtAmount = 50000 * 10**9;

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

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = 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 tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

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

        if (from != owner() && to != owner()) {

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

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

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

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

     function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }


    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

}

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":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","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":"_swapTokensAtAmount","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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","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":"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":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405262000019662386f26fc1000060001962000391565b6200002790600019620003b4565b60065560006008819055600f6009819055600a8290556019600b819055600c839055600d819055600e929092555560128054730301e43eb025f82d8c1ba92c53d3c97e0189e1c86001600160a01b031991821681179092556013805490911690911790556015805462ffffff60a01b19166201000160a01b17905565b5e620f480006016819055601755652d79883d2000601855348015620000c857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200018157600080fd5b505afa15801562000196573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bc9190620003da565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020557600080fd5b505afa1580156200021a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002409190620003da565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200028957600080fd5b505af11580156200029e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c49190620003da565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef662386f26fc100006040516200038291815260200190565b60405180910390a3506200040c565b600082620003af57634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620003d557634e487b7160e01b600052601160045260246000fd5b500390565b600060208284031215620003ed57600080fd5b81516001600160a01b03811681146200040557600080fd5b9392505050565b611db5806200041c6000396000f3fe6080604052600436106101c55760003560e01c8063751039fc116100f757806398a5c31511610095578063c3c8cd8011610064578063c3c8cd801461052b578063c492f04614610540578063dd62ed3e14610560578063f2fde38b146105a657600080fd5b806398a5c3151461049b578063a2a957bb146104bb578063a9059cbb146104db578063bfd79284146104fb57600080fd5b80638da5cb5b116100d15780638da5cb5b146104185780638f70ccf7146104365780638f9a55c01461045657806395d89b411461046c57600080fd5b8063751039fc146103c05780637d1db4a5146103d55780637f2feddc146103eb57600080fd5b8063313ce567116101645780636d8aa8f81161013e5780636d8aa8f8146103565780636fc3eaec1461037657806370a082311461038b578063715018a6146103ab57600080fd5b8063313ce567146102fa57806349bd5a5e146103165780636b9990531461033657600080fd5b80631694505e116101a05780631694505e1461026857806318160ddd146102a057806323b872dd146102c45780632fd689e3146102e457600080fd5b8062b8cf2a146101d157806306fdde03146101f3578063095ea7b31461023857600080fd5b366101cc57005b600080fd5b3480156101dd57600080fd5b506101f16101ec366004611906565b6105c6565b005b3480156101ff57600080fd5b5060408051808201909152600a8152694574686572486561647360b01b60208201525b60405161022f91906119cb565b60405180910390f35b34801561024457600080fd5b50610258610253366004611a20565b610665565b604051901515815260200161022f565b34801561027457600080fd5b50601454610288906001600160a01b031681565b6040516001600160a01b03909116815260200161022f565b3480156102ac57600080fd5b50662386f26fc100005b60405190815260200161022f565b3480156102d057600080fd5b506102586102df366004611a4c565b61067c565b3480156102f057600080fd5b506102b660185481565b34801561030657600080fd5b506040516009815260200161022f565b34801561032257600080fd5b50601554610288906001600160a01b031681565b34801561034257600080fd5b506101f1610351366004611a8d565b6106e5565b34801561036257600080fd5b506101f1610371366004611aba565b610730565b34801561038257600080fd5b506101f1610778565b34801561039757600080fd5b506102b66103a6366004611a8d565b6107c3565b3480156103b757600080fd5b506101f16107e5565b3480156103cc57600080fd5b506101f1610859565b3480156103e157600080fd5b506102b660165481565b3480156103f757600080fd5b506102b6610406366004611a8d565b60116020526000908152604090205481565b34801561042457600080fd5b506000546001600160a01b0316610288565b34801561044257600080fd5b506101f1610451366004611aba565b610895565b34801561046257600080fd5b506102b660175481565b34801561047857600080fd5b5060408051808201909152600681526511551211505160d21b6020820152610222565b3480156104a757600080fd5b506101f16104b6366004611ad5565b6108dd565b3480156104c757600080fd5b506101f16104d6366004611aee565b61090c565b3480156104e757600080fd5b506102586104f6366004611a20565b61094a565b34801561050757600080fd5b50610258610516366004611a8d565b60106020526000908152604090205460ff1681565b34801561053757600080fd5b506101f1610957565b34801561054c57600080fd5b506101f161055b366004611b20565b6109ab565b34801561056c57600080fd5b506102b661057b366004611ba4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105b257600080fd5b506101f16105c1366004611a8d565b610a4c565b6000546001600160a01b031633146105f95760405162461bcd60e51b81526004016105f090611bdd565b60405180910390fd5b60005b81518110156106615760016010600084848151811061061d5761061d611c12565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061065981611c3e565b9150506105fc565b5050565b6000610672338484610b36565b5060015b92915050565b6000610689848484610c5a565b6106db84336106d685604051806060016040528060288152602001611d58602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611196565b610b36565b5060019392505050565b6000546001600160a01b0316331461070f5760405162461bcd60e51b81526004016105f090611bdd565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b0316331461075a5760405162461bcd60e51b81526004016105f090611bdd565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107ad57506013546001600160a01b0316336001600160a01b0316145b6107b657600080fd5b476107c0816111d0565b50565b6001600160a01b0381166000908152600260205260408120546106769061120a565b6000546001600160a01b0316331461080f5760405162461bcd60e51b81526004016105f090611bdd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108835760405162461bcd60e51b81526004016105f090611bdd565b662386f26fc100006016819055601755565b6000546001600160a01b031633146108bf5760405162461bcd60e51b81526004016105f090611bdd565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109075760405162461bcd60e51b81526004016105f090611bdd565b601855565b6000546001600160a01b031633146109365760405162461bcd60e51b81526004016105f090611bdd565b600893909355600a91909155600955600b55565b6000610672338484610c5a565b6012546001600160a01b0316336001600160a01b0316148061098c57506013546001600160a01b0316336001600160a01b0316145b61099557600080fd5b60006109a0306107c3565b90506107c08161128e565b6000546001600160a01b031633146109d55760405162461bcd60e51b81526004016105f090611bdd565b60005b82811015610a465781600560008686858181106109f7576109f7611c12565b9050602002016020810190610a0c9190611a8d565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a3e81611c3e565b9150506109d8565b50505050565b6000546001600160a01b03163314610a765760405162461bcd60e51b81526004016105f090611bdd565b6001600160a01b038116610adb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105f0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610b985760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105f0565b6001600160a01b038216610bf95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105f0565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cbe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105f0565b6001600160a01b038216610d205760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105f0565b60008111610d825760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105f0565b6000546001600160a01b03848116911614801590610dae57506000546001600160a01b03838116911614155b1561108f57601554600160a01b900460ff16610e47576000546001600160a01b03848116911614610e475760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016105f0565b601654811115610e995760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016105f0565b6001600160a01b03831660009081526010602052604090205460ff16158015610edb57506001600160a01b03821660009081526010602052604090205460ff16155b610f335760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016105f0565b6015546001600160a01b03838116911614610fb85760175481610f55846107c3565b610f5f9190611c59565b10610fb85760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016105f0565b6000610fc3306107c3565b601854601654919250821015908210610fdc5760165491505b808015610ff35750601554600160a81b900460ff16155b801561100d57506015546001600160a01b03868116911614155b80156110225750601554600160b01b900460ff165b801561104757506001600160a01b03851660009081526005602052604090205460ff16155b801561106c57506001600160a01b03841660009081526005602052604090205460ff16155b1561108c5761107a8261128e565b47801561108a5761108a476111d0565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806110d157506001600160a01b03831660009081526005602052604090205460ff165b8061110357506015546001600160a01b0385811691161480159061110357506015546001600160a01b03848116911614155b156111105750600061118a565b6015546001600160a01b03858116911614801561113b57506014546001600160a01b03848116911614155b1561114d57600854600c55600954600d555b6015546001600160a01b03848116911614801561117857506014546001600160a01b03858116911614155b1561118a57600a54600c55600b54600d555b610a4684848484611417565b600081848411156111ba5760405162461bcd60e51b81526004016105f091906119cb565b5060006111c78486611c71565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610661573d6000803e3d6000fd5b60006006548211156112715760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105f0565b600061127b611445565b90506112878382611468565b9392505050565b6015805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112d6576112d6611c12565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561132a57600080fd5b505afa15801561133e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113629190611c88565b8160018151811061137557611375611c12565b6001600160a01b03928316602091820292909201015260145461139b9130911684610b36565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906113d4908590600090869030904290600401611ca5565b600060405180830381600087803b1580156113ee57600080fd5b505af1158015611402573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b80611424576114246114aa565b61142f8484846114d8565b80610a4657610a46600e54600c55600f54600d55565b60008060006114526115cf565b90925090506114618282611468565b9250505090565b600061128783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061160d565b600c541580156114ba5750600d54155b156114c157565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806114ea8761163b565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061151c9087611698565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461154b90866116da565b6001600160a01b03891660009081526002602052604090205561156d81611739565b6115778483611783565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115bc91815260200190565b60405180910390a3505050505050505050565b6006546000908190662386f26fc100006115e98282611468565b82101561160457505060065492662386f26fc1000092509050565b90939092509050565b6000818361162e5760405162461bcd60e51b81526004016105f091906119cb565b5060006111c78486611d16565b60008060008060008060008060006116588a600c54600d546117a7565b9250925092506000611668611445565b9050600080600061167b8e8787876117fc565b919e509c509a509598509396509194505050505091939550919395565b600061128783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611196565b6000806116e78385611c59565b9050838110156112875760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105f0565b6000611743611445565b90506000611751838361184c565b3060009081526002602052604090205490915061176e90826116da565b30600090815260026020526040902055505050565b6006546117909083611698565b6006556007546117a090826116da565b6007555050565b60008080806117c160646117bb898961184c565b90611468565b905060006117d460646117bb8a8961184c565b905060006117ec826117e68b86611698565b90611698565b9992985090965090945050505050565b600080808061180b888661184c565b90506000611819888761184c565b90506000611827888861184c565b90506000611839826117e68686611698565b939b939a50919850919650505050505050565b60008261185b57506000610676565b60006118678385611d38565b9050826118748583611d16565b146112875760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105f0565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107c057600080fd5b8035611901816118e1565b919050565b6000602080838503121561191957600080fd5b823567ffffffffffffffff8082111561193157600080fd5b818501915085601f83011261194557600080fd5b813581811115611957576119576118cb565b8060051b604051601f19603f8301168101818110858211171561197c5761197c6118cb565b60405291825284820192508381018501918883111561199a57600080fd5b938501935b828510156119bf576119b0856118f6565b8452938501939285019261199f565b98975050505050505050565b600060208083528351808285015260005b818110156119f8578581018301518582016040015282016119dc565b81811115611a0a576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611a3357600080fd5b8235611a3e816118e1565b946020939093013593505050565b600080600060608486031215611a6157600080fd5b8335611a6c816118e1565b92506020840135611a7c816118e1565b929592945050506040919091013590565b600060208284031215611a9f57600080fd5b8135611287816118e1565b8035801515811461190157600080fd5b600060208284031215611acc57600080fd5b61128782611aaa565b600060208284031215611ae757600080fd5b5035919050565b60008060008060808587031215611b0457600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611b3557600080fd5b833567ffffffffffffffff80821115611b4d57600080fd5b818601915086601f830112611b6157600080fd5b813581811115611b7057600080fd5b8760208260051b8501011115611b8557600080fd5b602092830195509350611b9b9186019050611aaa565b90509250925092565b60008060408385031215611bb757600080fd5b8235611bc2816118e1565b91506020830135611bd2816118e1565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611c5257611c52611c28565b5060010190565b60008219821115611c6c57611c6c611c28565b500190565b600082821015611c8357611c83611c28565b500390565b600060208284031215611c9a57600080fd5b8151611287816118e1565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cf55784516001600160a01b031683529383019391830191600101611cd0565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d3357634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611d5257611d52611c28565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b7d200dd50f8ee01a8cb6817c7b960782b9392ddf3eb84675ce83ded3fe1ad2764736f6c63430008090033

Deployed Bytecode

0x6080604052600436106101c55760003560e01c8063751039fc116100f757806398a5c31511610095578063c3c8cd8011610064578063c3c8cd801461052b578063c492f04614610540578063dd62ed3e14610560578063f2fde38b146105a657600080fd5b806398a5c3151461049b578063a2a957bb146104bb578063a9059cbb146104db578063bfd79284146104fb57600080fd5b80638da5cb5b116100d15780638da5cb5b146104185780638f70ccf7146104365780638f9a55c01461045657806395d89b411461046c57600080fd5b8063751039fc146103c05780637d1db4a5146103d55780637f2feddc146103eb57600080fd5b8063313ce567116101645780636d8aa8f81161013e5780636d8aa8f8146103565780636fc3eaec1461037657806370a082311461038b578063715018a6146103ab57600080fd5b8063313ce567146102fa57806349bd5a5e146103165780636b9990531461033657600080fd5b80631694505e116101a05780631694505e1461026857806318160ddd146102a057806323b872dd146102c45780632fd689e3146102e457600080fd5b8062b8cf2a146101d157806306fdde03146101f3578063095ea7b31461023857600080fd5b366101cc57005b600080fd5b3480156101dd57600080fd5b506101f16101ec366004611906565b6105c6565b005b3480156101ff57600080fd5b5060408051808201909152600a8152694574686572486561647360b01b60208201525b60405161022f91906119cb565b60405180910390f35b34801561024457600080fd5b50610258610253366004611a20565b610665565b604051901515815260200161022f565b34801561027457600080fd5b50601454610288906001600160a01b031681565b6040516001600160a01b03909116815260200161022f565b3480156102ac57600080fd5b50662386f26fc100005b60405190815260200161022f565b3480156102d057600080fd5b506102586102df366004611a4c565b61067c565b3480156102f057600080fd5b506102b660185481565b34801561030657600080fd5b506040516009815260200161022f565b34801561032257600080fd5b50601554610288906001600160a01b031681565b34801561034257600080fd5b506101f1610351366004611a8d565b6106e5565b34801561036257600080fd5b506101f1610371366004611aba565b610730565b34801561038257600080fd5b506101f1610778565b34801561039757600080fd5b506102b66103a6366004611a8d565b6107c3565b3480156103b757600080fd5b506101f16107e5565b3480156103cc57600080fd5b506101f1610859565b3480156103e157600080fd5b506102b660165481565b3480156103f757600080fd5b506102b6610406366004611a8d565b60116020526000908152604090205481565b34801561042457600080fd5b506000546001600160a01b0316610288565b34801561044257600080fd5b506101f1610451366004611aba565b610895565b34801561046257600080fd5b506102b660175481565b34801561047857600080fd5b5060408051808201909152600681526511551211505160d21b6020820152610222565b3480156104a757600080fd5b506101f16104b6366004611ad5565b6108dd565b3480156104c757600080fd5b506101f16104d6366004611aee565b61090c565b3480156104e757600080fd5b506102586104f6366004611a20565b61094a565b34801561050757600080fd5b50610258610516366004611a8d565b60106020526000908152604090205460ff1681565b34801561053757600080fd5b506101f1610957565b34801561054c57600080fd5b506101f161055b366004611b20565b6109ab565b34801561056c57600080fd5b506102b661057b366004611ba4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105b257600080fd5b506101f16105c1366004611a8d565b610a4c565b6000546001600160a01b031633146105f95760405162461bcd60e51b81526004016105f090611bdd565b60405180910390fd5b60005b81518110156106615760016010600084848151811061061d5761061d611c12565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061065981611c3e565b9150506105fc565b5050565b6000610672338484610b36565b5060015b92915050565b6000610689848484610c5a565b6106db84336106d685604051806060016040528060288152602001611d58602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611196565b610b36565b5060019392505050565b6000546001600160a01b0316331461070f5760405162461bcd60e51b81526004016105f090611bdd565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b0316331461075a5760405162461bcd60e51b81526004016105f090611bdd565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806107ad57506013546001600160a01b0316336001600160a01b0316145b6107b657600080fd5b476107c0816111d0565b50565b6001600160a01b0381166000908152600260205260408120546106769061120a565b6000546001600160a01b0316331461080f5760405162461bcd60e51b81526004016105f090611bdd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108835760405162461bcd60e51b81526004016105f090611bdd565b662386f26fc100006016819055601755565b6000546001600160a01b031633146108bf5760405162461bcd60e51b81526004016105f090611bdd565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109075760405162461bcd60e51b81526004016105f090611bdd565b601855565b6000546001600160a01b031633146109365760405162461bcd60e51b81526004016105f090611bdd565b600893909355600a91909155600955600b55565b6000610672338484610c5a565b6012546001600160a01b0316336001600160a01b0316148061098c57506013546001600160a01b0316336001600160a01b0316145b61099557600080fd5b60006109a0306107c3565b90506107c08161128e565b6000546001600160a01b031633146109d55760405162461bcd60e51b81526004016105f090611bdd565b60005b82811015610a465781600560008686858181106109f7576109f7611c12565b9050602002016020810190610a0c9190611a8d565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a3e81611c3e565b9150506109d8565b50505050565b6000546001600160a01b03163314610a765760405162461bcd60e51b81526004016105f090611bdd565b6001600160a01b038116610adb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105f0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610b985760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105f0565b6001600160a01b038216610bf95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105f0565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cbe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105f0565b6001600160a01b038216610d205760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105f0565b60008111610d825760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105f0565b6000546001600160a01b03848116911614801590610dae57506000546001600160a01b03838116911614155b1561108f57601554600160a01b900460ff16610e47576000546001600160a01b03848116911614610e475760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016105f0565b601654811115610e995760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016105f0565b6001600160a01b03831660009081526010602052604090205460ff16158015610edb57506001600160a01b03821660009081526010602052604090205460ff16155b610f335760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016105f0565b6015546001600160a01b03838116911614610fb85760175481610f55846107c3565b610f5f9190611c59565b10610fb85760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016105f0565b6000610fc3306107c3565b601854601654919250821015908210610fdc5760165491505b808015610ff35750601554600160a81b900460ff16155b801561100d57506015546001600160a01b03868116911614155b80156110225750601554600160b01b900460ff165b801561104757506001600160a01b03851660009081526005602052604090205460ff16155b801561106c57506001600160a01b03841660009081526005602052604090205460ff16155b1561108c5761107a8261128e565b47801561108a5761108a476111d0565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806110d157506001600160a01b03831660009081526005602052604090205460ff165b8061110357506015546001600160a01b0385811691161480159061110357506015546001600160a01b03848116911614155b156111105750600061118a565b6015546001600160a01b03858116911614801561113b57506014546001600160a01b03848116911614155b1561114d57600854600c55600954600d555b6015546001600160a01b03848116911614801561117857506014546001600160a01b03858116911614155b1561118a57600a54600c55600b54600d555b610a4684848484611417565b600081848411156111ba5760405162461bcd60e51b81526004016105f091906119cb565b5060006111c78486611c71565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610661573d6000803e3d6000fd5b60006006548211156112715760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105f0565b600061127b611445565b90506112878382611468565b9392505050565b6015805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112d6576112d6611c12565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561132a57600080fd5b505afa15801561133e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113629190611c88565b8160018151811061137557611375611c12565b6001600160a01b03928316602091820292909201015260145461139b9130911684610b36565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906113d4908590600090869030904290600401611ca5565b600060405180830381600087803b1580156113ee57600080fd5b505af1158015611402573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b80611424576114246114aa565b61142f8484846114d8565b80610a4657610a46600e54600c55600f54600d55565b60008060006114526115cf565b90925090506114618282611468565b9250505090565b600061128783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061160d565b600c541580156114ba5750600d54155b156114c157565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806114ea8761163b565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061151c9087611698565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461154b90866116da565b6001600160a01b03891660009081526002602052604090205561156d81611739565b6115778483611783565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115bc91815260200190565b60405180910390a3505050505050505050565b6006546000908190662386f26fc100006115e98282611468565b82101561160457505060065492662386f26fc1000092509050565b90939092509050565b6000818361162e5760405162461bcd60e51b81526004016105f091906119cb565b5060006111c78486611d16565b60008060008060008060008060006116588a600c54600d546117a7565b9250925092506000611668611445565b9050600080600061167b8e8787876117fc565b919e509c509a509598509396509194505050505091939550919395565b600061128783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611196565b6000806116e78385611c59565b9050838110156112875760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105f0565b6000611743611445565b90506000611751838361184c565b3060009081526002602052604090205490915061176e90826116da565b30600090815260026020526040902055505050565b6006546117909083611698565b6006556007546117a090826116da565b6007555050565b60008080806117c160646117bb898961184c565b90611468565b905060006117d460646117bb8a8961184c565b905060006117ec826117e68b86611698565b90611698565b9992985090965090945050505050565b600080808061180b888661184c565b90506000611819888761184c565b90506000611827888861184c565b90506000611839826117e68686611698565b939b939a50919850919650505050505050565b60008261185b57506000610676565b60006118678385611d38565b9050826118748583611d16565b146112875760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105f0565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107c057600080fd5b8035611901816118e1565b919050565b6000602080838503121561191957600080fd5b823567ffffffffffffffff8082111561193157600080fd5b818501915085601f83011261194557600080fd5b813581811115611957576119576118cb565b8060051b604051601f19603f8301168101818110858211171561197c5761197c6118cb565b60405291825284820192508381018501918883111561199a57600080fd5b938501935b828510156119bf576119b0856118f6565b8452938501939285019261199f565b98975050505050505050565b600060208083528351808285015260005b818110156119f8578581018301518582016040015282016119dc565b81811115611a0a576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611a3357600080fd5b8235611a3e816118e1565b946020939093013593505050565b600080600060608486031215611a6157600080fd5b8335611a6c816118e1565b92506020840135611a7c816118e1565b929592945050506040919091013590565b600060208284031215611a9f57600080fd5b8135611287816118e1565b8035801515811461190157600080fd5b600060208284031215611acc57600080fd5b61128782611aaa565b600060208284031215611ae757600080fd5b5035919050565b60008060008060808587031215611b0457600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611b3557600080fd5b833567ffffffffffffffff80821115611b4d57600080fd5b818601915086601f830112611b6157600080fd5b813581811115611b7057600080fd5b8760208260051b8501011115611b8557600080fd5b602092830195509350611b9b9186019050611aaa565b90509250925092565b60008060408385031215611bb757600080fd5b8235611bc2816118e1565b91506020830135611bd2816118e1565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611c5257611c52611c28565b5060010190565b60008219821115611c6c57611c6c611c28565b500190565b600082821015611c8357611c83611c28565b500390565b600060208284031215611c9a57600080fd5b8151611287816118e1565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cf55784516001600160a01b031683529383019391830191600101611cd0565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d3357634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611d5257611d52611c28565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b7d200dd50f8ee01a8cb6817c7b960782b9392ddf3eb84675ce83ded3fe1ad2764736f6c63430008090033

Deployed Bytecode Sourcemap

4288:13400:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13001:169;;;;;;;;;;-1:-1:-1;13001:169:0;;;;;:::i;:::-;;:::i;:::-;;6829:83;;;;;;;;;;-1:-1:-1;6899:5:0;;;;;;;;;;;;-1:-1:-1;;;6899:5:0;;;;6829:83;;;;;;;:::i;:::-;;;;;;;;7754:193;;;;;;;;;;-1:-1:-1;7754:193:0;;;;;:::i;:::-;;:::i;:::-;;;2634:14:1;;2627:22;2609:41;;2597:2;2582:18;7754:193:0;2469:187:1;5635:41:0;;;;;;;;;;-1:-1:-1;5635:41:0;;;;-1:-1:-1;;;;;5635:41:0;;;;;;-1:-1:-1;;;;;2851:32:1;;;2833:51;;2821:2;2806:18;5635:41:0;2661:229:1;7106:95:0;;;;;;;;;;-1:-1:-1;4841:16:0;7106:95;;;3041:25:1;;;3029:2;3014:18;7106:95:0;2895:177:1;7955:446:0;;;;;;;;;;-1:-1:-1;7955:446:0;;;;;:::i;:::-;;:::i;5977:50::-;;;;;;;;;;;;;;;;7015:83;;;;;;;;;;-1:-1:-1;7015:83:0;;4515:1;3680:36:1;;3668:2;3653:18;7015:83:0;3538:184:1;5683:28:0;;;;;;;;;;-1:-1:-1;5683:28:0;;;;-1:-1:-1;;;;;5683:28:0;;;13178:92;;;;;;;;;;-1:-1:-1;13178:92:0;;;;;:::i;:::-;;:::i;17338:101::-;;;;;;;;;;-1:-1:-1;17338:101:0;;;;;:::i;:::-;;:::i;12758:235::-;;;;;;;;;;;;;:::i;7209:138::-;;;;;;;;;;-1:-1:-1;7209:138:0;;;;;:::i;:::-;;:::i;1775:148::-;;;;;;;;;;;;;:::i;13279:119::-;;;;;;;;;;;;;:::i;5873:44::-;;;;;;;;;;;;;;;;5377:43;;;;;;;;;;-1:-1:-1;5377:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1561:79;;;;;;;;;;-1:-1:-1;1599:7:0;1626:6;-1:-1:-1;;;;;1626:6:0;1561:79;;12405:101;;;;;;;;;;-1:-1:-1;12405:101:0;;;;;:::i;:::-;;:::i;5924:46::-;;;;;;;;;;;;;;;;6920:87;;;;;;;;;;-1:-1:-1;6992:7:0;;;;;;;;;;;;-1:-1:-1;;;6992:7:0;;;;6920:87;;17147:139;;;;;;;;;;-1:-1:-1;17147:139:0;;;;;:::i;:::-;;:::i;16804:291::-;;;;;;;;;;-1:-1:-1;16804:291:0;;;;;:::i;:::-;;:::i;7355:199::-;;;;;;;;;;-1:-1:-1;7355:199:0;;;;;:::i;:::-;;:::i;5339:36::-;;;;;;;;;;-1:-1:-1;5339:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12514:236;;;;;;;;;;;;;:::i;17449:234::-;;;;;;;;;;-1:-1:-1;17449:234:0;;;;;:::i;:::-;;:::i;7562:184::-;;;;;;;;;;-1:-1:-1;7562:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7711:18:0;;;7679:7;7711:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7562:184;1931:244;;;;;;;;;;-1:-1:-1;1931:244:0;;;;;:::i;:::-;;:::i;13001:169::-;1688:6;;-1:-1:-1;;;;;1688:6:0;400:10;1688:22;1680:67;;;;-1:-1:-1;;;1680:67:0;;;;;;;:::i;:::-;;;;;;;;;13077:9:::1;13072:91;13096:5;:12;13092:1;:16;13072:91;;;13147:4;13130;:14;13135:5;13141:1;13135:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13130:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13130:14:0;:21;;-1:-1:-1;;13130:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13110:3;::::1;::::0;::::1;:::i;:::-;;;;13072:91;;;;13001:169:::0;:::o;7754:193::-;7856:4;7878:39;400:10;7901:7;7910:6;7878:8;:39::i;:::-;-1:-1:-1;7935:4:0;7754:193;;;;;:::o;7955:446::-;8087:4;8104:36;8114:6;8122:9;8133:6;8104:9;:36::i;:::-;8151:220;8174:6;400:10;8222:138;8278:6;8222:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8222:19:0;;;;;;:11;:19;;;;;;;;400:10;8222:33;;;;;;;;;;:37;:138::i;:::-;8151:8;:220::i;:::-;-1:-1:-1;8389:4:0;7955:446;;;;;:::o;13178:92::-;1688:6;;-1:-1:-1;;;;;1688:6:0;400:10;1688:22;1680:67;;;;-1:-1:-1;;;1680:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13242:12:0::1;13257:5;13242:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13242:20:0::1;::::0;;13178:92::o;17338:101::-;1688:6;;-1:-1:-1;;;;;1688:6:0;400:10;1688:22;1680:67;;;;-1:-1:-1;;;1680:67:0;;;;;;;:::i;:::-;17405:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17405:26:0::1;-1:-1:-1::0;;;;17405:26:0;;::::1;::::0;;;::::1;::::0;;17338:101::o;12758:235::-;12824:19;;-1:-1:-1;;;;;12824:19:0;400:10;-1:-1:-1;;;;;12808:35:0;;:72;;;-1:-1:-1;12863:17:0;;-1:-1:-1;;;;;12863:17:0;400:10;-1:-1:-1;;;;;12847:33:0;;12808:72;12800:81;;;;;;12921:21;12953:32;12921:21;12953:12;:32::i;:::-;12789:204;12758:235::o;7209:138::-;-1:-1:-1;;;;;7322:16:0;;7275:7;7322:16;;;:7;:16;;;;;;7302:37;;:19;:37::i;1775:148::-;1688:6;;-1:-1:-1;;;;;1688:6:0;400:10;1688:22;1680:67;;;;-1:-1:-1;;;1680:67:0;;;;;;;:::i;:::-;1882:1:::1;1866:6:::0;;1845:40:::1;::::0;-1:-1:-1;;;;;1866:6:0;;::::1;::::0;1845:40:::1;::::0;1882:1;;1845:40:::1;1913:1;1896:19:::0;;-1:-1:-1;;;;;;1896:19:0::1;::::0;;1775:148::o;13279:119::-;1688:6;;-1:-1:-1;;;;;1688:6:0;400:10;1688:22;1680:67;;;;-1:-1:-1;;;1680:67:0;;;;;;;:::i;:::-;4841:16:::1;13333:12;:22:::0;;;13366:14:::1;:24:::0;13279:119::o;12405:101::-;1688:6;;-1:-1:-1;;;;;1688:6:0;400:10;1688:22;1680:67;;;;-1:-1:-1;;;1680:67:0;;;;;;;:::i;:::-;12472:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12472:26:0::1;-1:-1:-1::0;;;;12472:26:0;;::::1;::::0;;;::::1;::::0;;12405:101::o;17147:139::-;1688:6;;-1:-1:-1;;;;;1688:6:0;400:10;1688:22;1680:67;;;;-1:-1:-1;;;1680:67:0;;;;;;;:::i;:::-;17238:19:::1;:40:::0;17147:139::o;16804:291::-;1688:6;;-1:-1:-1;;;;;1688:6:0;400:10;1688:22;1680:67;;;;-1:-1:-1;;;1680:67:0;;;;;;;:::i;:::-;16938:14:::1;:30:::0;;;;16979:15:::1;:32:::0;;;;17022:12:::1;:26:::0;17059:13:::1;:28:::0;16804:291::o;7355:199::-;7460:4;7482:42;400:10;7506:9;7517:6;7482:9;:42::i;12514:236::-;12580:19;;-1:-1:-1;;;;;12580:19:0;400:10;-1:-1:-1;;;;;12564:35:0;;:72;;;-1:-1:-1;12619:17:0;;-1:-1:-1;;;;;12619:17:0;400:10;-1:-1:-1;;;;;12603:33:0;;12564:72;12556:81;;;;;;12648:23;12674:24;12692:4;12674:9;:24::i;:::-;12648:50;;12709:33;12726:15;12709:16;:33::i;17449:234::-;1688:6;;-1:-1:-1;;;;;1688:6:0;400:10;1688:22;1680:67;;;;-1:-1:-1;;;1680:67:0;;;;;;;:::i;:::-;17566:9:::1;17562:114;17581:19:::0;;::::1;17562:114;;;17656:8;17622:18;:31;17641:8;;17650:1;17641:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17622:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17622:31:0;:42;;-1:-1:-1;;17622:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17602:3;::::1;::::0;::::1;:::i;:::-;;;;17562:114;;;;17449:234:::0;;;:::o;1931:244::-;1688:6;;-1:-1:-1;;;;;1688:6:0;400:10;1688:22;1680:67;;;;-1:-1:-1;;;1680:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2020:22:0;::::1;2012:73;;;::::0;-1:-1:-1;;;2012:73:0;;7166:2:1;2012:73:0::1;::::0;::::1;7148:21:1::0;7205:2;7185:18;;;7178:30;7244:34;7224:18;;;7217:62;-1:-1:-1;;;7295:18:1;;;7288:36;7341:19;;2012:73:0::1;6964:402:1::0;2012:73:0::1;2122:6;::::0;;2101:38:::1;::::0;-1:-1:-1;;;;;2101:38:0;;::::1;::::0;2122:6;::::1;::::0;2101:38:::1;::::0;::::1;2150:6;:17:::0;;-1:-1:-1;;;;;;2150:17:0::1;-1:-1:-1::0;;;;;2150:17:0;;;::::1;::::0;;;::::1;::::0;;1931:244::o;9092:369::-;-1:-1:-1;;;;;9219:19:0;;9211:68;;;;-1:-1:-1;;;9211:68:0;;7573:2:1;9211:68:0;;;7555:21:1;7612:2;7592:18;;;7585:30;7651:34;7631:18;;;7624:62;-1:-1:-1;;;7702:18:1;;;7695:34;7746:19;;9211:68:0;7371:400:1;9211:68:0;-1:-1:-1;;;;;9298:21:0;;9290:68;;;;-1:-1:-1;;;9290:68:0;;7978:2:1;9290:68:0;;;7960:21:1;8017:2;7997:18;;;7990:30;8056:34;8036:18;;;8029:62;-1:-1:-1;;;8107:18:1;;;8100:32;8149:19;;9290:68:0;7776:398:1;9290:68:0;-1:-1:-1;;;;;9369:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9421:32;;3041:25:1;;;9421:32:0;;3014:18:1;9421:32:0;;;;;;;9092:369;;;:::o;9469:2330::-;-1:-1:-1;;;;;9591:18:0;;9583:68;;;;-1:-1:-1;;;9583:68:0;;8381:2:1;9583:68:0;;;8363:21:1;8420:2;8400:18;;;8393:30;8459:34;8439:18;;;8432:62;-1:-1:-1;;;8510:18:1;;;8503:35;8555:19;;9583:68:0;8179:401:1;9583:68:0;-1:-1:-1;;;;;9670:16:0;;9662:64;;;;-1:-1:-1;;;9662:64:0;;8787:2:1;9662:64:0;;;8769:21:1;8826:2;8806:18;;;8799:30;8865:34;8845:18;;;8838:62;-1:-1:-1;;;8916:18:1;;;8909:33;8959:19;;9662:64:0;8585:399:1;9662:64:0;9754:1;9745:6;:10;9737:64;;;;-1:-1:-1;;;9737:64:0;;9191:2:1;9737:64:0;;;9173:21:1;9230:2;9210:18;;;9203:30;9269:34;9249:18;;;9242:62;-1:-1:-1;;;9320:18:1;;;9313:39;9369:19;;9737:64:0;8989:405:1;9737:64:0;1599:7;1626:6;-1:-1:-1;;;;;9818:15:0;;;1626:6;;9818:15;;;;:32;;-1:-1:-1;1599:7:0;1626:6;-1:-1:-1;;;;;9837:13:0;;;1626:6;;9837:13;;9818:32;9814:1259;;;9907:11;;-1:-1:-1;;;9907:11:0;;;;9902:144;;1599:7;1626:6;-1:-1:-1;;;;;9947:15:0;;;1626:6;;9947:15;9939:91;;;;-1:-1:-1;;;9939:91:0;;9601:2:1;9939:91:0;;;9583:21:1;9640:2;9620:18;;;9613:30;9679:34;9659:18;;;9652:62;9750:33;9730:18;;;9723:61;9801:19;;9939:91:0;9399:427:1;9939:91:0;10080:12;;10070:6;:22;;10062:63;;;;-1:-1:-1;;;10062:63:0;;10033:2:1;10062:63:0;;;10015:21:1;10072:2;10052:18;;;10045:30;10111;10091:18;;;10084:58;10159:18;;10062:63:0;9831:352:1;10062:63:0;-1:-1:-1;;;;;10149:10:0;;;;;;:4;:10;;;;;;;;10148:11;:24;;;;-1:-1:-1;;;;;;10164:8:0;;;;;;:4;:8;;;;;;;;10163:9;10148:24;10140:72;;;;-1:-1:-1;;;10140:72:0;;10390:2:1;10140:72:0;;;10372:21:1;10429:2;10409:18;;;10402:30;10468:34;10448:18;;;10441:62;-1:-1:-1;;;10519:18:1;;;10512:33;10562:19;;10140:72:0;10188:399:1;10140:72:0;10238:13;;-1:-1:-1;;;;;10232:19:0;;;10238:13;;10232:19;10229:146;;10305:14;;10296:6;10280:13;10290:2;10280:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10272:87;;;;-1:-1:-1;;;10272:87:0;;10927:2:1;10272:87:0;;;10909:21:1;10966:2;10946:18;;;10939:30;11005:34;10985:18;;;10978:62;-1:-1:-1;;;11056:18:1;;;11049:33;11099:19;;10272:87:0;10725:399:1;10272:87:0;10391:28;10422:24;10440:4;10422:9;:24::i;:::-;10500:19;;10563:12;;10391:55;;-1:-1:-1;10476:43:0;;;;10539:36;;10536:124;;10632:12;;10609:35;;10536:124;10680:7;:18;;;;-1:-1:-1;10692:6:0;;-1:-1:-1;;;10692:6:0;;;;10691:7;10680:18;:43;;;;-1:-1:-1;10710:13:0;;-1:-1:-1;;;;;10702:21:0;;;10710:13;;10702:21;;10680:43;:58;;;;-1:-1:-1;10727:11:0;;-1:-1:-1;;;10727:11:0;;;;10680:58;:87;;;;-1:-1:-1;;;;;;10743:24:0;;;;;;:18;:24;;;;;;;;10742:25;10680:87;:114;;;;-1:-1:-1;;;;;;10772:22:0;;;;;;:18;:22;;;;;;;;10771:23;10680:114;10676:386;;;10815:38;10832:20;10815:16;:38::i;:::-;10901:21;10945:22;;10941:106;;10992:35;11005:21;10992:12;:35::i;:::-;10796:266;10676:386;9852:1221;;9814:1259;-1:-1:-1;;;;;11149:24:0;;11085:12;11149:24;;;:18;:24;;;;;;11100:4;;11149:24;;;:50;;-1:-1:-1;;;;;;11177:22:0;;;;;;:18;:22;;;;;;;;11149:50;11148:102;;;-1:-1:-1;11213:13:0;;-1:-1:-1;;;;;11205:21:0;;;11213:13;;11205:21;;;;:44;;-1:-1:-1;11236:13:0;;-1:-1:-1;;;;;11230:19:0;;;11236:13;;11230:19;;11205:44;11144:594;;;-1:-1:-1;11277:5:0;11144:594;;;11360:13;;-1:-1:-1;;;;;11352:21:0;;;11360:13;;11352:21;:55;;;;-1:-1:-1;11391:15:0;;-1:-1:-1;;;;;11377:30:0;;;11391:15;;11377:30;;11352:55;11349:162;;;11440:14;;11428:9;:26;11483:12;;11473:7;:22;11349:162;11570:13;;-1:-1:-1;;;;;11564:19:0;;;11570:13;;11564:19;:55;;;;-1:-1:-1;11603:15:0;;-1:-1:-1;;;;;11587:32:0;;;11603:15;;11587:32;;11564:55;11560:165;;;11652:15;;11640:9;:27;11696:13;;11686:7;:23;11560:165;11750:41;11765:4;11771:2;11775:6;11783:7;11750:14;:41::i;2539:224::-;2659:7;2695:12;2687:6;;;;2679:29;;;;-1:-1:-1;;;2679:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2719:9:0;2731:5;2735:1;2731;:5;:::i;:::-;2719:17;2539:224;-1:-1:-1;;;;;2539:224:0:o;12298:99::-;12355:17;;:34;;-1:-1:-1;;;;;12355:17:0;;;;:34;;;;;12382:6;;12355:17;:34;:17;:34;12382:6;12355:17;:34;;;;;;;;;;;;;;;;;;;8409:323;8504:7;8562;;8551;:18;;8529:110;;;;-1:-1:-1;;;8529:110:0;;11461:2:1;8529:110:0;;;11443:21:1;11500:2;11480:18;;;11473:30;11539:34;11519:18;;;11512:62;-1:-1:-1;;;11590:18:1;;;11583:40;11640:19;;8529:110:0;11259:406:1;8529:110:0;8650:19;8672:10;:8;:10::i;:::-;8650:32;-1:-1:-1;8700:24:0;:7;8650:32;8700:11;:24::i;:::-;8693:31;8409:323;-1:-1:-1;;;8409:323:0:o;11807:483::-;6121:6;:13;;-1:-1:-1;;;;6121:13:0;-1:-1:-1;;;6121:13:0;;;11909:16:::1;::::0;;11923:1:::1;11909:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11909:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11909:16:0::1;11885:40;;11954:4;11936;11941:1;11936:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11936:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11980:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11980:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11936:7;;11980:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11970:4;11975:1;11970:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11970:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12045:15:::1;::::0;12013:62:::1;::::0;12030:4:::1;::::0;12045:15:::1;12063:11:::0;12013:8:::1;:62::i;:::-;12086:15;::::0;:196:::1;::::0;-1:-1:-1;;;12086:196:0;;-1:-1:-1;;;;;12086:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12167:11;;12086:15:::1;::::0;12209:4;;12236::::1;::::0;12256:15:::1;::::0;12086:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6157:6:0;:14;;-1:-1:-1;;;;6157:14:0;;;-1:-1:-1;;;;11807:483:0:o;13406:282::-;13562:7;13557:28;;13571:14;:12;:14::i;:::-;13596:44;13614:6;13622:9;13633:6;13596:17;:44::i;:::-;13656:7;13651:29;;13665:15;9023:17;;9011:9;:29;9061:15;;9051:7;:25;8967:117;16367:164;16409:7;16430:15;16447;16466:19;:17;:19::i;:::-;16429:56;;-1:-1:-1;16429:56:0;-1:-1:-1;16503:20:0;16429:56;;16503:11;:20::i;:::-;16496:27;;;;16367:164;:::o;3025:132::-;3083:7;3110:39;3114:1;3117;3110:39;;;;;;;;;;;;;;;;;:3;:39::i;8740:219::-;8787:9;;:14;:30;;;;-1:-1:-1;8805:7:0;;:12;8787:30;8783:43;;;8740:219::o;8783:43::-;8858:9;;;8838:17;:29;8896:7;;;8878:15;:25;-1:-1:-1;8916:13:0;;;;8940:11;8740:219::o;13696:610::-;13843:15;13873:23;13911:12;13938:23;13976:12;14003:13;14030:19;14041:7;14030:10;:19::i;:::-;-1:-1:-1;;;;;14078:15:0;;;;;;:7;:15;;;;;;13828:221;;-1:-1:-1;13828:221:0;;-1:-1:-1;13828:221:0;;-1:-1:-1;13828:221:0;-1:-1:-1;13828:221:0;-1:-1:-1;13828:221:0;-1:-1:-1;14078:28:0;;13828:221;14078:19;:28::i;:::-;-1:-1:-1;;;;;14060:15:0;;;;;;;:7;:15;;;;;;:46;;;;14138:18;;;;;;;:39;;14161:15;14138:22;:39::i;:::-;-1:-1:-1;;;;;14117:18:0;;;;;;:7;:18;;;;;:60;14188:16;14198:5;14188:9;:16::i;:::-;14215:23;14227:4;14233;14215:11;:23::i;:::-;14271:9;-1:-1:-1;;;;;14254:44:0;14263:6;-1:-1:-1;;;;;14254:44:0;;14282:15;14254:44;;;;3041:25:1;;3029:2;3014:18;;2895:177;14254:44:0;;;;;;;;13817:489;;;;;;13696:610;;;:::o;16539:257::-;16637:7;;16590;;;;4841:16;16705:20;16637:7;4841:16;16705:11;:20::i;:::-;16695:7;:30;16691:61;;;-1:-1:-1;;16735:7:0;;;4841:16;;-1:-1:-1;16539:257:0;-1:-1:-1;16539:257:0:o;16691:61::-;16771:7;;16780;;-1:-1:-1;16539:257:0;-1:-1:-1;16539:257:0:o;3165:223::-;3285:7;3320:12;3313:5;3305:28;;;;-1:-1:-1;;;3305:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3344:9:0;3356:5;3360:1;3356;:5;:::i;14725:615::-;14825:7;14847;14869;14891;14913;14935;14971:23;14996:12;15010:13;15040:40;15052:7;15061:9;;15072:7;;15040:11;:40::i;:::-;14970:110;;;;;;15091:19;15113:10;:8;:10::i;:::-;15091:32;;15135:15;15152:23;15177:12;15206:46;15218:7;15227:4;15233:5;15240:11;15206;:46::i;:::-;15134:118;;-1:-1:-1;15134:118:0;-1:-1:-1;15134:118:0;-1:-1:-1;15303:15:0;;-1:-1:-1;15320:4:0;;-1:-1:-1;15326:5:0;;-1:-1:-1;;;;;14725:615:0;;;;;;;:::o;2395:136::-;2453:7;2480:43;2484:1;2487;2480:43;;;;;;;;;;;;;;;;;:3;:43::i;2208:179::-;2266:7;;2298:5;2302:1;2298;:5;:::i;:::-;2286:17;;2327:1;2322;:6;;2314:46;;;;-1:-1:-1;;;2314:46:0;;13335:2:1;2314:46:0;;;13317:21:1;13374:2;13354:18;;;13347:30;13413:29;13393:18;;;13386:57;13460:18;;2314:46:0;13133:351:1;14314:211:0;14367:19;14389:10;:8;:10::i;:::-;14367:32;-1:-1:-1;14410:13:0;14426:22;:5;14367:32;14426:9;:22::i;:::-;14500:4;14484:22;;;;:7;:22;;;;;;14410:38;;-1:-1:-1;14484:33:0;;14410:38;14484:26;:33::i;:::-;14475:4;14459:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14314:211:0:o;14533:147::-;14611:7;;:17;;14623:4;14611:11;:17::i;:::-;14601:7;:27;14652:10;;:20;;14667:4;14652:14;:20::i;:::-;14639:10;:33;-1:-1:-1;;14533:147:0:o;15348:469::-;15517:7;;;;15611:30;15637:3;15611:21;:7;15623:8;15611:11;:21::i;:::-;:25;;:30::i;:::-;15596:45;-1:-1:-1;15652:13:0;15668:28;15692:3;15668:19;:7;15680:6;15668:11;:19::i;:28::-;15652:44;-1:-1:-1;15707:23:0;15733:28;15652:44;15733:17;:7;15745:4;15733:11;:17::i;:::-;:21;;:28::i;:::-;15707:54;15797:4;;-1:-1:-1;15803:5:0;;-1:-1:-1;15348:469:0;;-1:-1:-1;;;;;15348:469:0:o;15825:534::-;16019:7;;;;16116:24;:7;16128:11;16116;:24::i;:::-;16098:42;-1:-1:-1;16151:12:0;16166:21;:4;16175:11;16166:8;:21::i;:::-;16151:36;-1:-1:-1;16198:13:0;16214:22;:5;16224:11;16214:9;:22::i;:::-;16198:38;-1:-1:-1;16247:23:0;16273:28;16198:38;16273:17;:7;16285:4;16273:11;:17::i;:28::-;16320:7;;;;-1:-1:-1;16346:4:0;;-1:-1:-1;15825:534:0;;-1:-1:-1;;;;;;;15825:534:0:o;2771:246::-;2829:7;2853:6;2849:47;;-1:-1:-1;2883:1:0;2876:8;;2849:47;2906:9;2918:5;2922:1;2918;:5;:::i;:::-;2906:17;-1:-1:-1;2951:1:0;2942:5;2946:1;2906:17;2942:5;:::i;:::-;:10;2934:56;;;;-1:-1:-1;;;2934:56:0;;13864:2:1;2934:56:0;;;13846:21:1;13903:2;13883:18;;;13876:30;13942:34;13922:18;;;13915:62;-1:-1:-1;;;13993:18:1;;;13986:31;14034:19;;2934:56:0;13662:397:1;14:127;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:1121::-;505:6;536:2;579;567:9;558:7;554:23;550:32;547:52;;;595:1;592;585:12;547:52;635:9;622:23;664:18;705:2;697:6;694:14;691:34;;;721:1;718;711:12;691:34;759:6;748:9;744:22;734:32;;804:7;797:4;793:2;789:13;785:27;775:55;;826:1;823;816:12;775:55;862:2;849:16;884:2;880;877:10;874:36;;;890:18;;:::i;:::-;936:2;933:1;929:10;968:2;962:9;1031:2;1027:7;1022:2;1018;1014:11;1010:25;1002:6;998:38;1086:6;1074:10;1071:22;1066:2;1054:10;1051:18;1048:46;1045:72;;;1097:18;;:::i;:::-;1133:2;1126:22;1183:18;;;1217:15;;;;-1:-1:-1;1259:11:1;;;1255:20;;;1287:19;;;1284:39;;;1319:1;1316;1309:12;1284:39;1343:11;;;;1363:148;1379:6;1374:3;1371:15;1363:148;;;1445:23;1464:3;1445:23;:::i;:::-;1433:36;;1396:12;;;;1489;;;;1363:148;;;1530:6;421:1121;-1:-1:-1;;;;;;;;421:1121:1:o;1547:597::-;1659:4;1688:2;1717;1706:9;1699:21;1749:6;1743:13;1792:6;1787:2;1776:9;1772:18;1765:34;1817:1;1827:140;1841:6;1838:1;1835:13;1827:140;;;1936:14;;;1932:23;;1926:30;1902:17;;;1921:2;1898:26;1891:66;1856:10;;1827:140;;;1985:6;1982:1;1979:13;1976:91;;;2055:1;2050:2;2041:6;2030:9;2026:22;2022:31;2015:42;1976:91;-1:-1:-1;2128:2:1;2107:15;-1:-1:-1;;2103:29:1;2088:45;;;;2135:2;2084:54;;1547:597;-1:-1:-1;;;1547:597:1:o;2149:315::-;2217:6;2225;2278:2;2266:9;2257:7;2253:23;2249:32;2246:52;;;2294:1;2291;2284:12;2246:52;2333:9;2320:23;2352:31;2377:5;2352:31;:::i;:::-;2402:5;2454:2;2439:18;;;;2426:32;;-1:-1:-1;;;2149:315:1:o;3077:456::-;3154:6;3162;3170;3223:2;3211:9;3202:7;3198:23;3194:32;3191:52;;;3239:1;3236;3229:12;3191:52;3278:9;3265:23;3297:31;3322:5;3297:31;:::i;:::-;3347:5;-1:-1:-1;3404:2:1;3389:18;;3376:32;3417:33;3376:32;3417:33;:::i;:::-;3077:456;;3469:7;;-1:-1:-1;;;3523:2:1;3508:18;;;;3495:32;;3077:456::o;3935:247::-;3994:6;4047:2;4035:9;4026:7;4022:23;4018:32;4015:52;;;4063:1;4060;4053:12;4015:52;4102:9;4089:23;4121:31;4146:5;4121:31;:::i;4187:160::-;4252:20;;4308:13;;4301:21;4291:32;;4281:60;;4337:1;4334;4327:12;4352:180;4408:6;4461:2;4449:9;4440:7;4436:23;4432:32;4429:52;;;4477:1;4474;4467:12;4429:52;4500:26;4516:9;4500:26;:::i;4537:180::-;4596:6;4649:2;4637:9;4628:7;4624:23;4620:32;4617:52;;;4665:1;4662;4655:12;4617:52;-1:-1:-1;4688:23:1;;4537:180;-1:-1:-1;4537:180:1:o;4722:385::-;4808:6;4816;4824;4832;4885:3;4873:9;4864:7;4860:23;4856:33;4853:53;;;4902:1;4899;4892:12;4853:53;-1:-1:-1;;4925:23:1;;;4995:2;4980:18;;4967:32;;-1:-1:-1;5046:2:1;5031:18;;5018:32;;5097:2;5082:18;5069:32;;-1:-1:-1;4722:385:1;-1:-1:-1;4722:385:1:o;5112:689::-;5204:6;5212;5220;5273:2;5261:9;5252:7;5248:23;5244:32;5241:52;;;5289:1;5286;5279:12;5241:52;5329:9;5316:23;5358:18;5399:2;5391:6;5388:14;5385:34;;;5415:1;5412;5405:12;5385:34;5453:6;5442:9;5438:22;5428:32;;5498:7;5491:4;5487:2;5483:13;5479:27;5469:55;;5520:1;5517;5510:12;5469:55;5560:2;5547:16;5586:2;5578:6;5575:14;5572:34;;;5602:1;5599;5592:12;5572:34;5657:7;5650:4;5640:6;5637:1;5633:14;5629:2;5625:23;5621:34;5618:47;5615:67;;;5678:1;5675;5668:12;5615:67;5709:4;5701:13;;;;-1:-1:-1;5733:6:1;-1:-1:-1;5758:37:1;;5774:20;;;-1:-1:-1;5758:37:1;:::i;:::-;5748:47;;5112:689;;;;;:::o;5806:388::-;5874:6;5882;5935:2;5923:9;5914:7;5910:23;5906:32;5903:52;;;5951:1;5948;5941:12;5903:52;5990:9;5977:23;6009:31;6034:5;6009:31;:::i;:::-;6059:5;-1:-1:-1;6116:2:1;6101:18;;6088:32;6129:33;6088:32;6129:33;:::i;:::-;6181:7;6171:17;;;5806:388;;;;;:::o;6199:356::-;6401:2;6383:21;;;6420:18;;;6413:30;6479:34;6474:2;6459:18;;6452:62;6546:2;6531:18;;6199:356::o;6560:127::-;6621:10;6616:3;6612:20;6609:1;6602:31;6652:4;6649:1;6642:15;6676:4;6673:1;6666:15;6692:127;6753:10;6748:3;6744:20;6741:1;6734:31;6784:4;6781:1;6774:15;6808:4;6805:1;6798:15;6824:135;6863:3;-1:-1:-1;;6884:17:1;;6881:43;;;6904:18;;:::i;:::-;-1:-1:-1;6951:1:1;6940:13;;6824:135::o;10592:128::-;10632:3;10663:1;10659:6;10656:1;10653:13;10650:39;;;10669:18;;:::i;:::-;-1:-1:-1;10705:9:1;;10592:128::o;11129:125::-;11169:4;11197:1;11194;11191:8;11188:34;;;11202:18;;:::i;:::-;-1:-1:-1;11239:9:1;;11129:125::o;11670:251::-;11740:6;11793:2;11781:9;11772:7;11768:23;11764:32;11761:52;;;11809:1;11806;11799:12;11761:52;11841:9;11835:16;11860:31;11885:5;11860:31;:::i;11926:980::-;12188:4;12236:3;12225:9;12221:19;12267:6;12256:9;12249:25;12293:2;12331:6;12326:2;12315:9;12311:18;12304:34;12374:3;12369:2;12358:9;12354:18;12347:31;12398:6;12433;12427:13;12464:6;12456;12449:22;12502:3;12491:9;12487:19;12480:26;;12541:2;12533:6;12529:15;12515:29;;12562:1;12572:195;12586:6;12583:1;12580:13;12572:195;;;12651:13;;-1:-1:-1;;;;;12647:39:1;12635:52;;12742:15;;;;12707:12;;;;12683:1;12601:9;12572:195;;;-1:-1:-1;;;;;;;12823:32:1;;;;12818:2;12803:18;;12796:60;-1:-1:-1;;;12887:3:1;12872:19;12865:35;12784:3;11926:980;-1:-1:-1;;;11926:980:1:o;12911:217::-;12951:1;12977;12967:132;;13021:10;13016:3;13012:20;13009:1;13002:31;13056:4;13053:1;13046:15;13084:4;13081:1;13074:15;12967:132;-1:-1:-1;13113:9:1;;12911:217::o;13489:168::-;13529:7;13595:1;13591;13587:6;13583:14;13580:1;13577:21;13572:1;13565:9;13558:17;13554:45;13551:71;;;13602:18;;:::i;:::-;-1:-1:-1;13642:9:1;;13489:168::o

Swarm Source

ipfs://b7d200dd50f8ee01a8cb6817c7b960782b9392ddf3eb84675ce83ded3fe1ad27

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.