ETH Price: $2,639.07 (-0.29%)

Contract

0xF4cFd84198cbd29528d95Ef31cAD499c7fAD0e50
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve180510072023-09-02 19:48:11413 days ago1693684091IN
0xF4cFd841...c7fAD0e50
0 ETH0.0005168411.18309358
Approve180509862023-09-02 19:43:59413 days ago1693683839IN
0xF4cFd841...c7fAD0e50
0 ETH0.0006247913.41414691
Approve180509742023-09-02 19:41:35413 days ago1693683695IN
0xF4cFd841...c7fAD0e50
0 ETH0.0006163513.31886855
Approve180509722023-09-02 19:41:11413 days ago1693683671IN
0xF4cFd841...c7fAD0e50
0 ETH0.0007351815.78423055
Approve180509722023-09-02 19:41:11413 days ago1693683671IN
0xF4cFd841...c7fAD0e50
0 ETH0.0007351815.78423055
Approve180509632023-09-02 19:39:23413 days ago1693683563IN
0xF4cFd841...c7fAD0e50
0 ETH0.0006228113.37177717
Approve180509572023-09-02 19:38:11413 days ago1693683491IN
0xF4cFd841...c7fAD0e50
0 ETH0.0006738514.46764508
Approve180509532023-09-02 19:37:23413 days ago1693683443IN
0xF4cFd841...c7fAD0e50
0 ETH0.0003219910.93703685
Approve180509422023-09-02 19:35:11413 days ago1693683311IN
0xF4cFd841...c7fAD0e50
0 ETH0.0007710816.55934038
Approve180509372023-09-02 19:34:11413 days ago1693683251IN
0xF4cFd841...c7fAD0e50
0 ETH0.0006031512.94963409
Approve180509302023-09-02 19:32:47413 days ago1693683167IN
0xF4cFd841...c7fAD0e50
0 ETH0.0008792619
Approve180509272023-09-02 19:31:59413 days ago1693683119IN
0xF4cFd841...c7fAD0e50
0 ETH0.0005728112.3972072
Approve180509242023-09-02 19:31:23413 days ago1693683083IN
0xF4cFd841...c7fAD0e50
0 ETH0.0005513111.91335923
Approve180509232023-09-02 19:31:11413 days ago1693683071IN
0xF4cFd841...c7fAD0e50
0 ETH0.0005980912.84098415
Approve180509232023-09-02 19:31:11413 days ago1693683071IN
0xF4cFd841...c7fAD0e50
0 ETH0.0006912414.84098415
Approve180509232023-09-02 19:31:11413 days ago1693683071IN
0xF4cFd841...c7fAD0e50
0 ETH0.0006912414.84098415
Approve180509102023-09-02 19:28:35413 days ago1693682915IN
0xF4cFd841...c7fAD0e50
0 ETH0.0007024215.08084734
Approve180509082023-09-02 19:28:11413 days ago1693682891IN
0xF4cFd841...c7fAD0e50
0 ETH0.000568512.3007498
Approve180509082023-09-02 19:28:11413 days ago1693682891IN
0xF4cFd841...c7fAD0e50
0 ETH0.0005858512.6107498
Approve180509082023-09-02 19:28:11413 days ago1693682891IN
0xF4cFd841...c7fAD0e50
0 ETH0.0006986815.0007498
Approve180509062023-09-02 19:27:47413 days ago1693682867IN
0xF4cFd841...c7fAD0e50
0 ETH0.0005982512.92774291
Approve180509052023-09-02 19:27:35413 days ago1693682855IN
0xF4cFd841...c7fAD0e50
0 ETH0.0005044710.91530294
Approve180508902023-09-02 19:24:35413 days ago1693682675IN
0xF4cFd841...c7fAD0e50
0 ETH0.0006017712.9199476
Approve180508882023-09-02 19:24:11413 days ago1693682651IN
0xF4cFd841...c7fAD0e50
0 ETH0.0005087810.92362133
Approve180508852023-09-02 19:23:35413 days ago1693682615IN
0xF4cFd841...c7fAD0e50
0 ETH0.000638513.70863322
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
180509972023-09-02 19:46:11413 days ago1693683971
0xF4cFd841...c7fAD0e50
0.76660362 ETH
180509972023-09-02 19:46:11413 days ago1693683971
0xF4cFd841...c7fAD0e50
0.76660362 ETH
180509862023-09-02 19:43:59413 days ago1693683839
0xF4cFd841...c7fAD0e50
0.57175119 ETH
180509862023-09-02 19:43:59413 days ago1693683839
0xF4cFd841...c7fAD0e50
0.57175119 ETH
180509732023-09-02 19:41:23413 days ago1693683683
0xF4cFd841...c7fAD0e50
0.12972154 ETH
180509732023-09-02 19:41:23413 days ago1693683683
0xF4cFd841...c7fAD0e50
0.12972154 ETH
180509722023-09-02 19:41:11413 days ago1693683671
0xF4cFd841...c7fAD0e50
0.12972154 ETH
180509722023-09-02 19:41:11413 days ago1693683671
0xF4cFd841...c7fAD0e50
0.12972154 ETH
180509372023-09-02 19:34:11413 days ago1693683251
0xF4cFd841...c7fAD0e50
0.40596604 ETH
180509372023-09-02 19:34:11413 days ago1693683251
0xF4cFd841...c7fAD0e50
0.40596604 ETH
180508572023-09-02 19:17:47413 days ago1693682267
0xF4cFd841...c7fAD0e50
0.19236405 ETH
180508572023-09-02 19:17:47413 days ago1693682267
0xF4cFd841...c7fAD0e50
0.19236405 ETH
180507802023-09-02 19:02:23413 days ago1693681343
0xF4cFd841...c7fAD0e50
0.0897959 ETH
180507802023-09-02 19:02:23413 days ago1693681343
0xF4cFd841...c7fAD0e50
0.0897959 ETH
180507802023-09-02 19:02:23413 days ago1693681343
0xF4cFd841...c7fAD0e50
0.0897959 ETH
180507802023-09-02 19:02:23413 days ago1693681343
0xF4cFd841...c7fAD0e50
0.0897959 ETH
180507732023-09-02 19:00:59413 days ago1693681259
0xF4cFd841...c7fAD0e50
0.05432377 ETH
180507732023-09-02 19:00:59413 days ago1693681259
0xF4cFd841...c7fAD0e50
0.05432377 ETH
180507732023-09-02 19:00:59413 days ago1693681259
0xF4cFd841...c7fAD0e50
0.05581602 ETH
180507732023-09-02 19:00:59413 days ago1693681259
0xF4cFd841...c7fAD0e50
0.05581602 ETH
180507722023-09-02 19:00:47413 days ago1693681247
0xF4cFd841...c7fAD0e50
0.05736636 ETH
180507722023-09-02 19:00:47413 days ago1693681247
0xF4cFd841...c7fAD0e50
0.05736636 ETH
180507722023-09-02 19:00:47413 days ago1693681247
0xF4cFd841...c7fAD0e50
0.05899129 ETH
180507722023-09-02 19:00:47413 days ago1693681247
0xF4cFd841...c7fAD0e50
0.05899129 ETH
180507682023-09-02 18:59:59413 days ago1693681199
0xF4cFd841...c7fAD0e50
0.06246531 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CERO

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-02
*/

// SPDX-License-Identifier: MIT

/*
Cero stands as an uncompromising, responsive liquidity protocol, granting users the opportunity to yield profit while empowering them to record their liquidity-driven Actions.

Website: https://cerofi.org
Twitter: https://twitter.com/cero_finance
Telegram: https://t.me/cero_finance
Medium: https://medium.com/@cero.finance/welcome-to-cero-be4e148ccec9
*/

pragma solidity 0.8.21;


interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
    event OwnershipTransferred(address owner);
}
library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}
interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}
interface IFactory{
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

contract CERO is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = unicode"CERO Finance";
    string private constant _symbol = unicode"CERO";
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 1000000000 * (10 ** _decimals);

