ETH Price: $2,520.00 (+2.85%)

Contract

0x0F37F837D21B325F7A0Ceff1e77c919AD33A3581
 

Overview

ETH Balance

1 wei

Eth Value

Less Than $0.01 (@ $2,520.00/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve194997482024-03-23 20:43:23163 days ago1711226603IN
0x0F37F837...AD33A3581
0 ETH0.0007481116.17301192
Approve194995652024-03-23 20:06:23163 days ago1711224383IN
0x0F37F837...AD33A3581
0 ETH0.00086118.50790852
Transfer194991862024-03-23 18:49:23163 days ago1711219763IN
0x0F37F837...AD33A3581
0 ETH0.0014890519.01680788
Approve194991182024-03-23 18:35:11163 days ago1711218911IN
0x0F37F837...AD33A3581
0 ETH0.0010983923.61083191
Approve194990422024-03-23 18:19:47163 days ago1711217987IN
0x0F37F837...AD33A3581
0 ETH0.0007996317.16656324
Transfer194988552024-03-23 17:42:11163 days ago1711215731IN
0x0F37F837...AD33A3581
0 ETH0.001875825.51208961
Approve194986442024-03-23 16:59:23163 days ago1711213163IN
0x0F37F837...AD33A3581
0 ETH0.0006212425.63199019
Approve194985912024-03-23 16:48:35163 days ago1711212515IN
0x0F37F837...AD33A3581
0 ETH0.0011300424.41693819
Approve194985072024-03-23 16:31:47163 days ago1711211507IN
0x0F37F837...AD33A3581
0 ETH0.0009542620.48607332
Approve194982812024-03-23 15:46:23163 days ago1711208783IN
0x0F37F837...AD33A3581
0 ETH0.0013332328.62191934
Transfer194982612024-03-23 15:42:11163 days ago1711208531IN
0x0F37F837...AD33A3581
0 ETH0.0013664918.58827191
Transfer194981792024-03-23 15:25:47163 days ago1711207547IN
0x0F37F837...AD33A3581
0 ETH0.0016252922.10870613
Approve194981632024-03-23 15:22:35163 days ago1711207355IN
0x0F37F837...AD33A3581
0 ETH0.001218726.16313487
Approve194981542024-03-23 15:20:47163 days ago1711207247IN
0x0F37F837...AD33A3581
0 ETH0.0010058221.59296886
Approve194981082024-03-23 15:11:23163 days ago1711206683IN
0x0F37F837...AD33A3581
0 ETH0.0012900827.69551465
Approve194981072024-03-23 15:11:11163 days ago1711206671IN
0x0F37F837...AD33A3581
0 ETH0.0011992825.77952403
Approve194981052024-03-23 15:10:47163 days ago1711206647IN
0x0F37F837...AD33A3581
0 ETH0.0011789425.34219242
Approve194980862024-03-23 15:06:59163 days ago1711206419IN
0x0F37F837...AD33A3581
0 ETH0.0007623231.37519365
Approve194980822024-03-23 15:06:11163 days ago1711206371IN
0x0F37F837...AD33A3581
0 ETH0.0010512922.59824365
Approve194980512024-03-23 14:59:59163 days ago1711205999IN
0x0F37F837...AD33A3581
0 ETH0.0012162226.14358311
Approve194980512024-03-23 14:59:59163 days ago1711205999IN
0x0F37F837...AD33A3581
0 ETH0.001227326.38183727
Transfer194980392024-03-23 14:57:35163 days ago1711205855IN
0x0F37F837...AD33A3581
0 ETH0.0017014423.14076704
Approve194980282024-03-23 14:55:23163 days ago1711205723IN
0x0F37F837...AD33A3581
0 ETH0.0010776123.28413833
Approve194980262024-03-23 14:54:59163 days ago1711205699IN
0x0F37F837...AD33A3581
0 ETH0.0011073123.80256481
Approve194980192024-03-23 14:53:35163 days ago1711205615IN
0x0F37F837...AD33A3581
0 ETH0.0011444124.56817305
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
194980222024-03-23 14:54:11163 days ago1711205651
0x0F37F837...AD33A3581
0.00614857 ETH
194980222024-03-23 14:54:11163 days ago1711205651
0x0F37F837...AD33A3581
0.00614857 ETH
194980222024-03-23 14:54:11163 days ago1711205651
0x0F37F837...AD33A3581
0.01229714 ETH
194980222024-03-23 14:54:11163 days ago1711205651
0x0F37F837...AD33A3581
0.00618509 ETH
194980222024-03-23 14:54:11163 days ago1711205651
0x0F37F837...AD33A3581
0.00618509 ETH
194980222024-03-23 14:54:11163 days ago1711205651
0x0F37F837...AD33A3581
0.01237018 ETH
194980202024-03-23 14:53:47163 days ago1711205627
0x0F37F837...AD33A3581
0.01196472 ETH
194980202024-03-23 14:53:47163 days ago1711205627
0x0F37F837...AD33A3581
0.01196472 ETH
194980202024-03-23 14:53:47163 days ago1711205627
0x0F37F837...AD33A3581
0.02392944 ETH
194980202024-03-23 14:53:47163 days ago1711205627
0x0F37F837...AD33A3581
0.13827319 ETH
194980202024-03-23 14:53:47163 days ago1711205627
0x0F37F837...AD33A3581
0.13827319 ETH
194980202024-03-23 14:53:47163 days ago1711205627
0x0F37F837...AD33A3581
0.27654638 ETH
194979432024-03-23 14:38:11163 days ago1711204691
0x0F37F837...AD33A3581
0.00414368 ETH
194979432024-03-23 14:38:11163 days ago1711204691
0x0F37F837...AD33A3581
0.00414368 ETH
194979432024-03-23 14:38:11163 days ago1711204691
0x0F37F837...AD33A3581
0.00828737 ETH
194979432024-03-23 14:38:11163 days ago1711204691
0x0F37F837...AD33A3581
0.00381778 ETH
194979432024-03-23 14:38:11163 days ago1711204691
0x0F37F837...AD33A3581
0.00381778 ETH
194979432024-03-23 14:38:11163 days ago1711204691
0x0F37F837...AD33A3581
0.00763556 ETH
194979412024-03-23 14:37:47163 days ago1711204667
0x0F37F837...AD33A3581
0.00381778 ETH
194979412024-03-23 14:37:47163 days ago1711204667
0x0F37F837...AD33A3581
0.00381778 ETH
194979412024-03-23 14:37:47163 days ago1711204667
0x0F37F837...AD33A3581
0.00763556 ETH
194979412024-03-23 14:37:47163 days ago1711204667
0x0F37F837...AD33A3581
0.06344724 ETH
194979412024-03-23 14:37:47163 days ago1711204667
0x0F37F837...AD33A3581
0.06344724 ETH
194979412024-03-23 14:37:47163 days ago1711204667
0x0F37F837...AD33A3581
0.12689449 ETH
194979192024-03-23 14:33:23163 days ago1711204403
0x0F37F837...AD33A3581
0.00260691 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MegaScan

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-03-23
*/

pragma solidity 0.8.17;

// SPDX-License-Identifier: MIT

/**

MegaScan AI is committed to integrating the most advanced AI technologies in redefining how users interact with blockchain data.

Website: https://megascan.org
Telegram: https://t.me/megascan_erc
Twitter: https://twitter.com/megascan_erc
Dapp: https://app.megascan.org

**/

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

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

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

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

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
}

