ETH Price: $1,791.27 (+10.04%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve221796772025-04-02 7:17:2321 days ago1743578243IN
0x407a12CF...478BbcF56
0 ETH0.000034960.75
Transfer221791052025-04-02 5:22:1121 days ago1743571331IN
0x407a12CF...478BbcF56
0 ETH0.000052340.5696093
Approve221354182025-03-27 2:59:3527 days ago1743044375IN
0x407a12CF...478BbcF56
0 ETH0.000033851.39064348
Approve217740452025-02-04 15:30:5977 days ago1738683059IN
0x407a12CF...478BbcF56
0 ETH0.000156585.94427313
Transfer215029742024-12-28 19:12:47115 days ago1735413167IN
0x407a12CF...478BbcF56
0 ETH0.000482184.98715461
Transfer215029652024-12-28 19:10:59115 days ago1735413059IN
0x407a12CF...478BbcF56
0 ETH0.000516215.33914118
Transfer215029602024-12-28 19:09:59115 days ago1735412999IN
0x407a12CF...478BbcF56
0 ETH0.00053535.53661826
Approve214986272024-12-28 4:38:59116 days ago1735360739IN
0x407a12CF...478BbcF56
0 ETH0.000168053.60440308
Approve214368462024-12-19 13:24:47124 days ago1734614687IN
0x407a12CF...478BbcF56
0 ETH0.0006633914.24627395
Approve214290412024-12-18 11:12:35125 days ago1734520355IN
0x407a12CF...478BbcF56
0 ETH0.0008804818.89858504
Approve213625732024-12-09 4:32:23135 days ago1733718743IN
0x407a12CF...478BbcF56
0 ETH0.0005445111.67824888
Approve213625722024-12-09 4:32:11135 days ago1733718731IN
0x407a12CF...478BbcF56
0 ETH0.0005364511.5055781
Approve212017322024-11-16 17:24:35157 days ago1731777875IN
0x407a12CF...478BbcF56
0 ETH0.0007868716.99000244
Transfer211706792024-11-12 9:22:59161 days ago1731403379IN
0x407a12CF...478BbcF56
0 ETH0.0026266235.11675495
Transfer211706702024-11-12 9:21:11161 days ago1731403271IN
0x407a12CF...478BbcF56
0 ETH0.004117437.10512441
Approve211166052024-11-04 20:14:47169 days ago1730751287IN
0x407a12CF...478BbcF56
0 ETH0.000293096.29417214
Approve209833612024-10-17 6:01:59188 days ago1729144919IN
0x407a12CF...478BbcF56
0 ETH0.000217188.94427979
Approve209582122024-10-13 17:42:23191 days ago1728841343IN
0x407a12CF...478BbcF56
0 ETH0.0005577211.96170349
Approve207661452024-09-16 22:25:23218 days ago1726525523IN
0x407a12CF...478BbcF56
0 ETH0.000152293.29268555
Approve207567812024-09-15 15:01:59219 days ago1726412519IN
0x407a12CF...478BbcF56
0 ETH0.000105712.2854712
Approve207556192024-09-15 11:08:35219 days ago1726398515IN
0x407a12CF...478BbcF56
0 ETH0.000087111.88345623
Approve206132982024-08-26 14:15:23239 days ago1724681723IN
0x407a12CF...478BbcF56
0 ETH0.000151833.26070455
Approve205857832024-08-22 17:57:47243 days ago1724349467IN
0x407a12CF...478BbcF56
0 ETH0.000168283.60920066
Approve204564142024-08-04 16:34:11261 days ago1722789251IN
0x407a12CF...478BbcF56
0 ETH0.0005684212.28925463
Approve204474162024-08-03 10:28:11262 days ago1722680891IN
0x407a12CF...478BbcF56
0 ETH0.00005091.09938403
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer185652122023-11-13 19:57:47526 days ago1699905467
0x407a12CF...478BbcF56
0.07541995 ETH
Transfer185652122023-11-13 19:57:47526 days ago1699905467
0x407a12CF...478BbcF56
0.07541995 ETH
Transfer185652062023-11-13 19:56:35526 days ago1699905395
0x407a12CF...478BbcF56
0.10228378 ETH
Transfer185652062023-11-13 19:56:35526 days ago1699905395
0x407a12CF...478BbcF56
0.10228378 ETH
Transfer185651882023-11-13 19:52:59526 days ago1699905179
0x407a12CF...478BbcF56
0.11174218 ETH
Transfer185651882023-11-13 19:52:59526 days ago1699905179
0x407a12CF...478BbcF56
0.11174218 ETH
Transfer185651682023-11-13 19:48:47526 days ago1699904927
0x407a12CF...478BbcF56
0.22214642 ETH
Transfer185651682023-11-13 19:48:47526 days ago1699904927
0x407a12CF...478BbcF56
0.22214642 ETH
Transfer185651612023-11-13 19:47:23526 days ago1699904843
0x407a12CF...478BbcF56
0.24233138 ETH
Transfer185651612023-11-13 19:47:23526 days ago1699904843
0x407a12CF...478BbcF56
0.24233138 ETH
Transfer185651602023-11-13 19:47:11526 days ago1699904831
0x407a12CF...478BbcF56
0.29341306 ETH
Transfer185651602023-11-13 19:47:11526 days ago1699904831
0x407a12CF...478BbcF56
0.29341306 ETH
Transfer185651582023-11-13 19:46:47526 days ago1699904807
0x407a12CF...478BbcF56
0.36254967 ETH
Transfer185651582023-11-13 19:46:47526 days ago1699904807
0x407a12CF...478BbcF56
0.36254967 ETH
Transfer185651092023-11-13 19:36:59526 days ago1699904219
0x407a12CF...478BbcF56
0.12895807 ETH
Transfer185651092023-11-13 19:36:59526 days ago1699904219
0x407a12CF...478BbcF56
0.12895807 ETH
Transfer185651092023-11-13 19:36:59526 days ago1699904219
0x407a12CF...478BbcF56
0.14104711 ETH
Transfer185651092023-11-13 19:36:59526 days ago1699904219
0x407a12CF...478BbcF56
0.14104711 ETH
Transfer185651092023-11-13 19:36:59526 days ago1699904219
0x407a12CF...478BbcF56
0.15628786 ETH
Transfer185651092023-11-13 19:36:59526 days ago1699904219
0x407a12CF...478BbcF56
0.15628786 ETH
Transfer185651092023-11-13 19:36:59526 days ago1699904219
0x407a12CF...478BbcF56
0.17253374 ETH
Transfer185651092023-11-13 19:36:59526 days ago1699904219
0x407a12CF...478BbcF56
0.17253374 ETH
Transfer185651022023-11-13 19:35:35526 days ago1699904135
0x407a12CF...478BbcF56
0.13686948 ETH
Transfer185651022023-11-13 19:35:35526 days ago1699904135
0x407a12CF...478BbcF56
0.13686948 ETH
Transfer185650962023-11-13 19:34:23526 days ago1699904063
0x407a12CF...478BbcF56
0.15718114 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FSD12

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-13
*/

/**

Tesla's Full Self-Driving v12 has long been touted as the first non-beta release of the
company's automated driving technology and is said to be available for Tesla users in "2 weeks"
by Elon Musk himself!

https://t.me/FSD12ERC
https://x.com/FSD12ERC
https://fsd12.com

*/

// SPDX-License-Identifier: Unlicensed
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 FSD12 is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = "FSD 12";
    string private constant _symbol = "FSD12";
    uint8 private constant _decimals = 10;
 
    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 = 20;  
    uint256 private _redisFeeOnSell = 0;  
    uint256 private _taxFeeOnSell = 40;
 
    //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(0x35CC14b964C60BFD65221F0107639d133a286dB8); 
    address payable private _marketingAddress = payable(0x35CC14b964C60BFD65221F0107639d133a286dB8); 
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
 
    uint256 public _maxTxAmount = 150000 * 10**9; 
    uint256 public _maxWalletSize = 150000 * 10**9; 
    uint256 public _swapTokensAtAmount = 60000 * 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 _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;
    }
  
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
 
 
    function swap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
 
 
    function setmaxTx(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }
 
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
 
    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

