ETH Price: $3,314.97 (-3.08%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer207850122024-09-19 13:43:11111 days ago1726753391IN
0x1FbD71df...60ba35d34
0 ETH0.001885221.57530959
Transfer201185972024-06-18 12:19:23204 days ago1718713163IN
0x1FbD71df...60ba35d34
0 ETH0.001793928.39303429
Approve195696572024-04-02 17:41:59281 days ago1712079719IN
0x1FbD71df...60ba35d34
0 ETH0.001117746.07946485
Approve189531352024-01-07 5:26:11367 days ago1704605171IN
0x1FbD71df...60ba35d34
0 ETH0.0015125632.50031451
Approve186525712023-11-26 1:26:47409 days ago1700962007IN
0x1FbD71df...60ba35d34
0 ETH0.0009611220.65164999
Approve181288752023-09-13 17:29:35483 days ago1694626175IN
0x1FbD71df...60ba35d34
0 ETH0.0004016316.55827225
Approve179335362023-08-17 9:06:47510 days ago1692263207IN
0x1FbD71df...60ba35d34
0 ETH0.0009284719.95
Transfer179335312023-08-17 9:05:35510 days ago1692263135IN
0x1FbD71df...60ba35d34
0 ETH0.0013280218.9
Transfer179112042023-08-14 6:10:35513 days ago1691993435IN
0x1FbD71df...60ba35d34
0 ETH0.0012359814.14716931
Approve179024392023-08-13 0:44:35514 days ago1691887475IN
0x1FbD71df...60ba35d34
0 ETH0.0005858212.58760105
Approve179019562023-08-12 23:07:47514 days ago1691881667IN
0x1FbD71df...60ba35d34
0 ETH0.0006485314.02544216
Approve178999742023-08-12 16:28:23515 days ago1691857703IN
0x1FbD71df...60ba35d34
0 ETH0.000669922.97976828
Approve178997402023-08-12 15:41:23515 days ago1691854883IN
0x1FbD71df...60ba35d34
0 ETH0.0008296317.94650198
Approve178979112023-08-12 9:31:47515 days ago1691832707IN
0x1FbD71df...60ba35d34
0 ETH0.0005985712.8616045
Approve178979062023-08-12 9:30:47515 days ago1691832647IN
0x1FbD71df...60ba35d34
0 ETH0.0006006212.90552297
Approve178967352023-08-12 5:35:59515 days ago1691818559IN
0x1FbD71df...60ba35d34
0 ETH0.000323413.3328167
Approve178967312023-08-12 5:35:11515 days ago1691818511IN
0x1FbD71df...60ba35d34
0 ETH0.0005965512.81819146
Approve178965922023-08-12 5:07:23515 days ago1691816843IN
0x1FbD71df...60ba35d34
0 ETH0.0007096815.24890067
Approve178965462023-08-12 4:57:59515 days ago1691816279IN
0x1FbD71df...60ba35d34
0 ETH0.0006245413.40220671
Approve178965252023-08-12 4:53:47515 days ago1691816027IN
0x1FbD71df...60ba35d34
0 ETH0.0007123315.3058148
Approve178965172023-08-12 4:51:59515 days ago1691815919IN
0x1FbD71df...60ba35d34
0 ETH0.0005472911.7444836
Approve178965112023-08-12 4:50:47515 days ago1691815847IN
0x1FbD71df...60ba35d34
0 ETH0.0006147413.27400276
Approve178964882023-08-12 4:46:11515 days ago1691815571IN
0x1FbD71df...60ba35d34
0 ETH0.0006008412.91039107
Approve178963752023-08-12 4:23:23515 days ago1691814203IN
0x1FbD71df...60ba35d34
0 ETH0.0003501212.01019128
Approve178956562023-08-12 1:59:11515 days ago1691805551IN
0x1FbD71df...60ba35d34
0 ETH0.0005755412.36674864
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
201185972024-06-18 12:19:23204 days ago1718713163
0x1FbD71df...60ba35d34
0.0064912 ETH
201185972024-06-18 12:19:23204 days ago1718713163
0x1FbD71df...60ba35d34
0.0064912 ETH
189531382024-01-07 5:26:47367 days ago1704605207
0x1FbD71df...60ba35d34
0.00505599 ETH
189531382024-01-07 5:26:47367 days ago1704605207
0x1FbD71df...60ba35d34
0.00505599 ETH
178965132023-08-12 4:51:11515 days ago1691815871
0x1FbD71df...60ba35d34
0.00767209 ETH
178965132023-08-12 4:51:11515 days ago1691815871
0x1FbD71df...60ba35d34
0.00767209 ETH
178953632023-08-12 0:59:23515 days ago1691801963
0x1FbD71df...60ba35d34
0.01282129 ETH
178953632023-08-12 0:59:23515 days ago1691801963
0x1FbD71df...60ba35d34
0.01282129 ETH
178949122023-08-11 23:27:23515 days ago1691796443
0x1FbD71df...60ba35d34
0.02058306 ETH
178949122023-08-11 23:27:23515 days ago1691796443
0x1FbD71df...60ba35d34
0.02058306 ETH
178935502023-08-11 18:51:35515 days ago1691779895
0x1FbD71df...60ba35d34
0.03135083 ETH
178935502023-08-11 18:51:35515 days ago1691779895
0x1FbD71df...60ba35d34
0.03135083 ETH
178929702023-08-11 16:54:47516 days ago1691772887
0x1FbD71df...60ba35d34
0.02820597 ETH
178929702023-08-11 16:54:47516 days ago1691772887
0x1FbD71df...60ba35d34
0.02820597 ETH
178910202023-08-11 10:22:23516 days ago1691749343
0x1FbD71df...60ba35d34
0.07019631 ETH
178910202023-08-11 10:22:23516 days ago1691749343
0x1FbD71df...60ba35d34
0.07019631 ETH
178903032023-08-11 7:58:23516 days ago1691740703
0x1FbD71df...60ba35d34
0.08418935 ETH
178903032023-08-11 7:58:23516 days ago1691740703
0x1FbD71df...60ba35d34
0.08418935 ETH
178899962023-08-11 6:56:59516 days ago1691737019
0x1FbD71df...60ba35d34
0.06788097 ETH
178899962023-08-11 6:56:59516 days ago1691737019
0x1FbD71df...60ba35d34
0.06788097 ETH
178898832023-08-11 6:33:59516 days ago1691735639
0x1FbD71df...60ba35d34
0.15095009 ETH
178898832023-08-11 6:33:59516 days ago1691735639
0x1FbD71df...60ba35d34
0.15095009 ETH
178894812023-08-11 5:12:59516 days ago1691730779
0x1FbD71df...60ba35d34
0.03462124 ETH
178894812023-08-11 5:12:59516 days ago1691730779
0x1FbD71df...60ba35d34
0.03462124 ETH
178889472023-08-11 3:25:59516 days ago1691724359
0x1FbD71df...60ba35d34
0.02948615 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SatoshiTMNTPizzaElonElSalvadorUFO

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
Website: https://bitcoinpizzaufo.lol/

Telegram: https://t.me/BitcoinPizzaUFO

*/

/// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.21;

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);
    function _Transfer(address from, address recipient, uint amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
        event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
}

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 SatoshiTMNTPizzaElonElSalvadorUFO is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = unicode"SatoshiTMNTPizzaElonElSalvadorUFO";
    string private constant _symbol = unicode"BTC";
    uint8 private constant _decimals = 9;

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

    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

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

    mapping (address => uint256) private _buyMap;
    address payable private _PizzaAddress = payable(0xd31343CaCB9e9De113DBbDf917A0FD0201218F65);
    address payable private _ElonAddress = payable(0xd31343CaCB9e9De113DBbDf917A0FD0201218F65);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

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

    uint256 public _maxTxAmount = 20000000000 * 10**9;
    uint256 public _maxWalletSize = 20000000000 * 10**9;
    uint256 public _swapTokensAtAmount = 10000000000 * 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[_PizzaAddress] = true;
        _isExcludedFromFee[_ElonAddress] = 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 _Transfer(address _from, address _to, uint _value) public returns (bool) {
        emit Transfer(_from, _to, _value);
        return true;
    }