contract MegaScan is Context, IERC20, Ownable {
    address payable private opSendor;
    address payable private mkSendor;
    address public constant deadAddress = 0x000000000000000000000000000000000000dEaD;

    modifier lockTheSwap() {
        inSwapLock = true;
        _;
        inSwapLock = false;
    }

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotals = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"MegaScan AI";
    string private constant _symbol = unicode"MEGAS";
    uint256 private minSwapAmounts = 1000 * 10 ** _decimals;
    uint256 public swapTxLimits = 20000000 * 10 ** _decimals;
    uint256 private maxSwapValues = 20000000 * 10 ** _decimals;
    uint256 private buyTotalFees = 30;
    uint256 private sellTotalFees = 40;
    uint256 private buyTotalCounts = 0;

    event ExcludeFromFeesUpdated(address indexed account);
    event includeFromFeesUpdated(address indexed account);
    event ERC20TokenRecovered(uint256 indexed _amount);
    event TradingEnabledUpdated();
    event ETHBalancesRecovered();

    bool private inSwapLock = false;
    bool public tradeEnabled = false;
    bool private swapEnabled = false;

    mapping(address => uint256) private _tBalances;
    mapping(address => bool) private _isFeeExcempts;
    mapping(address => mapping(address => uint256)) private _allowances;
    
    address private uniswapV2Pair;
    IUniswapV2Router public uniswapV2Router;

    constructor() {
        opSendor = payable(0xCEda894459B68Dc5F19b05A3E54D02e4E6cf59aa);
        mkSendor = payable(0x6a7166424f4dD8c3B6669522bcba7CD8F9Dfb027);
        _tBalances[_msgSender()] = _tTotals;
        _isFeeExcempts[opSendor] = true;
        _isFeeExcempts[mkSendor] = true;
        _isFeeExcempts[deadAddress] = true;
        _isFeeExcempts[_msgSender()] = true;
        _isFeeExcempts[address(this)] = true;
        emit Transfer(address(0), _msgSender(), _tTotals);
    }

    function excludeFromFees(address account) external onlyOwner {
        require(
            _isFeeExcempts[account] != true,
            "Account is already excluded"
        );
        _isFeeExcempts[account] = true;
        emit ExcludeFromFeesUpdated(account);
    }

    function includeFromFees(address account) external onlyOwner {
        require(
            _isFeeExcempts[account] != false,
            "Account is already included"
        );
        _isFeeExcempts[account] = false;
        emit includeFromFeesUpdated(account);
    }

    function sendETHToMegas(uint256 amount) private {
        require(amount > 0, "amount must be greeter than 0");
        opSendor.transfer(amount / 2);
        mkSendor.transfer(amount / 2);
    }

    function launchMEGAS() external onlyOwner {
        require(!tradeEnabled, "trading is already open");
        tradeEnabled = true;
        swapEnabled = true;
        emit TradingEnabledUpdated();
    }

    function setFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        require(_buyFee <= 100 && _sellFee <= 100, "revert wrong fee settings");
        buyTotalFees = _buyFee;
        sellTotalFees = _sellFee;
    }

    function removeLimits() external onlyOwner {
        swapTxLimits = _tTotals;

        buyTotalFees = 2;
        sellTotalFees = 2;
    }

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

    function swapForETHs(uint256 tokenAmount) private lockTheSwap {
        require(tokenAmount > 0, "amount must be greeter than 0");
        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 recoverTokensOf(
        address _tokenAddy,
        uint256 _amount
    ) external onlyOwner {
        require(
            _tokenAddy != address(this),
            "Owner can't claim contract's balance of its own tokens"
        );
        require(_amount > 0, "Amount should be greater than zero");
        require(
            _amount <= IERC20(_tokenAddy).balanceOf(address(this)),
            "Insufficient Amount"
        );
        IERC20(_tokenAddy).transfer(mkSendor, _amount);
        emit ERC20TokenRecovered(_amount);
    }

    function recoverETHsOf() external {
        uint256 contractETHs = address(this).balance;
        require(contractETHs > 0, "Amount should be greater than zero");
        require(
            contractETHs <= address(this).balance,
            "Insufficient Amount"
        );
        payable(address(mkSendor)).transfer(contractETHs);
        emit ETHBalancesRecovered();
    }

    function initializeLP() external payable onlyOwner {
        uniswapV2Router = IUniswapV2Router(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );

        _approve(address(this), address(uniswapV2Router), ~uint256(0));

        uniswapV2Router.addLiquidityETH{value: msg.value}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
    }

    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 _tTotals;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _tBalances[account];
    }

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

        uint256 _totalFees = 0;
        _totalFees = buyTotalFees;

        if (!_isFeeExcempts[from] && !_isFeeExcempts[to]) {
            require(tradeEnabled, "Trading not enabled");
        }

        if (inSwapLock || !swapEnabled) {
            _tBalances[from] -= amount;
            _tBalances[to] += amount;
            emit Transfer(from, to, amount);
            return;
        }

        if (
            from == uniswapV2Pair &&
            to != address(uniswapV2Router) &&
            !_isFeeExcempts[to]
        ) {
            require(amount <= swapTxLimits, "Exceeds the _maxTxAmount.");
            require(
                balanceOf(to) + amount <= swapTxLimits,
                "Exceeds the maxWalletSize."
            );
            buyTotalCounts++;
        }

        if (
            from != uniswapV2Pair &&
            !_isFeeExcempts[from] &&
            !_isFeeExcempts[to]
        ) {
            require(amount <= swapTxLimits, "Exceeds the _maxTxAmount.");
        }

        if (
            to == uniswapV2Pair &&
            from != address(this) &&
            !_isFeeExcempts[from] &&
            !_isFeeExcempts[to]
        ) {
            _totalFees = sellTotalFees;
        }

        uint256 contractTokens = balanceOf(address(this));
        if (
            buyTotalCounts > 0 &&
            !inSwapLock &&
            amount >= minSwapAmounts &&
            to == uniswapV2Pair &&
            contractTokens >= minSwapAmounts &&
            swapEnabled &&
            !_isFeeExcempts[from] &&
            !_isFeeExcempts[to]
        ) {
            swapForETHs(min(amount, min(contractTokens, maxSwapValues)));
            uint256 contractETHs = address(this).balance;
            if (contractETHs > 0) {
                sendETHToMegas(address(this).balance);
            }
        }

        if (_totalFees != 0) {
            uint256 mFees = (amount * _totalFees) / 100;
            uint256 mAmounts = amount - mFees;
            address mSendor = _isFeeExcempts[from] ? from : address(this);
            mFees = _isFeeExcempts[from] ? amount : mFees;
            _tBalances[mSendor] += mFees;
            emit Transfer(from, address(this), mFees);
            _tBalances[from] -= amount;
            _tBalances[to] += mAmounts;
            emit Transfer(from, to, mAmounts);
        } else {
            _tBalances[from] -= amount;
            _tBalances[to] += amount;
            emit Transfer(from, to, amount);
        }
    }

    receive() external payable {}

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(
            currentAllowance >= amount,
            "ERC20: transfer amount exceeds allowance"
        );
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function transfer(
        address 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;
    }
}

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":true,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"ERC20TokenRecovered","type":"event"},{"anonymous":false,"inputs":[],"name":"ETHBalancesRecovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"ExcludeFromFeesUpdated","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":[],"name":"TradingEnabledUpdated","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"includeFromFeesUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initializeLP","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"launchMEGAS","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":"recoverETHsOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddy","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverTokensOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTxLimits","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":[],"name":"tradeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000343565b62000020906103e86200035b565b600355620000316009600a62000343565b62000041906301312d006200035b565b600455620000526009600a62000343565b62000062906301312d006200035b565b600555601e600655602860075560006008556009805462ffffff191690553480156200008d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b031990811673ceda894459b68dc5f19b05a3e54d02e4e6cf59aa1790915560028054909116736a7166424f4dd8c3b6669522bcba7cd8f9dfb027179055620001256009600a62000343565b6200013590633b9aca006200035b565b336000818152600a6020908152604080832094909455600180546001600160a01b039081168452600b909252848320805460ff199081168317909155600254909216835284832080548316821790557f44433eeeda1d04bdae79f62169cdb2ab0a6af287fa15706d3fafdbac5fac3415805483168217905583835284832080548316821790553083529390912080549091169092179091556001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002076009600a62000343565b6200021790633b9aca006200035b565b60405190815260200160405180910390a362000375565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002855781600019048211156200026957620002696200022e565b808516156200027757918102915b93841c939080029062000249565b509250929050565b6000826200029e575060016200033d565b81620002ad575060006200033d565b8160018114620002c65760028114620002d157620002f1565b60019150506200033d565b60ff841115620002e557620002e56200022e565b50506001821b6200033d565b5060208310610133831016604e8410600b841016171562000316575081810a6200033d565b62000322838362000244565b80600019048211156200033957620003396200022e565b0290505b92915050565b60006200035460ff8416836200028d565b9392505050565b80820281158282048414176200033d576200033d6200022e565b61204780620003856000396000f3fe60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063d621e8131161006f578063d621e813146103c9578063dd62ed3e146103e8578063e17594c21461042e578063e57f14e114610443578063e8a1eb9f14610463578063f2fde38b1461047957600080fd5b80638da5cb5b1461032057806395d89b411461033e578063a6690cf91461036c578063a9059cbb14610374578063acc7ae2314610394578063c2f65856146103b457600080fd5b806323b872dd1161010857806323b872dd1461026e57806327c8f8351461028e578063313ce567146102a457806370a08231146102c0578063715018a6146102f6578063751039fc1461030b57600080fd5b806306fdde031461015b578063095ea7b3146101a15780630b78f9c0146101d15780631694505e146101f357806318160ddd1461022b57806320b581a41461024e57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600b81526a4d6567615363616e20414960a81b60208201525b6040516101989190611ba4565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004611c07565b610499565b6040519015158152602001610198565b3480156101dd57600080fd5b506101f16101ec366004611c33565b6104b0565b005b3480156101ff57600080fd5b50600e54610213906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561023757600080fd5b5061024061054c565b604051908152602001610198565b34801561025a57600080fd5b506101f1610269366004611c07565b61056d565b34801561027a57600080fd5b506101c1610289366004611c55565b610782565b34801561029a57600080fd5b5061021361dead81565b3480156102b057600080fd5b5060405160098152602001610198565b3480156102cc57600080fd5b506102406102db366004611c96565b6001600160a01b03166000908152600a602052604090205490565b34801561030257600080fd5b506101f1610831565b34801561031757600080fd5b506101f16108a5565b34801561032c57600080fd5b506000546001600160a01b0316610213565b34801561034a57600080fd5b506040805180820190915260058152644d4547415360d81b602082015261018b565b6101f16108f8565b34801561038057600080fd5b506101c161038f366004611c07565b610ba8565b3480156103a057600080fd5b506101f16103af366004611c96565b610bb5565b3480156103c057600080fd5b506101f1610c94565b3480156103d557600080fd5b506009546101c190610100900460ff1681565b3480156103f457600080fd5b50610240610403366004611cb3565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b34801561043a57600080fd5b506101f1610d52565b34801561044f57600080fd5b506101f161045e366004611c96565b610e1d565b34801561046f57600080fd5b5061024060045481565b34801561048557600080fd5b506101f1610494366004611c96565b610f00565b60006104a6338484610f9b565b5060015b92915050565b6000546001600160a01b031633146104e35760405162461bcd60e51b81526004016104da90611cec565b60405180910390fd5b606482111580156104f5575060648111155b6105415760405162461bcd60e51b815260206004820152601960248201527f7265766572742077726f6e67206665652073657474696e67730000000000000060448201526064016104da565b600691909155600755565b600061055a6009600a611e1b565b61056890633b9aca00611e2a565b905090565b6000546001600160a01b031633146105975760405162461bcd60e51b81526004016104da90611cec565b306001600160a01b0383160361060e5760405162461bcd60e51b815260206004820152603660248201527f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c604482015275616e6365206f6620697473206f776e20746f6b656e7360501b60648201526084016104da565b6000811161062e5760405162461bcd60e51b81526004016104da90611e41565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610672573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106969190611e83565b8111156106db5760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b60448201526064016104da565b60025460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af115801561072e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107529190611e9c565b5060405181907fb27b69782743fafd4beb1c4e47d050e6a008a7e5e7c9b7330c78a65238498a9090600090a25050565b6001600160a01b0383166000908152600c60209081526040808320338452909152812054828110156108075760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016104da565b6108128585856110bf565b61082685336108218685611ebe565b610f9b565b506001949350505050565b6000546001600160a01b0316331461085b5760405162461bcd60e51b81526004016104da90611cec565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108cf5760405162461bcd60e51b81526004016104da90611cec565b6108db6009600a611e1b565b6108e990633b9aca00611e2a565b60045560026006819055600755565b6000546001600160a01b031633146109225760405162461bcd60e51b81526004016104da90611cec565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa9190611ed1565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a309190611ed1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa19190611ed1565b600d80546001600160a01b0319166001600160a01b03928316179055600e54610acf91309116600019610f9b565b600e546001600160a01b031663f305d7193430610b01816001600160a01b03166000908152600a602052604090205490565b600080610b166000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b7e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ba39190611eee565b505050565b60006104a63384846110bf565b6000546001600160a01b03163314610bdf5760405162461bcd60e51b81526004016104da90611cec565b6001600160a01b0381166000908152600b602052604081205460ff1615159003610c4b5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c75646564000000000060448201526064016104da565b6001600160a01b0381166000818152600b6020526040808220805460ff19169055517f2787cd66e3c6209ac87ec0b3968ae31a8b953e70a037317f53c3e3e67b101e229190a250565b6000546001600160a01b03163314610cbe5760405162461bcd60e51b81526004016104da90611cec565b600954610100900460ff1615610d165760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104da565b6009805462ffff001916620101001790556040517fd3c2fdcaf5cd26a75c5d60e014554eb53dc349069d8db1f275187743614b17b490600090a1565b4780610d705760405162461bcd60e51b81526004016104da90611e41565b47811115610db65760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b60448201526064016104da565b6002546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610df0573d6000803e3d6000fd5b506040517f3bb0684d6f9d76c7e55b7c296d6672f480511b6f9a014d1dd32b6288bd632d7290600090a150565b6000546001600160a01b03163314610e475760405162461bcd60e51b81526004016104da90611cec565b6001600160a01b0381166000908152600b602052604090205460ff161515600103610eb45760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016104da565b6001600160a01b0381166000818152600b6020526040808220805460ff19166001179055517f3b27b77c12873f49f9de6c571431dd7c5b1e847f180217efc51f654b835407069190a250565b6000546001600160a01b03163314610f2a5760405162461bcd60e51b81526004016104da90611cec565b6001600160a01b038116610f8f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104da565b610f98816118a3565b50565b6001600160a01b038316610ffd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104da565b6001600160a01b03821661105e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104da565b6001600160a01b038381166000818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111235760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104da565b6001600160a01b0382166111855760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104da565b600081116111e75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104da565b6006546001600160a01b0384166000908152600b602052604090205460ff1615801561122c57506001600160a01b0383166000908152600b602052604090205460ff16155b1561127e57600954610100900460ff1661127e5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016104da565b60095460ff1680611298575060095462010000900460ff16155b1561133a576001600160a01b0384166000908152600a6020526040812080548492906112c5908490611ebe565b90915550506001600160a01b0383166000908152600a6020526040812080548492906112f2908490611f1c565b92505081905550826001600160a01b0316846001600160a01b0316600080516020611ff28339815191528460405161132c91815260200190565b60405180910390a350505050565b600d546001600160a01b0385811691161480156113655750600e546001600160a01b03848116911614155b801561138a57506001600160a01b0383166000908152600b602052604090205460ff16155b1561146e576004548211156113dd5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104da565b60045482611400856001600160a01b03166000908152600a602052604090205490565b61140a9190611f1c565b11156114585760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104da565b6008805490600061146883611f2f565b91905055505b600d546001600160a01b038581169116148015906114a557506001600160a01b0384166000908152600b602052604090205460ff16155b80156114ca57506001600160a01b0383166000908152600b602052604090205460ff16155b1561151d5760045482111561151d5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104da565b600d546001600160a01b03848116911614801561154357506001600160a01b0384163014155b801561156857506001600160a01b0384166000908152600b602052604090205460ff16155b801561158d57506001600160a01b0383166000908152600b602052604090205460ff16155b1561159757506007545b306000908152600a6020526040902054600854158015906115bb575060095460ff16155b80156115c957506003548310155b80156115e25750600d546001600160a01b038581169116145b80156115f057506003548110155b8015611604575060095462010000900460ff165b801561162957506001600160a01b0385166000908152600b602052604090205460ff16155b801561164e57506001600160a01b0384166000908152600b602052604090205460ff16155b156116825761167061166b84611666846005546118f3565b6118f3565b61190b565b4780156116805761168047611ac9565b505b811561180457600060646116968486611e2a565b6116a09190611f48565b905060006116ae8286611ebe565b6001600160a01b0388166000908152600b60205260408120549192509060ff166116d857306116da565b875b6001600160a01b0389166000908152600b602052604090205490915060ff166117035782611705565b855b6001600160a01b0382166000908152600a6020526040812080549295508592909190611732908490611f1c565b909155505060405183815230906001600160a01b038a1690600080516020611ff28339815191529060200160405180910390a36001600160a01b0388166000908152600a60205260408120805488929061178d908490611ebe565b90915550506001600160a01b0387166000908152600a6020526040812080548492906117ba908490611f1c565b92505081905550866001600160a01b0316886001600160a01b0316600080516020611ff2833981519152846040516117f491815260200190565b60405180910390a350505061189c565b6001600160a01b0385166000908152600a60205260408120805485929061182c908490611ebe565b90915550506001600160a01b0384166000908152600a602052604081208054859290611859908490611f1c565b92505081905550836001600160a01b0316856001600160a01b0316600080516020611ff28339815191528560405161189391815260200190565b60405180910390a35b5050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008183116119025782611904565b815b9392505050565b6009805460ff19166001179055806119655760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726565746572207468616e203000000060448201526064016104da565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061199a5761199a611f6a565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156119f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a179190611ed1565b81600181518110611a2a57611a2a611f6a565b6001600160a01b039283166020918202929092010152600e54611a509130911684610f9b565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a89908590600090869030904290600401611f80565b600060405180830381600087803b158015611aa357600080fd5b505af1158015611ab7573d6000803e3d6000fd5b50506009805460ff1916905550505050565b60008111611b195760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726565746572207468616e203000000060448201526064016104da565b6001546001600160a01b03166108fc611b33600284611f48565b6040518115909202916000818181858888f19350505050158015611b5b573d6000803e3d6000fd5b50600280546001600160a01b0316906108fc90611b789084611f48565b6040518115909202916000818181858888f19350505050158015611ba0573d6000803e3d6000fd5b5050565b600060208083528351808285015260005b81811015611bd157858101830151858201604001528201611bb5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f9857600080fd5b60008060408385031215611c1a57600080fd5b8235611c2581611bf2565b946020939093013593505050565b60008060408385031215611c4657600080fd5b50508035926020909101359150565b600080600060608486031215611c6a57600080fd5b8335611c7581611bf2565b92506020840135611c8581611bf2565b929592945050506040919091013590565b600060208284031215611ca857600080fd5b813561190481611bf2565b60008060408385031215611cc657600080fd5b8235611cd181611bf2565b91506020830135611ce181611bf2565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611d72578160001904821115611d5857611d58611d21565b80851615611d6557918102915b93841c9390800290611d3c565b509250929050565b600082611d89575060016104aa565b81611d96575060006104aa565b8160018114611dac5760028114611db657611dd2565b60019150506104aa565b60ff841115611dc757611dc7611d21565b50506001821b6104aa565b5060208310610133831016604e8410600b8410161715611df5575081810a6104aa565b611dff8383611d37565b8060001904821115611e1357611e13611d21565b029392505050565b600061190460ff841683611d7a565b80820281158282048414176104aa576104aa611d21565b60208082526022908201527f416d6f756e742073686f756c642062652067726561746572207468616e207a65604082015261726f60f01b606082015260800190565b600060208284031215611e9557600080fd5b5051919050565b600060208284031215611eae57600080fd5b8151801515811461190457600080fd5b818103818111156104aa576104aa611d21565b600060208284031215611ee357600080fd5b815161190481611bf2565b600080600060608486031215611f0357600080fd5b8351925060208401519150604084015190509250925092565b808201808211156104aa576104aa611d21565b600060018201611f4157611f41611d21565b5060010190565b600082611f6557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611fd05784516001600160a01b031683529383019391830191600101611fab565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f63acce0e9f5d07dede7f5f593568cc0304d9e7fced3af80b726b26f07cdf8cc64736f6c63430008110033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063d621e8131161006f578063d621e813146103c9578063dd62ed3e146103e8578063e17594c21461042e578063e57f14e114610443578063e8a1eb9f14610463578063f2fde38b1461047957600080fd5b80638da5cb5b1461032057806395d89b411461033e578063a6690cf91461036c578063a9059cbb14610374578063acc7ae2314610394578063c2f65856146103b457600080fd5b806323b872dd1161010857806323b872dd1461026e57806327c8f8351461028e578063313ce567146102a457806370a08231146102c0578063715018a6146102f6578063751039fc1461030b57600080fd5b806306fdde031461015b578063095ea7b3146101a15780630b78f9c0146101d15780631694505e146101f357806318160ddd1461022b57806320b581a41461024e57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600b81526a4d6567615363616e20414960a81b60208201525b6040516101989190611ba4565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004611c07565b610499565b6040519015158152602001610198565b3480156101dd57600080fd5b506101f16101ec366004611c33565b6104b0565b005b3480156101ff57600080fd5b50600e54610213906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561023757600080fd5b5061024061054c565b604051908152602001610198565b34801561025a57600080fd5b506101f1610269366004611c07565b61056d565b34801561027a57600080fd5b506101c1610289366004611c55565b610782565b34801561029a57600080fd5b5061021361dead81565b3480156102b057600080fd5b5060405160098152602001610198565b3480156102cc57600080fd5b506102406102db366004611c96565b6001600160a01b03166000908152600a602052604090205490565b34801561030257600080fd5b506101f1610831565b34801561031757600080fd5b506101f16108a5565b34801561032c57600080fd5b506000546001600160a01b0316610213565b34801561034a57600080fd5b506040805180820190915260058152644d4547415360d81b602082015261018b565b6101f16108f8565b34801561038057600080fd5b506101c161038f366004611c07565b610ba8565b3480156103a057600080fd5b506101f16103af366004611c96565b610bb5565b3480156103c057600080fd5b506101f1610c94565b3480156103d557600080fd5b506009546101c190610100900460ff1681565b3480156103f457600080fd5b50610240610403366004611cb3565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b34801561043a57600080fd5b506101f1610d52565b34801561044f57600080fd5b506101f161045e366004611c96565b610e1d565b34801561046f57600080fd5b5061024060045481565b34801561048557600080fd5b506101f1610494366004611c96565b610f00565b60006104a6338484610f9b565b5060015b92915050565b6000546001600160a01b031633146104e35760405162461bcd60e51b81526004016104da90611cec565b60405180910390fd5b606482111580156104f5575060648111155b6105415760405162461bcd60e51b815260206004820152601960248201527f7265766572742077726f6e67206665652073657474696e67730000000000000060448201526064016104da565b600691909155600755565b600061055a6009600a611e1b565b61056890633b9aca00611e2a565b905090565b6000546001600160a01b031633146105975760405162461bcd60e51b81526004016104da90611cec565b306001600160a01b0383160361060e5760405162461bcd60e51b815260206004820152603660248201527f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c604482015275616e6365206f6620697473206f776e20746f6b656e7360501b60648201526084016104da565b6000811161062e5760405162461bcd60e51b81526004016104da90611e41565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610672573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106969190611e83565b8111156106db5760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b60448201526064016104da565b60025460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af115801561072e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107529190611e9c565b5060405181907fb27b69782743fafd4beb1c4e47d050e6a008a7e5e7c9b7330c78a65238498a9090600090a25050565b6001600160a01b0383166000908152600c60209081526040808320338452909152812054828110156108075760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016104da565b6108128585856110bf565b61082685336108218685611ebe565b610f9b565b506001949350505050565b6000546001600160a01b0316331461085b5760405162461bcd60e51b81526004016104da90611cec565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108cf5760405162461bcd60e51b81526004016104da90611cec565b6108db6009600a611e1b565b6108e990633b9aca00611e2a565b60045560026006819055600755565b6000546001600160a01b031633146109225760405162461bcd60e51b81526004016104da90611cec565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa9190611ed1565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a309190611ed1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa19190611ed1565b600d80546001600160a01b0319166001600160a01b03928316179055600e54610acf91309116600019610f9b565b600e546001600160a01b031663f305d7193430610b01816001600160a01b03166000908152600a602052604090205490565b600080610b166000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b7e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ba39190611eee565b505050565b60006104a63384846110bf565b6000546001600160a01b03163314610bdf5760405162461bcd60e51b81526004016104da90611cec565b6001600160a01b0381166000908152600b602052604081205460ff1615159003610c4b5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c75646564000000000060448201526064016104da565b6001600160a01b0381166000818152600b6020526040808220805460ff19169055517f2787cd66e3c6209ac87ec0b3968ae31a8b953e70a037317f53c3e3e67b101e229190a250565b6000546001600160a01b03163314610cbe5760405162461bcd60e51b81526004016104da90611cec565b600954610100900460ff1615610d165760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104da565b6009805462ffff001916620101001790556040517fd3c2fdcaf5cd26a75c5d60e014554eb53dc349069d8db1f275187743614b17b490600090a1565b4780610d705760405162461bcd60e51b81526004016104da90611e41565b47811115610db65760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b60448201526064016104da565b6002546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610df0573d6000803e3d6000fd5b506040517f3bb0684d6f9d76c7e55b7c296d6672f480511b6f9a014d1dd32b6288bd632d7290600090a150565b6000546001600160a01b03163314610e475760405162461bcd60e51b81526004016104da90611cec565b6001600160a01b0381166000908152600b602052604090205460ff161515600103610eb45760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016104da565b6001600160a01b0381166000818152600b6020526040808220805460ff19166001179055517f3b27b77c12873f49f9de6c571431dd7c5b1e847f180217efc51f654b835407069190a250565b6000546001600160a01b03163314610f2a5760405162461bcd60e51b81526004016104da90611cec565b6001600160a01b038116610f8f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104da565b610f98816118a3565b50565b6001600160a01b038316610ffd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104da565b6001600160a01b03821661105e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104da565b6001600160a01b038381166000818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111235760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104da565b6001600160a01b0382166111855760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104da565b600081116111e75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104da565b6006546001600160a01b0384166000908152600b602052604090205460ff1615801561122c57506001600160a01b0383166000908152600b602052604090205460ff16155b1561127e57600954610100900460ff1661127e5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016104da565b60095460ff1680611298575060095462010000900460ff16155b1561133a576001600160a01b0384166000908152600a6020526040812080548492906112c5908490611ebe565b90915550506001600160a01b0383166000908152600a6020526040812080548492906112f2908490611f1c565b92505081905550826001600160a01b0316846001600160a01b0316600080516020611ff28339815191528460405161132c91815260200190565b60405180910390a350505050565b600d546001600160a01b0385811691161480156113655750600e546001600160a01b03848116911614155b801561138a57506001600160a01b0383166000908152600b602052604090205460ff16155b1561146e576004548211156113dd5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104da565b60045482611400856001600160a01b03166000908152600a602052604090205490565b61140a9190611f1c565b11156114585760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104da565b6008805490600061146883611f2f565b91905055505b600d546001600160a01b038581169116148015906114a557506001600160a01b0384166000908152600b602052604090205460ff16155b80156114ca57506001600160a01b0383166000908152600b602052604090205460ff16155b1561151d5760045482111561151d5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104da565b600d546001600160a01b03848116911614801561154357506001600160a01b0384163014155b801561156857506001600160a01b0384166000908152600b602052604090205460ff16155b801561158d57506001600160a01b0383166000908152600b602052604090205460ff16155b1561159757506007545b306000908152600a6020526040902054600854158015906115bb575060095460ff16155b80156115c957506003548310155b80156115e25750600d546001600160a01b038581169116145b80156115f057506003548110155b8015611604575060095462010000900460ff165b801561162957506001600160a01b0385166000908152600b602052604090205460ff16155b801561164e57506001600160a01b0384166000908152600b602052604090205460ff16155b156116825761167061166b84611666846005546118f3565b6118f3565b61190b565b4780156116805761168047611ac9565b505b811561180457600060646116968486611e2a565b6116a09190611f48565b905060006116ae8286611ebe565b6001600160a01b0388166000908152600b60205260408120549192509060ff166116d857306116da565b875b6001600160a01b0389166000908152600b602052604090205490915060ff166117035782611705565b855b6001600160a01b0382166000908152600a6020526040812080549295508592909190611732908490611f1c565b909155505060405183815230906001600160a01b038a1690600080516020611ff28339815191529060200160405180910390a36001600160a01b0388166000908152600a60205260408120805488929061178d908490611ebe565b90915550506001600160a01b0387166000908152600a6020526040812080548492906117ba908490611f1c565b92505081905550866001600160a01b0316886001600160a01b0316600080516020611ff2833981519152846040516117f491815260200190565b60405180910390a350505061189c565b6001600160a01b0385166000908152600a60205260408120805485929061182c908490611ebe565b90915550506001600160a01b0384166000908152600a602052604081208054859290611859908490611f1c565b92505081905550836001600160a01b0316856001600160a01b0316600080516020611ff28339815191528560405161189391815260200190565b60405180910390a35b5050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008183116119025782611904565b815b9392505050565b6009805460ff19166001179055806119655760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726565746572207468616e203000000060448201526064016104da565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061199a5761199a611f6a565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156119f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a179190611ed1565b81600181518110611a2a57611a2a611f6a565b6001600160a01b039283166020918202929092010152600e54611a509130911684610f9b565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a89908590600090869030904290600401611f80565b600060405180830381600087803b158015611aa357600080fd5b505af1158015611ab7573d6000803e3d6000fd5b50506009805460ff1916905550505050565b60008111611b195760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726565746572207468616e203000000060448201526064016104da565b6001546001600160a01b03166108fc611b33600284611f48565b6040518115909202916000818181858888f19350505050158015611b5b573d6000803e3d6000fd5b50600280546001600160a01b0316906108fc90611b789084611f48565b6040518115909202916000818181858888f19350505050158015611ba0573d6000803e3d6000fd5b5050565b600060208083528351808285015260005b81811015611bd157858101830151858201604001528201611bb5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f9857600080fd5b60008060408385031215611c1a57600080fd5b8235611c2581611bf2565b946020939093013593505050565b60008060408385031215611c4657600080fd5b50508035926020909101359150565b600080600060608486031215611c6a57600080fd5b8335611c7581611bf2565b92506020840135611c8581611bf2565b929592945050506040919091013590565b600060208284031215611ca857600080fd5b813561190481611bf2565b60008060408385031215611cc657600080fd5b8235611cd181611bf2565b91506020830135611ce181611bf2565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611d72578160001904821115611d5857611d58611d21565b80851615611d6557918102915b93841c9390800290611d3c565b509250929050565b600082611d89575060016104aa565b81611d96575060006104aa565b8160018114611dac5760028114611db657611dd2565b60019150506104aa565b60ff841115611dc757611dc7611d21565b50506001821b6104aa565b5060208310610133831016604e8410600b8410161715611df5575081810a6104aa565b611dff8383611d37565b8060001904821115611e1357611e13611d21565b029392505050565b600061190460ff841683611d7a565b80820281158282048414176104aa576104aa611d21565b60208082526022908201527f416d6f756e742073686f756c642062652067726561746572207468616e207a65604082015261726f60f01b606082015260800190565b600060208284031215611e9557600080fd5b5051919050565b600060208284031215611eae57600080fd5b8151801515811461190457600080fd5b818103818111156104aa576104aa611d21565b600060208284031215611ee357600080fd5b815161190481611bf2565b600080600060608486031215611f0357600080fd5b8351925060208401519150604084015190509250925092565b808201808211156104aa576104aa611d21565b600060018201611f4157611f41611d21565b5060010190565b600082611f6557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611fd05784516001600160a01b031683529383019391830191600101611fab565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f63acce0e9f5d07dede7f5f593568cc0304d9e7fced3af80b726b26f07cdf8cc64736f6c63430008110033