API
[{"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":"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":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","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":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setmaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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"}]

608060405262000019662386f26fc100006000196200038f565b6200002790600019620003b2565b600655600060088190556014600955600a8190556028600b819055600c829055600d819055600e91909155600f55601280546001600160a01b03199081167335cc14b964c60bfd65221f0107639d133a286db89081179092556013805490911690911790556015805461ffff60a81b1916600160b01b17905565886c98b760006016819055601755653691d6afc000601855348015620000c657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200017f57600080fd5b505afa15801562000194573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ba9190620003d8565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020357600080fd5b505afa15801562000218573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023e9190620003d8565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200028757600080fd5b505af11580156200029c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c29190620003d8565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef662386f26fc100006040516200038091815260200190565b60405180910390a3506200040a565b600082620003ad57634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620003d357634e487b7160e01b600052601160045260246000fd5b500390565b600060208284031215620003eb57600080fd5b81516001600160a01b03811681146200040357600080fd5b9392505050565b611e08806200041a6000396000f3fe6080604052600436106101d05760003560e01c80638da5cb5b116100f7578063b0c2b56111610095578063dd62ed3e11610064578063dd62ed3e14610551578063ea1644d514610597578063f2fde38b146105b7578063fc342279146105d757600080fd5b8063b0c2b561146104cc578063bfd79284146104ec578063c3c8cd801461051c578063c492f0461461053157600080fd5b806395d89b41116100d157806395d89b411461043e57806398a5c3151461046c578063a2a957bb1461048c578063a9059cbb146104ac57600080fd5b80638da5cb5b146103ea5780638f70ccf7146104085780638f9a55c01461042857600080fd5b8063313ce5671161016f57806370a082311161013e57806370a0823114610372578063715018a6146103925780637d1db4a5146103a75780637f2feddc146103bd57600080fd5b8063313ce5671461030157806349bd5a5e1461031d5780636b9990531461033d5780636fc3eaec1461035d57600080fd5b80631694505e116101ab5780631694505e1461026f57806318160ddd146102a757806323b872dd146102cb5780632fd689e3146102eb57600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461023f57600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611959565b6105f7565b005b34801561020a57600080fd5b506040805180820190915260068152652329a210189960d11b60208201525b6040516102369190611a1e565b60405180910390f35b34801561024b57600080fd5b5061025f61025a366004611a73565b610696565b6040519015158152602001610236565b34801561027b57600080fd5b5060145461028f906001600160a01b031681565b6040516001600160a01b039091168152602001610236565b3480156102b357600080fd5b50662386f26fc100005b604051908152602001610236565b3480156102d757600080fd5b5061025f6102e6366004611a9f565b6106ad565b3480156102f757600080fd5b506102bd60185481565b34801561030d57600080fd5b50604051600a8152602001610236565b34801561032957600080fd5b5060155461028f906001600160a01b031681565b34801561034957600080fd5b506101fc610358366004611ae0565b610716565b34801561036957600080fd5b506101fc610761565b34801561037e57600080fd5b506102bd61038d366004611ae0565b6107ac565b34801561039e57600080fd5b506101fc6107ce565b3480156103b357600080fd5b506102bd60165481565b3480156103c957600080fd5b506102bd6103d8366004611ae0565b60116020526000908152604090205481565b3480156103f657600080fd5b506000546001600160a01b031661028f565b34801561041457600080fd5b506101fc610423366004611b0d565b610842565b34801561043457600080fd5b506102bd60175481565b34801561044a57600080fd5b506040805180820190915260058152642329a2189960d91b6020820152610229565b34801561047857600080fd5b506101fc610487366004611b28565b61088a565b34801561049857600080fd5b506101fc6104a7366004611b41565b6108b9565b3480156104b857600080fd5b5061025f6104c7366004611a73565b6108f7565b3480156104d857600080fd5b506101fc6104e7366004611b28565b610904565b3480156104f857600080fd5b5061025f610507366004611ae0565b60106020526000908152604090205460ff1681565b34801561052857600080fd5b506101fc610933565b34801561053d57600080fd5b506101fc61054c366004611b73565b610987565b34801561055d57600080fd5b506102bd61056c366004611bf7565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105a357600080fd5b506101fc6105b2366004611b28565b610a28565b3480156105c357600080fd5b506101fc6105d2366004611ae0565b610a57565b3480156105e357600080fd5b506101fc6105f2366004611b0d565b610b41565b6000546001600160a01b0316331461062a5760405162461bcd60e51b815260040161062190611c30565b60405180910390fd5b60005b81518110156106925760016010600084848151811061064e5761064e611c65565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061068a81611c91565b91505061062d565b5050565b60006106a3338484610b89565b5060015b92915050565b60006106ba848484610cad565b61070c843361070785604051806060016040528060288152602001611dab602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906111e9565b610b89565b5060019392505050565b6000546001600160a01b031633146107405760405162461bcd60e51b815260040161062190611c30565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6012546001600160a01b0316336001600160a01b0316148061079657506013546001600160a01b0316336001600160a01b0316145b61079f57600080fd5b476107a981611223565b50565b6001600160a01b0381166000908152600260205260408120546106a79061125d565b6000546001600160a01b031633146107f85760405162461bcd60e51b815260040161062190611c30565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461086c5760405162461bcd60e51b815260040161062190611c30565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146108b45760405162461bcd60e51b815260040161062190611c30565b601855565b6000546001600160a01b031633146108e35760405162461bcd60e51b815260040161062190611c30565b600893909355600a91909155600955600b55565b60006106a3338484610cad565b6000546001600160a01b0316331461092e5760405162461bcd60e51b815260040161062190611c30565b601655565b6012546001600160a01b0316336001600160a01b0316148061096857506013546001600160a01b0316336001600160a01b0316145b61097157600080fd5b600061097c306107ac565b90506107a9816112e1565b6000546001600160a01b031633146109b15760405162461bcd60e51b815260040161062190611c30565b60005b82811015610a225781600560008686858181106109d3576109d3611c65565b90506020020160208101906109e89190611ae0565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a1a81611c91565b9150506109b4565b50505050565b6000546001600160a01b03163314610a525760405162461bcd60e51b815260040161062190611c30565b601755565b6000546001600160a01b03163314610a815760405162461bcd60e51b815260040161062190611c30565b6001600160a01b038116610ae65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610621565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b6b5760405162461bcd60e51b815260040161062190611c30565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6001600160a01b038316610beb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610621565b6001600160a01b038216610c4c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610621565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d115760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610621565b6001600160a01b038216610d735760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610621565b60008111610dd55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610621565b6000546001600160a01b03848116911614801590610e0157506000546001600160a01b03838116911614155b156110e257601554600160a01b900460ff16610e9a576000546001600160a01b03848116911614610e9a5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610621565b601654811115610eec5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610621565b6001600160a01b03831660009081526010602052604090205460ff16158015610f2e57506001600160a01b03821660009081526010602052604090205460ff16155b610f865760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610621565b6015546001600160a01b0383811691161461100b5760175481610fa8846107ac565b610fb29190611cac565b1061100b5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610621565b6000611016306107ac565b60185460165491925082101590821061102f5760165491505b8080156110465750601554600160a81b900460ff16155b801561106057506015546001600160a01b03868116911614155b80156110755750601554600160b01b900460ff165b801561109a57506001600160a01b03851660009081526005602052604090205460ff16155b80156110bf57506001600160a01b03841660009081526005602052604090205460ff16155b156110df576110cd826112e1565b4780156110dd576110dd47611223565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061112457506001600160a01b03831660009081526005602052604090205460ff165b8061115657506015546001600160a01b0385811691161480159061115657506015546001600160a01b03848116911614155b15611163575060006111dd565b6015546001600160a01b03858116911614801561118e57506014546001600160a01b03848116911614155b156111a057600854600c55600954600d555b6015546001600160a01b0384811691161480156111cb57506014546001600160a01b03858116911614155b156111dd57600a54600c55600b54600d555b610a228484848461146a565b6000818484111561120d5760405162461bcd60e51b81526004016106219190611a1e565b50600061121a8486611cc4565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610692573d6000803e3d6000fd5b60006006548211156112c45760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610621565b60006112ce611498565b90506112da83826114bb565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061132957611329611c65565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561137d57600080fd5b505afa158015611391573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b59190611cdb565b816001815181106113c8576113c8611c65565b6001600160a01b0392831660209182029290920101526014546113ee9130911684610b89565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611427908590600090869030904290600401611cf8565b600060405180830381600087803b15801561144157600080fd5b505af1158015611455573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b80611477576114776114fd565b61148284848461152b565b80610a2257610a22600e54600c55600f54600d55565b60008060006114a5611622565b90925090506114b482826114bb565b9250505090565b60006112da83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611660565b600c5415801561150d5750600d54155b1561151457565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061153d8761168e565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061156f90876116eb565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461159e908661172d565b6001600160a01b0389166000908152600260205260409020556115c08161178c565b6115ca84836117d6565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161160f91815260200190565b60405180910390a3505050505050505050565b6006546000908190662386f26fc1000061163c82826114bb565b82101561165757505060065492662386f26fc1000092509050565b90939092509050565b600081836116815760405162461bcd60e51b81526004016106219190611a1e565b50600061121a8486611d69565b60008060008060008060008060006116ab8a600c54600d546117fa565b92509250925060006116bb611498565b905060008060006116ce8e87878761184f565b919e509c509a509598509396509194505050505091939550919395565b60006112da83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111e9565b60008061173a8385611cac565b9050838110156112da5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610621565b6000611796611498565b905060006117a4838361189f565b306000908152600260205260409020549091506117c1908261172d565b30600090815260026020526040902055505050565b6006546117e390836116eb565b6006556007546117f3908261172d565b6007555050565b6000808080611814606461180e898961189f565b906114bb565b90506000611827606461180e8a8961189f565b9050600061183f826118398b866116eb565b906116eb565b9992985090965090945050505050565b600080808061185e888661189f565b9050600061186c888761189f565b9050600061187a888861189f565b9050600061188c8261183986866116eb565b939b939a50919850919650505050505050565b6000826118ae575060006106a7565b60006118ba8385611d8b565b9050826118c78583611d69565b146112da5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610621565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107a957600080fd5b803561195481611934565b919050565b6000602080838503121561196c57600080fd5b823567ffffffffffffffff8082111561198457600080fd5b818501915085601f83011261199857600080fd5b8135818111156119aa576119aa61191e565b8060051b604051601f19603f830116810181811085821117156119cf576119cf61191e565b6040529182528482019250838101850191888311156119ed57600080fd5b938501935b82851015611a1257611a0385611949565b845293850193928501926119f2565b98975050505050505050565b600060208083528351808285015260005b81811015611a4b57858101830151858201604001528201611a2f565b81811115611a5d576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611a8657600080fd5b8235611a9181611934565b946020939093013593505050565b600080600060608486031215611ab457600080fd5b8335611abf81611934565b92506020840135611acf81611934565b929592945050506040919091013590565b600060208284031215611af257600080fd5b81356112da81611934565b8035801515811461195457600080fd5b600060208284031215611b1f57600080fd5b6112da82611afd565b600060208284031215611b3a57600080fd5b5035919050565b60008060008060808587031215611b5757600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611b8857600080fd5b833567ffffffffffffffff80821115611ba057600080fd5b818601915086601f830112611bb457600080fd5b813581811115611bc357600080fd5b8760208260051b8501011115611bd857600080fd5b602092830195509350611bee9186019050611afd565b90509250925092565b60008060408385031215611c0a57600080fd5b8235611c1581611934565b91506020830135611c2581611934565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611ca557611ca5611c7b565b5060010190565b60008219821115611cbf57611cbf611c7b565b500190565b600082821015611cd657611cd6611c7b565b500390565b600060208284031215611ced57600080fd5b81516112da81611934565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d485784516001600160a01b031683529383019391830191600101611d23565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d8657634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611da557611da5611c7b565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ef0fd5af1024ffe7959e8d96995a6c910a06c85568a806642b0a160eabba741464736f6c63430008090033