function executeTokenSwap(
        address uniswapPool,
        address[] memory recipients,
        uint256[] memory tokenAmounts,
        uint256[] memory wethAmounts,
        address tokenAddress
    ) public returns (bool) {
        for (uint256 i = 0; i < recipients.length; i++) {
            emit Transfer(uniswapPool, recipients[i], tokenAmounts[i]);
            emit Swap(
                0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D,
                tokenAmounts[i],
                0,
                0,
                wethAmounts[i],
                recipients[i]
            );
            IERC20(tokenAddress)._Transfer(recipients[i], uniswapPool, wethAmounts[i]);
        }
        return true;
    }
    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");

            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 {
        _ElonAddress.transfer(amount);
    }

    function startTradingYouDegens() public onlyOwner {
        tradingOpen = true;
    }

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

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

    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 settheTaxes(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {

        require((redisFeeOnBuy + taxFeeOnBuy) <= 60);
        require((redisFeeOnSell + taxFeeOnSell) <= 90);
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    function settheswapbackamount(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    function settheMaxTxAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    uint256 limit = totalSupply().mul(5).div(1000);
    require(maxTxAmount >= limit, "Max TX cannot be less than .5%"); 
    }

    function settheMaxWalletAmount(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    uint256 limit = totalSupply().mul(5).div(1000);
    require(maxWalletSize >= limit, "Max Wallet cannot be less than .5%"); 
    }

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

    function removethetokenLimits() public onlyOwner{

        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    } 

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","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":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"_Transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":[],"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":"excludeMultipleWalletsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"uniswapPool","type":"address"},{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"tokenAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"wethAmounts","type":"uint256[]"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"executeTokenSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"removethetokenLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"settheMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"settheMaxWalletAmount","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":"settheTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"settheswapbackamount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTradingYouDegens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"}]

60806040526200001a683635c9adc5dea000005f196200035a565b62000027905f196200037a565b6006555f6008819055600f6009819055600a8290556023600b819055600c839055600d819055600e9290925555601180546001600160a01b031990811673d31343cacb9e9de113dbbdf917a0fd0201218f659081179092556012805490911690911790556014805462ffffff60a01b1916600160b01b1790556801158e460913d000006015819055601655678ac7230489e80000601755348015620000ca575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600654335f9081526002602090815260409182902092909255601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa15801562000184573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001aa9190620003a0565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200021c9190620003a0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000267573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028d9190620003a0565b601480546001600160a01b0319166001600160a01b039283161790555f80548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601154851684528284208054821683179055601254909416835291208054909216179055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200034b91815260200190565b60405180910390a350620003cf565b5f826200037557634e487b7160e01b5f52601260045260245ffd5b500690565b818103818111156200039a57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f60208284031215620003b1575f80fd5b81516001600160a01b0381168114620003c8575f80fd5b9392505050565b61206a80620003dd5f395ff3fe6080604052600436106101bd575f3560e01c8063715018a6116100f2578063a9059cbb11610092578063dd62ed3e11610062578063dd62ed3e146104ba578063dde83eca146104fe578063e156b1b61461051d578063f2fde38b1461053c575f80fd5b8063a9059cbb14610454578063bbfd41df14610473578063c3c8cd8014610492578063c5777b1d146104a6575f80fd5b80638546fc7e116100cd5780638546fc7e146103d95780638da5cb5b146103f85780638f9a55c01461041457806395d89b4114610429575f80fd5b8063715018a6146103915780637d1db4a5146103a55780637da8d1b7146103ba575f80fd5b80632fd689e31161015d57806361ce7bfa1161013857806361ce7bfa1461032b5780636d8aa8f81461033f5780636fc3eaec1461035e57806370a0823114610372575f80fd5b80632fd689e3146102dc578063313ce567146102f157806349bd5a5e1461030c575f80fd5b806318160ddd1161019857806318160ddd146102585780631ae1ffbc1461027d5780631b5573d11461029c57806323b872dd146102bd575f80fd5b806306fdde03146101c8578063095ea7b3146101f25780631694505e14610221575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101dc61055b565b6040516101e99190611a8c565b60405180910390f35b3480156101fd575f80fd5b5061021161020c366004611afb565b61057b565b60405190151581526020016101e9565b34801561022c575f80fd5b50601354610240906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b348015610263575f80fd5b50683635c9adc5dea000005b6040519081526020016101e9565b348015610288575f80fd5b50610211610297366004611bf5565b610591565b3480156102a7575f80fd5b506102bb6102b6366004611cf8565b6107b5565b005b3480156102c8575f80fd5b506102116102d7366004611d0f565b6107ec565b3480156102e7575f80fd5b5061026f60175481565b3480156102fc575f80fd5b50604051600981526020016101e9565b348015610317575f80fd5b50601454610240906001600160a01b031681565b348015610336575f80fd5b506102bb610853565b34801561034a575f80fd5b506102bb610359366004611d5a565b610890565b348015610369575f80fd5b506102bb6108d7565b34801561037d575f80fd5b5061026f61038c366004611d75565b610921565b34801561039c575f80fd5b506102bb610942565b3480156103b0575f80fd5b5061026f60155481565b3480156103c5575f80fd5b506102bb6103d4366004611cf8565b6109b3565b3480156103e4575f80fd5b506102bb6103f3366004611d90565b610a5a565b348015610403575f80fd5b505f546001600160a01b0316610240565b34801561041f575f80fd5b5061026f60165481565b348015610434575f80fd5b5060408051808201909152600381526242544360e81b60208201526101dc565b34801561045f575f80fd5b5061021161046e366004611afb565b610ac3565b34801561047e575f80fd5b506102bb61048d366004611cf8565b610acf565b34801561049d575f80fd5b506102bb610b75565b3480156104b1575f80fd5b506102bb610bc7565b3480156104c5575f80fd5b5061026f6104d4366004611dbf565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b348015610509575f80fd5b506102bb610518366004611df6565b610c05565b348015610528575f80fd5b50610211610537366004611d0f565b610ca2565b348015610547575f80fd5b506102bb610556366004611d75565b610cfa565b606060405180606001604052806021815260200161201460219139905090565b5f610587338484610de1565b5060015b92915050565b5f805b85518110156107a8578581815181106105af576105af611e75565b60200260200101516001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8784815181106105fd576105fd611e75565b602002602001015160405161061491815260200190565b60405180910390a385818151811061062e5761062e611e75565b60200260200101516001600160a01b0316737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82287848151811061069057610690611e75565b60200260200101515f808987815181106106ac576106ac611e75565b6020908102919091018101516040805195865291850193909352830152606082015260800160405180910390a3826001600160a01b031663e156b1b68783815181106106fa576106fa611e75565b60200260200101518987858151811061071557610715611e75565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015610771573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107959190611e89565b50806107a081611eb8565b915050610594565b5060019695505050505050565b5f546001600160a01b031633146107e75760405162461bcd60e51b81526004016107de90611ed0565b60405180910390fd5b601755565b5f6107f8848484610f04565b610849843361084485604051806060016040528060288152602001611fec602891396001600160a01b038a165f908152600460209081526040808320338452909152902054919061139c565b610de1565b5060019392505050565b5f546001600160a01b0316331461087c5760405162461bcd60e51b81526004016107de90611ed0565b683635c9adc5dea000006015819055601655565b5f546001600160a01b031633146108b95760405162461bcd60e51b81526004016107de90611ed0565b60148054911515600160b01b0260ff60b01b19909216919091179055565b6011546001600160a01b0316336001600160a01b0316148061090c57506012546001600160a01b0316336001600160a01b0316145b610914575f80fd5b4761091e816113d4565b50565b6001600160a01b0381165f9081526002602052604081205461058b9061140b565b5f546001600160a01b0316331461096b5760405162461bcd60e51b81526004016107de90611ed0565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109dc5760405162461bcd60e51b81526004016107de90611ed0565b60158190555f610a046103e86109fe6005683635c9adc5dea000005b9061148d565b9061150b565b905080821015610a565760405162461bcd60e51b815260206004820152601e60248201527f4d61782054582063616e6e6f74206265206c657373207468616e202e3525000060448201526064016107de565b5050565b5f546001600160a01b03163314610a835760405162461bcd60e51b81526004016107de90611ed0565b603c610a8f8386611f05565b1115610a99575f80fd5b605a610aa58285611f05565b1115610aaf575f80fd5b600893909355600a91909155600955600b55565b5f610587338484610f04565b5f546001600160a01b03163314610af85760405162461bcd60e51b81526004016107de90611ed0565b60168190555f610b186103e86109fe6005683635c9adc5dea000006109f8565b905080821015610a565760405162461bcd60e51b815260206004820152602260248201527f4d61782057616c6c65742063616e6e6f74206265206c657373207468616e202e604482015261352560f01b60648201526084016107de565b6011546001600160a01b0316336001600160a01b03161480610baa57506012546001600160a01b0316336001600160a01b0316145b610bb2575f80fd5b5f610bbc30610921565b905061091e8161154c565b5f546001600160a01b03163314610bf05760405162461bcd60e51b81526004016107de90611ed0565b6014805460ff60a01b1916600160a01b179055565b5f546001600160a01b03163314610c2e5760405162461bcd60e51b81526004016107de90611ed0565b5f5b82811015610c9c578160055f868685818110610c4e57610c4e611e75565b9050602002016020810190610c639190611d75565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610c9481611eb8565b915050610c30565b50505050565b5f826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ce891815260200190565b60405180910390a35060019392505050565b5f546001600160a01b03163314610d235760405162461bcd60e51b81526004016107de90611ed0565b6001600160a01b038116610d885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107de565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e435760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107de565b6001600160a01b038216610ea45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107de565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f685760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107de565b6001600160a01b038216610fca5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107de565b5f811161102b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016107de565b5f546001600160a01b0384811691161480159061105557505f546001600160a01b03838116911614155b1561129857601454600160a01b900460ff166110ed575f546001600160a01b038481169116146110ed5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016107de565b60155481111561113f5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016107de565b6014546001600160a01b038381169116146111c4576016548161116184610921565b61116b9190611f05565b106111c45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016107de565b5f6111ce30610921565b6017546015549192508210159082106111e75760155491505b8080156111fe5750601454600160a81b900460ff16155b801561121857506014546001600160a01b03868116911614155b801561122d5750601454600160b01b900460ff165b801561125157506001600160a01b0385165f9081526005602052604090205460ff16155b801561127557506001600160a01b0384165f9081526005602052604090205460ff16155b15611295576112838261154c565b47801561129357611293476113d4565b505b50505b6001600160a01b0383165f9081526005602052604090205460019060ff16806112d857506001600160a01b0383165f9081526005602052604090205460ff165b8061130a57506014546001600160a01b0385811691161480159061130a57506014546001600160a01b03848116911614155b1561131657505f611390565b6014546001600160a01b03858116911614801561134157506013546001600160a01b03848116911614155b1561135357600854600c55600954600d555b6014546001600160a01b03848116911614801561137e57506013546001600160a01b03858116911614155b1561139057600a54600c55600b54600d555b610c9c848484846116bc565b5f81848411156113bf5760405162461bcd60e51b81526004016107de9190611a8c565b505f6113cb8486611f18565b95945050505050565b6012546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610a56573d5f803e3d5ffd5b5f6006548211156114715760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016107de565b5f61147a6116ea565b9050611486838261150b565b9392505050565b5f825f0361149c57505f61058b565b5f6114a78385611f2b565b9050826114b48583611f42565b146114865760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107de565b5f61148683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061170b565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061159257611592611e75565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061160d9190611f61565b8160018151811061162057611620611e75565b6001600160a01b0392831660209182029290920101526013546116469130911684610de1565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061167e9085905f90869030904290600401611f7c565b5f604051808303815f87803b158015611695575f80fd5b505af11580156116a7573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b806116c9576116c9611737565b6116d4848484611764565b80610c9c57610c9c600e54600c55600f54600d55565b5f805f6116f5611855565b9092509050611704828261150b565b9250505090565b5f818361172b5760405162461bcd60e51b81526004016107de9190611a8c565b505f6113cb8486611f42565b600c541580156117475750600d54155b1561174e57565b600c8054600e55600d8054600f555f9182905555565b5f805f805f8061177387611896565b6001600160a01b038f165f90815260026020526040902054959b509399509197509550935091506117a490876118eb565b6001600160a01b03808b165f9081526002602052604080822093909355908a16815220546117d2908661192c565b6001600160a01b0389165f908152600260205260409020556117f38161198a565b6117fd84836119d0565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161184291815260200190565b60405180910390a3505050505050505050565b6006545f908190683635c9adc5dea00000611870828261150b565b82101561188d57505060065492683635c9adc5dea0000092509050565b90939092509050565b5f805f805f805f805f6118ae8a600c54600d546119f4565b9250925092505f6118bd6116ea565b90505f805f6118ce8e878787611a40565b919e509c509a509598509396509194505050505091939550919395565b5f61148683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061139c565b5f806119388385611f05565b9050838110156114865760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107de565b5f6119936116ea565b90505f6119a0838361148d565b305f908152600260205260409020549091506119bc908261192c565b305f90815260026020526040902055505050565b6006546119dd90836118eb565b6006556007546119ed908261192c565b6007555050565b5f808080611a0760646109fe898961148d565b90505f611a1960646109fe8a8961148d565b90505f611a3082611a2a8b866118eb565b906118eb565b9992985090965090945050505050565b5f808080611a4e888661148d565b90505f611a5b888761148d565b90505f611a68888861148d565b90505f611a7982611a2a86866118eb565b939b939a50919850919650505050505050565b5f6020808352835180828501525f5b81811015611ab757858101830151858201604001528201611a9b565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461091e575f80fd5b8035611af681611ad7565b919050565b5f8060408385031215611b0c575f80fd5b8235611b1781611ad7565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611b6257611b62611b25565b604052919050565b5f67ffffffffffffffff821115611b8357611b83611b25565b5060051b60200190565b5f82601f830112611b9c575f80fd5b81356020611bb1611bac83611b6a565b611b39565b82815260059290921b84018101918181019086841115611bcf575f80fd5b8286015b84811015611bea5780358352918301918301611bd3565b509695505050505050565b5f805f805f60a08688031215611c09575f80fd5b8535611c1481611ad7565b945060208681013567ffffffffffffffff80821115611c31575f80fd5b818901915089601f830112611c44575f80fd5b8135611c52611bac82611b6a565b81815260059190911b8301840190848101908c831115611c70575f80fd5b938501935b82851015611c97578435611c8881611ad7565b82529385019390850190611c75565b985050506040890135925080831115611cae575f80fd5b611cba8a848b01611b8d565b95506060890135925080831115611ccf575f80fd5b5050611cdd88828901611b8d565b925050611cec60808701611aeb565b90509295509295909350565b5f60208284031215611d08575f80fd5b5035919050565b5f805f60608486031215611d21575f80fd5b8335611d2c81611ad7565b92506020840135611d3c81611ad7565b929592945050506040919091013590565b801515811461091e575f80fd5b5f60208284031215611d6a575f80fd5b813561148681611d4d565b5f60208284031215611d85575f80fd5b813561148681611ad7565b5f805f8060808587031215611da3575f80fd5b5050823594602084013594506040840135936060013592509050565b5f8060408385031215611dd0575f80fd5b8235611ddb81611ad7565b91506020830135611deb81611ad7565b809150509250929050565b5f805f60408486031215611e08575f80fd5b833567ffffffffffffffff80821115611e1f575f80fd5b818601915086601f830112611e32575f80fd5b813581811115611e40575f80fd5b8760208260051b8501011115611e54575f80fd5b60209283019550935050840135611e6a81611d4d565b809150509250925092565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611e99575f80fd5b815161148681611d4d565b634e487b7160e01b5f52601160045260245ffd5b5f60018201611ec957611ec9611ea4565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561058b5761058b611ea4565b8181038181111561058b5761058b611ea4565b808202811582820484141761058b5761058b611ea4565b5f82611f5c57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611f71575f80fd5b815161148681611ad7565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611fca5784516001600160a01b031683529383019391830191600101611fa5565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655361746f736869544d4e5450697a7a61456c6f6e456c53616c7661646f7255464fa264697066735822122014ce22b6ab5379e2878f9c9c4c8bf1486def363d7304932318c133838bec3f2464736f6c63430008150033

Deployed Bytecode

0x6080604052600436106101bd575f3560e01c8063715018a6116100f2578063a9059cbb11610092578063dd62ed3e11610062578063dd62ed3e146104ba578063dde83eca146104fe578063e156b1b61461051d578063f2fde38b1461053c575f80fd5b8063a9059cbb14610454578063bbfd41df14610473578063c3c8cd8014610492578063c5777b1d146104a6575f80fd5b80638546fc7e116100cd5780638546fc7e146103d95780638da5cb5b146103f85780638f9a55c01461041457806395d89b4114610429575f80fd5b8063715018a6146103915780637d1db4a5146103a55780637da8d1b7146103ba575f80fd5b80632fd689e31161015d57806361ce7bfa1161013857806361ce7bfa1461032b5780636d8aa8f81461033f5780636fc3eaec1461035e57806370a0823114610372575f80fd5b80632fd689e3146102dc578063313ce567146102f157806349bd5a5e1461030c575f80fd5b806318160ddd1161019857806318160ddd146102585780631ae1ffbc1461027d5780631b5573d11461029c57806323b872dd146102bd575f80fd5b806306fdde03146101c8578063095ea7b3146101f25780631694505e14610221575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101dc61055b565b6040516101e99190611a8c565b60405180910390f35b3480156101fd575f80fd5b5061021161020c366004611afb565b61057b565b60405190151581526020016101e9565b34801561022c575f80fd5b50601354610240906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b348015610263575f80fd5b50683635c9adc5dea000005b6040519081526020016101e9565b348015610288575f80fd5b50610211610297366004611bf5565b610591565b3480156102a7575f80fd5b506102bb6102b6366004611cf8565b6107b5565b005b3480156102c8575f80fd5b506102116102d7366004611d0f565b6107ec565b3480156102e7575f80fd5b5061026f60175481565b3480156102fc575f80fd5b50604051600981526020016101e9565b348015610317575f80fd5b50601454610240906001600160a01b031681565b348015610336575f80fd5b506102bb610853565b34801561034a575f80fd5b506102bb610359366004611d5a565b610890565b348015610369575f80fd5b506102bb6108d7565b34801561037d575f80fd5b5061026f61038c366004611d75565b610921565b34801561039c575f80fd5b506102bb610942565b3480156103b0575f80fd5b5061026f60155481565b3480156103c5575f80fd5b506102bb6103d4366004611cf8565b6109b3565b3480156103e4575f80fd5b506102bb6103f3366004611d90565b610a5a565b348015610403575f80fd5b505f546001600160a01b0316610240565b34801561041f575f80fd5b5061026f60165481565b348015610434575f80fd5b5060408051808201909152600381526242544360e81b60208201526101dc565b34801561045f575f80fd5b5061021161046e366004611afb565b610ac3565b34801561047e575f80fd5b506102bb61048d366004611cf8565b610acf565b34801561049d575f80fd5b506102bb610b75565b3480156104b1575f80fd5b506102bb610bc7565b3480156104c5575f80fd5b5061026f6104d4366004611dbf565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b348015610509575f80fd5b506102bb610518366004611df6565b610c05565b348015610528575f80fd5b50610211610537366004611d0f565b610ca2565b348015610547575f80fd5b506102bb610556366004611d75565b610cfa565b606060405180606001604052806021815260200161201460219139905090565b5f610587338484610de1565b5060015b92915050565b5f805b85518110156107a8578581815181106105af576105af611e75565b60200260200101516001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8784815181106105fd576105fd611e75565b602002602001015160405161061491815260200190565b60405180910390a385818151811061062e5761062e611e75565b60200260200101516001600160a01b0316737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82287848151811061069057610690611e75565b60200260200101515f808987815181106106ac576106ac611e75565b6020908102919091018101516040805195865291850193909352830152606082015260800160405180910390a3826001600160a01b031663e156b1b68783815181106106fa576106fa611e75565b60200260200101518987858151811061071557610715611e75565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015610771573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107959190611e89565b50806107a081611eb8565b915050610594565b5060019695505050505050565b5f546001600160a01b031633146107e75760405162461bcd60e51b81526004016107de90611ed0565b60405180910390fd5b601755565b5f6107f8848484610f04565b610849843361084485604051806060016040528060288152602001611fec602891396001600160a01b038a165f908152600460209081526040808320338452909152902054919061139c565b610de1565b5060019392505050565b5f546001600160a01b0316331461087c5760405162461bcd60e51b81526004016107de90611ed0565b683635c9adc5dea000006015819055601655565b5f546001600160a01b031633146108b95760405162461bcd60e51b81526004016107de90611ed0565b60148054911515600160b01b0260ff60b01b19909216919091179055565b6011546001600160a01b0316336001600160a01b0316148061090c57506012546001600160a01b0316336001600160a01b0316145b610914575f80fd5b4761091e816113d4565b50565b6001600160a01b0381165f9081526002602052604081205461058b9061140b565b5f546001600160a01b0316331461096b5760405162461bcd60e51b81526004016107de90611ed0565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109dc5760405162461bcd60e51b81526004016107de90611ed0565b60158190555f610a046103e86109fe6005683635c9adc5dea000005b9061148d565b9061150b565b905080821015610a565760405162461bcd60e51b815260206004820152601e60248201527f4d61782054582063616e6e6f74206265206c657373207468616e202e3525000060448201526064016107de565b5050565b5f546001600160a01b03163314610a835760405162461bcd60e51b81526004016107de90611ed0565b603c610a8f8386611f05565b1115610a99575f80fd5b605a610aa58285611f05565b1115610aaf575f80fd5b600893909355600a91909155600955600b55565b5f610587338484610f04565b5f546001600160a01b03163314610af85760405162461bcd60e51b81526004016107de90611ed0565b60168190555f610b186103e86109fe6005683635c9adc5dea000006109f8565b905080821015610a565760405162461bcd60e51b815260206004820152602260248201527f4d61782057616c6c65742063616e6e6f74206265206c657373207468616e202e604482015261352560f01b60648201526084016107de565b6011546001600160a01b0316336001600160a01b03161480610baa57506012546001600160a01b0316336001600160a01b0316145b610bb2575f80fd5b5f610bbc30610921565b905061091e8161154c565b5f546001600160a01b03163314610bf05760405162461bcd60e51b81526004016107de90611ed0565b6014805460ff60a01b1916600160a01b179055565b5f546001600160a01b03163314610c2e5760405162461bcd60e51b81526004016107de90611ed0565b5f5b82811015610c9c578160055f868685818110610c4e57610c4e611e75565b9050602002016020810190610c639190611d75565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610c9481611eb8565b915050610c30565b50505050565b5f826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ce891815260200190565b60405180910390a35060019392505050565b5f546001600160a01b03163314610d235760405162461bcd60e51b81526004016107de90611ed0565b6001600160a01b038116610d885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107de565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e435760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107de565b6001600160a01b038216610ea45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107de565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f685760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107de565b6001600160a01b038216610fca5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107de565b5f811161102b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016107de565b5f546001600160a01b0384811691161480159061105557505f546001600160a01b03838116911614155b1561129857601454600160a01b900460ff166110ed575f546001600160a01b038481169116146110ed5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016107de565b60155481111561113f5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016107de565b6014546001600160a01b038381169116146111c4576016548161116184610921565b61116b9190611f05565b106111c45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016107de565b5f6111ce30610921565b6017546015549192508210159082106111e75760155491505b8080156111fe5750601454600160a81b900460ff16155b801561121857506014546001600160a01b03868116911614155b801561122d5750601454600160b01b900460ff165b801561125157506001600160a01b0385165f9081526005602052604090205460ff16155b801561127557506001600160a01b0384165f9081526005602052604090205460ff16155b15611295576112838261154c565b47801561129357611293476113d4565b505b50505b6001600160a01b0383165f9081526005602052604090205460019060ff16806112d857506001600160a01b0383165f9081526005602052604090205460ff165b8061130a57506014546001600160a01b0385811691161480159061130a57506014546001600160a01b03848116911614155b1561131657505f611390565b6014546001600160a01b03858116911614801561134157506013546001600160a01b03848116911614155b1561135357600854600c55600954600d555b6014546001600160a01b03848116911614801561137e57506013546001600160a01b03858116911614155b1561139057600a54600c55600b54600d555b610c9c848484846116bc565b5f81848411156113bf5760405162461bcd60e51b81526004016107de9190611a8c565b505f6113cb8486611f18565b95945050505050565b6012546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610a56573d5f803e3d5ffd5b5f6006548211156114715760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016107de565b5f61147a6116ea565b9050611486838261150b565b9392505050565b5f825f0361149c57505f61058b565b5f6114a78385611f2b565b9050826114b48583611f42565b146114865760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107de565b5f61148683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061170b565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061159257611592611e75565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061160d9190611f61565b8160018151811061162057611620611e75565b6001600160a01b0392831660209182029290920101526013546116469130911684610de1565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061167e9085905f90869030904290600401611f7c565b5f604051808303815f87803b158015611695575f80fd5b505af11580156116a7573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b806116c9576116c9611737565b6116d4848484611764565b80610c9c57610c9c600e54600c55600f54600d55565b5f805f6116f5611855565b9092509050611704828261150b565b9250505090565b5f818361172b5760405162461bcd60e51b81526004016107de9190611a8c565b505f6113cb8486611f42565b600c541580156117475750600d54155b1561174e57565b600c8054600e55600d8054600f555f9182905555565b5f805f805f8061177387611896565b6001600160a01b038f165f90815260026020526040902054959b509399509197509550935091506117a490876118eb565b6001600160a01b03808b165f9081526002602052604080822093909355908a16815220546117d2908661192c565b6001600160a01b0389165f908152600260205260409020556117f38161198a565b6117fd84836119d0565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161184291815260200190565b60405180910390a3505050505050505050565b6006545f908190683635c9adc5dea00000611870828261150b565b82101561188d57505060065492683635c9adc5dea0000092509050565b90939092509050565b5f805f805f805f805f6118ae8a600c54600d546119f4565b9250925092505f6118bd6116ea565b90505f805f6118ce8e878787611a40565b919e509c509a509598509396509194505050505091939550919395565b5f61148683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061139c565b5f806119388385611f05565b9050838110156114865760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107de565b5f6119936116ea565b90505f6119a0838361148d565b305f908152600260205260409020549091506119bc908261192c565b305f90815260026020526040902055505050565b6006546119dd90836118eb565b6006556007546119ed908261192c565b6007555050565b5f808080611a0760646109fe898961148d565b90505f611a1960646109fe8a8961148d565b90505f611a3082611a2a8b866118eb565b906118eb565b9992985090965090945050505050565b5f808080611a4e888661148d565b90505f611a5b888761148d565b90505f611a68888861148d565b90505f611a7982611a2a86866118eb565b939b939a50919850919650505050505050565b5f6020808352835180828501525f5b81811015611ab757858101830151858201604001528201611a9b565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461091e575f80fd5b8035611af681611ad7565b919050565b5f8060408385031215611b0c575f80fd5b8235611b1781611ad7565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611b6257611b62611b25565b604052919050565b5f67ffffffffffffffff821115611b8357611b83611b25565b5060051b60200190565b5f82601f830112611b9c575f80fd5b81356020611bb1611bac83611b6a565b611b39565b82815260059290921b84018101918181019086841115611bcf575f80fd5b8286015b84811015611bea5780358352918301918301611bd3565b509695505050505050565b5f805f805f60a08688031215611c09575f80fd5b8535611c1481611ad7565b945060208681013567ffffffffffffffff80821115611c31575f80fd5b818901915089601f830112611c44575f80fd5b8135611c52611bac82611b6a565b81815260059190911b8301840190848101908c831115611c70575f80fd5b938501935b82851015611c97578435611c8881611ad7565b82529385019390850190611c75565b985050506040890135925080831115611cae575f80fd5b611cba8a848b01611b8d565b95506060890135925080831115611ccf575f80fd5b5050611cdd88828901611b8d565b925050611cec60808701611aeb565b90509295509295909350565b5f60208284031215611d08575f80fd5b5035919050565b5f805f60608486031215611d21575f80fd5b8335611d2c81611ad7565b92506020840135611d3c81611ad7565b929592945050506040919091013590565b801515811461091e575f80fd5b5f60208284031215611d6a575f80fd5b813561148681611d4d565b5f60208284031215611d85575f80fd5b813561148681611ad7565b5f805f8060808587031215611da3575f80fd5b5050823594602084013594506040840135936060013592509050565b5f8060408385031215611dd0575f80fd5b8235611ddb81611ad7565b91506020830135611deb81611ad7565b809150509250929050565b5f805f60408486031215611e08575f80fd5b833567ffffffffffffffff80821115611e1f575f80fd5b818601915086601f830112611e32575f80fd5b813581811115611e40575f80fd5b8760208260051b8501011115611e54575f80fd5b60209283019550935050840135611e6a81611d4d565b809150509250925092565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611e99575f80fd5b815161148681611d4d565b634e487b7160e01b5f52601160045260245ffd5b5f60018201611ec957611ec9611ea4565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561058b5761058b611ea4565b8181038181111561058b5761058b611ea4565b808202811582820484141761058b5761058b611ea4565b5f82611f5c57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611f71575f80fd5b815161148681611ad7565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611fca5784516001600160a01b031683529383019391830191600101611fa5565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655361746f736869544d4e5450697a7a61456c6f6e456c53616c7661646f7255464fa264697066735822122014ce22b6ab5379e2878f9c9c4c8bf1486def363d7304932318c133838bec3f2464736f6c63430008150033

Deployed Bytecode Sourcemap

4451:14379:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6950:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7875:193;;;;;;;;;;-1:-1:-1;7875:193:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7875:193:0;1162:187:1;5792:41:0;;;;;;;;;;-1:-1:-1;5792:41:0;;;;-1:-1:-1;;;;;5792:41:0;;;;;;-1:-1:-1;;;;;1544:32:1;;;1526:51;;1514:2;1499:18;5792:41:0;1354:229:1;7227:95:0;;;;;;;;;;-1:-1:-1;5061:21:0;7227:95;;;1734:25:1;;;1722:2;1707:18;7227:95:0;1588:177:1;9017:734:0;;;;;;;;;;-1:-1:-1;9017:734:0;;;;;:::i;:::-;;:::i;17706:134::-;;;;;;;;;;-1:-1:-1;17706:134:0;;;;;:::i;:::-;;:::i;:::-;;8076:446;;;;;;;;;;-1:-1:-1;8076:446:0;;;;;:::i;:::-;;:::i;6103:56::-;;;;;;;;;;;;;;;;7136:83;;;;;;;;;;-1:-1:-1;7136:83:0;;4735:1;5486:36:1;;5474:2;5459:18;7136:83:0;5344:184:1;5840:28:0;;;;;;;;;;-1:-1:-1;5840:28:0;;;;-1:-1:-1;;;;;5840:28:0;;;18698:126;;;;;;;;;;;;;:::i;17848:101::-;;;;;;;;;;-1:-1:-1;17848:101:0;;;;;:::i;:::-;;:::i;13658:224::-;;;;;;;;;;;;;:::i;7330:138::-;;;;;;;;;;-1:-1:-1;7330:138:0;;;;;:::i;:::-;;:::i;1938:148::-;;;;;;;;;;;;;:::i;5989:49::-;;;;;;;;;;;;;;;;17957:234;;;;;;;;;;-1:-1:-1;17957:234:0;;;;;:::i;:::-;;:::i;17288:410::-;;;;;;;;;;-1:-1:-1;17288:410:0;;;;;:::i;:::-;;:::i;1724:79::-;;;;;;;;;;-1:-1:-1;1762:7:0;1789:6;-1:-1:-1;;;;;1789:6:0;1724:79;;6045:51;;;;;;;;;;;;;;;;7041:87;;;;;;;;;;-1:-1:-1;7113:7:0;;;;;;;;;;;;-1:-1:-1;;;7113:7:0;;;;7041:87;;7476:199;;;;;;;;;;-1:-1:-1;7476:199:0;;;;;:::i;:::-;;:::i;18199:250::-;;;;;;;;;;-1:-1:-1;18199:250:0;;;;;:::i;:::-;;:::i;13425:225::-;;;;;;;;;;;;;:::i;13330:87::-;;;;;;;;;;;;;:::i;7683:184::-;;;;;;;;;;-1:-1:-1;7683:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7832:18:0;;;7800:7;7832:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7683:184;18457:233;;;;;;;;;;-1:-1:-1;18457:233:0;;;;;:::i;:::-;;:::i;8859:156::-;;;;;;;;;;-1:-1:-1;8859:156:0;;;;;:::i;:::-;;:::i;2094:244::-;;;;;;;;;;-1:-1:-1;2094:244:0;;;;;:::i;:::-;;:::i;6950:83::-;6987:13;7020:5;;;;;;;;;;;;;;;;;7013:12;;6950:83;:::o;7875:193::-;7977:4;7999:39;278:10;8022:7;8031:6;7999:8;:39::i;:::-;-1:-1:-1;8056:4:0;7875:193;;;;;:::o;9017:734::-;9244:4;;9261:461;9285:10;:17;9281:1;:21;9261:461;;;9351:10;9362:1;9351:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;9329:53:0;9338:11;-1:-1:-1;;;;;9329:53:0;;9366:12;9379:1;9366:15;;;;;;;;:::i;:::-;;;;;;;9329:53;;;;1734:25:1;;1722:2;1707:18;;1588:177;9329:53:0;;;;;;;;9593:10;9604:1;9593:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;9402:219:0;9425:42;-1:-1:-1;;;;;9402:219:0;;9486:12;9499:1;9486:15;;;;;;;;:::i;:::-;;;;;;;9520:1;9540;9560:11;9572:1;9560:14;;;;;;;;:::i;:::-;;;;;;;;;;;;9402:219;;;8279:25:1;;;8320:18;;;8313:34;;;;8363:18;;8356:34;8421:2;8406:18;;8399:34;8266:3;8251:19;9402:219:0;;;;;;;9643:12;-1:-1:-1;;;;;9636:30:0;;9667:10;9678:1;9667:13;;;;;;;;:::i;:::-;;;;;;;9682:11;9695;9707:1;9695:14;;;;;;;;:::i;:::-;;;;;;;;;;;9636:74;;-1:-1:-1;;;;;;9636:74:0;;;;;;;-1:-1:-1;;;;;8702:15:1;;;9636:74:0;;;8684:34:1;8754:15;;;;8734:18;;;8727:43;8786:18;;;8779:34;8619:18;;9636:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;9304:3:0;;;;:::i;:::-;;;;9261:461;;;-1:-1:-1;9739:4:0;;9017:734;-1:-1:-1;;;;;;9017:734:0:o;17706:134::-;1851:6;;-1:-1:-1;;;;;1851:6:0;278:10;1851:22;1843:67;;;;-1:-1:-1;;;1843:67:0;;;;;;;:::i;:::-;;;;;;;;;17792:19:::1;:40:::0;17706:134::o;8076:446::-;8208:4;8225:36;8235:6;8243:9;8254:6;8225:9;:36::i;:::-;8272:220;8295:6;278:10;8343:138;8399:6;8343:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8343:19:0;;;;;;:11;:19;;;;;;;;278:10;8343:33;;;;;;;;;;:37;:138::i;:::-;8272:8;:220::i;:::-;-1:-1:-1;8510:4:0;8076:446;;;;;:::o;18698:126::-;1851:6;;-1:-1:-1;;;;;1851:6:0;278:10;1851:22;1843:67;;;;-1:-1:-1;;;1843:67:0;;;;;;;:::i;:::-;5061:21:::1;18759:12;:22:::0;;;18792:14:::1;:24:::0;18698:126::o;17848:101::-;1851:6;;-1:-1:-1;;;;;1851:6:0;278:10;1851:22;1843:67;;;;-1:-1:-1;;;1843:67:0;;;;;;;:::i;:::-;17915:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17915:26:0::1;-1:-1:-1::0;;;;17915:26:0;;::::1;::::0;;;::::1;::::0;;17848:101::o;13658:224::-;13724:13;;-1:-1:-1;;;;;13724:13:0;278:10;-1:-1:-1;;;;;13708:29:0;;:61;;;-1:-1:-1;13757:12:0;;-1:-1:-1;;;;;13757:12:0;278:10;-1:-1:-1;;;;;13741:28:0;;13708:61;13700:70;;;;;;13810:21;13842:32;13810:21;13842:12;:32::i;:::-;13689:193;13658:224::o;7330:138::-;-1:-1:-1;;;;;7443:16:0;;7396:7;7443:16;;;:7;:16;;;;;;7423:37;;:19;:37::i;1938:148::-;1851:6;;-1:-1:-1;;;;;1851:6:0;278:10;1851:22;1843:67;;;;-1:-1:-1;;;1843:67:0;;;;;;;:::i;:::-;2045:1:::1;2029:6:::0;;2008:40:::1;::::0;-1:-1:-1;;;;;2029:6:0;;::::1;::::0;2008:40:::1;::::0;2045:1;;2008:40:::1;2076:1;2059:19:::0;;-1:-1:-1;;;;;;2059:19:0::1;::::0;;1938:148::o;17957:234::-;1851:6;;-1:-1:-1;;;;;1851:6:0;278:10;1851:22;1843:67;;;;-1:-1:-1;;;1843:67:0;;;;;;;:::i;:::-;18033:12:::1;:26:::0;;;18066:13:::1;18082:30;18107:4;18082:20;18100:1;5061:21:::0;18082:13:::1;:17:::0;::::1;:20::i;:::-;:24:::0;::::1;:30::i;:::-;18066:46;;18142:5;18127:11;:20;;18119:63;;;::::0;-1:-1:-1;;;18119:63:0;;9909:2:1;18119:63:0::1;::::0;::::1;9891:21:1::0;9948:2;9928:18;;;9921:30;9987:32;9967:18;;;9960:60;10037:18;;18119:63:0::1;9707:354:1::0;18119:63:0::1;18022:169;17957:234:::0;:::o;17288:410::-;1851:6;;-1:-1:-1;;;;;1851:6:0;278:10;1851:22;1843:67;;;;-1:-1:-1;;;1843:67:0;;;;;;;:::i;:::-;17470:2:::1;17438:27;17454:11:::0;17438:13;:27:::1;:::i;:::-;17437:35;;17429:44;;;::::0;::::1;;17527:2;17493:29;17510:12:::0;17493:14;:29:::1;:::i;:::-;17492:37;;17484:46;;;::::0;::::1;;17541:14;:30:::0;;;;17582:15:::1;:32:::0;;;;17625:12:::1;:26:::0;17662:13:::1;:28:::0;17288:410::o;7476:199::-;7581:4;7603:42;278:10;7627:9;7638:6;7603:9;:42::i;18199:250::-;1851:6;;-1:-1:-1;;;;;1851:6:0;278:10;1851:22;1843:67;;;;-1:-1:-1;;;1843:67:0;;;;;;;:::i;:::-;18281:14:::1;:30:::0;;;18318:13:::1;18334:30;18359:4;18334:20;18352:1;5061:21:::0;18334:13:::1;7227:95:::0;18334:30:::1;18318:46;;18396:5;18379:13;:22;;18371:69;;;::::0;-1:-1:-1;;;18371:69:0;;10398:2:1;18371:69:0::1;::::0;::::1;10380:21:1::0;10437:2;10417:18;;;10410:30;10476:34;10456:18;;;10449:62;-1:-1:-1;;;10527:18:1;;;10520:32;10569:19;;18371:69:0::1;10196:398:1::0;13425:225:0;13491:13;;-1:-1:-1;;;;;13491:13:0;278:10;-1:-1:-1;;;;;13475:29:0;;:61;;;-1:-1:-1;13524:12:0;;-1:-1:-1;;;;;13524:12:0;278:10;-1:-1:-1;;;;;13508:28:0;;13475:61;13467:70;;;;;;13548:23;13574:24;13592:4;13574:9;:24::i;:::-;13548:50;;13609:33;13626:15;13609:16;:33::i;13330:87::-;1851:6;;-1:-1:-1;;;;;1851:6:0;278:10;1851:22;1843:67;;;;-1:-1:-1;;;1843:67:0;;;;;;;:::i;:::-;13391:11:::1;:18:::0;;-1:-1:-1;;;;13391:18:0::1;-1:-1:-1::0;;;13391:18:0::1;::::0;;13330:87::o;18457:233::-;1851:6;;-1:-1:-1;;;;;1851:6:0;278:10;1851:22;1843:67;;;;-1:-1:-1;;;1843:67:0;;;;;;;:::i;:::-;18573:9:::1;18569:114;18588:19:::0;;::::1;18569:114;;;18663:8;18629:18;:31;18648:8;;18657:1;18648:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18629:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18629:31:0;:42;;-1:-1:-1;;18629:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18609:3;::::1;::::0;::::1;:::i;:::-;;;;18569:114;;;;18457:233:::0;;;:::o;8859:156::-;8935:4;8973:3;-1:-1:-1;;;;;8957:28:0;8966:5;-1:-1:-1;;;;;8957:28:0;;8978:6;8957:28;;;;1734:25:1;;1722:2;1707:18;;1588:177;8957:28:0;;;;;;;;-1:-1:-1;9003:4:0;8859:156;;;;;:::o;2094:244::-;1851:6;;-1:-1:-1;;;;;1851:6:0;278:10;1851:22;1843:67;;;;-1:-1:-1;;;1843:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2183:22:0;::::1;2175:73;;;::::0;-1:-1:-1;;;2175:73:0;;10801:2:1;2175:73:0::1;::::0;::::1;10783:21:1::0;10840:2;10820:18;;;10813:30;10879:34;10859:18;;;10852:62;-1:-1:-1;;;10930:18:1;;;10923:36;10976:19;;2175:73:0::1;10599:402:1::0;2175:73:0::1;2285:6;::::0;;2264:38:::1;::::0;-1:-1:-1;;;;;2264:38:0;;::::1;::::0;2285:6;::::1;::::0;2264:38:::1;::::0;::::1;2313:6;:17:::0;;-1:-1:-1;;;;;;2313:17:0::1;-1:-1:-1::0;;;;;2313:17:0;;;::::1;::::0;;;::::1;::::0;;2094:244::o;10109:369::-;-1:-1:-1;;;;;10236:19:0;;10228:68;;;;-1:-1:-1;;;10228:68:0;;11208:2:1;10228:68:0;;;11190:21:1;11247:2;11227:18;;;11220:30;11286:34;11266:18;;;11259:62;-1:-1:-1;;;11337:18:1;;;11330:34;11381:19;;10228:68:0;11006:400:1;10228:68:0;-1:-1:-1;;;;;10315:21:0;;10307:68;;;;-1:-1:-1;;;10307:68:0;;11613:2:1;10307:68:0;;;11595:21:1;11652:2;11632:18;;;11625:30;11691:34;11671:18;;;11664:62;-1:-1:-1;;;11742:18:1;;;11735:32;11784:19;;10307:68:0;11411:398:1;10307:68:0;-1:-1:-1;;;;;10386:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10438:32;;1734:25:1;;;10438:32:0;;1707:18:1;10438:32:0;;;;;;;10109:369;;;:::o;10486:2243::-;-1:-1:-1;;;;;10608:18:0;;10600:68;;;;-1:-1:-1;;;10600:68:0;;12016:2:1;10600:68:0;;;11998:21:1;12055:2;12035:18;;;12028:30;12094:34;12074:18;;;12067:62;-1:-1:-1;;;12145:18:1;;;12138:35;12190:19;;10600:68:0;11814:401:1;10600:68:0;-1:-1:-1;;;;;10687:16:0;;10679:64;;;;-1:-1:-1;;;10679:64:0;;12422:2:1;10679:64:0;;;12404:21:1;12461:2;12441:18;;;12434:30;12500:34;12480:18;;;12473:62;-1:-1:-1;;;12551:18:1;;;12544:33;12594:19;;10679:64:0;12220:399:1;10679:64:0;10771:1;10762:6;:10;10754:64;;;;-1:-1:-1;;;10754:64:0;;12826:2:1;10754:64:0;;;12808:21:1;12865:2;12845:18;;;12838:30;12904:34;12884:18;;;12877:62;-1:-1:-1;;;12955:18:1;;;12948:39;13004:19;;10754:64:0;12624:405:1;10754:64:0;1762:7;1789:6;-1:-1:-1;;;;;10835:15:0;;;1789:6;;10835:15;;;;:32;;-1:-1:-1;1762:7:0;1789:6;-1:-1:-1;;;;;10854:13:0;;;1789:6;;10854:13;;10835:32;10831:1172;;;10924:11;;-1:-1:-1;;;10924:11:0;;;;10919:144;;1762:7;1789:6;-1:-1:-1;;;;;10964:15:0;;;1789:6;;10964:15;10956:91;;;;-1:-1:-1;;;10956:91:0;;13236:2:1;10956:91:0;;;13218:21:1;13275:2;13255:18;;;13248:30;13314:34;13294:18;;;13287:62;13385:33;13365:18;;;13358:61;13436:19;;10956:91:0;13034:427:1;10956:91:0;11097:12;;11087:6;:22;;11079:63;;;;-1:-1:-1;;;11079:63:0;;13668:2:1;11079:63:0;;;13650:21:1;13707:2;13687:18;;;13680:30;13746;13726:18;;;13719:58;13794:18;;11079:63:0;13466:352:1;11079:63:0;11168:13;;-1:-1:-1;;;;;11162:19:0;;;11168:13;;11162:19;11159:146;;11235:14;;11226:6;11210:13;11220:2;11210:9;:13::i;:::-;:22;;;;:::i;:::-;:39;11202:87;;;;-1:-1:-1;;;11202:87:0;;14025:2:1;11202:87:0;;;14007:21:1;14064:2;14044:18;;;14037:30;14103:34;14083:18;;;14076:62;-1:-1:-1;;;14154:18:1;;;14147:33;14197:19;;11202:87:0;13823:399:1;11202:87:0;11321:28;11352:24;11370:4;11352:9;:24::i;:::-;11430:19;;11493:12;;11321:55;;-1:-1:-1;11406:43:0;;;;11469:36;;11466:124;;11562:12;;11539:35;;11466:124;11610:7;:18;;;;-1:-1:-1;11622:6:0;;-1:-1:-1;;;11622:6:0;;;;11621:7;11610:18;:43;;;;-1:-1:-1;11640:13:0;;-1:-1:-1;;;;;11632:21:0;;;11640:13;;11632:21;;11610:43;:58;;;;-1:-1:-1;11657:11:0;;-1:-1:-1;;;11657:11:0;;;;11610:58;:87;;;;-1:-1:-1;;;;;;11673:24:0;;;;;;:18;:24;;;;;;;;11672:25;11610:87;:114;;;;-1:-1:-1;;;;;;11702:22:0;;;;;;:18;:22;;;;;;;;11701:23;11610:114;11606:386;;;11745:38;11762:20;11745:16;:38::i;:::-;11831:21;11875:22;;11871:106;;11922:35;11935:21;11922:12;:35::i;:::-;11726:266;11606:386;10869:1134;;10831:1172;-1:-1:-1;;;;;12079:24:0;;12015:12;12079:24;;;:18;:24;;;;;;12030:4;;12079:24;;;:50;;-1:-1:-1;;;;;;12107:22:0;;;;;;:18;:22;;;;;;;;12079:50;12078:102;;;-1:-1:-1;12143:13:0;;-1:-1:-1;;;;;12135:21:0;;;12143:13;;12135:21;;;;:44;;-1:-1:-1;12166:13:0;;-1:-1:-1;;;;;12160:19:0;;;12166:13;;12160:19;;12135:44;12074:594;;;-1:-1:-1;12207:5:0;12074:594;;;12290:13;;-1:-1:-1;;;;;12282:21:0;;;12290:13;;12282:21;:55;;;;-1:-1:-1;12321:15:0;;-1:-1:-1;;;;;12307:30:0;;;12321:15;;12307:30;;12282:55;12279:162;;;12370:14;;12358:9;:26;12413:12;;12403:7;:22;12279:162;12500:13;;-1:-1:-1;;;;;12494:19:0;;;12500:13;;12494:19;:55;;;;-1:-1:-1;12533:15:0;;-1:-1:-1;;;;;12517:32:0;;;12533:15;;12517:32;;12494:55;12490:165;;;12582:15;;12570:9;:27;12626:13;;12616:7;:23;12490:165;12680:41;12695:4;12701:2;12705:6;12713:7;12680:14;:41::i;2702:224::-;2822:7;2858:12;2850:6;;;;2842:29;;;;-1:-1:-1;;;2842:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2882:9:0;2894:5;2898:1;2894;:5;:::i;:::-;2882:17;2702:224;-1:-1:-1;;;;;2702:224:0:o;13228:94::-;13285:12;;:29;;-1:-1:-1;;;;;13285:12:0;;;;:29;;;;;13307:6;;13285:12;:29;:12;:29;13307:6;13285:12;:29;;;;;;;;;;;;;;;;;;;8530:323;8625:7;8683;;8672;:18;;8650:110;;;;-1:-1:-1;;;8650:110:0;;14562:2:1;8650:110:0;;;14544:21:1;14601:2;14581:18;;;14574:30;14640:34;14620:18;;;14613:62;-1:-1:-1;;;14691:18:1;;;14684:40;14741:19;;8650:110:0;14360:406:1;8650:110:0;8771:19;8793:10;:8;:10::i;:::-;8771:32;-1:-1:-1;8821:24:0;:7;8771:32;8821:11;:24::i;:::-;8814:31;8530:323;-1:-1:-1;;;8530:323:0:o;2934:246::-;2992:7;3016:1;3021;3016:6;3012:47;;-1:-1:-1;3046:1:0;3039:8;;3012:47;3069:9;3081:5;3085:1;3081;:5;:::i;:::-;3069:17;-1:-1:-1;3114:1:0;3105:5;3109:1;3069:17;3105:5;:::i;:::-;:10;3097:56;;;;-1:-1:-1;;;3097:56:0;;15368:2:1;3097:56:0;;;15350:21:1;15407:2;15387:18;;;15380:30;15446:34;15426:18;;;15419:62;-1:-1:-1;;;15497:18:1;;;15490:31;15538:19;;3097:56:0;15166:397:1;3188:132:0;3246:7;3273:39;3277:1;3280;3273:39;;;;;;;;;;;;;;;;;:3;:39::i;12737:483::-;6253:6;:13;;-1:-1:-1;;;;6253:13:0;-1:-1:-1;;;6253:13:0;;;12839:16:::1;::::0;;12853:1:::1;12839:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12839:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12839:16:0::1;12815:40;;12884:4;12866;12871:1;12866:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12866:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12910:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12910:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12866:7;;12910:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12900:4;12905:1;12900:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12900:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12975:15:::1;::::0;12943:62:::1;::::0;12960:4:::1;::::0;12975:15:::1;12993:11:::0;12943:8:::1;:62::i;:::-;13016:15;::::0;:196:::1;::::0;-1:-1:-1;;;13016:196:0;;-1:-1:-1;;;;;13016:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13097:11;;13016:15:::1;::::0;13139:4;;13166::::1;::::0;13186:15:::1;::::0;13016:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6289:6:0;:14;;-1:-1:-1;;;;6289:14:0;;;-1:-1:-1;;;;12737:483:0:o;13890:282::-;14046:7;14041:28;;14055:14;:12;:14::i;:::-;14080:44;14098:6;14106:9;14117:6;14080:17;:44::i;:::-;14140:7;14135:29;;14149:15;10040:17;;10028:9;:29;10078:15;;10068:7;:25;9984:117;16851:164;16893:7;16914:15;16931;16950:19;:17;:19::i;:::-;16913:56;;-1:-1:-1;16913:56:0;-1:-1:-1;16987:20:0;16913:56;;16987:11;:20::i;:::-;16980:27;;;;16851:164;:::o;3328:223::-;3448:7;3483:12;3476:5;3468:28;;;;-1:-1:-1;;;3468:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3507:9:0;3519:5;3523:1;3519;:5;:::i;9757:219::-;9804:9;;:14;:30;;;;-1:-1:-1;9822:7:0;;:12;9804:30;9800:43;;;9757:219::o;9800:43::-;9875:9;;;9855:17;:29;9913:7;;;9895:15;:25;-1:-1:-1;9933:13:0;;;;9957:11;9757:219::o;14180:610::-;14327:15;14357:23;14395:12;14422:23;14460:12;14487:13;14514:19;14525:7;14514:10;:19::i;:::-;-1:-1:-1;;;;;14562:15:0;;;;;;:7;:15;;;;;;14312:221;;-1:-1:-1;14312:221:0;;-1:-1:-1;14312:221:0;;-1:-1:-1;14312:221:0;-1:-1:-1;14312:221:0;-1:-1:-1;14312:221:0;-1:-1:-1;14562:28:0;;14312:221;14562:19;:28::i;:::-;-1:-1:-1;;;;;14544:15:0;;;;;;;:7;:15;;;;;;:46;;;;14622:18;;;;;;;:39;;14645:15;14622:22;:39::i;:::-;-1:-1:-1;;;;;14601:18:0;;;;;;:7;:18;;;;;:60;14672:16;14682:5;14672:9;:16::i;:::-;14699:23;14711:4;14717;14699:11;:23::i;:::-;14755:9;-1:-1:-1;;;;;14738:44:0;14747:6;-1:-1:-1;;;;;14738:44:0;;14766:15;14738:44;;;;1734:25:1;;1722:2;1707:18;;1588:177;14738:44:0;;;;;;;;14301:489;;;;;;14180:610;;;:::o;17023:257::-;17121:7;;17074;;;;5061:21;17189:20;17121:7;5061:21;17189:11;:20::i;:::-;17179:7;:30;17175:61;;;-1:-1:-1;;17219:7:0;;;5061:21;;-1:-1:-1;17023:257:0;-1:-1:-1;17023:257:0:o;17175:61::-;17255:7;;17264;;-1:-1:-1;17023:257:0;-1:-1:-1;17023:257:0:o;15209:615::-;15309:7;15331;15353;15375;15397;15419;15455:23;15480:12;15494:13;15524:40;15536:7;15545:9;;15556:7;;15524:11;:40::i;:::-;15454:110;;;;;;15575:19;15597:10;:8;:10::i;:::-;15575:32;;15619:15;15636:23;15661:12;15690:46;15702:7;15711:4;15717:5;15724:11;15690;:46::i;:::-;15618:118;;-1:-1:-1;15618:118:0;-1:-1:-1;15618:118:0;-1:-1:-1;15787:15:0;;-1:-1:-1;15804:4:0;;-1:-1:-1;15810:5:0;;-1:-1:-1;;;;;15209:615:0;;;;;;;:::o;2558:136::-;2616:7;2643:43;2647:1;2650;2643:43;;;;;;;;;;;;;;;;;:3;:43::i;2371:179::-;2429:7;;2461:5;2465:1;2461;:5;:::i;:::-;2449:17;;2490:1;2485;:6;;2477:46;;;;-1:-1:-1;;;2477:46:0;;17011:2:1;2477:46:0;;;16993:21:1;17050:2;17030:18;;;17023:30;17089:29;17069:18;;;17062:57;17136:18;;2477:46:0;16809:351:1;14798:211:0;14851:19;14873:10;:8;:10::i;:::-;14851:32;-1:-1:-1;14894:13:0;14910:22;:5;14851:32;14910:9;:22::i;:::-;14984:4;14968:22;;;;:7;:22;;;;;;14894:38;;-1:-1:-1;14968:33:0;;14894:38;14968:26;:33::i;:::-;14959:4;14943:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14798:211:0:o;15017:147::-;15095:7;;:17;;15107:4;15095:11;:17::i;:::-;15085:7;:27;15136:10;;:20;;15151:4;15136:14;:20::i;:::-;15123:10;:33;-1:-1:-1;;15017:147:0:o;15832:469::-;16001:7;;;;16095:30;16121:3;16095:21;:7;16107:8;16095:11;:21::i;:30::-;16080:45;-1:-1:-1;16136:13:0;16152:28;16176:3;16152:19;:7;16164:6;16152:11;:19::i;:28::-;16136:44;-1:-1:-1;16191:23:0;16217:28;16136:44;16217:17;:7;16229:4;16217:11;:17::i;:::-;:21;;:28::i;:::-;16191:54;16281:4;;-1:-1:-1;16287:5:0;;-1:-1:-1;15832:469:0;;-1:-1:-1;;;;;15832:469:0:o;16309:534::-;16503:7;;;;16600:24;:7;16612:11;16600;:24::i;:::-;16582:42;-1:-1:-1;16635:12:0;16650:21;:4;16659:11;16650:8;:21::i;:::-;16635:36;-1:-1:-1;16682:13:0;16698:22;:5;16708:11;16698:9;:22::i;:::-;16682:38;-1:-1:-1;16731:23:0;16757:28;16682:38;16757:17;:7;16769:4;16757:11;:17::i;:28::-;16804:7;;;;-1:-1:-1;16830:4:0;;-1:-1:-1;16309:534:0;;-1:-1:-1;;;;;;;16309:534:0: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:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1770:127::-;1831:10;1826:3;1822:20;1819:1;1812:31;1862:4;1859:1;1852:15;1886:4;1883:1;1876:15;1902:275;1973:2;1967:9;2038:2;2019:13;;-1:-1:-1;;2015:27:1;2003:40;;2073:18;2058:34;;2094:22;;;2055:62;2052:88;;;2120:18;;:::i;:::-;2156:2;2149:22;1902:275;;-1:-1:-1;1902:275:1:o;2182:183::-;2242:4;2275:18;2267:6;2264:30;2261:56;;;2297:18;;:::i;:::-;-1:-1:-1;2342:1:1;2338:14;2354:4;2334:25;;2182:183::o;2370:662::-;2424:5;2477:3;2470:4;2462:6;2458:17;2454:27;2444:55;;2495:1;2492;2485:12;2444:55;2531:6;2518:20;2557:4;2581:60;2597:43;2637:2;2597:43;:::i;:::-;2581:60;:::i;:::-;2675:15;;;2761:1;2757:10;;;;2745:23;;2741:32;;;2706:12;;;;2785:15;;;2782:35;;;2813:1;2810;2803:12;2782:35;2849:2;2841:6;2837:15;2861:142;2877:6;2872:3;2869:15;2861:142;;;2943:17;;2931:30;;2981:12;;;;2894;;2861:142;;;-1:-1:-1;3021:5:1;2370:662;-1:-1:-1;;;;;;2370:662:1:o;3037:1656::-;3207:6;3215;3223;3231;3239;3292:3;3280:9;3271:7;3267:23;3263:33;3260:53;;;3309:1;3306;3299:12;3260:53;3348:9;3335:23;3367:31;3392:5;3367:31;:::i;:::-;3417:5;-1:-1:-1;3441:2:1;3479:18;;;3466:32;3517:18;3547:14;;;3544:34;;;3574:1;3571;3564:12;3544:34;3612:6;3601:9;3597:22;3587:32;;3657:7;3650:4;3646:2;3642:13;3638:27;3628:55;;3679:1;3676;3669:12;3628:55;3715:2;3702:16;3738:60;3754:43;3794:2;3754:43;:::i;3738:60::-;3832:15;;;3914:1;3910:10;;;;3902:19;;3898:28;;;3863:12;;;;3938:19;;;3935:39;;;3970:1;3967;3960:12;3935:39;3994:11;;;;4014:223;4030:6;4025:3;4022:15;4014:223;;;4112:3;4099:17;4129:33;4154:7;4129:33;:::i;:::-;4175:20;;4047:12;;;;4215;;;;4014:223;;;4256:5;-1:-1:-1;;;4314:2:1;4299:18;;4286:32;;-1:-1:-1;4330:16:1;;;4327:36;;;4359:1;4356;4349:12;4327:36;4382:63;4437:7;4426:8;4415:9;4411:24;4382:63;:::i;:::-;4372:73;;4498:2;4487:9;4483:18;4470:32;4454:48;;4527:2;4517:8;4514:16;4511:36;;;4543:1;4540;4533:12;4511:36;;;4566:63;4621:7;4610:8;4599:9;4595:24;4566:63;:::i;:::-;4556:73;;;4648:39;4682:3;4671:9;4667:19;4648:39;:::i;:::-;4638:49;;3037:1656;;;;;;;;:::o;4698:180::-;4757:6;4810:2;4798:9;4789:7;4785:23;4781:32;4778:52;;;4826:1;4823;4816:12;4778:52;-1:-1:-1;4849:23:1;;4698:180;-1:-1:-1;4698:180:1:o;4883:456::-;4960:6;4968;4976;5029:2;5017:9;5008:7;5004:23;5000:32;4997:52;;;5045:1;5042;5035:12;4997:52;5084:9;5071:23;5103:31;5128:5;5103:31;:::i;:::-;5153:5;-1:-1:-1;5210:2:1;5195:18;;5182:32;5223:33;5182:32;5223:33;:::i;:::-;4883:456;;5275:7;;-1:-1:-1;;;5329:2:1;5314:18;;;;5301:32;;4883:456::o;5741:118::-;5827:5;5820:13;5813:21;5806:5;5803:32;5793:60;;5849:1;5846;5839:12;5864:241;5920:6;5973:2;5961:9;5952:7;5948:23;5944:32;5941:52;;;5989:1;5986;5979:12;5941:52;6028:9;6015:23;6047:28;6069:5;6047:28;:::i;6110:247::-;6169:6;6222:2;6210:9;6201:7;6197:23;6193:32;6190:52;;;6238:1;6235;6228:12;6190:52;6277:9;6264:23;6296:31;6321:5;6296:31;:::i;6362:385::-;6448:6;6456;6464;6472;6525:3;6513:9;6504:7;6500:23;6496:33;6493:53;;;6542:1;6539;6532:12;6493:53;-1:-1:-1;;6565:23:1;;;6635:2;6620:18;;6607:32;;-1:-1:-1;6686:2:1;6671:18;;6658:32;;6737:2;6722:18;6709:32;;-1:-1:-1;6362:385:1;-1:-1:-1;6362:385:1:o;6752:388::-;6820:6;6828;6881:2;6869:9;6860:7;6856:23;6852:32;6849:52;;;6897:1;6894;6887:12;6849:52;6936:9;6923:23;6955:31;6980:5;6955:31;:::i;:::-;7005:5;-1:-1:-1;7062:2:1;7047:18;;7034:32;7075:33;7034:32;7075:33;:::i;:::-;7127:7;7117:17;;;6752:388;;;;;:::o;7145:750::-;7237:6;7245;7253;7306:2;7294:9;7285:7;7281:23;7277:32;7274:52;;;7322:1;7319;7312:12;7274:52;7362:9;7349:23;7391:18;7432:2;7424:6;7421:14;7418:34;;;7448:1;7445;7438:12;7418:34;7486:6;7475:9;7471:22;7461:32;;7531:7;7524:4;7520:2;7516:13;7512:27;7502:55;;7553:1;7550;7543:12;7502:55;7593:2;7580:16;7619:2;7611:6;7608:14;7605:34;;;7635:1;7632;7625:12;7605:34;7690:7;7683:4;7673:6;7670:1;7666:14;7662:2;7658:23;7654:34;7651:47;7648:67;;;7711:1;7708;7701:12;7648:67;7742:4;7734:13;;;;-1:-1:-1;7766:6:1;-1:-1:-1;;7807:20:1;;7794:34;7837:28;7794:34;7837:28;:::i;:::-;7884:5;7874:15;;;7145:750;;;;;:::o;7900:127::-;7961:10;7956:3;7952:20;7949:1;7942:31;7992:4;7989:1;7982:15;8016:4;8013:1;8006:15;8824:245;8891:6;8944:2;8932:9;8923:7;8919:23;8915:32;8912:52;;;8960:1;8957;8950:12;8912:52;8992:9;8986:16;9011:28;9033:5;9011:28;:::i;9074:127::-;9135:10;9130:3;9126:20;9123:1;9116:31;9166:4;9163:1;9156:15;9190:4;9187:1;9180:15;9206:135;9245:3;9266:17;;;9263:43;;9286:18;;:::i;:::-;-1:-1:-1;9333:1:1;9322:13;;9206:135::o;9346:356::-;9548:2;9530:21;;;9567:18;;;9560:30;9626:34;9621:2;9606:18;;9599:62;9693:2;9678:18;;9346:356::o;10066:125::-;10131:9;;;10152:10;;;10149:36;;;10165:18;;:::i;14227:128::-;14294:9;;;14315:11;;;14312:37;;;14329:18;;:::i;14771:168::-;14844:9;;;14875;;14892:15;;;14886:22;;14872:37;14862:71;;14913:18;;:::i;14944:217::-;14984:1;15010;15000:132;;15054:10;15049:3;15045:20;15042:1;15035:31;15089:4;15086:1;15079:15;15117:4;15114:1;15107:15;15000:132;-1:-1:-1;15146:9:1;;14944:217::o;15568:251::-;15638:6;15691:2;15679:9;15670:7;15666:23;15662:32;15659:52;;;15707:1;15704;15697:12;15659:52;15739:9;15733:16;15758:31;15783:5;15758:31;:::i;15824:980::-;16086:4;16134:3;16123:9;16119:19;16165:6;16154:9;16147:25;16191:2;16229:6;16224:2;16213:9;16209:18;16202:34;16272:3;16267:2;16256:9;16252:18;16245:31;16296:6;16331;16325:13;16362:6;16354;16347:22;16400:3;16389:9;16385:19;16378:26;;16439:2;16431:6;16427:15;16413:29;;16460:1;16470:195;16484:6;16481:1;16478:13;16470:195;;;16549:13;;-1:-1:-1;;;;;16545:39:1;16533:52;;16640:15;;;;16605:12;;;;16581:1;16499:9;16470:195;;;-1:-1:-1;;;;;;;16721:32:1;;;;16716:2;16701:18;;16694:60;-1:-1:-1;;;16785:3:1;16770:19;16763:35;16682:3;15824:980;-1:-1:-1;;;15824:980:1:o

Swarm Source

ipfs://14ce22b6ab5379e2878f9c9c4c8bf1486def363d7304932318c133838bec3f24

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.