    IRouter router;
    address public pair;
    bool private swapping;
    bool private tradingAllowed = false;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    uint256 swapAmount;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal development_receiver = 0x0B74c322F95fe0d9Fe3268eC2C1c78BfE5B26722; 
    address internal marketing_receiver = 0x0B74c322F95fe0d9Fe3268eC2C1c78BfE5B26722;
    address internal liquidity_receiver = 0x0B74c322F95fe0d9Fe3268eC2C1c78BfE5B26722;
    uint256 private swapThreshold = ( _totalSupply * 1000 ) / 100000;
    uint256 private minTokenAmount = ( _totalSupply * 10 ) / 100000;
    uint256 public _maxTxAmount = ( _totalSupply * 300 ) / 10000;
    uint256 public _maxSellAmount = ( _totalSupply * 300 ) / 10000;
    uint256 public _maxWalletToken = ( _totalSupply * 300 ) / 10000;
    
    
    uint256 private burnFees = 0;
    uint256 private buyFees = 2500;
    uint256 private sellFees = 3000;
    uint256 private transferFee = 2000;
    uint256 private denominator = 10000;
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 0;
    uint256 private developmentFee = 100;

    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) private isBot;
    modifier lockTheSwap {swapping = true; _; swapping = false;}
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    constructor() Ownable(msg.sender) {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router; pair = _pair;
        isFeeExempt[msg.sender] = true;
        isFeeExempt[marketing_receiver] = true;
        isFeeExempt[development_receiver] = true;
        _balances[msg.sender] = _totalSupply;
        isFeeExempt[liquidity_receiver] = true;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}
    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 startTrading() external onlyOwner {tradingAllowed = true;}
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    
    function setisExempt(address _address, bool _enabled) external onlyOwner {isFeeExempt[_address] = _enabled;}
    function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}

    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    function shouldSwapCATax(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= minTokenAmount;
        bool aboveThreshold = balanceOf(address(this)) >= swapThreshold;
        return !swapping && swapEnabled && tradingAllowed && aboveMin && !isFeeExempt[sender] && recipient == pair && swapTimes >= swapAmount && aboveThreshold;
    }
    function setTransactionRequirements(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        liquidityFee = _liquidity; marketingFee = _marketing; burnFees = _burn; developmentFee = _development; buyFees = _total; sellFees = _sell; transferFee = _trans;
        require(buyFees <= denominator.div(1) && sellFees <= denominator.div(1) && transferFee <= denominator.div(1), "buyFees and sellFees cannot be more than 20%");
    }

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidity_receiver,
            block.timestamp);
    }


    function swapAndLiquify(uint256 tokens) private lockTheSwap {
        uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensForETH(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);}
        uint256 contractBalance = address(this).balance;
        if(contractBalance > uint256(0)){payable(development_receiver).transfer(contractBalance);}
    }

    function shouldTakeTaxes(address sender, address recipient) internal view returns (bool) {
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }
    function setTransactionLimits(uint256 _buy, uint256 _sell, uint256 _wallet) external onlyOwner {
        uint256 newTx = _totalSupply.mul(_buy).div(10000); uint256 newTransfer = _totalSupply.mul(_sell).div(10000); uint256 newWallet = _totalSupply.mul(_wallet).div(10000);
        _maxTxAmount = newTx; _maxSellAmount = newTransfer; _maxWalletToken = newWallet;
        uint256 limit = totalSupply().mul(5).div(1000);
        require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%");
    }

    function takeTaxFees(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if (isFeeExempt[recipient]) {return _maxTxAmount;}
        if(getTotalFee(sender, recipient) > 0){
        uint256 feeAmount = amount.div(denominator).mul(getTotalFee(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        if(burnFees > uint256(0) && getTotalFee(sender, recipient) > burnFees){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFees));}
        return amount.sub(feeAmount);} return amount;
    }
    function getTotalFee(address sender, address recipient) internal view returns (uint256) {
        if(isBot[sender] || isBot[recipient]){return denominator.sub(uint256(100));}
        if(recipient == pair){return sellFees;}
        if(sender == pair){return buyFees;}
        return transferFee;
    }
    function withdrawStuckCoins(address _address, uint256 percent) external onlyOwner {
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(development_receiver, _amount);
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
        if(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "tradingAllowed");}
        if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(pair) && recipient != address(DEAD)){
        require((_balances[recipient].add(amount)) <= _maxWalletToken, "Exceeds maximum wallet amount.");}
        if(sender != pair){require(amount <= _maxSellAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");}
        require(amount <= _maxTxAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded"); 
        if(recipient == pair && !isFeeExempt[sender]){swapTimes += uint256(1);}
        if(shouldSwapCATax(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);}
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = !isFeeExempt[sender] ? takeTaxFees(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

    function setInternalAddresses(address _marketing, address _liquidity, address _development) external onlyOwner {
        marketing_receiver = _marketing; liquidity_receiver = _liquidity; development_receiver = _development;
        isFeeExempt[_marketing] = true; isFeeExempt[_liquidity] = true; isFeeExempt[_development] = true;
    }

    function setisBot(address[] calldata addresses, bool _enabled) external onlyOwner {
        for(uint i=0; i < addresses.length; i++){
        isBot[addresses[i]] = _enabled; }
    }
    function setContractSwapSettings(uint256 _swapAmount, uint256 _swapThreshold, uint256 _minTokenAmount) external onlyOwner {
        swapAmount = _swapAmount; swapThreshold = _totalSupply.mul(_swapThreshold).div(uint256(100000)); 
        minTokenAmount = _totalSupply.mul(_minTokenAmount).div(uint256(100000));
    }

    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 swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp);
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":[],"name":"_maxSellAmount","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":"_maxWalletToken","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":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapAmount","type":"uint256"},{"internalType":"uint256","name":"_swapThreshold","type":"uint256"},{"internalType":"uint256","name":"_minTokenAmount","type":"uint256"}],"name":"setContractSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_liquidity","type":"address"},{"internalType":"address","name":"_development","type":"address"}],"name":"setInternalAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setTransactionLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setTransactionRequirements","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"withdrawStuckCoins","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620004b9565b6200002290633b9aca00620004d0565b60018190556003805461ffff60a81b1916600160b01b179055600680546001600160a01b0319908116730b74c322f95fe0d9fe3268ec2c1c78bfe5b2672290811790925560078054821683179055600880549091169091179055620186a0906200008f906103e8620004d0565b6200009b9190620004ea565b600955620186a0600154600a620000b39190620004d0565b620000bf9190620004ea565b600a5561271060015461012c620000d79190620004d0565b620000e39190620004ea565b600b5561271060015461012c620000fb9190620004d0565b620001079190620004ea565b600c5561271060015461012c6200011f9190620004d0565b6200012b9190620004ea565b600d555f600e556109c4600f55610bb86010556107d06011556127106012555f6013555f601455606460155534801562000163575f80fd5b505f80546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001c8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001ee91906200050a565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200026091906200050a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002ab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002d191906200050a565b600280546001600160a01b038581166001600160a01b031992831617909255600380548484169216919091179055335f818152601660208181526040808420805460ff1990811660019081179092556007548816865282862080548216831790556006548816865282862080548216831790558154878752601885528387205560085490971685529282528084208054909616831790955590549351938452939450909290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505062000532565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620003fe57815f1904821115620003e257620003e2620003aa565b80851615620003f057918102915b93841c9390800290620003c3565b509250929050565b5f826200041657506001620004b3565b816200042457505f620004b3565b81600181146200043d5760028114620004485762000468565b6001915050620004b3565b60ff8411156200045c576200045c620003aa565b50506001821b620004b3565b5060208310610133831016604e8410600b84101617156200048d575081810a620004b3565b620004998383620003be565b805f1904821115620004af57620004af620003aa565b0290505b92915050565b5f620004c960ff84168362000406565b9392505050565b8082028115828204841417620004b357620004b3620003aa565b5f826200050557634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156200051b575f80fd5b81516001600160a01b0381168114620004c9575f80fd5b611d3380620005405f395ff3fe608060405260043610610164575f3560e01c80637c697869116100cd5780639cc3535111610087578063a9059cbb11610062578063a9059cbb14610459578063cb7f97d714610478578063dd62ed3e14610497578063f2fde38b146104db575f80fd5b80639cc35351146103fc5780639d8740cb1461041b578063a8aa1b311461043a575f80fd5b80637c697869146103385780637cca52fe146103575780637d1db4a51461036c578063893d20e8146103815780639213c358146103b157806395d89b41146103d0575f80fd5b80632f54bf6e1161011e5780632f54bf6e1461025a578063313ce567146102875780633f4218e0146102a257806348ff2b8b146102d057806370a08231146102ef57806378109e5414610323575f80fd5b806306fdde031461016f578063095ea7b3146101b557806318160ddd146101e4578063229b6a5e1461020657806323b872dd14610227578063293230b814610246575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5060408051808201909152600c81526b4345524f2046696e616e636560a01b60208201525b6040516101ac91906118b1565b60405180910390f35b3480156101c0575f80fd5b506101d46101cf366004611913565b6104fa565b60405190151581526020016101ac565b3480156101ef575f80fd5b506101f8610510565b6040519081526020016101ac565b348015610211575f80fd5b5061022561022036600461194a565b610580565b005b348015610232575f80fd5b506101d46102413660046119c9565b610626565b348015610251575f80fd5b5061022561068e565b348015610265575f80fd5b506101d4610274366004611a07565b5f546001600160a01b0391821691161490565b348015610292575f80fd5b50604051600981526020016101ac565b3480156102ad575f80fd5b506101d46102bc366004611a07565b60166020525f908152604090205460ff1681565b3480156102db575f80fd5b506102256102ea366004611a22565b6106cc565b3480156102fa575f80fd5b506101f8610309366004611a07565b6001600160a01b03165f9081526018602052604090205490565b34801561032e575f80fd5b506101f8600d5481565b348015610343575f80fd5b50610225610352366004611913565b61071f565b348015610362575f80fd5b506101f8600c5481565b348015610377575f80fd5b506101f8600b5481565b34801561038c575f80fd5b505f546001600160a01b03165b6040516001600160a01b0390911681526020016101ac565b3480156103bc575f80fd5b506102256103cb366004611a59565b61083f565b3480156103db575f80fd5b506040805180820190915260048152634345524f60e01b602082015261019f565b348015610407575f80fd5b50610225610416366004611a96565b6108e3565b348015610426575f80fd5b50610225610435366004611a96565b610a13565b348015610445575f80fd5b50600354610399906001600160a01b031681565b348015610464575f80fd5b506101d4610473366004611913565b610a78565b348015610483575f80fd5b50610225610492366004611abf565b610a84565b3480156104a2575f80fd5b506101f86104b1366004611b06565b6001600160a01b039182165f90815260196020908152604080832093909416825291909152205490565b3480156104e6575f80fd5b506102256104f5366004611a07565b610b7a565b5f610506338484610bf6565b5060015b92915050565b60186020527f999d26de3473317ead3eeaf34ca78057f1439db67b6953469c3c96ce9caf6bd75461dead5f9081527fe3ec2099396b7359df1c566dfdf9dfdb5e22fd64a6ede9d61aa32b2f63968fd654600154919261057b9290916105759190610d19565b90610d19565b905090565b5f546001600160a01b031633146105b25760405162461bcd60e51b81526004016105a990611b32565b60405180910390fd5b5f5b82811015610620578160175f8686858181106105d2576105d2611b52565b90506020020160208101906105e79190611a07565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790558061061881611b7a565b9150506105b4565b50505050565b5f610632848484610d24565b610683843361067e85604051806060016040528060288152602001611cd6602891396001600160a01b038a165f9081526019602090815260408083203384529091529020549190611265565b610bf6565b5060015b9392505050565b5f546001600160a01b031633146106b75760405162461bcd60e51b81526004016105a990611b32565b6003805460ff60a81b1916600160a81b179055565b5f546001600160a01b031633146106f55760405162461bcd60e51b81526004016105a990611b32565b6001600160a01b03919091165f908152601660205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146107485760405162461bcd60e51b81526004016105a990611b32565b6040516370a0823160e01b81523060048201525f906107c9906064906107c39085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610799573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107bd9190611b92565b90611290565b9061129b565b60065460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af115801561081b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106209190611ba9565b5f546001600160a01b031633146108685760405162461bcd60e51b81526004016105a990611b32565b600780546001600160a01b039485166001600160a01b0319918216811790925560088054948616948216851790556006805493909516921682179093555f92835260166020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b5f546001600160a01b0316331461090c5760405162461bcd60e51b81526004016105a990611b32565b5f6109286127106107c38660015461129090919063ffffffff16565b90505f6109466127106107c38660015461129090919063ffffffff16565b90505f6109646127106107c38660015461129090919063ffffffff16565b600b849055600c839055600d81905590505f6109896103e86107c360056107bd610510565b905080841015801561099b5750808310155b80156109a75750808210155b610a0a5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016105a9565b50505050505050565b5f546001600160a01b03163314610a3c5760405162461bcd60e51b81526004016105a990611b32565b6005839055600154610a5790620186a0906107c39085611290565b600955600154610a7090620186a0906107c39084611290565b600a55505050565b5f610506338484610d24565b5f546001600160a01b03163314610aad5760405162461bcd60e51b81526004016105a990611b32565b60138790556014869055600e8590556015849055600f83905560108290556011819055601254610ade90600161129b565b600f5411158015610afe5750601254610af890600161129b565b60105411155b8015610b195750601254610b1390600161129b565b60115411155b610a0a5760405162461bcd60e51b815260206004820152602c60248201527f6275794665657320616e642073656c6c466565732063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016105a9565b5f546001600160a01b03163314610ba35760405162461bcd60e51b81526004016105a990611b32565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b038316610c585760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a9565b6001600160a01b038216610cb95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a9565b6001600160a01b038381165f8181526019602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6106878284611bc4565b6001600160a01b038316610d885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a9565b6001600160a01b038216610dea5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a9565b6001600160a01b0383165f90815260186020526040902054811115610e6b5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016105a9565b6001600160a01b0383165f9081526016602052604090205460ff16158015610eab57506001600160a01b0382165f9081526016602052604090205460ff16155b15610efa57600354600160a81b900460ff16610efa5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016105a9565b6001600160a01b0383165f9081526016602052604090205460ff16158015610f3a57506001600160a01b0382165f9081526016602052604090205460ff16155b8015610f5457506003546001600160a01b03838116911614155b8015610f6b57506001600160a01b03821661dead14155b15610fe357600d546001600160a01b0383165f90815260186020526040902054610f9590836112a6565b1115610fe35760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105a9565b6003546001600160a01b0384811691161461108257600c548111158061102057506001600160a01b0383165f9081526016602052604090205460ff165b8061104257506001600160a01b0382165f9081526016602052604090205460ff165b6110825760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105a9565b600b54811115806110aa57506001600160a01b0383165f9081526016602052604090205460ff165b806110cc57506001600160a01b0382165f9081526016602052604090205460ff165b61110c5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105a9565b6003546001600160a01b03838116911614801561114157506001600160a01b0383165f9081526016602052604090205460ff16155b1561115e57600160045f8282546111589190611bd7565b90915550505b6111698383836112b1565b1561117e57611179600954611370565b5f6004555b6001600160a01b0383165f908152601860205260409020546111a09082610d19565b6001600160a01b0384165f90815260186020908152604080832093909355601690529081205460ff16156111d457816111df565b6111df8484846114e7565b6001600160a01b0384165f9081526018602052604090205490915061120490826112a6565b6001600160a01b038085165f8181526018602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112579085815260200190565b60405180910390a350505050565b5f81848411156112885760405162461bcd60e51b81526004016105a991906118b1565b505050900390565b5f6106878284611bea565b5f6106878284611c01565b5f6106878284611bd7565b600a54600954305f90815260186020526040812054600354919385101592111590600160a01b900460ff161580156112f25750600354600160b01b900460ff165b80156113075750600354600160a81b900460ff165b80156113105750815b801561133457506001600160a01b0386165f9081526016602052604090205460ff16155b801561134d57506003546001600160a01b038681169116145b801561135d575060055460045410155b80156113665750805b9695505050505050565b6003805460ff60a01b1916600160a01b1790556015546014546013545f926113ad926002926107bd92916113a791829060016112a6565b906112a6565b90505f6113c9826107c36013548661129090919063ffffffff16565b90505f6113d68483610d19565b9050476113e282611611565b5f6113ed4783610d19565b90505f61140f61140860135488610d1990919063ffffffff16565b839061129b565b90505f6114276013548361129090919063ffffffff16565b90508015611439576114398682611761565b6014545f9061144d906107bd856002611290565b9050801561148e576007546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561148c573d5f803e3d5ffd5b505b4780156114ce576006546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156114cc573d5f803e3d5ffd5b505b50506003805460ff60a01b191690555050505050505050565b6001600160a01b0382165f9081526016602052604081205460ff16156115105750600b54610687565b5f61151b8585611812565b111561160a575f61153d61152f8686611812565b6012546107bd90869061129b565b305f9081526018602052604090205490915061155990826112a6565b305f81815260186020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115a99085815260200190565b60405180910390a35f600e541180156115cc5750600e546115ca8686611812565b115b156115f8576115f83061dead6115f3600e546107bd6012548961129b90919063ffffffff16565b610d24565b6116028382610d19565b915050610687565b5092915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061164457611644611b52565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561169b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bf9190611c20565b816001815181106116d2576116d2611b52565b6001600160a01b0392831660209182029290920101526002546116f89130911684610bf6565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac947906117309085905f90869030904290600401611c3b565b5f604051808303815f87803b158015611747575f80fd5b505af1158015611759573d5f803e3d5ffd5b505050505050565b6002546117799030906001600160a01b031684610bf6565b60025460085460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156117e6573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061180b9190611caa565b5050505050565b6001600160a01b0382165f9081526017602052604081205460ff168061184f57506001600160a01b0382165f9081526017602052604090205460ff165b1561186957601254611862906064610d19565b905061050a565b6003546001600160a01b0390811690831603611888575060105461050a565b6003546001600160a01b03908116908416036118a75750600f5461050a565b5060115492915050565b5f6020808352835180828501525f5b818110156118dc578581018301518582016040015282016118c0565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611910575f80fd5b50565b5f8060408385031215611924575f80fd5b823561192f816118fc565b946020939093013593505050565b8015158114611910575f80fd5b5f805f6040848603121561195c575f80fd5b833567ffffffffffffffff80821115611973575f80fd5b818601915086601f830112611986575f80fd5b813581811115611994575f80fd5b8760208260051b85010111156119a8575f80fd5b602092830195509350508401356119be8161193d565b809150509250925092565b5f805f606084860312156119db575f80fd5b83356119e6816118fc565b925060208401356119f6816118fc565b929592945050506040919091013590565b5f60208284031215611a17575f80fd5b8135610687816118fc565b5f8060408385031215611a33575f80fd5b8235611a3e816118fc565b91506020830135611a4e8161193d565b809150509250929050565b5f805f60608486031215611a6b575f80fd5b8335611a76816118fc565b92506020840135611a86816118fc565b915060408401356119be816118fc565b5f805f60608486031215611aa8575f80fd5b505081359360208301359350604090920135919050565b5f805f805f805f60e0888a031215611ad5575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f8060408385031215611b17575f80fd5b8235611b22816118fc565b91506020830135611a4e816118fc565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611b8b57611b8b611b66565b5060010190565b5f60208284031215611ba2575f80fd5b5051919050565b5f60208284031215611bb9575f80fd5b81516106878161193d565b8181038181111561050a5761050a611b66565b8082018082111561050a5761050a611b66565b808202811582820484141761050a5761050a611b66565b5f82611c1b57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611c30575f80fd5b8151610687816118fc565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611c895784516001600160a01b031683529383019391830191600101611c64565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215611cbc575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122061158f0488ea151d60dbc48945933067b497f973fb84e7aec5f2339d8be0768b64736f6c63430008150033