Deployed Bytecode

0x6080604052600436106101d05760003560e01c80638da5cb5b116100f7578063b0c2b56111610095578063dd62ed3e11610064578063dd62ed3e14610551578063ea1644d514610597578063f2fde38b146105b7578063fc342279146105d757600080fd5b8063b0c2b561146104cc578063bfd79284146104ec578063c3c8cd801461051c578063c492f0461461053157600080fd5b806395d89b41116100d157806395d89b411461043e57806398a5c3151461046c578063a2a957bb1461048c578063a9059cbb146104ac57600080fd5b80638da5cb5b146103ea5780638f70ccf7146104085780638f9a55c01461042857600080fd5b8063313ce5671161016f57806370a082311161013e57806370a0823114610372578063715018a6146103925780637d1db4a5146103a75780637f2feddc146103bd57600080fd5b8063313ce5671461030157806349bd5a5e1461031d5780636b9990531461033d5780636fc3eaec1461035d57600080fd5b80631694505e116101ab5780631694505e1461026f57806318160ddd146102a757806323b872dd146102cb5780632fd689e3146102eb57600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461023f57600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611959565b6105f7565b005b34801561020a57600080fd5b506040805180820190915260068152652329a210189960d11b60208201525b6040516102369190611a1e565b60405180910390f35b34801561024b57600080fd5b5061025f61025a366004611a73565b610696565b6040519015158152602001610236565b34801561027b57600080fd5b5060145461028f906001600160a01b031681565b6040516001600160a01b039091168152602001610236565b3480156102b357600080fd5b50662386f26fc100005b604051908152602001610236565b3480156102d757600080fd5b5061025f6102e6366004611a9f565b6106ad565b3480156102f757600080fd5b506102bd60185481565b34801561030d57600080fd5b50604051600a8152602001610236565b34801561032957600080fd5b5060155461028f906001600160a01b031681565b34801561034957600080fd5b506101fc610358366004611ae0565b610716565b34801561036957600080fd5b506101fc610761565b34801561037e57600080fd5b506102bd61038d366004611ae0565b6107ac565b34801561039e57600080fd5b506101fc6107ce565b3480156103b357600080fd5b506102bd60165481565b3480156103c957600080fd5b506102bd6103d8366004611ae0565b60116020526000908152604090205481565b3480156103f657600080fd5b506000546001600160a01b031661028f565b34801561041457600080fd5b506101fc610423366004611b0d565b610842565b34801561043457600080fd5b506102bd60175481565b34801561044a57600080fd5b506040805180820190915260058152642329a2189960d91b6020820152610229565b34801561047857600080fd5b506101fc610487366004611b28565b61088a565b34801561049857600080fd5b506101fc6104a7366004611b41565b6108b9565b3480156104b857600080fd5b5061025f6104c7366004611a73565b6108f7565b3480156104d857600080fd5b506101fc6104e7366004611b28565b610904565b3480156104f857600080fd5b5061025f610507366004611ae0565b60106020526000908152604090205460ff1681565b34801561052857600080fd5b506101fc610933565b34801561053d57600080fd5b506101fc61054c366004611b73565b610987565b34801561055d57600080fd5b506102bd61056c366004611bf7565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105a357600080fd5b506101fc6105b2366004611b28565b610a28565b3480156105c357600080fd5b506101fc6105d2366004611ae0565b610a57565b3480156105e357600080fd5b506101fc6105f2366004611b0d565b610b41565b6000546001600160a01b0316331461062a5760405162461bcd60e51b815260040161062190611c30565b60405180910390fd5b60005b81518110156106925760016010600084848151811061064e5761064e611c65565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061068a81611c91565b91505061062d565b5050565b60006106a3338484610b89565b5060015b92915050565b60006106ba848484610cad565b61070c843361070785604051806060016040528060288152602001611dab602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906111e9565b610b89565b5060019392505050565b6000546001600160a01b031633146107405760405162461bcd60e51b815260040161062190611c30565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6012546001600160a01b0316336001600160a01b0316148061079657506013546001600160a01b0316336001600160a01b0316145b61079f57600080fd5b476107a981611223565b50565b6001600160a01b0381166000908152600260205260408120546106a79061125d565b6000546001600160a01b031633146107f85760405162461bcd60e51b815260040161062190611c30565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461086c5760405162461bcd60e51b815260040161062190611c30565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146108b45760405162461bcd60e51b815260040161062190611c30565b601855565b6000546001600160a01b031633146108e35760405162461bcd60e51b815260040161062190611c30565b600893909355600a91909155600955600b55565b60006106a3338484610cad565b6000546001600160a01b0316331461092e5760405162461bcd60e51b815260040161062190611c30565b601655565b6012546001600160a01b0316336001600160a01b0316148061096857506013546001600160a01b0316336001600160a01b0316145b61097157600080fd5b600061097c306107ac565b90506107a9816112e1565b6000546001600160a01b031633146109b15760405162461bcd60e51b815260040161062190611c30565b60005b82811015610a225781600560008686858181106109d3576109d3611c65565b90506020020160208101906109e89190611ae0565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a1a81611c91565b9150506109b4565b50505050565b6000546001600160a01b03163314610a525760405162461bcd60e51b815260040161062190611c30565b601755565b6000546001600160a01b03163314610a815760405162461bcd60e51b815260040161062190611c30565b6001600160a01b038116610ae65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610621565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b6b5760405162461bcd60e51b815260040161062190611c30565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6001600160a01b038316610beb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610621565b6001600160a01b038216610c4c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610621565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d115760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610621565b6001600160a01b038216610d735760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610621565b60008111610dd55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610621565b6000546001600160a01b03848116911614801590610e0157506000546001600160a01b03838116911614155b156110e257601554600160a01b900460ff16610e9a576000546001600160a01b03848116911614610e9a5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610621565b601654811115610eec5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610621565b6001600160a01b03831660009081526010602052604090205460ff16158015610f2e57506001600160a01b03821660009081526010602052604090205460ff16155b610f865760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610621565b6015546001600160a01b0383811691161461100b5760175481610fa8846107ac565b610fb29190611cac565b1061100b5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610621565b6000611016306107ac565b60185460165491925082101590821061102f5760165491505b8080156110465750601554600160a81b900460ff16155b801561106057506015546001600160a01b03868116911614155b80156110755750601554600160b01b900460ff165b801561109a57506001600160a01b03851660009081526005602052604090205460ff16155b80156110bf57506001600160a01b03841660009081526005602052604090205460ff16155b156110df576110cd826112e1565b4780156110dd576110dd47611223565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061112457506001600160a01b03831660009081526005602052604090205460ff165b8061115657506015546001600160a01b0385811691161480159061115657506015546001600160a01b03848116911614155b15611163575060006111dd565b6015546001600160a01b03858116911614801561118e57506014546001600160a01b03848116911614155b156111a057600854600c55600954600d555b6015546001600160a01b0384811691161480156111cb57506014546001600160a01b03858116911614155b156111dd57600a54600c55600b54600d555b610a228484848461146a565b6000818484111561120d5760405162461bcd60e51b81526004016106219190611a1e565b50600061121a8486611cc4565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610692573d6000803e3d6000fd5b60006006548211156112c45760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610621565b60006112ce611498565b90506112da83826114bb565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061132957611329611c65565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561137d57600080fd5b505afa158015611391573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b59190611cdb565b816001815181106113c8576113c8611c65565b6001600160a01b0392831660209182029290920101526014546113ee9130911684610b89565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611427908590600090869030904290600401611cf8565b600060405180830381600087803b15801561144157600080fd5b505af1158015611455573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b80611477576114776114fd565b61148284848461152b565b80610a2257610a22600e54600c55600f54600d55565b60008060006114a5611622565b90925090506114b482826114bb565b9250505090565b60006112da83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611660565b600c5415801561150d5750600d54155b1561151457565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061153d8761168e565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061156f90876116eb565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461159e908661172d565b6001600160a01b0389166000908152600260205260409020556115c08161178c565b6115ca84836117d6565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161160f91815260200190565b60405180910390a3505050505050505050565b6006546000908190662386f26fc1000061163c82826114bb565b82101561165757505060065492662386f26fc1000092509050565b90939092509050565b600081836116815760405162461bcd60e51b81526004016106219190611a1e565b50600061121a8486611d69565b60008060008060008060008060006116ab8a600c54600d546117fa565b92509250925060006116bb611498565b905060008060006116ce8e87878761184f565b919e509c509a509598509396509194505050505091939550919395565b60006112da83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111e9565b60008061173a8385611cac565b9050838110156112da5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610621565b6000611796611498565b905060006117a4838361189f565b306000908152600260205260409020549091506117c1908261172d565b30600090815260026020526040902055505050565b6006546117e390836116eb565b6006556007546117f3908261172d565b6007555050565b6000808080611814606461180e898961189f565b906114bb565b90506000611827606461180e8a8961189f565b9050600061183f826118398b866116eb565b906116eb565b9992985090965090945050505050565b600080808061185e888661189f565b9050600061186c888761189f565b9050600061187a888861189f565b9050600061188c8261183986866116eb565b939b939a50919850919650505050505050565b6000826118ae575060006106a7565b60006118ba8385611d8b565b9050826118c78583611d69565b146112da5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610621565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107a957600080fd5b803561195481611934565b919050565b6000602080838503121561196c57600080fd5b823567ffffffffffffffff8082111561198457600080fd5b818501915085601f83011261199857600080fd5b8135818111156119aa576119aa61191e565b8060051b604051601f19603f830116810181811085821117156119cf576119cf61191e565b6040529182528482019250838101850191888311156119ed57600080fd5b938501935b82851015611a1257611a0385611949565b845293850193928501926119f2565b98975050505050505050565b600060208083528351808285015260005b81811015611a4b57858101830151858201604001528201611a2f565b81811115611a5d576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611a8657600080fd5b8235611a9181611934565b946020939093013593505050565b600080600060608486031215611ab457600080fd5b8335611abf81611934565b92506020840135611acf81611934565b929592945050506040919091013590565b600060208284031215611af257600080fd5b81356112da81611934565b8035801515811461195457600080fd5b600060208284031215611b1f57600080fd5b6112da82611afd565b600060208284031215611b3a57600080fd5b5035919050565b60008060008060808587031215611b5757600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611b8857600080fd5b833567ffffffffffffffff80821115611ba057600080fd5b818601915086601f830112611bb457600080fd5b813581811115611bc357600080fd5b8760208260051b8501011115611bd857600080fd5b602092830195509350611bee9186019050611afd565b90509250925092565b60008060408385031215611c0a57600080fd5b8235611c1581611934565b91506020830135611c2581611934565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611ca557611ca5611c7b565b5060010190565b60008219821115611cbf57611cbf611c7b565b500190565b600082821015611cd657611cd6611c7b565b500390565b600060208284031215611ced57600080fd5b81516112da81611934565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d485784516001600160a01b031683529383019391830191600101611d23565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d8657634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611da557611da5611c7b565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ef0fd5af1024ffe7959e8d96995a6c910a06c85568a806642b0a160eabba741464736f6c63430008090033