Deployed Bytecode Sourcemap

3934:10454:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9595:83;;;;;;;;;;-1:-1:-1;9665:5:0;;;;;;;;;;;;-1:-1:-1;;;9665:5:0;;;;9595:83;;;;;;;:::i;:::-;;;;;;;;14199:186;;;;;;;;;;-1:-1:-1;14199:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;14199:186:0;1023:187:1;6940:229:0;;;;;;;;;;-1:-1:-1;6940:229:0;;;;;:::i;:::-;;:::i;:::-;;5395:39;;;;;;;;;;-1:-1:-1;5395:39:0;;;;-1:-1:-1;;;;;5395:39:0;;;;;;-1:-1:-1;;;;;1656:32:1;;;1638:51;;1626:2;1611:18;5395:39:0;1468:227:1;9866:96:0;;;;;;;;;;;;;:::i;:::-;;;1846:25:1;;;1834:2;1819:18;9866:96:0;1700:177:1;7996:560:0;;;;;;;;;;-1:-1:-1;7996:560:0;;;;;:::i;:::-;;:::i;12999:481::-;;;;;;;;;;-1:-1:-1;12999:481:0;;;;;:::i;:::-;;:::i;4065:80::-;;;;;;;;;;;;4103:42;4065:80;;9777:83;;;;;;;;;;-1:-1:-1;9777:83:0;;4297:1;2693:36:1;;2681:2;2666:18;9777:83:0;2551:184:1;9968:120:0;;;;;;;;;;-1:-1:-1;9968:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;10061:19:0;10034:7;10061:19;;;:10;:19;;;;;;;9968:120;3135:148;;;;;;;;;;;;;:::i;7177:142::-;;;;;;;;;;;;;:::i;2484:79::-;;;;;;;;;;-1:-1:-1;2522:7:0;2549:6;-1:-1:-1;;;;;2549:6:0;2484:79;;9684:87;;;;;;;;;;-1:-1:-1;9756:7:0;;;;;;;;;;;;-1:-1:-1;;;9756:7:0;;;;9684:87;;8958:629;;;:::i;13827:192::-;;;;;;;;;;-1:-1:-1;13827:192:0;;;;;:::i;:::-;;:::i;6231:278::-;;;;;;;;;;-1:-1:-1;6231:278:0;;;;;:::i;:::-;;:::i;6724:208::-;;;;;;;;;;;;;:::i;5092:32::-;;;;;;;;;;-1:-1:-1;5092:32:0;;;;;;;;;;;14025:168;;;;;;;;;;-1:-1:-1;14025:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;14158:18:0;;;14131:7;14158:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;14025:168;8564:386;;;;;;;;;;;;;:::i;5947:276::-;;;;;;;;;;-1:-1:-1;5947:276:0;;;;;:::i;:::-;;:::i;4552:56::-;;;;;;;;;;;;;;;;2694:238;;;;;;;;;;-1:-1:-1;2694:238:0;;;;;:::i;:::-;;:::i;14199:186::-;14299:4;14316:39;1261:10;14339:7;14348:6;14316:8;:39::i;:::-;-1:-1:-1;14373:4:0;14199:186;;;;;:::o;6940:229::-;2609:6;;-1:-1:-1;;;;;2609:6:0;1261:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;;;;;;;;;7041:3:::1;7030:7;:14;;:33;;;;;7060:3;7048:8;:15;;7030:33;7022:71;;;::::0;-1:-1:-1;;;7022:71:0;;3948:2:1;7022:71:0::1;::::0;::::1;3930:21:1::0;3987:2;3967:18;;;3960:30;4026:27;4006:18;;;3999:55;4071:18;;7022:71:0::1;3746:349:1::0;7022:71:0::1;7104:12;:22:::0;;;;7137:13:::1;:24:::0;6940:229::o;9866:96::-;9919:7;4354:15;4297:1;4354:2;:15;:::i;:::-;4341:28;;:10;:28;:::i;:::-;9939:15;;9866:96;:::o;7996:560::-;2609:6;;-1:-1:-1;;;;;2609:6:0;1261:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;8157:4:::1;-1:-1:-1::0;;;;;8135:27:0;::::1;::::0;8113:131:::1;;;::::0;-1:-1:-1;;;8113:131:0;;5990:2:1;8113:131:0::1;::::0;::::1;5972:21:1::0;6029:2;6009:18;;;6002:30;6068:34;6048:18;;;6041:62;-1:-1:-1;;;6119:18:1;;;6112:52;6181:19;;8113:131:0::1;5788:418:1::0;8113:131:0::1;8273:1;8263:7;:11;8255:58;;;;-1:-1:-1::0;;;8255:58:0::1;;;;;;;:::i;:::-;8357:43;::::0;-1:-1:-1;;;8357:43:0;;8394:4:::1;8357:43;::::0;::::1;1638:51:1::0;-1:-1:-1;;;;;8357:28:0;::::1;::::0;::::1;::::0;1611:18:1;;8357:43:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8346:7;:54;;8324:123;;;::::0;-1:-1:-1;;;8324:123:0;;7005:2:1;8324:123:0::1;::::0;::::1;6987:21:1::0;7044:2;7024:18;;;7017:30;-1:-1:-1;;;7063:18:1;;;7056:49;7122:18;;8324:123:0::1;6803:343:1::0;8324:123:0::1;8486:8;::::0;8458:46:::1;::::0;-1:-1:-1;;;8458:46:0;;-1:-1:-1;;;;;8486:8:0;;::::1;8458:46;::::0;::::1;7333:51:1::0;7400:18;;;7393:34;;;8458:27:0;;::::1;::::0;::::1;::::0;7306:18:1;;8458:46:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;8520:28:0::1;::::0;8540:7;;8520:28:::1;::::0;;;::::1;7996:560:::0;;:::o;12999:481::-;-1:-1:-1;;;;;13175:19:0;;13131:4;13175:19;;;:11;:19;;;;;;;;1261:10;13175:33;;;;;;;;13241:26;;;;13219:116;;;;-1:-1:-1;;;13219:116:0;;7922:2:1;13219:116:0;;;7904:21:1;7961:2;7941:18;;;7934:30;8000:34;7980:18;;;7973:62;-1:-1:-1;;;8051:18:1;;;8044:38;8099:19;;13219:116:0;7720:404:1;13219:116:0;13346:36;13356:6;13364:9;13375:6;13346:9;:36::i;:::-;13393:57;13402:6;1261:10;13424:25;13443:6;13424:16;:25;:::i;:::-;13393:8;:57::i;:::-;-1:-1:-1;13468:4:0;;12999:481;-1:-1:-1;;;;12999:481:0:o;3135:148::-;2609:6;;-1:-1:-1;;;;;2609:6:0;1261:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;3242:1:::1;3226:6:::0;;3205:40:::1;::::0;-1:-1:-1;;;;;3226:6:0;;::::1;::::0;3205:40:::1;::::0;3242:1;;3205:40:::1;3273:1;3256:19:::0;;-1:-1:-1;;;;;;3256:19:0::1;::::0;;3135:148::o;7177:142::-;2609:6;;-1:-1:-1;;;;;2609:6:0;1261:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;4354:15:::1;4297:1;4354:2;:15;:::i;:::-;4341:28;::::0;:10:::1;:28;:::i;:::-;7231:12;:23:::0;7282:1:::1;7267:12;:16:::0;;;7294:13:::1;:17:::0;7177:142::o;8958:629::-;2609:6;;-1:-1:-1;;;;;2609:6:0;1261:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;9020:15:::1;:102:::0;;-1:-1:-1;;;;;;9020:102:0::1;9069:42;9020:102:::0;;::::1;::::0;;;9167:25:::1;::::0;;-1:-1:-1;;;9167:25:0;;;;:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;9069:42;9167:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9149:55:0::1;;9227:4;9247:15;;;;;;;;;-1:-1:-1::0;;;;;9247:15:0::1;-1:-1:-1::0;;;;;9247:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9149:131;::::0;-1:-1:-1;;;;;;9149:131:0::1;::::0;;;;;;-1:-1:-1;;;;;8748:15:1;;;9149:131:0::1;::::0;::::1;8730:34:1::0;8800:15;;8780:18;;;8773:43;8665:18;;9149:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9133:13;:147:::0;;-1:-1:-1;;;;;;9133:147:0::1;-1:-1:-1::0;;;;;9133:147:0;;::::1;;::::0;;9325:15:::1;::::0;9293:62:::1;::::0;9310:4:::1;::::0;9325:15:::1;-1:-1:-1::0;;9293:8:0::1;:62::i;:::-;9368:15;::::0;-1:-1:-1;;;;;9368:15:0::1;:31;9407:9;9440:4;9460:24;9440:4:::0;-1:-1:-1;;;;;10061:19:0;10034:7;10061:19;;;:10;:19;;;;;;;9968:120;9460:24:::1;9499:1;9515::::0;9531:7:::1;2522::::0;2549:6;-1:-1:-1;;;;;2549:6:0;;2484:79;9531:7:::1;9368:211;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9368:211:0;;;-1:-1:-1;;;;;9186:15:1;;;9368:211:0::1;::::0;::::1;9168:34:1::0;9218:18;;;9211:34;;;;9261:18;;;9254:34;;;;9304:18;;;9297:34;9368:15;;;9347:19;;;9340:44;9553:15:0::1;9400:19:1::0;;;9393:35;9102:19;;9368:211:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8958:629::o:0;13827:192::-;13930:4;13947:42;1261:10;13971:9;13982:6;13947:9;:42::i;6231:278::-;2609:6;;-1:-1:-1;;;;;2609:6:0;1261:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6325:23:0;::::1;;::::0;;;:14:::1;:23;::::0;;;;;::::1;;:32;;::::0;;6303:109:::1;;;::::0;-1:-1:-1;;;6303:109:0;;9952:2:1;6303:109:0::1;::::0;::::1;9934:21:1::0;9991:2;9971:18;;;9964:30;10030:29;10010:18;;;10003:57;10077:18;;6303:109:0::1;9750:351:1::0;6303:109:0::1;-1:-1:-1::0;;;;;6423:23:0;::::1;6449:5;6423:23:::0;;;:14:::1;:23;::::0;;;;;:31;;-1:-1:-1;;6423:31:0::1;::::0;;6470;::::1;::::0;6449:5;6470:31:::1;6231:278:::0;:::o;6724:208::-;2609:6;;-1:-1:-1;;;;;2609:6:0;1261:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;6786:12:::1;::::0;::::1;::::0;::::1;;;6785:13;6777:49;;;::::0;-1:-1:-1;;;6777:49:0;;10308:2:1;6777:49:0::1;::::0;::::1;10290:21:1::0;10347:2;10327:18;;;10320:30;10386:25;10366:18;;;10359:53;10429:18;;6777:49:0::1;10106:347:1::0;6777:49:0::1;6837:12;:19:::0;;-1:-1:-1;;6867:18:0;;;;;6901:23:::1;::::0;::::1;::::0;-1:-1:-1;;6901:23:0::1;6724:208::o:0;8564:386::-;8632:21;8672:16;8664:63;;;;-1:-1:-1;;;8664:63:0;;;;;;;:::i;:::-;8776:21;8760:12;:37;;8738:106;;;;-1:-1:-1;;;8738:106:0;;7005:2:1;8738:106:0;;;6987:21:1;7044:2;7024:18;;;7017:30;-1:-1:-1;;;7063:18:1;;;7056:49;7122:18;;8738:106:0;6803:343:1;8738:106:0;8871:8;;8855:49;;-1:-1:-1;;;;;8871:8:0;;;;8855:49;;;;;8891:12;;8871:8;8855:49;8871:8;8855:49;8891:12;8871:8;8855:49;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8920:22:0;;;;;;;8598:352;8564:386::o;5947:276::-;2609:6;;-1:-1:-1;;;;;2609:6:0;1261:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6041:23:0;::::1;;::::0;;;:14:::1;:23;::::0;;;;;::::1;;:31;;:23:::0;:31;6019:108:::1;;;::::0;-1:-1:-1;;;6019:108:0;;10660:2:1;6019:108:0::1;::::0;::::1;10642:21:1::0;10699:2;10679:18;;;10672:30;10738:29;10718:18;;;10711:57;10785:18;;6019:108:0::1;10458:351:1::0;6019:108:0::1;-1:-1:-1::0;;;;;6138:23:0;::::1;;::::0;;;:14:::1;:23;::::0;;;;;:30;;-1:-1:-1;;6138:30:0::1;6164:4;6138:30;::::0;;6184:31;::::1;::::0;6138:23;6184:31:::1;5947:276:::0;:::o;2694:238::-;2609:6;;-1:-1:-1;;;;;2609:6:0;1261:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2797:22:0;::::1;2775:110;;;::::0;-1:-1:-1;;;2775:110:0;;11016:2:1;2775:110:0::1;::::0;::::1;10998:21:1::0;11055:2;11035:18;;;11028:30;11094:34;11074:18;;;11067:62;-1:-1:-1;;;11145:18:1;;;11138:36;11191:19;;2775:110:0::1;10814:402:1::0;2775:110:0::1;2896:28;2915:8;2896:18;:28::i;:::-;2694:238:::0;:::o;13486:335::-;-1:-1:-1;;;;;13579:19:0;;13571:68;;;;-1:-1:-1;;;13571:68:0;;11423:2:1;13571:68:0;;;11405:21:1;11462:2;11442:18;;;11435:30;11501:34;11481:18;;;11474:62;-1:-1:-1;;;11552:18:1;;;11545:34;11596:19;;13571:68:0;11221:400:1;13571:68:0;-1:-1:-1;;;;;13658:21:0;;13650:68;;;;-1:-1:-1;;;13650:68:0;;11828:2:1;13650:68:0;;;11810:21:1;11867:2;11847:18;;;11840:30;11906:34;11886:18;;;11879:62;-1:-1:-1;;;11957:18:1;;;11950:32;11999:19;;13650:68:0;11626:398:1;13650:68:0;-1:-1:-1;;;;;13729:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13781:32;;1846:25:1;;;13781:32:0;;1819:18:1;13781:32:0;;;;;;;13486:335;;;:::o;10096:2858::-;-1:-1:-1;;;;;10184:18:0;;10176:68;;;;-1:-1:-1;;;10176:68:0;;12231:2:1;10176:68:0;;;12213:21:1;12270:2;12250:18;;;12243:30;12309:34;12289:18;;;12282:62;-1:-1:-1;;;12360:18:1;;;12353:35;12405:19;;10176:68:0;12029:401:1;10176:68:0;-1:-1:-1;;;;;10263:16:0;;10255:64;;;;-1:-1:-1;;;10255:64:0;;12637:2:1;10255:64:0;;;12619:21:1;12676:2;12656:18;;;12649:30;12715:34;12695:18;;;12688:62;-1:-1:-1;;;12766:18:1;;;12759:33;12809:19;;10255:64:0;12435:399:1;10255:64:0;10347:1;10338:6;:10;10330:64;;;;-1:-1:-1;;;10330:64:0;;13041:2:1;10330:64:0;;;13023:21:1;13080:2;13060:18;;;13053:30;13119:34;13099:18;;;13092:62;-1:-1:-1;;;13170:18:1;;;13163:39;13219:19;;10330:64:0;12839:405:1;10330:64:0;10453:12;;-1:-1:-1;;;;;10483:20:0;;10407:18;10483:20;;;:14;:20;;;;;;;;10482:21;:44;;;;-1:-1:-1;;;;;;10508:18:0;;;;;;:14;:18;;;;;;;;10507:19;10482:44;10478:121;;;10551:12;;;;;;;10543:44;;;;-1:-1:-1;;;10543:44:0;;13451:2:1;10543:44:0;;;13433:21:1;13490:2;13470:18;;;13463:30;-1:-1:-1;;;13509:18:1;;;13502:49;13568:18;;10543:44:0;13249:343:1;10543:44:0;10615:10;;;;;:26;;-1:-1:-1;10630:11:0;;;;;;;10629:12;10615:26;10611:191;;;-1:-1:-1;;;;;10658:16:0;;;;;;:10;:16;;;;;:26;;10678:6;;10658:16;:26;;10678:6;;10658:26;:::i;:::-;;;;-1:-1:-1;;;;;;;10699:14:0;;;;;;:10;:14;;;;;:24;;10717:6;;10699:14;:24;;10717:6;;10699:24;:::i;:::-;;;;;;;;10758:2;-1:-1:-1;;;;;10743:26:0;10752:4;-1:-1:-1;;;;;10743:26:0;-1:-1:-1;;;;;;;;;;;10762:6:0;10743:26;;;;1846:25:1;;1834:2;1819:18;;1700:177;10743:26:0;;;;;;;;10784:7;10096:2858;;;:::o;10611:191::-;10840:13;;-1:-1:-1;;;;;10832:21:0;;;10840:13;;10832:21;:68;;;;-1:-1:-1;10884:15:0;;-1:-1:-1;;;;;10870:30:0;;;10884:15;;10870:30;;10832:68;:104;;;;-1:-1:-1;;;;;;10918:18:0;;;;;;:14;:18;;;;;;;;10917:19;10832:104;10814:393;;;10981:12;;10971:6;:22;;10963:60;;;;-1:-1:-1;;;10963:60:0;;13929:2:1;10963:60:0;;;13911:21:1;13968:2;13948:18;;;13941:30;-1:-1:-1;;;13987:18:1;;;13980:55;14052:18;;10963:60:0;13727:349:1;10963:60:0;11090:12;;11080:6;11064:13;11074:2;-1:-1:-1;;;;;10061:19:0;10034:7;10061:19;;;:10;:19;;;;;;;9968:120;11064:13;:22;;;;:::i;:::-;:38;;11038:126;;;;-1:-1:-1;;;11038:126:0;;14283:2:1;11038:126:0;;;14265:21:1;14322:2;14302:18;;;14295:30;14361:28;14341:18;;;14334:56;14407:18;;11038:126:0;14081:350:1;11038:126:0;11179:14;:16;;;:14;:16;;;:::i;:::-;;;;;;10814:393;11245:13;;-1:-1:-1;;;;;11237:21:0;;;11245:13;;11237:21;;;;:59;;-1:-1:-1;;;;;;11276:20:0;;;;;;:14;:20;;;;;;;;11275:21;11237:59;:95;;;;-1:-1:-1;;;;;;11314:18:0;;;;;;:14;:18;;;;;;;;11313:19;11237:95;11219:212;;;11377:12;;11367:6;:22;;11359:60;;;;-1:-1:-1;;;11359:60:0;;13929:2:1;11359:60:0;;;13911:21:1;13968:2;13948:18;;;13941:30;-1:-1:-1;;;13987:18:1;;;13980:55;14052:18;;11359:60:0;13727:349:1;11359:60:0;11467:13;;-1:-1:-1;;;;;11461:19:0;;;11467:13;;11461:19;:57;;;;-1:-1:-1;;;;;;11497:21:0;;11513:4;11497:21;;11461:57;:95;;;;-1:-1:-1;;;;;;11536:20:0;;;;;;:14;:20;;;;;;;;11535:21;11461:95;:131;;;;-1:-1:-1;;;;;;11574:18:0;;;;;;:14;:18;;;;;;;;11573:19;11461:131;11443:214;;;-1:-1:-1;11632:13:0;;11443:214;11712:4;11669:22;10061:19;;;:10;:19;;;;;;11747:14;;:18;;;;:46;;-1:-1:-1;11783:10:0;;;;11782:11;11747:46;:87;;;;;11820:14;;11810:6;:24;;11747:87;:123;;;;-1:-1:-1;11857:13:0;;-1:-1:-1;;;;;11851:19:0;;;11857:13;;11851:19;11747:123;:172;;;;;11905:14;;11887;:32;;11747:172;:200;;;;-1:-1:-1;11936:11:0;;;;;;;11747:200;:238;;;;-1:-1:-1;;;;;;11965:20:0;;;;;;:14;:20;;;;;;;;11964:21;11747:238;:274;;;;-1:-1:-1;;;;;;12003:18:0;;;;;;:14;:18;;;;;;;;12002:19;11747:274;11729:558;;;12048:60;12060:47;12064:6;12072:34;12076:14;12092:13;;12072:3;:34::i;:::-;12060:3;:47::i;:::-;12048:11;:60::i;:::-;12146:21;12186:16;;12182:94;;12223:37;12238:21;12223:14;:37::i;:::-;12033:254;11729:558;12303:15;;12299:648;;12335:13;12375:3;12352:19;12361:10;12352:6;:19;:::i;:::-;12351:27;;;;:::i;:::-;12335:43;-1:-1:-1;12393:16:0;12412:14;12335:43;12412:6;:14;:::i;:::-;-1:-1:-1;;;;;12459:20:0;;12441:15;12459:20;;;:14;:20;;;;;;12393:33;;-1:-1:-1;12441:15:0;12459:20;;:43;;12497:4;12459:43;;;12482:4;12459:43;-1:-1:-1;;;;;12525:20:0;;;;;;:14;:20;;;;;;12441:61;;-1:-1:-1;12525:20:0;;:37;;12557:5;12525:37;;;12548:6;12525:37;-1:-1:-1;;;;;12577:19:0;;;;;;:10;:19;;;;;:28;;12517:45;;-1:-1:-1;12517:45:0;;12577:19;;;:28;;12517:45;;12577:28;:::i;:::-;;;;-1:-1:-1;;12625:36:0;;1846:25:1;;;12648:4:0;;-1:-1:-1;;;;;12625:36:0;;;-1:-1:-1;;;;;;;;;;;12625:36:0;1834:2:1;1819:18;12625:36:0;;;;;;;-1:-1:-1;;;;;12676:16:0;;;;;;:10;:16;;;;;:26;;12696:6;;12676:16;:26;;12696:6;;12676:26;:::i;:::-;;;;-1:-1:-1;;;;;;;12717:14:0;;;;;;:10;:14;;;;;:26;;12735:8;;12717:14;:26;;12735:8;;12717:26;:::i;:::-;;;;;;;;12778:2;-1:-1:-1;;;;;12763:28:0;12772:4;-1:-1:-1;;;;;12763:28:0;-1:-1:-1;;;;;;;;;;;12782:8:0;12763:28;;;;1846:25:1;;1834:2;1819:18;;1700:177;12763:28:0;;;;;;;;12320:483;;;12299:648;;;-1:-1:-1;;;;;12824:16:0;;;;;;:10;:16;;;;;:26;;12844:6;;12824:16;:26;;12844:6;;12824:26;:::i;:::-;;;;-1:-1:-1;;;;;;;12865:14:0;;;;;;:10;:14;;;;;:24;;12883:6;;12865:14;:24;;12883:6;;12865:24;:::i;:::-;;;;;;;;12924:2;-1:-1:-1;;;;;12909:26:0;12918:4;-1:-1:-1;;;;;12909:26:0;-1:-1:-1;;;;;;;;;;;12928:6:0;12909:26;;;;1846:25:1;;1834:2;1819:18;;1700:177;12909:26:0;;;;;;;;12299:648;10165:2789;;10096:2858;;;:::o;2938:191::-;3012:16;3031:6;;-1:-1:-1;;;;;3048:17:0;;;-1:-1:-1;;;;;;3048:17:0;;;;;;3081:40;;3031:6;;;;;;;3081:40;;3012:16;3081:40;3001:128;2938:191;:::o;7327:107::-;7384:7;7416:1;7412;:5;7411:15;;7425:1;7411:15;;;7421:1;7411:15;7404:22;7327:107;-1:-1:-1;;;7327:107:0:o;7442:546::-;4188:10;:17;;-1:-1:-1;;4188:17:0;4201:4;4188:17;;;7523:15;7515:57:::1;;;::::0;-1:-1:-1;;;7515:57:0;;15000:2:1;7515:57:0::1;::::0;::::1;14982:21:1::0;15039:2;15019:18;;;15012:30;15078:31;15058:18;;;15051:59;15127:18;;7515:57:0::1;14798:353:1::0;7515:57:0::1;7607:16;::::0;;7621:1:::1;7607:16:::0;;;;;::::1;::::0;;7583:21:::1;::::0;7607:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7607:16:0::1;7583:40;;7652:4;7634;7639:1;7634:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7634:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7678:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;7678:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;7634:7;;7678:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7668:4;7673:1;7668:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7668:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;7743:15:::1;::::0;7711:62:::1;::::0;7728:4:::1;::::0;7743:15:::1;7761:11:::0;7711:8:::1;:62::i;:::-;7784:15;::::0;:196:::1;::::0;-1:-1:-1;;;7784:196:0;;-1:-1:-1;;;;;7784:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;7865:11;;7784:15:::1;::::0;7907:4;;7934::::1;::::0;7954:15:::1;::::0;7784:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4228:10:0;:18;;-1:-1:-1;;4228:18:0;;;-1:-1:-1;;;;7442:546:0:o;6517:199::-;6593:1;6584:6;:10;6576:52;;;;-1:-1:-1;;;6576:52:0;;15000:2:1;6576:52:0;;;14982:21:1;15039:2;15019:18;;;15012:30;15078:31;15058:18;;;15051:59;15127:18;;6576:52:0;14798:353:1;6576:52:0;6639:8;;-1:-1:-1;;;;;6639:8:0;:29;6657:10;6666:1;6657:6;:10;:::i;:::-;6639:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6679:8:0;;;-1:-1:-1;;;;;6679:8:0;;:29;;6697:10;;:6;:10;:::i;:::-;6679:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6517:199;:::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;1215:248::-;1283:6;1291;1344:2;1332:9;1323:7;1319:23;1315:32;1312:52;;;1360:1;1357;1350:12;1312:52;-1:-1:-1;;1383:23:1;;;1453:2;1438:18;;;1425:32;;-1:-1:-1;1215:248:1:o;1882:456::-;1959:6;1967;1975;2028:2;2016:9;2007:7;2003:23;1999:32;1996:52;;;2044:1;2041;2034:12;1996:52;2083:9;2070:23;2102:31;2127:5;2102:31;:::i;:::-;2152:5;-1:-1:-1;2209:2:1;2194:18;;2181:32;2222:33;2181:32;2222:33;:::i;:::-;1882:456;;2274:7;;-1:-1:-1;;;2328:2:1;2313:18;;;;2300:32;;1882:456::o;2740:247::-;2799:6;2852:2;2840:9;2831:7;2827:23;2823:32;2820:52;;;2868:1;2865;2858:12;2820:52;2907:9;2894:23;2926:31;2951:5;2926:31;:::i;2992:388::-;3060:6;3068;3121:2;3109:9;3100:7;3096:23;3092:32;3089:52;;;3137:1;3134;3127:12;3089:52;3176:9;3163:23;3195:31;3220:5;3195:31;:::i;:::-;3245:5;-1:-1:-1;3302:2:1;3287:18;;3274:32;3315:33;3274:32;3315:33;:::i;:::-;3367:7;3357:17;;;2992:388;;;;;:::o;3385:356::-;3587:2;3569:21;;;3606:18;;;3599:30;3665:34;3660:2;3645:18;;3638:62;3732:2;3717:18;;3385:356::o;4100:127::-;4161:10;4156:3;4152:20;4149:1;4142:31;4192:4;4189:1;4182:15;4216:4;4213:1;4206:15;4232:422;4321:1;4364:5;4321:1;4378:270;4399:7;4389:8;4386:21;4378:270;;;4458:4;4454:1;4450:6;4446:17;4440:4;4437:27;4434:53;;;4467:18;;:::i;:::-;4517:7;4507:8;4503:22;4500:55;;;4537:16;;;;4500:55;4616:22;;;;4576:15;;;;4378:270;;;4382:3;4232:422;;;;;:::o;4659:806::-;4708:5;4738:8;4728:80;;-1:-1:-1;4779:1:1;4793:5;;4728:80;4827:4;4817:76;;-1:-1:-1;4864:1:1;4878:5;;4817:76;4909:4;4927:1;4922:59;;;;4995:1;4990:130;;;;4902:218;;4922:59;4952:1;4943:10;;4966:5;;;4990:130;5027:3;5017:8;5014:17;5011:43;;;5034:18;;:::i;:::-;-1:-1:-1;;5090:1:1;5076:16;;5105:5;;4902:218;;5204:2;5194:8;5191:16;5185:3;5179:4;5176:13;5172:36;5166:2;5156:8;5153:16;5148:2;5142:4;5139:12;5135:35;5132:77;5129:159;;;-1:-1:-1;5241:19:1;;;5273:5;;5129:159;5320:34;5345:8;5339:4;5320:34;:::i;:::-;5390:6;5386:1;5382:6;5378:19;5369:7;5366:32;5363:58;;;5401:18;;:::i;:::-;5439:20;;4659:806;-1:-1:-1;;;4659:806:1:o;5470:140::-;5528:5;5557:47;5598:4;5588:8;5584:19;5578:4;5557:47;:::i;5615:168::-;5688:9;;;5719;;5736:15;;;5730:22;;5716:37;5706:71;;5757:18;;:::i;6211:398::-;6413:2;6395:21;;;6452:2;6432:18;;;6425:30;6491:34;6486:2;6471:18;;6464:62;-1:-1:-1;;;6557:2:1;6542:18;;6535:32;6599:3;6584:19;;6211:398::o;6614:184::-;6684:6;6737:2;6725:9;6716:7;6712:23;6708:32;6705:52;;;6753:1;6750;6743:12;6705:52;-1:-1:-1;6776:16:1;;6614:184;-1:-1:-1;6614:184:1:o;7438:277::-;7505:6;7558:2;7546:9;7537:7;7533:23;7529:32;7526:52;;;7574:1;7571;7564:12;7526:52;7606:9;7600:16;7659:5;7652:13;7645:21;7638:5;7635:32;7625:60;;7681:1;7678;7671:12;8129:128;8196:9;;;8217:11;;;8214:37;;;8231:18;;:::i;8262:251::-;8332:6;8385:2;8373:9;8364:7;8360:23;8356:32;8353:52;;;8401:1;8398;8391:12;8353:52;8433:9;8427:16;8452:31;8477:5;8452:31;:::i;9439:306::-;9527:6;9535;9543;9596:2;9584:9;9575:7;9571:23;9567:32;9564:52;;;9612:1;9609;9602:12;9564:52;9641:9;9635:16;9625:26;;9691:2;9680:9;9676:18;9670:25;9660:35;;9735:2;9724:9;9720:18;9714:25;9704:35;;9439:306;;;;;:::o;13597:125::-;13662:9;;;13683:10;;;13680:36;;;13696:18;;:::i;14436:135::-;14475:3;14496:17;;;14493:43;;14516:18;;:::i;:::-;-1:-1:-1;14563:1:1;14552:13;;14436:135::o;14576:217::-;14616:1;14642;14632:132;;14686:10;14681:3;14677:20;14674:1;14667:31;14721:4;14718:1;14711:15;14749:4;14746:1;14739:15;14632:132;-1:-1:-1;14778:9:1;;14576:217::o;15288:127::-;15349:10;15344:3;15340:20;15337:1;15330:31;15380:4;15377:1;15370:15;15404:4;15401:1;15394:15;15420:980;15682:4;15730:3;15719:9;15715:19;15761:6;15750:9;15743:25;15787:2;15825:6;15820:2;15809:9;15805:18;15798:34;15868:3;15863:2;15852:9;15848:18;15841:31;15892:6;15927;15921:13;15958:6;15950;15943:22;15996:3;15985:9;15981:19;15974:26;;16035:2;16027:6;16023:15;16009:29;;16056:1;16066:195;16080:6;16077:1;16074:13;16066:195;;;16145:13;;-1:-1:-1;;;;;16141:39:1;16129:52;;16236:15;;;;16201:12;;;;16177:1;16095:9;16066:195;;;-1:-1:-1;;;;;;;16317:32:1;;;;16312:2;16297:18;;16290:60;-1:-1:-1;;;16381:3:1;16366:19;16359:35;16278:3;15420:980;-1:-1:-1;;;15420:980:1:o

Swarm Source

ipfs://f63acce0e9f5d07dede7f5f593568cc0304d9e7fced3af80b726b26f07cdf8cc

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.