Deployed Bytecode

0x608060405260043610610164575f3560e01c80637c697869116100cd5780639cc3535111610087578063a9059cbb11610062578063a9059cbb14610459578063cb7f97d714610478578063dd62ed3e14610497578063f2fde38b146104db575f80fd5b80639cc35351146103fc5780639d8740cb1461041b578063a8aa1b311461043a575f80fd5b80637c697869146103385780637cca52fe146103575780637d1db4a51461036c578063893d20e8146103815780639213c358146103b157806395d89b41146103d0575f80fd5b80632f54bf6e1161011e5780632f54bf6e1461025a578063313ce567146102875780633f4218e0146102a257806348ff2b8b146102d057806370a08231146102ef57806378109e5414610323575f80fd5b806306fdde031461016f578063095ea7b3146101b557806318160ddd146101e4578063229b6a5e1461020657806323b872dd14610227578063293230b814610246575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5060408051808201909152600c81526b4345524f2046696e616e636560a01b60208201525b6040516101ac91906118b1565b60405180910390f35b3480156101c0575f80fd5b506101d46101cf366004611913565b6104fa565b60405190151581526020016101ac565b3480156101ef575f80fd5b506101f8610510565b6040519081526020016101ac565b348015610211575f80fd5b5061022561022036600461194a565b610580565b005b348015610232575f80fd5b506101d46102413660046119c9565b610626565b348015610251575f80fd5b5061022561068e565b348015610265575f80fd5b506101d4610274366004611a07565b5f546001600160a01b0391821691161490565b348015610292575f80fd5b50604051600981526020016101ac565b3480156102ad575f80fd5b506101d46102bc366004611a07565b60166020525f908152604090205460ff1681565b3480156102db575f80fd5b506102256102ea366004611a22565b6106cc565b3480156102fa575f80fd5b506101f8610309366004611a07565b6001600160a01b03165f9081526018602052604090205490565b34801561032e575f80fd5b506101f8600d5481565b348015610343575f80fd5b50610225610352366004611913565b61071f565b348015610362575f80fd5b506101f8600c5481565b348015610377575f80fd5b506101f8600b5481565b34801561038c575f80fd5b505f546001600160a01b03165b6040516001600160a01b0390911681526020016101ac565b3480156103bc575f80fd5b506102256103cb366004611a59565b61083f565b3480156103db575f80fd5b506040805180820190915260048152634345524f60e01b602082015261019f565b348015610407575f80fd5b50610225610416366004611a96565b6108e3565b348015610426575f80fd5b50610225610435366004611a96565b610a13565b348015610445575f80fd5b50600354610399906001600160a01b031681565b348015610464575f80fd5b506101d4610473366004611913565b610a78565b348015610483575f80fd5b50610225610492366004611abf565b610a84565b3480156104a2575f80fd5b506101f86104b1366004611b06565b6001600160a01b039182165f90815260196020908152604080832093909416825291909152205490565b3480156104e6575f80fd5b506102256104f5366004611a07565b610b7a565b5f610506338484610bf6565b5060015b92915050565b60186020527f999d26de3473317ead3eeaf34ca78057f1439db67b6953469c3c96ce9caf6bd75461dead5f9081527fe3ec2099396b7359df1c566dfdf9dfdb5e22fd64a6ede9d61aa32b2f63968fd654600154919261057b9290916105759190610d19565b90610d19565b905090565b5f546001600160a01b031633146105b25760405162461bcd60e51b81526004016105a990611b32565b60405180910390fd5b5f5b82811015610620578160175f8686858181106105d2576105d2611b52565b90506020020160208101906105e79190611a07565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790558061061881611b7a565b9150506105b4565b50505050565b5f610632848484610d24565b610683843361067e85604051806060016040528060288152602001611cd6602891396001600160a01b038a165f9081526019602090815260408083203384529091529020549190611265565b610bf6565b5060015b9392505050565b5f546001600160a01b031633146106b75760405162461bcd60e51b81526004016105a990611b32565b6003805460ff60a81b1916600160a81b179055565b5f546001600160a01b031633146106f55760405162461bcd60e51b81526004016105a990611b32565b6001600160a01b03919091165f908152601660205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146107485760405162461bcd60e51b81526004016105a990611b32565b6040516370a0823160e01b81523060048201525f906107c9906064906107c39085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610799573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107bd9190611b92565b90611290565b9061129b565b60065460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af115801561081b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106209190611ba9565b5f546001600160a01b031633146108685760405162461bcd60e51b81526004016105a990611b32565b600780546001600160a01b039485166001600160a01b0319918216811790925560088054948616948216851790556006805493909516921682179093555f92835260166020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b5f546001600160a01b0316331461090c5760405162461bcd60e51b81526004016105a990611b32565b5f6109286127106107c38660015461129090919063ffffffff16565b90505f6109466127106107c38660015461129090919063ffffffff16565b90505f6109646127106107c38660015461129090919063ffffffff16565b600b849055600c839055600d81905590505f6109896103e86107c360056107bd610510565b905080841015801561099b5750808310155b80156109a75750808210155b610a0a5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016105a9565b50505050505050565b5f546001600160a01b03163314610a3c5760405162461bcd60e51b81526004016105a990611b32565b6005839055600154610a5790620186a0906107c39085611290565b600955600154610a7090620186a0906107c39084611290565b600a55505050565b5f610506338484610d24565b5f546001600160a01b03163314610aad5760405162461bcd60e51b81526004016105a990611b32565b60138790556014869055600e8590556015849055600f83905560108290556011819055601254610ade90600161129b565b600f5411158015610afe5750601254610af890600161129b565b60105411155b8015610b195750601254610b1390600161129b565b60115411155b610a0a5760405162461bcd60e51b815260206004820152602c60248201527f6275794665657320616e642073656c6c466565732063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016105a9565b5f546001600160a01b03163314610ba35760405162461bcd60e51b81526004016105a990611b32565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b038316610c585760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a9565b6001600160a01b038216610cb95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a9565b6001600160a01b038381165f8181526019602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6106878284611bc4565b6001600160a01b038316610d885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a9565b6001600160a01b038216610dea5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a9565b6001600160a01b0383165f90815260186020526040902054811115610e6b5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016105a9565b6001600160a01b0383165f9081526016602052604090205460ff16158015610eab57506001600160a01b0382165f9081526016602052604090205460ff16155b15610efa57600354600160a81b900460ff16610efa5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016105a9565b6001600160a01b0383165f9081526016602052604090205460ff16158015610f3a57506001600160a01b0382165f9081526016602052604090205460ff16155b8015610f5457506003546001600160a01b03838116911614155b8015610f6b57506001600160a01b03821661dead14155b15610fe357600d546001600160a01b0383165f90815260186020526040902054610f9590836112a6565b1115610fe35760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105a9565b6003546001600160a01b0384811691161461108257600c548111158061102057506001600160a01b0383165f9081526016602052604090205460ff165b8061104257506001600160a01b0382165f9081526016602052604090205460ff165b6110825760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105a9565b600b54811115806110aa57506001600160a01b0383165f9081526016602052604090205460ff165b806110cc57506001600160a01b0382165f9081526016602052604090205460ff165b61110c5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105a9565b6003546001600160a01b03838116911614801561114157506001600160a01b0383165f9081526016602052604090205460ff16155b1561115e57600160045f8282546111589190611bd7565b90915550505b6111698383836112b1565b1561117e57611179600954611370565b5f6004555b6001600160a01b0383165f908152601860205260409020546111a09082610d19565b6001600160a01b0384165f90815260186020908152604080832093909355601690529081205460ff16156111d457816111df565b6111df8484846114e7565b6001600160a01b0384165f9081526018602052604090205490915061120490826112a6565b6001600160a01b038085165f8181526018602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112579085815260200190565b60405180910390a350505050565b5f81848411156112885760405162461bcd60e51b81526004016105a991906118b1565b505050900390565b5f6106878284611bea565b5f6106878284611c01565b5f6106878284611bd7565b600a54600954305f90815260186020526040812054600354919385101592111590600160a01b900460ff161580156112f25750600354600160b01b900460ff165b80156113075750600354600160a81b900460ff165b80156113105750815b801561133457506001600160a01b0386165f9081526016602052604090205460ff16155b801561134d57506003546001600160a01b038681169116145b801561135d575060055460045410155b80156113665750805b9695505050505050565b6003805460ff60a01b1916600160a01b1790556015546014546013545f926113ad926002926107bd92916113a791829060016112a6565b906112a6565b90505f6113c9826107c36013548661129090919063ffffffff16565b90505f6113d68483610d19565b9050476113e282611611565b5f6113ed4783610d19565b90505f61140f61140860135488610d1990919063ffffffff16565b839061129b565b90505f6114276013548361129090919063ffffffff16565b90508015611439576114398682611761565b6014545f9061144d906107bd856002611290565b9050801561148e576007546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561148c573d5f803e3d5ffd5b505b4780156114ce576006546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156114cc573d5f803e3d5ffd5b505b50506003805460ff60a01b191690555050505050505050565b6001600160a01b0382165f9081526016602052604081205460ff16156115105750600b54610687565b5f61151b8585611812565b111561160a575f61153d61152f8686611812565b6012546107bd90869061129b565b305f9081526018602052604090205490915061155990826112a6565b305f81815260186020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115a99085815260200190565b60405180910390a35f600e541180156115cc5750600e546115ca8686611812565b115b156115f8576115f83061dead6115f3600e546107bd6012548961129b90919063ffffffff16565b610d24565b6116028382610d19565b915050610687565b5092915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061164457611644611b52565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561169b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bf9190611c20565b816001815181106116d2576116d2611b52565b6001600160a01b0392831660209182029290920101526002546116f89130911684610bf6565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac947906117309085905f90869030904290600401611c3b565b5f604051808303815f87803b158015611747575f80fd5b505af1158015611759573d5f803e3d5ffd5b505050505050565b6002546117799030906001600160a01b031684610bf6565b60025460085460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156117e6573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061180b9190611caa565b5050505050565b6001600160a01b0382165f9081526017602052604081205460ff168061184f57506001600160a01b0382165f9081526017602052604090205460ff165b1561186957601254611862906064610d19565b905061050a565b6003546001600160a01b0390811690831603611888575060105461050a565b6003546001600160a01b03908116908416036118a75750600f5461050a565b5060115492915050565b5f6020808352835180828501525f5b818110156118dc578581018301518582016040015282016118c0565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611910575f80fd5b50565b5f8060408385031215611924575f80fd5b823561192f816118fc565b946020939093013593505050565b8015158114611910575f80fd5b5f805f6040848603121561195c575f80fd5b833567ffffffffffffffff80821115611973575f80fd5b818601915086601f830112611986575f80fd5b813581811115611994575f80fd5b8760208260051b85010111156119a8575f80fd5b602092830195509350508401356119be8161193d565b809150509250925092565b5f805f606084860312156119db575f80fd5b83356119e6816118fc565b925060208401356119f6816118fc565b929592945050506040919091013590565b5f60208284031215611a17575f80fd5b8135610687816118fc565b5f8060408385031215611a33575f80fd5b8235611a3e816118fc565b91506020830135611a4e8161193d565b809150509250929050565b5f805f60608486031215611a6b575f80fd5b8335611a76816118fc565b92506020840135611a86816118fc565b915060408401356119be816118fc565b5f805f60608486031215611aa8575f80fd5b505081359360208301359350604090920135919050565b5f805f805f805f60e0888a031215611ad5575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f8060408385031215611b17575f80fd5b8235611b22816118fc565b91506020830135611a4e816118fc565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611b8b57611b8b611b66565b5060010190565b5f60208284031215611ba2575f80fd5b5051919050565b5f60208284031215611bb9575f80fd5b81516106878161193d565b8181038181111561050a5761050a611b66565b8082018082111561050a5761050a611b66565b808202811582820484141761050a5761050a611b66565b5f82611c1b57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611c30575f80fd5b8151610687816118fc565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611c895784516001600160a01b031683529383019391830191600101611c64565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215611cbc575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122061158f0488ea151d60dbc48945933067b497f973fb84e7aec5f2339d8be0768b64736f6c63430008150033