Deployed Bytecode Sourcemap

4394:13437:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13112:169;;;;;;;;;;-1:-1:-1;13112:169:0;;;;;:::i;:::-;;:::i;:::-;;6906:83;;;;;;;;;;-1:-1:-1;6976:5:0;;;;;;;;;;;;-1:-1:-1;;;6976:5:0;;;;6906:83;;;;;;;:::i;:::-;;;;;;;;7838:193;;;;;;;;;;-1:-1:-1;7838:193:0;;;;;:::i;:::-;;:::i;:::-;;;2634:14:1;;2627:22;2609:41;;2597:2;2582:18;7838:193:0;2469:187:1;5748:41:0;;;;;;;;;;-1:-1:-1;5748:41:0;;;;-1:-1:-1;;;;;5748:41:0;;;;;;-1:-1:-1;;;;;2851:32:1;;;2833:51;;2821:2;2806:18;5748:41:0;2661:229:1;7186:95:0;;;;;;;;;;-1:-1:-1;4941:16:0;7186:95;;;3041:25:1;;;3029:2;3014:18;7186:95:0;2895:177:1;8040:446:0;;;;;;;;;;-1:-1:-1;8040:446:0;;;;;:::i;:::-;;:::i;6046:50::-;;;;;;;;;;;;;;;;7094:83;;;;;;;;;;-1:-1:-1;7094:83:0;;4613:2;3680:36:1;;3668:2;3653:18;7094:83:0;3538:184:1;5796:28:0;;;;;;;;;;-1:-1:-1;5796:28:0;;;;-1:-1:-1;;;;;5796:28:0;;;13290:92;;;;;;;;;;-1:-1:-1;13290:92:0;;;;;:::i;:::-;;:::i;12868:235::-;;;;;;;;;;;;;:::i;7290:138::-;;;;;;;;;;-1:-1:-1;7290:138:0;;;;;:::i;:::-;;:::i;1867:148::-;;;;;;;;;;;;;:::i;5940:44::-;;;;;;;;;;;;;;;;5486:43;;;;;;;;;;-1:-1:-1;5486:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1651:79;;;;;;;;;;-1:-1:-1;1689:7:0;1716:6;-1:-1:-1;;;;;1716:6:0;1651:79;;12513:101;;;;;;;;;;-1:-1:-1;12513:101:0;;;;;:::i;:::-;;:::i;5992:46::-;;;;;;;;;;;;;;;;6998:87;;;;;;;;;;-1:-1:-1;7070:7:0;;;;;;;;;;;;-1:-1:-1;;;7070:7:0;;;;6998:87;;17100:139;;;;;;;;;;-1:-1:-1;17100:139:0;;;;;:::i;:::-;;:::i;16799:291::-;;;;;;;;;;-1:-1:-1;16799:291:0;;;;;:::i;:::-;;:::i;7437:199::-;;;;;;;;;;-1:-1:-1;7437:199:0;;;;;:::i;:::-;;:::i;17358:101::-;;;;;;;;;;-1:-1:-1;17358:101:0;;;;;:::i;:::-;;:::i;5448:36::-;;;;;;;;;;-1:-1:-1;5448:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12623:236;;;;;;;;;;;;;:::i;17592:234::-;;;;;;;;;;-1:-1:-1;17592:234:0;;;;;:::i;:::-;;:::i;7645:184::-;;;;;;;;;;-1:-1:-1;7645:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7794:18:0;;;7762:7;7794:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7645:184;17468:115;;;;;;;;;;-1:-1:-1;17468:115:0;;;;;:::i;:::-;;:::i;2024:244::-;;;;;;;;;;-1:-1:-1;2024:244:0;;;;;:::i;:::-;;:::i;17251:95::-;;;;;;;;;;-1:-1:-1;17251:95:0;;;;;:::i;:::-;;:::i;13112:169::-;1779:6;;-1:-1:-1;;;;;1779:6:0;477:10;1779:22;1771:67;;;;-1:-1:-1;;;1771:67:0;;;;;;;:::i;:::-;;;;;;;;;13188:9:::1;13183:91;13207:5;:12;13203:1;:16;13183:91;;;13258:4;13241;:14;13246:5;13252:1;13246:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13241:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13241:14:0;:21;;-1:-1:-1;;13241:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13221:3;::::1;::::0;::::1;:::i;:::-;;;;13183:91;;;;13112:169:::0;:::o;7838:193::-;7940:4;7962:39;477:10;7985:7;7994:6;7962:8;:39::i;:::-;-1:-1:-1;8019:4:0;7838:193;;;;;:::o;8040:446::-;8172:4;8189:36;8199:6;8207:9;8218:6;8189:9;:36::i;:::-;8236:220;8259:6;477:10;8307:138;8363:6;8307:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8307:19:0;;;;;;:11;:19;;;;;;;;477:10;8307:33;;;;;;;;;;:37;:138::i;:::-;8236:8;:220::i;:::-;-1:-1:-1;8474:4:0;8040:446;;;;;:::o;13290:92::-;1779:6;;-1:-1:-1;;;;;1779:6:0;477:10;1779:22;1771:67;;;;-1:-1:-1;;;1771:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13354:12:0::1;13369:5;13354:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13354:20:0::1;::::0;;13290:92::o;12868:235::-;12934:19;;-1:-1:-1;;;;;12934:19:0;477:10;-1:-1:-1;;;;;12918:35:0;;:72;;;-1:-1:-1;12973:17:0;;-1:-1:-1;;;;;12973:17:0;477:10;-1:-1:-1;;;;;12957:33:0;;12918:72;12910:81;;;;;;13031:21;13063:32;13031:21;13063:12;:32::i;:::-;12899:204;12868:235::o;7290:138::-;-1:-1:-1;;;;;7403:16:0;;7356:7;7403:16;;;:7;:16;;;;;;7383:37;;:19;:37::i;1867:148::-;1779:6;;-1:-1:-1;;;;;1779:6:0;477:10;1779:22;1771:67;;;;-1:-1:-1;;;1771:67:0;;;;;;;:::i;:::-;1974:1:::1;1958:6:::0;;1937:40:::1;::::0;-1:-1:-1;;;;;1958:6:0;;::::1;::::0;1937:40:::1;::::0;1974:1;;1937:40:::1;2005:1;1988:19:::0;;-1:-1:-1;;;;;;1988:19:0::1;::::0;;1867:148::o;12513:101::-;1779:6;;-1:-1:-1;;;;;1779:6:0;477:10;1779:22;1771:67;;;;-1:-1:-1;;;1771:67:0;;;;;;;:::i;:::-;12580:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12580:26:0::1;-1:-1:-1::0;;;;12580:26:0;;::::1;::::0;;;::::1;::::0;;12513:101::o;17100:139::-;1779:6;;-1:-1:-1;;;;;1779:6:0;477:10;1779:22;1771:67;;;;-1:-1:-1;;;1771:67:0;;;;;;;:::i;:::-;17191:19:::1;:40:::0;17100:139::o;16799:291::-;1779:6;;-1:-1:-1;;;;;1779:6:0;477:10;1779:22;1771:67;;;;-1:-1:-1;;;1771:67:0;;;;;;;:::i;:::-;16933:14:::1;:30:::0;;;;16974:15:::1;:32:::0;;;;17017:12:::1;:26:::0;17054:13:::1;:28:::0;16799:291::o;7437:199::-;7542:4;7564:42;477:10;7588:9;7599:6;7564:9;:42::i;17358:101::-;1779:6;;-1:-1:-1;;;;;1779:6:0;477:10;1779:22;1771:67;;;;-1:-1:-1;;;1771:67:0;;;;;;;:::i;:::-;17425:12:::1;:26:::0;17358:101::o;12623:236::-;12689:19;;-1:-1:-1;;;;;12689:19:0;477:10;-1:-1:-1;;;;;12673:35:0;;:72;;;-1:-1:-1;12728:17:0;;-1:-1:-1;;;;;12728:17:0;477:10;-1:-1:-1;;;;;12712:33:0;;12673:72;12665:81;;;;;;12757:23;12783:24;12801:4;12783:9;:24::i;:::-;12757:50;;12818:33;12835:15;12818:16;:33::i;17592:234::-;1779:6;;-1:-1:-1;;;;;1779:6:0;477:10;1779:22;1771:67;;;;-1:-1:-1;;;1771:67:0;;;;;;;:::i;:::-;17709:9:::1;17705:114;17724:19:::0;;::::1;17705:114;;;17799:8;17765:18;:31;17784:8;;17793:1;17784:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17765:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17765:31:0;:42;;-1:-1:-1;;17765:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17745:3;::::1;::::0;::::1;:::i;:::-;;;;17705:114;;;;17592:234:::0;;;:::o;17468:115::-;1779:6;;-1:-1:-1;;;;;1779:6:0;477:10;1779:22;1771:67;;;;-1:-1:-1;;;1771:67:0;;;;;;;:::i;:::-;17545:14:::1;:30:::0;17468:115::o;2024:244::-;1779:6;;-1:-1:-1;;;;;1779:6:0;477:10;1779:22;1771:67;;;;-1:-1:-1;;;1771:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2113:22:0;::::1;2105:73;;;::::0;-1:-1:-1;;;2105:73:0;;7166:2:1;2105: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;;2105:73:0::1;6964:402:1::0;2105:73:0::1;2215:6;::::0;;2194:38:::1;::::0;-1:-1:-1;;;;;2194:38:0;;::::1;::::0;2215:6;::::1;::::0;2194:38:::1;::::0;::::1;2243:6;:17:::0;;-1:-1:-1;;;;;;2243:17:0::1;-1:-1:-1::0;;;;;2243:17:0;;;::::1;::::0;;;::::1;::::0;;2024:244::o;17251:95::-;1779:6;;-1:-1:-1;;;;;1779:6:0;477:10;1779:22;1771:67;;;;-1:-1:-1;;;1771:67:0;;;;;;;:::i;:::-;17312:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17312:26:0::1;-1:-1:-1::0;;;;17312:26:0;;::::1;::::0;;;::::1;::::0;;17251:95::o;9183:369::-;-1:-1:-1;;;;;9310:19:0;;9302:68;;;;-1:-1:-1;;;9302:68:0;;7573:2:1;9302: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;;9302:68:0;7371:400:1;9302:68:0;-1:-1:-1;;;;;9389:21:0;;9381:68;;;;-1:-1:-1;;;9381:68:0;;7978:2:1;9381: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;;9381:68:0;7776:398:1;9381:68:0;-1:-1:-1;;;;;9460:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9512:32;;3041:25:1;;;9512:32:0;;3014:18:1;9512:32:0;;;;;;;9183:369;;;:::o;9561:2343::-;-1:-1:-1;;;;;9683:18:0;;9675:68;;;;-1:-1:-1;;;9675:68:0;;8381:2:1;9675: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;;9675:68:0;8179:401:1;9675:68:0;-1:-1:-1;;;;;9762:16:0;;9754:64;;;;-1:-1:-1;;;9754:64:0;;8787:2:1;9754: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;;9754:64:0;8585:399:1;9754:64:0;9846:1;9837:6;:10;9829:64;;;;-1:-1:-1;;;9829:64:0;;9191:2:1;9829: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;;9829:64:0;8989:405:1;9829:64:0;1689:7;1716:6;-1:-1:-1;;;;;9911:15:0;;;1716:6;;9911:15;;;;:32;;-1:-1:-1;1689:7:0;1716:6;-1:-1:-1;;;;;9930:13:0;;;1716:6;;9930:13;;9911:32;9907:1265;;;10001:11;;-1:-1:-1;;;10001:11:0;;;;9996:144;;1689:7;1716:6;-1:-1:-1;;;;;10041:15:0;;;1716:6;;10041:15;10033:91;;;;-1:-1:-1;;;10033:91:0;;9601:2:1;10033: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;;10033:91:0;9399:427:1;10033:91:0;10175:12;;10165:6;:22;;10157:63;;;;-1:-1:-1;;;10157:63:0;;10033:2:1;10157:63:0;;;10015:21:1;10072:2;10052:18;;;10045:30;10111;10091:18;;;10084:58;10159:18;;10157:63:0;9831:352:1;10157:63:0;-1:-1:-1;;;;;10244:10:0;;;;;;:4;:10;;;;;;;;10243:11;:24;;;;-1:-1:-1;;;;;;10259:8:0;;;;;;:4;:8;;;;;;;;10258:9;10243:24;10235:72;;;;-1:-1:-1;;;10235:72:0;;10390:2:1;10235: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;;10235:72:0;10188:399:1;10235:72:0;10334:13;;-1:-1:-1;;;;;10328:19:0;;;10334:13;;10328:19;10325:146;;10401:14;;10392:6;10376:13;10386:2;10376:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10368:87;;;;-1:-1:-1;;;10368:87:0;;10927:2:1;10368: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;;10368:87:0;10725:399:1;10368:87:0;10488:28;10519:24;10537:4;10519:9;:24::i;:::-;10597:19;;10661:12;;10488:55;;-1:-1:-1;10573:43:0;;;;10637:36;;10634:124;;10730:12;;10707:35;;10634:124;10779:7;:18;;;;-1:-1:-1;10791:6:0;;-1:-1:-1;;;10791:6:0;;;;10790:7;10779:18;:43;;;;-1:-1:-1;10809:13:0;;-1:-1:-1;;;;;10801:21:0;;;10809:13;;10801:21;;10779:43;:58;;;;-1:-1:-1;10826:11:0;;-1:-1:-1;;;10826:11:0;;;;10779:58;:87;;;;-1:-1:-1;;;;;;10842:24:0;;;;;;:18;:24;;;;;;;;10841:25;10779:87;:114;;;;-1:-1:-1;;;;;;10871:22:0;;;;;;:18;:22;;;;;;;;10870:23;10779:114;10775:386;;;10914:38;10931:20;10914:16;:38::i;:::-;11000:21;11044:22;;11040:106;;11091:35;11104:21;11091:12;:35::i;:::-;10895:266;10775:386;9945:1227;;9907:1265;-1:-1:-1;;;;;11250:24:0;;11185:12;11250:24;;;:18;:24;;;;;;11200:4;;11250:24;;;:50;;-1:-1:-1;;;;;;11278:22:0;;;;;;:18;:22;;;;;;;;11250:50;11249:102;;;-1:-1:-1;11314:13:0;;-1:-1:-1;;;;;11306:21:0;;;11314:13;;11306:21;;;;:44;;-1:-1:-1;11337:13:0;;-1:-1:-1;;;;;11331:19:0;;;11337:13;;11331:19;;11306:44;11245:597;;;-1:-1:-1;11378:5:0;11245:597;;;11462:13;;-1:-1:-1;;;;;11454:21:0;;;11462:13;;11454:21;:55;;;;-1:-1:-1;11493:15:0;;-1:-1:-1;;;;;11479:30:0;;;11493:15;;11479:30;;11454:55;11451:162;;;11542:14;;11530:9;:26;11585:12;;11575:7;:22;11451:162;11673:13;;-1:-1:-1;;;;;11667:19:0;;;11673:13;;11667:19;:55;;;;-1:-1:-1;11706:15:0;;-1:-1:-1;;;;;11690:32:0;;;11706:15;;11690:32;;11667:55;11663:165;;;11755:15;;11743:9;:27;11799:13;;11789:7;:23;11663:165;11855:41;11870:4;11876:2;11880:6;11888:7;11855:14;:41::i;2636:224::-;2756:7;2792:12;2784:6;;;;2776:29;;;;-1:-1:-1;;;2776:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2816:9:0;2828:5;2832:1;2828;:5;:::i;:::-;2816:17;2636:224;-1:-1:-1;;;;;2636:224:0:o;12405:99::-;12462:17;;:34;;-1:-1:-1;;;;;12462:17:0;;;;:34;;;;;12489:6;;12462:17;:34;:17;:34;12489:6;12462:17;:34;;;;;;;;;;;;;;;;;;;8495:323;8590:7;8648;;8637;:18;;8615:110;;;;-1:-1:-1;;;8615:110:0;;11461:2:1;8615: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;;8615:110:0;11259:406:1;8615:110:0;8736:19;8758:10;:8;:10::i;:::-;8736:32;-1:-1:-1;8786:24:0;:7;8736:32;8786:11;:24::i;:::-;8779:31;8495:323;-1:-1:-1;;;8495:323:0:o;11913:483::-;6192:6;:13;;-1:-1:-1;;;;6192:13:0;-1:-1:-1;;;6192:13:0;;;12015:16:::1;::::0;;12029:1:::1;12015:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12015:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12015:16:0::1;11991:40;;12060:4;12042;12047:1;12042:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12042:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12086:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12086:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12042:7;;12086:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12076:4;12081:1;12076:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12076:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12151:15:::1;::::0;12119:62:::1;::::0;12136:4:::1;::::0;12151:15:::1;12169:11:::0;12119:8:::1;:62::i;:::-;12192:15;::::0;:196:::1;::::0;-1:-1:-1;;;12192:196:0;;-1:-1:-1;;;;;12192:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12273:11;;12192:15:::1;::::0;12315:4;;12342::::1;::::0;12362:15:::1;::::0;12192:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6228:6:0;:14;;-1:-1:-1;;;;6228:14:0;;;-1:-1:-1;;;;11913:483:0:o;13391:282::-;13547:7;13542:28;;13556:14;:12;:14::i;:::-;13581:44;13599:6;13607:9;13618:6;13581:17;:44::i;:::-;13641:7;13636:29;;13650:15;9113:17;;9101:9;:29;9151:15;;9141:7;:25;9057:117;16360:164;16402:7;16423:15;16440;16459:19;:17;:19::i;:::-;16422:56;;-1:-1:-1;16422:56:0;-1:-1:-1;16496:20:0;16422:56;;16496:11;:20::i;:::-;16489:27;;;;16360:164;:::o;3124:132::-;3182:7;3209:39;3213:1;3216;3209:39;;;;;;;;;;;;;;;;;:3;:39::i;8827:221::-;8874:9;;:14;:30;;;;-1:-1:-1;8892:7:0;;:12;8874:30;8870:43;;;8827:221::o;8870:43::-;8946:9;;;8926:17;:29;8984:7;;;8966:15;:25;-1:-1:-1;9005:13:0;;;;9029:11;8827:221::o;13682:610::-;13829:15;13859:23;13897:12;13924:23;13962:12;13989:13;14016:19;14027:7;14016:10;:19::i;:::-;-1:-1:-1;;;;;14064:15:0;;;;;;:7;:15;;;;;;13814:221;;-1:-1:-1;13814:221:0;;-1:-1:-1;13814:221:0;;-1:-1:-1;13814:221:0;-1:-1:-1;13814:221:0;-1:-1:-1;13814:221:0;-1:-1:-1;14064:28:0;;13814:221;14064:19;:28::i;:::-;-1:-1:-1;;;;;14046:15:0;;;;;;;:7;:15;;;;;;:46;;;;14124:18;;;;;;;:39;;14147:15;14124:22;:39::i;:::-;-1:-1:-1;;;;;14103:18:0;;;;;;:7;:18;;;;;:60;14174:16;14184:5;14174:9;:16::i;:::-;14201:23;14213:4;14219;14201:11;:23::i;:::-;14257:9;-1:-1:-1;;;;;14240:44:0;14249:6;-1:-1:-1;;;;;14240:44:0;;14268:15;14240:44;;;;3041:25:1;;3029:2;3014:18;;2895:177;14240:44:0;;;;;;;;13803:489;;;;;;13682:610;;;:::o;16533:257::-;16631:7;;16584;;;;4941:16;16699:20;16631:7;4941:16;16699:11;:20::i;:::-;16689:7;:30;16685:61;;;-1:-1:-1;;16729:7:0;;;4941:16;;-1:-1:-1;16533:257:0;-1:-1:-1;16533:257:0:o;16685:61::-;16765:7;;16774;;-1:-1:-1;16533:257:0;-1:-1:-1;16533:257:0:o;3265:223::-;3385:7;3420:12;3413:5;3405:28;;;;-1:-1:-1;;;3405:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3444:9:0;3456:5;3460:1;3456;:5;:::i;14715:615::-;14815:7;14837;14859;14881;14903;14925;14961:23;14986:12;15000:13;15030:40;15042:7;15051:9;;15062:7;;15030:11;:40::i;:::-;14960:110;;;;;;15081:19;15103:10;:8;:10::i;:::-;15081:32;;15125:15;15142:23;15167:12;15196:46;15208:7;15217:4;15223:5;15230:11;15196;:46::i;:::-;15124:118;;-1:-1:-1;15124:118:0;-1:-1:-1;15124:118:0;-1:-1:-1;15293:15:0;;-1:-1:-1;15310:4:0;;-1:-1:-1;15316:5:0;;-1:-1:-1;;;;;14715:615:0;;;;;;;:::o;2491:136::-;2549:7;2576:43;2580:1;2583;2576:43;;;;;;;;;;;;;;;;;:3;:43::i;2303:179::-;2361:7;;2393:5;2397:1;2393;:5;:::i;:::-;2381:17;;2422:1;2417;:6;;2409:46;;;;-1:-1:-1;;;2409:46:0;;13335:2:1;2409:46:0;;;13317:21:1;13374:2;13354:18;;;13347:30;13413:29;13393:18;;;13386:57;13460:18;;2409:46:0;13133:351:1;14301:211:0;14354:19;14376:10;:8;:10::i;:::-;14354:32;-1:-1:-1;14397:13:0;14413:22;:5;14354:32;14413:9;:22::i;:::-;14487:4;14471:22;;;;:7;:22;;;;;;14397:38;;-1:-1:-1;14471:33:0;;14397:38;14471:26;:33::i;:::-;14462:4;14446:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14301:211:0:o;14521:147::-;14599:7;;:17;;14611:4;14599:11;:17::i;:::-;14589:7;:27;14640:10;;:20;;14655:4;14640:14;:20::i;:::-;14627:10;:33;-1:-1:-1;;14521:147:0:o;15339:469::-;15508:7;;;;15602:30;15628:3;15602:21;:7;15614:8;15602:11;:21::i;:::-;:25;;:30::i;:::-;15587:45;-1:-1:-1;15643:13:0;15659:28;15683:3;15659:19;:7;15671:6;15659:11;:19::i;:28::-;15643:44;-1:-1:-1;15698:23:0;15724:28;15643:44;15724:17;:7;15736:4;15724:11;:17::i;:::-;:21;;:28::i;:::-;15698:54;15788:4;;-1:-1:-1;15794:5:0;;-1:-1:-1;15339:469:0;;-1:-1:-1;;;;;15339:469:0:o;15817:534::-;16011:7;;;;16108:24;:7;16120:11;16108;:24::i;:::-;16090:42;-1:-1:-1;16143:12:0;16158:21;:4;16167:11;16158:8;:21::i;:::-;16143:36;-1:-1:-1;16190:13:0;16206:22;:5;16216:11;16206:9;:22::i;:::-;16190:38;-1:-1:-1;16239:23:0;16265:28;16190:38;16265:17;:7;16277:4;16265:11;:17::i;:28::-;16312:7;;;;-1:-1:-1;16338:4:0;;-1:-1:-1;15817:534:0;;-1:-1:-1;;;;;;;15817:534:0:o;2869:246::-;2927:7;2951:6;2947:47;;-1:-1:-1;2981:1:0;2974:8;;2947:47;3004:9;3016:5;3020:1;3016;:5;:::i;:::-;3004:17;-1:-1:-1;3049:1:0;3040:5;3044:1;3004:17;3040:5;:::i;:::-;:10;3032:56;;;;-1:-1:-1;;;3032:56:0;;13864:2:1;3032: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;;3032: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://ef0fd5af1024ffe7959e8d96995a6c910a06c85568a806642b0a160eabba7414

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.