Deployed Bytecode Sourcemap

4932:11302:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7352:67;;;;;;;;;;-1:-1:-1;7412:5:0;;;;;;;;;;;;-1:-1:-1;;;7412:5:0;;;;7352:67;;;;;;;:::i;:::-;;;;;;;;7961:133;;;;;;;;;;-1:-1:-1;7961:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7961:133:0;1023:187:1;8100:132:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;8100:132:0;1215:177:1;14620:184:0;;;;;;;;;;-1:-1:-1;14620:184:0;;;;;:::i;:::-;;:::i;:::-;;15920:309;;;;;;;;;;-1:-1:-1;15920:309:0;;;;;:::i;:::-;;:::i;7575:67::-;;;;;;;;;;;;;:::i;1529:87::-;;;;;;;;;;-1:-1:-1;1529:87:0;;;;;:::i;:::-;1584:4;1609:5;-1:-1:-1;;;;;1598:16:0;;;1609:5;;1598:16;;1529:87;7502:67;;;;;;;;;;-1:-1:-1;7502:67:0;;5154:1;3130:36:1;;3118:2;3103:18;7502:67:0;2988:184:1;6465:44:0;;;;;;;;;;-1:-1:-1;6465:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7847:108;;;;;;;;;;-1:-1:-1;7847:108:0;;;;;:::i;:::-;;:::i;7732:103::-;;;;;;;;;;-1:-1:-1;7732:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7815:18:0;7798:7;7815:18;;;:9;:18;;;;;;;7732:103;6067:63;;;;;;;;;;;;;;;;12587:249;;;;;;;;;;-1:-1:-1;12587:249:0;;;;;:::i;:::-;;:::i;5998:62::-;;;;;;;;;;;;;;;;5931:60;;;;;;;;;;;;;;;;7648:78;;;;;;;;;;-1:-1:-1;7700:7:0;7718:5;-1:-1:-1;;;;;7718:5:0;7648:78;;;-1:-1:-1;;;;;3728:32:1;;;3710:51;;3698:2;3683:18;7648:78:0;3564:203:1;14274:338:0;;;;;;;;;;-1:-1:-1;14274:338:0;;;;;:::i;:::-;;:::i;7425:71::-;;;;;;;;;;-1:-1:-1;7487:7:0;;;;;;;;;;;;-1:-1:-1;;;7487:7:0;;;;7425:71;;11049:556;;;;;;;;;;-1:-1:-1;11049:556:0;;;;;:::i;:::-;;:::i;14810:319::-;;;;;;;;;;-1:-1:-1;14810:319:0;;;;;:::i;:::-;;:::i;5253:19::-;;;;;;;;;;-1:-1:-1;5253:19:0;;;;-1:-1:-1;;;;;5253:19:0;;;8240:139;;;;;;;;;;-1:-1:-1;8240:139:0;;;;;:::i;:::-;;:::i;8924:525::-;;;;;;;;;;-1:-1:-1;8924:525:0;;;;;:::i;:::-;;:::i;8385:127::-;;;;;;;;;;-1:-1:-1;8385:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8483:18:0;;;8466:7;8483:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8385:127;1622:111;;;;;;;;;;-1:-1:-1;1622:111:0;;;;;:::i;:::-;;:::i;7961:133::-;8036:4;8043:37;8052:10;8064:7;8073:6;8043:8;:37::i;:::-;-1:-1:-1;8088:4:0;7961:133;;;;;:::o;8100:132::-;7815:9;:18;;;;5477:42;8153:7;7815:18;;;;;8170:12;;8153:7;;8170:60;;7815:18;;8170:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8163:67;;8100:132;:::o;14620:184::-;1584:4;1609:5;-1:-1:-1;;;;;1609:5:0;1496:10;1598:16;1480:38;;;;-1:-1:-1;;;1480:38:0;;;;;;;:::i;:::-;;;;;;;;;14717:6:::1;14713:84;14727:20:::0;;::::1;14713:84;;;14786:8;14764:5;:19;14770:9;;14780:1;14770:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14764:19:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14764:19:0;:30;;-1:-1:-1;;14764:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14749:3;::::1;::::0;::::1;:::i;:::-;;;;14713:84;;;;14620:184:::0;;;:::o;15920:309::-;16018:4;16035:36;16045:6;16053:9;16064:6;16035:9;:36::i;:::-;16082:117;16091:6;16099:10;16111:87;16147:6;16111:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16111:19:0;;;;;;:11;:19;;;;;;;;16131:10;16111:31;;;;;;;;;:87;:35;:87::i;:::-;16082:8;:117::i;:::-;-1:-1:-1;16217:4:0;15920:309;;;;;;:::o;7575:67::-;1584:4;1609:5;-1:-1:-1;;;;;1609:5:0;1496:10;1598:16;1480:38;;;;-1:-1:-1;;;1480:38:0;;;;;;;:::i;:::-;7619:14:::1;:21:::0;;-1:-1:-1;;;;7619:21:0::1;-1:-1:-1::0;;;7619:21:0::1;::::0;;7575:67::o;7847:108::-;1584:4;1609:5;-1:-1:-1;;;;;1609:5:0;1496:10;1598:16;1480:38;;;;-1:-1:-1;;;1480:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7921:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;7921:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7847:108::o;12587:249::-;1584:4;1609:5;-1:-1:-1;;;;;1609:5:0;1496:10;1598:16;1480:38;;;;-1:-1:-1;;;1480:38:0;;;;;;;:::i;:::-;12698:41:::1;::::0;-1:-1:-1;;;12698:41:0;;12733:4:::1;12698:41;::::0;::::1;3710:51:1::0;12680:15:0::1;::::0;12698:63:::1;::::0;12757:3:::1;::::0;12698:54:::1;::::0;12744:7;;-1:-1:-1;;;;;12698:26:0;::::1;::::0;::::1;::::0;3683:18:1;;12698:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45:::0;::::1;:54::i;:::-;:58:::0;::::1;:63::i;:::-;12798:20;::::0;12772:56:::1;::::0;-1:-1:-1;;;12772:56:0;;-1:-1:-1;;;;;12798:20:0;;::::1;12772:56;::::0;::::1;6978:51:1::0;7045:18;;;7038:34;;;12680:81:0;;-1:-1:-1;12772:25:0;::::1;::::0;::::1;::::0;6951:18:1;;12772:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14274:338::-:0;1584:4;1609:5;-1:-1:-1;;;;;1609:5:0;1496:10;1598:16;1480:38;;;;-1:-1:-1;;;1480:38:0;;;;;;;:::i;:::-;14396:18:::1;:31:::0;;-1:-1:-1;;;;;14396:31:0;;::::1;-1:-1:-1::0;;;;;;14396:31:0;;::::1;::::0;::::1;::::0;;;14429:18:::1;:31:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;14462:20:::1;:35:::0;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;14396:18:::1;14508:23:::0;;;:11:::1;:23;::::0;;;;;:30;;-1:-1:-1;;14508:30:0;;::::1;14396:31:::0;14508:30;;::::1;::::0;;;14540:23;;;;;;:30;;;::::1;::::0;::::1;::::0;;14572:25;;;;;;:32;;;;::::1;::::0;;::::1;::::0;;14274:338::o;11049:556::-;1584:4;1609:5;-1:-1:-1;;;;;1609:5:0;1496:10;1598:16;1480:38;;;;-1:-1:-1;;;1480:38:0;;;;;;;:::i;:::-;11155:13:::1;11171:33;11198:5;11171:22;11188:4;11171:12;;:16;;:22;;;;:::i;:33::-;11155:49;;11206:19;11228:34;11256:5;11228:23;11245:5;11228:12;;:16;;:23;;;;:::i;:34::-;11206:56;;11264:17;11284:36;11314:5;11284:25;11301:7;11284:12;;:16;;:25;;;;:::i;:36::-;11331:12;:20:::0;;;11353:14:::1;:28:::0;;;11383:15:::1;:27:::0;;;11264:56;-1:-1:-1;;11437:30:0::1;11462:4;11437:20;11455:1;11437:13;:11;:13::i;:30::-;11421:46;;11495:5;11486;:14;;:38;;;;;11519:5;11504:11;:20;;11486:38;:60;;;;;11541:5;11528:9;:18;;11486:60;11478:119;;;::::0;-1:-1:-1;;;11478:119:0;;7535:2:1;11478:119:0::1;::::0;::::1;7517:21:1::0;7574:2;7554:18;;;7547:30;7613:34;7593:18;;;7586:62;-1:-1:-1;;;7664:18:1;;;7657:44;7718:19;;11478:119:0::1;7333:410:1::0;11478:119:0::1;11144:461;;;;11049:556:::0;;;:::o;14810:319::-;1584:4;1609:5;-1:-1:-1;;;;;1609:5:0;1496:10;1598:16;1480:38;;;;-1:-1:-1;;;1480:38:0;;;;;;;:::i;:::-;14943:10:::1;:24:::0;;;14985:12:::1;::::0;:53:::1;::::0;15030:6:::1;::::0;14985:32:::1;::::0;15002:14;14985:16:::1;:32::i;:53::-;14969:13;:69:::0;15067:12:::1;::::0;:54:::1;::::0;15113:6:::1;::::0;15067:33:::1;::::0;15084:15;15067:16:::1;:33::i;:54::-;15050:14;:71:::0;-1:-1:-1;;;14810:319:0:o;8240:139::-;8318:4;8325:40;8335:10;8347:9;8358:6;8325:9;:40::i;8924:525::-;1584:4;1609:5;-1:-1:-1;;;;;1609:5:0;1496:10;1598:16;1480:38;;;;-1:-1:-1;;;1480:38:0;;;;;;;:::i;:::-;9114:12:::1;:25:::0;;;9141:12:::1;:25:::0;;;9168:8:::1;:16:::0;;;9186:14:::1;:29:::0;;;9217:7:::1;:16:::0;;;9235:8:::1;:16:::0;;;9253:11:::1;:20:::0;;;9303:11:::1;::::0;:18:::1;::::0;9319:1:::1;9303:15;:18::i;:::-;9292:7;;:29;;:63;;;;-1:-1:-1::0;9337:11:0::1;::::0;:18:::1;::::0;9353:1:::1;9337:15;:18::i;:::-;9325:8;;:30;;9292:63;:100;;;;-1:-1:-1::0;9374:11:0::1;::::0;:18:::1;::::0;9390:1:::1;9374:15;:18::i;:::-;9359:11;;:33;;9292:100;9284:157;;;::::0;-1:-1:-1;;;9284:157:0;;7950:2:1;9284:157:0::1;::::0;::::1;7932:21:1::0;7989:2;7969:18;;;7962:30;8028:34;8008:18;;;8001:62;-1:-1:-1;;;8079:18:1;;;8072:42;8131:19;;9284:157:0::1;7748:408:1::0;1622:111:0;1584:4;1609:5;-1:-1:-1;;;;;1609:5:0;1496:10;1598:16;1480:38;;;;-1:-1:-1;;;1480:38:0;;;;;;;:::i;:::-;1688:5:::1;:11:::0;;-1:-1:-1;;;;;;1688:11:0::1;-1:-1:-1::0;;;;;1688:11:0;::::1;::::0;;::::1;::::0;;;1706:25:::1;::::0;3710:51:1;;;1706:25:0::1;::::0;3698:2:1;3683:18;1706:25:0::1;;;;;;;1622:111:::0;:::o;15137:335::-;-1:-1:-1;;;;;15230:19:0;;15222:68;;;;-1:-1:-1;;;15222:68:0;;8579:2:1;15222:68:0;;;8561:21:1;8618:2;8598:18;;;8591:30;8657:34;8637:18;;;8630:62;-1:-1:-1;;;8708:18:1;;;8701:34;8752:19;;15222:68:0;8377:400:1;15222:68:0;-1:-1:-1;;;;;15309:21:0;;15301:68;;;;-1:-1:-1;;;15301:68:0;;8984:2:1;15301:68:0;;;8966:21:1;9023:2;9003:18;;;8996:30;9062:34;9042:18;;;9035:62;-1:-1:-1;;;9113:18:1;;;9106:32;9155:19;;15301:68:0;8782:398:1;15301:68:0;-1:-1:-1;;;;;15380:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;15432:32;;1361:25:1;;;15432:32:0;;1334:18:1;15432:32:0;;;;;;;15137:335;;;:::o;3034:98::-;3092:7;3119:5;3123:1;3119;:5;:::i;12844:1422::-;-1:-1:-1;;;;;12941:20:0;;12933:70;;;;-1:-1:-1;;;12933:70:0;;9520:2:1;12933:70:0;;;9502:21:1;9559:2;9539:18;;;9532:30;9598:34;9578:18;;;9571:62;-1:-1:-1;;;9649:18:1;;;9642:35;9694:19;;12933:70:0;9318:401:1;12933:70:0;-1:-1:-1;;;;;13022:23:0;;13014:71;;;;-1:-1:-1;;;13014:71:0;;9926:2:1;13014:71:0;;;9908:21:1;9965:2;9945:18;;;9938:30;10004:34;9984:18;;;9977:62;-1:-1:-1;;;10055:18:1;;;10048:33;10098:19;;13014:71:0;9724:399:1;13014:71:0;-1:-1:-1;;;;;7815:18:0;;7798:7;7815:18;;;:9;:18;;;;;;13104:6;:27;;13096:88;;;;-1:-1:-1;;;13096:88:0;;10330:2:1;13096:88:0;;;10312:21:1;10369:2;10349:18;;;10342:30;10408:34;10388:18;;;10381:62;-1:-1:-1;;;10459:18:1;;;10452:47;10516:19;;13096:88:0;10128:413:1;13096:88:0;-1:-1:-1;;;;;13199:19:0;;;;;;:11;:19;;;;;;;;13198:20;:47;;;;-1:-1:-1;;;;;;13223:22:0;;;;;;:11;:22;;;;;;;;13222:23;13198:47;13195:95;;;13255:14;;-1:-1:-1;;;13255:14:0;;;;13247:41;;;;-1:-1:-1;;;13247:41:0;;10748:2:1;13247:41:0;;;10730:21:1;10787:2;10767:18;;;10760:30;-1:-1:-1;;;10806:18:1;;;10799:44;10860:18;;13247:41:0;10546:338:1;13247:41:0;-1:-1:-1;;;;;13304:19:0;;;;;;:11;:19;;;;;;;;13303:20;:47;;;;-1:-1:-1;;;;;;13328:22:0;;;;;;:11;:22;;;;;;;;13327:23;13303:47;:77;;;;-1:-1:-1;13375:4:0;;-1:-1:-1;;;;;13354:26:0;;;13375:4;;13354:26;;13303:77;:107;;;;-1:-1:-1;;;;;;13384:26:0;;5477:42;13384:26;;13303:107;13300:220;;;13468:15;;-1:-1:-1;;;;;13431:20:0;;;;;;:9;:20;;;;;;:32;;13456:6;13431:24;:32::i;:::-;13430:53;;13422:96;;;;-1:-1:-1;;;13422:96:0;;11091:2:1;13422:96:0;;;11073:21:1;11130:2;11110:18;;;11103:30;11169:32;11149:18;;;11142:60;11219:18;;13422:96:0;10889:354:1;13422:96:0;13543:4;;-1:-1:-1;;;;;13533:14:0;;;13543:4;;13533:14;13530:124;;13567:14;;13557:6;:24;;:47;;;-1:-1:-1;;;;;;13585:19:0;;;;;;:11;:19;;;;;;;;13557:47;:73;;;-1:-1:-1;;;;;;13608:22:0;;;;;;:11;:22;;;;;;;;13557:73;13549:103;;;;-1:-1:-1;;;13549:103:0;;11450:2:1;13549:103:0;;;11432:21:1;11489:2;11469:18;;;11462:30;-1:-1:-1;;;11508:18:1;;;11501:47;11565:18;;13549:103:0;11248:341:1;13549:103:0;13682:12;;13672:6;:22;;:45;;;-1:-1:-1;;;;;;13698:19:0;;;;;;:11;:19;;;;;;;;13672:45;:71;;;-1:-1:-1;;;;;;13721:22:0;;;;;;:11;:22;;;;;;;;13672:71;13664:101;;;;-1:-1:-1;;;13664:101:0;;11450:2:1;13664:101:0;;;11432:21:1;11489:2;11469:18;;;11462:30;-1:-1:-1;;;11508:18:1;;;11501:47;11565:18;;13664:101:0;11248:341:1;13664:101:0;13793:4;;-1:-1:-1;;;;;13780:17:0;;;13793:4;;13780:17;:41;;;;-1:-1:-1;;;;;;13802:19:0;;;;;;:11;:19;;;;;;;;13801:20;13780:41;13777:71;;;13844:1;13823:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;13777:71:0;13861:42;13877:6;13885:9;13896:6;13861:15;:42::i;:::-;13858:102;;;13905:29;13920:13;;13905:14;:29::i;:::-;13956:1;13936:9;:22;13858:102;-1:-1:-1;;;;;13990:17:0;;;;;;:9;:17;;;;;;:29;;14012:6;13990:21;:29::i;:::-;-1:-1:-1;;;;;13970:17:0;;;;;;:9;:17;;;;;;;;:49;;;;14056:11;:19;;;;;;;;14055:20;:70;;14119:6;14055:70;;;14078:38;14090:6;14098:9;14109:6;14078:11;:38::i;:::-;-1:-1:-1;;;;;14159:20:0;;;;;;:9;:20;;;;;;14030:95;;-1:-1:-1;14159:40:0;;14030:95;14159:24;:40::i;:::-;-1:-1:-1;;;;;14136:20:0;;;;;;;:9;:20;;;;;;;:63;;;;14215:43;;;;;;;;;;14243:14;1361:25:1;;1349:2;1334:18;;1215:177;14215:43:0;;;;;;;;12922:1344;12844:1422;;;:::o;3458:240::-;3578:7;3639:12;3631:6;;;;3623:29;;;;-1:-1:-1;;;3623:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;3674:5:0;;;3458:240::o;3140:98::-;3198:7;3225:5;3229:1;3225;:5;:::i;3246:98::-;3304:7;3331:5;3335:1;3331;:5;:::i;2928:98::-;2986:7;3013:5;3017:1;3013;:5;:::i;8518:400::-;8660:14;;8735:13;;8725:4;8617;7815:18;;;:9;:18;;;;;;8767:8;;8617:4;;8650:24;;;;-1:-1:-1;8707:41:0;;-1:-1:-1;;;8767:8:0;;;;8766:9;:24;;;;-1:-1:-1;8779:11:0;;-1:-1:-1;;;8779:11:0;;;;8766:24;:42;;;;-1:-1:-1;8794:14:0;;-1:-1:-1;;;8794:14:0;;;;8766:42;:54;;;;;8812:8;8766:54;:78;;;;-1:-1:-1;;;;;;8825:19:0;;;;;;:11;:19;;;;;;;;8824:20;8766:78;:99;;;;-1:-1:-1;8861:4:0;;-1:-1:-1;;;;;8848:17:0;;;8861:4;;8848:17;8766:99;:126;;;;;8882:10;;8869:9;;:23;;8766:126;:144;;;;;8896:14;8766:144;8759:151;8518:400;-1:-1:-1;;;;;;8518:400:0:o;9810:1063::-;6584:8;:15;;-1:-1:-1;;;;6584:15:0;-1:-1:-1;;;6584:15:0;;;9947:14:::1;::::0;6584:8;9929:12;9905::::1;::::0;6584:15;;9904:66:::1;::::0;9968:1:::1;::::0;9905:57:::1;::::0;9947:14;9905:37:::1;::::0;;;6595:4;9905:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;9904:66::-;9881:89;;9981:32;10016:42;10045:12;10016:24;10027:12;;10016:6;:10;;:24;;;;:::i;:42::-;9981:77:::0;-1:-1:-1;10069:14:0::1;10086:36;:6:::0;9981:77;10086:10:::1;:36::i;:::-;10069:53:::0;-1:-1:-1;10158:21:0::1;10190:24;10069:53:::0;10190:16:::1;:24::i;:::-;10225:20;10248:41;:21;10274:14:::0;10248:25:::1;:41::i;:::-;10225:64;;10300:19;10321:48;10338:30;10355:12;;10338;:16;;:30;;;;:::i;:::-;10321:12:::0;;:16:::1;:48::i;:::-;10300:69;;10380:29;10412;10428:12;;10412:11;:15;;:29;;;;:::i;:::-;10380:61:::0;-1:-1:-1;10455:34:0;;10452:103:::1;;10491:61;10504:24;10530:21;10491:12;:61::i;:::-;10611:12;::::0;10565:20:::1;::::0;10588:36:::1;::::0;:18:::1;:11:::0;10604:1:::1;10588:15;:18::i;:36::-;10565:59:::0;-1:-1:-1;10638:16:0;;10635:73:::1;;10664:18;::::0;10656:50:::1;::::0;-1:-1:-1;;;;;10664:18:0;;::::1;::::0;10656:50;::::1;;;::::0;10693:12;;10664:18:::1;10656:50:::0;10664:18;10656:50;10693:12;10664:18;10656:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10635:73;10744:21;10779:28:::0;;10776:90:::1;;10817:20;::::0;10809:55:::1;::::0;-1:-1:-1;;;;;10817:20:0;;::::1;::::0;10809:55;::::1;;;::::0;10848:15;;10817:20:::1;10809:55:::0;10817:20;10809:55;10848:15;10817:20;10809:55;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10776:90;-1:-1:-1::0;;6604:8:0;:16;;-1:-1:-1;;;;6604:16:0;;;-1:-1:-1;;;;;;;;9810:1063:0:o;11613:657::-;-1:-1:-1;;;;;11727:22:0;;11703:7;11727:22;;;:11;:22;;;;;;;;11723:50;;;-1:-1:-1;11759:12:0;;11752:19;;11723:50;11819:1;11786:30;11798:6;11806:9;11786:11;:30::i;:::-;:34;11783:465;;;11832:17;11852:59;11880:30;11892:6;11900:9;11880:11;:30::i;:::-;11863:11;;11852:23;;:6;;:10;:23::i;:59::-;11967:4;11949:24;;;;:9;:24;;;;;;11832:79;;-1:-1:-1;11949:39:0;;11832:79;11949:28;:39::i;:::-;11940:4;11922:24;;;;:9;:24;;;;;;;:66;;;;12004:42;;-1:-1:-1;;;;;12004:42:0;;;;;;;12036:9;1361:25:1;;1349:2;1334:18;;1215:177;12004:42:0;;;;;;;;12079:1;12060:8;;:21;:66;;;;;12118:8;;12085:30;12097:6;12105:9;12085:11;:30::i;:::-;:41;12060:66;12057:151;;;12128:78;12146:4;5477:42;12168:37;12196:8;;12168:23;12179:11;;12168:6;:10;;:23;;;;:::i;:37::-;12128:9;:78::i;:::-;12225:21;:6;12236:9;12225:10;:21::i;:::-;12218:28;;;;;11783:465;-1:-1:-1;12256:6:0;11613:657;-1:-1:-1;;11613:657:0:o;15478:434::-;15568:16;;;15582:1;15568:16;;;;;;;;15544:21;;15568:16;;;;;;;;;;-1:-1:-1;15568:16:0;15544:40;;15613:4;15595;15600:1;15595:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15595:23:0;;;:7;;;;;;;;;;:23;;;;15639:6;;:13;;;-1:-1:-1;;;15639:13:0;;;;:6;;;;;:11;;:13;;;;;15595:7;;15639:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15629:4;15634:1;15629:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15629:23:0;;;:7;;;;;;;;;:23;15695:6;;15663:53;;15680:4;;15695:6;15704:11;15663:8;:53::i;:::-;15727:6;;:177;;-1:-1:-1;;;15727:177:0;;-1:-1:-1;;;;;15727:6:0;;;;:57;;:177;;15799:11;;15727:6;;15841:4;;15868;;15888:15;;15727:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15533:379;15478:434;:::o;9457:343::-;9570:6;;9538:53;;9555:4;;-1:-1:-1;;;;;9570:6:0;9579:11;9538:8;:53::i;:::-;9602:6;;9743:18;;9602:190;;-1:-1:-1;;;9602:190:0;;9665:4;9602:190;;;13833:34:1;13883:18;;;13876:34;;;9602:6:0;13926:18:1;;;13919:34;;;13969:18;;;13962:34;-1:-1:-1;;;;;9743:18:0;;;14012:19:1;;;14005:44;9776:15:0;14065:19:1;;;14058:35;9602:6:0;;;:22;;9632:9;;13767:19:1;;9602:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9457:343;;:::o;12276:305::-;-1:-1:-1;;;;;12378:13:0;;12355:7;12378:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;12395:16:0;;;;;;:5;:16;;;;;;;;12378:33;12375:76;;;12420:11;;:29;;12444:3;12420:15;:29::i;:::-;12413:36;;;;12375:76;12477:4;;-1:-1:-1;;;;;12477:4:0;;;12464:17;;;;12461:39;;-1:-1:-1;12490:8:0;;12483:15;;12461:39;12523:4;;-1:-1:-1;;;;;12523:4:0;;;12513:14;;;;12510:35;;-1:-1:-1;12536:7:0;;12529:14;;12510:35;-1:-1:-1;12562:11:0;;12276:305;;;;:::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;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:118::-;1483:5;1476:13;1469:21;1462:5;1459:32;1449:60;;1505:1;1502;1495:12;1520:750;1612:6;1620;1628;1681:2;1669:9;1660:7;1656:23;1652:32;1649:52;;;1697:1;1694;1687:12;1649:52;1737:9;1724:23;1766:18;1807:2;1799:6;1796:14;1793:34;;;1823:1;1820;1813:12;1793:34;1861:6;1850:9;1846:22;1836:32;;1906:7;1899:4;1895:2;1891:13;1887:27;1877:55;;1928:1;1925;1918:12;1877:55;1968:2;1955:16;1994:2;1986:6;1983:14;1980:34;;;2010:1;2007;2000:12;1980:34;2065:7;2058:4;2048:6;2045:1;2041:14;2037:2;2033:23;2029:34;2026:47;2023:67;;;2086:1;2083;2076:12;2023:67;2117:4;2109:13;;;;-1:-1:-1;2141:6:1;-1:-1:-1;;2182:20:1;;2169:34;2212:28;2169:34;2212:28;:::i;:::-;2259:5;2249:15;;;1520:750;;;;;:::o;2275:456::-;2352:6;2360;2368;2421:2;2409:9;2400:7;2396:23;2392:32;2389:52;;;2437:1;2434;2427:12;2389:52;2476:9;2463:23;2495:31;2520:5;2495:31;:::i;:::-;2545:5;-1:-1:-1;2602:2:1;2587:18;;2574:32;2615:33;2574:32;2615:33;:::i;:::-;2275:456;;2667:7;;-1:-1:-1;;;2721:2:1;2706:18;;;;2693:32;;2275:456::o;2736:247::-;2795:6;2848:2;2836:9;2827:7;2823:23;2819:32;2816:52;;;2864:1;2861;2854:12;2816:52;2903:9;2890:23;2922:31;2947:5;2922:31;:::i;3177:382::-;3242:6;3250;3303:2;3291:9;3282:7;3278:23;3274:32;3271:52;;;3319:1;3316;3309:12;3271:52;3358:9;3345:23;3377:31;3402:5;3377:31;:::i;:::-;3427:5;-1:-1:-1;3484:2:1;3469:18;;3456:32;3497:30;3456:32;3497:30;:::i;:::-;3546:7;3536:17;;;3177:382;;;;;:::o;3772:529::-;3849:6;3857;3865;3918:2;3906:9;3897:7;3893:23;3889:32;3886:52;;;3934:1;3931;3924:12;3886:52;3973:9;3960:23;3992:31;4017:5;3992:31;:::i;:::-;4042:5;-1:-1:-1;4099:2:1;4084:18;;4071:32;4112:33;4071:32;4112:33;:::i;:::-;4164:7;-1:-1:-1;4223:2:1;4208:18;;4195:32;4236:33;4195:32;4236:33;:::i;4306:316::-;4383:6;4391;4399;4452:2;4440:9;4431:7;4427:23;4423:32;4420:52;;;4468:1;4465;4458:12;4420:52;-1:-1:-1;;4491:23:1;;;4561:2;4546:18;;4533:32;;-1:-1:-1;4612:2:1;4597:18;;;4584:32;;4306:316;-1:-1:-1;4306:316:1:o;4627:592::-;4740:6;4748;4756;4764;4772;4780;4788;4841:3;4829:9;4820:7;4816:23;4812:33;4809:53;;;4858:1;4855;4848:12;4809:53;-1:-1:-1;;4881:23:1;;;4951:2;4936:18;;4923:32;;-1:-1:-1;5002:2:1;4987:18;;4974:32;;5053:2;5038:18;;5025:32;;-1:-1:-1;5104:3:1;5089:19;;5076:33;;-1:-1:-1;5156:3:1;5141:19;;5128:33;;-1:-1:-1;5208:3:1;5193:19;5180:33;;-1:-1:-1;4627:592:1;-1:-1:-1;4627:592:1:o;5224:388::-;5292:6;5300;5353:2;5341:9;5332:7;5328:23;5324:32;5321:52;;;5369:1;5366;5359:12;5321:52;5408:9;5395:23;5427:31;5452:5;5427:31;:::i;:::-;5477:5;-1:-1:-1;5534:2:1;5519:18;;5506:32;5547:33;5506:32;5547:33;:::i;5877:329::-;6079:2;6061:21;;;6118:1;6098:18;;;6091:29;-1:-1:-1;;;6151:2:1;6136:18;;6129:36;6197:2;6182:18;;5877:329::o;6211:127::-;6272:10;6267:3;6263:20;6260:1;6253:31;6303:4;6300:1;6293:15;6327:4;6324:1;6317:15;6343:127;6404:10;6399:3;6395:20;6392:1;6385:31;6435:4;6432:1;6425:15;6459:4;6456:1;6449:15;6475:135;6514:3;6535:17;;;6532:43;;6555:18;;:::i;:::-;-1:-1:-1;6602:1:1;6591:13;;6475:135::o;6615:184::-;6685:6;6738:2;6726:9;6717:7;6713:23;6709:32;6706:52;;;6754:1;6751;6744:12;6706:52;-1:-1:-1;6777:16:1;;6615:184;-1:-1:-1;6615:184:1:o;7083:245::-;7150:6;7203:2;7191:9;7182:7;7178:23;7174:32;7171:52;;;7219:1;7216;7209:12;7171:52;7251:9;7245:16;7270:28;7292:5;7270:28;:::i;9185:128::-;9252:9;;;9273:11;;;9270:37;;;9287:18;;:::i;11594:125::-;11659:9;;;11680:10;;;11677:36;;;11693:18;;:::i;11724:168::-;11797:9;;;11828;;11845:15;;;11839:22;;11825:37;11815:71;;11866:18;;:::i;11897:217::-;11937:1;11963;11953:132;;12007:10;12002:3;11998:20;11995:1;11988:31;12042:4;12039:1;12032:15;12070:4;12067:1;12060:15;11953:132;-1:-1:-1;12099:9:1;;11897:217::o;12251:251::-;12321:6;12374:2;12362:9;12353:7;12349:23;12345:32;12342:52;;;12390:1;12387;12380:12;12342:52;12422:9;12416:16;12441:31;12466:5;12441:31;:::i;12507:980::-;12769:4;12817:3;12806:9;12802:19;12848:6;12837:9;12830:25;12874:2;12912:6;12907:2;12896:9;12892:18;12885:34;12955:3;12950:2;12939:9;12935:18;12928:31;12979:6;13014;13008:13;13045:6;13037;13030:22;13083:3;13072:9;13068:19;13061:26;;13122:2;13114:6;13110:15;13096:29;;13143:1;13153:195;13167:6;13164:1;13161:13;13153:195;;;13232:13;;-1:-1:-1;;;;;13228:39:1;13216:52;;13323:15;;;;13288:12;;;;13264:1;13182:9;13153:195;;;-1:-1:-1;;;;;;;13404:32:1;;;;13399:2;13384:18;;13377:60;-1:-1:-1;;;13468:3:1;13453:19;13446:35;13365:3;12507:980;-1:-1:-1;;;12507:980:1:o;14104:306::-;14192:6;14200;14208;14261:2;14249:9;14240:7;14236:23;14232:32;14229:52;;;14277:1;14274;14267:12;14229:52;14306:9;14300:16;14290:26;;14356:2;14345:9;14341:18;14335:25;14325:35;;14400:2;14389:9;14385:18;14379:25;14369:35;;14104:306;;;;;:::o

Swarm Source

ipfs://61158f0488ea151d60dbc48945933067b497f973fb84e7aec5f2339d8be0768b

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.