ETH Price: $2,974.46 (+2.54%)
Gas: 1 Gwei

Contract

0xBf7045C873D0B78F402Cccc0CdF0F2D813405F93
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Transfer144367222022-03-22 14:51:00836 days ago1647960660IN
0xBf7045C8...813405F93
0 ETH0.0032614335.94144827
Approve139031422021-12-29 23:14:10919 days ago1640819650IN
0xBf7045C8...813405F93
0 ETH0.00317754130.65543754
Approve137259442021-12-02 7:05:55946 days ago1638428755IN
0xBf7045C8...813405F93
0 ETH0.0044739896
Approve137077812021-11-29 9:24:23949 days ago1638177863IN
0xBf7045C8...813405F93
0 ETH0.00494897106.19214771
Approve137041592021-11-28 19:16:05950 days ago1638126965IN
0xBf7045C8...813405F93
0 ETH0.00522348112.08231922
Approve137041502021-11-28 19:14:13950 days ago1638126853IN
0xBf7045C8...813405F93
0 ETH0.00674557144.74247745
Approve136980172021-11-27 19:49:55951 days ago1638042595IN
0xBf7045C8...813405F93
0 ETH0.00516518110.83143341
Approve136979992021-11-27 19:45:05951 days ago1638042305IN
0xBf7045C8...813405F93
0 ETH0.00346774.3928037
Approve136958042021-11-27 11:26:14951 days ago1638012374IN
0xBf7045C8...813405F93
0 ETH0.003324971.34375466
Approve136956892021-11-27 10:54:19951 days ago1638010459IN
0xBf7045C8...813405F93
0 ETH0.0035852376.92977222
Approve136956432021-11-27 10:44:04951 days ago1638009844IN
0xBf7045C8...813405F93
0 ETH0.003588577
Approve136939272021-11-27 4:18:10952 days ago1637986690IN
0xBf7045C8...813405F93
0 ETH0.00630932135.38159687
Transfer136923962021-11-26 22:31:00952 days ago1637965860IN
0xBf7045C8...813405F93
0 ETH0.0073512999.53149789
Approve136922212021-11-26 21:50:18952 days ago1637963418IN
0xBf7045C8...813405F93
0 ETH0.00547318117.44025272
Approve136922112021-11-26 21:47:53952 days ago1637963273IN
0xBf7045C8...813405F93
0 ETH0.00539184115.69500175
Approve136911452021-11-26 17:39:19952 days ago1637948359IN
0xBf7045C8...813405F93
0 ETH0.00686246147.25057381
Approve136860662021-11-25 22:16:28953 days ago1637878588IN
0xBf7045C8...813405F93
0 ETH0.00495492106.31963215
Approve136854682021-11-25 20:00:07953 days ago1637870407IN
0xBf7045C8...813405F93
0 ETH0.00478365102.64467809
Approve136847162021-11-25 17:08:30953 days ago1637860110IN
0xBf7045C8...813405F93
0 ETH0.00505717108.51381068
Approve136833272021-11-25 11:58:49953 days ago1637841529IN
0xBf7045C8...813405F93
0 ETH0.0044942196.43415131
Approve136832222021-11-25 11:37:58953 days ago1637840278IN
0xBf7045C8...813405F93
0 ETH0.004039986.68572575
Approve136824762021-11-25 8:42:31953 days ago1637829751IN
0xBf7045C8...813405F93
0 ETH0.00590593126.72585422
Approve136823922021-11-25 8:20:54953 days ago1637828454IN
0xBf7045C8...813405F93
0 ETH0.00481232103.25992342
Approve136819422021-11-25 6:33:17953 days ago1637821997IN
0xBf7045C8...813405F93
0 ETH0.0039473584.7
Approve136819242021-11-25 6:30:26953 days ago1637821826IN
0xBf7045C8...813405F93
0 ETH0.00544649116.86759789
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
136793182021-11-24 20:29:58954 days ago1637785798
0xBf7045C8...813405F93
0.04837798 ETH
136793182021-11-24 20:29:58954 days ago1637785798
0xBf7045C8...813405F93
0.04837798 ETH
136793072021-11-24 20:25:58954 days ago1637785558
0xBf7045C8...813405F93
0.17378185 ETH
136793072021-11-24 20:25:58954 days ago1637785558
0xBf7045C8...813405F93
0.17378185 ETH
136792802021-11-24 20:19:42954 days ago1637785182
0xBf7045C8...813405F93
0.03073547 ETH
136792802021-11-24 20:19:42954 days ago1637785182
0xBf7045C8...813405F93
0.03073547 ETH
136792772021-11-24 20:19:00954 days ago1637785140
0xBf7045C8...813405F93
0.04621147 ETH
136792772021-11-24 20:19:00954 days ago1637785140
0xBf7045C8...813405F93
0.04621147 ETH
136792722021-11-24 20:17:36954 days ago1637785056
0xBf7045C8...813405F93
0.36693804 ETH
136792722021-11-24 20:17:36954 days ago1637785056
0xBf7045C8...813405F93
0.36693804 ETH
136792652021-11-24 20:15:59954 days ago1637784959
0xBf7045C8...813405F93
0.36693804 ETH
136792652021-11-24 20:15:59954 days ago1637784959
0xBf7045C8...813405F93
0.36693804 ETH
136791122021-11-24 19:41:57954 days ago1637782917
0xBf7045C8...813405F93
0.03625748 ETH
136791122021-11-24 19:41:57954 days ago1637782917
0xBf7045C8...813405F93
0.03625748 ETH
136791022021-11-24 19:40:12954 days ago1637782812
0xBf7045C8...813405F93
0.04721837 ETH
136791022021-11-24 19:40:12954 days ago1637782812
0xBf7045C8...813405F93
0.04721837 ETH
136791012021-11-24 19:39:22954 days ago1637782762
0xBf7045C8...813405F93
0.11514741 ETH
136791012021-11-24 19:39:22954 days ago1637782762
0xBf7045C8...813405F93
0.11514741 ETH
136790952021-11-24 19:37:22954 days ago1637782642
0xBf7045C8...813405F93
0.11514741 ETH
136790952021-11-24 19:37:22954 days ago1637782642
0xBf7045C8...813405F93
0.11514741 ETH
136790952021-11-24 19:37:22954 days ago1637782642
0xBf7045C8...813405F93
0.02343628 ETH
136790952021-11-24 19:37:22954 days ago1637782642
0xBf7045C8...813405F93
0.02343628 ETH
136790952021-11-24 19:37:22954 days ago1637782642
0xBf7045C8...813405F93
0.03261474 ETH
136790952021-11-24 19:37:22954 days ago1637782642
0xBf7045C8...813405F93
0.03261474 ETH
136790932021-11-24 19:36:50954 days ago1637782610
0xBf7045C8...813405F93
0.01404255 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Assassinu

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-24
*/

/**
 //SPDX-License-Identifier: UNLICENSED
 
*/

pragma solidity ^0.8.4;

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

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

}

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}  

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

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

contract Assassinu is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 100 * 10**18;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1 = 1;
    uint256 private _feeAddr2 = 9;
    uint256 private feeAddr1 = 1;
    uint256 private feeAddr2 = 9;
    address payable private _feeAddrWallet1;
    
    string private constant _name = "AssassInu";
    string private constant _symbol = "ASSINU";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    
    uint256 private firstBlock;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _feeAddrWallet1 = payable(0x57097Dc44E56B4Ad68025A34ADaf5084B71Ca57d);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        emit Transfer(address(0x56f815327F1325D94E6040Bf3F38F8224b8C6e60), _msgSender(), _tTotal);
    }

    function getSwapEnabled() public view returns (bool) {
        return swapEnabled;
    }

    function getCooldownEnabled() public view returns (bool) {
        return cooldownEnabled;
    }

    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 getMaxTxAmount() public view returns (uint256) {
        return _maxTxAmount;
    }

    function getFees() public view returns (uint256, uint256) {
        return (_feeAddr1, _feeAddr2);
    }

    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

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

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }
    
    function setSwapEnabled(bool onoff) external onlyOwner() {
        swapEnabled = onoff;
    }
    
    function setExcludedFromFee(address to, bool onoff) external onlyOwner() {
        _isExcludedFromFee[to] = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        _feeAddr1 = feeAddr1;
        _feeAddr2 = feeAddr2;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }

            if (block.number - firstBlock <= 2) {
                _feeAddr1 = 1;
                _feeAddr2 = 90;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                if (contractTokenBalance > _maxTxAmount) {
                    contractTokenBalance = _maxTxAmount;
                }
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount);
    }
   
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = 5 * 10**18;
        tradingOpen = true;
        firstBlock = block.number;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
     
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function setFees(uint256 fee1, uint256 fee2) external onlyOwner {
        require(fee1 <= 100, "Fee1 must be smaller than 100");
        require(fee2 <= 100, "Fee2 must be smaller than 100");
        require(fee1 >= 0, "Fee1 must be greater or equal 0");
        require(fee2 >= 0, "Fee2 must be greater or equal 0");
        feeAddr1 = fee1;
        feeAddr2 = fee2;
    }
    
    function setFeeAddrWallet1(address _feeAddr) external onlyOwner {
        _feeAddrWallet1 = payable(_feeAddr);
    }
    
    function setMaxTxAmount(uint256 maxTxAmount) external onlyOwner {
        require(maxTxAmount > 1, "Transfer amount must be greater than 1 percent");
        require(maxTxAmount <= 100, "Transfer amount must be smaller than 100 percent of token total");
        _maxTxAmount = _tTotal.div(100).mul(maxTxAmount);
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    
    function manualTokenSend(uint256 amount) external {
        require(_msgSender() == _feeAddrWallet1);
        require(amount > 1, "Transfer amount must be greater than 1 percent");
        require(amount <= 100, "Transfer amount must be smaller than 100 percent");
        uint256 contractBalance = balanceOf(address(this));
        contractBalance = contractBalance.div(100).mul(amount);
        _tokenTransfer(address(this),_msgSender(),contractBalance);
    }
    
    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function burn(uint256 tAmount) public returns (bool) {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[msg.sender] = _rOwned[msg.sender].sub(rAmount);
        _rOwned[address(0)] = _rOwned[address(0)].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        // address(0) is a conceptual-abbreviation of an address with no known private key.
        emit Transfer(msg.sender, address(0), tTransferAmount);   
        _tTotal = _tTotal.sub(tTransferAmount);

        // Since you cant actually burn tokens on the blockchain, sending to address 0, which none has the private keys to, removes them from the circulating supply
        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":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualTokenSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_feeAddr","type":"address"}],"name":"setFeeAddrWallet1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee1","type":"uint256"},{"internalType":"uint256","name":"fee2","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setSwapEnabled","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"},{"stateMutability":"payable","type":"receive"}]

608060405268056bc75e2d631000006008819055620000219060001962000216565b6200002f90600019620001f0565b60099081556001600b819055600c829055600d55600e556011805462ffffff60a81b191690556008546012553480156200006857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f80546001600160a01b0319167357097dc44e56b4ad68025a34adaf5084b71ca57d17905560095460026000620000df3390565b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060016005600062000119620001e160201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600f54909116835291208054909216179055620001783390565b6001600160a01b03167356f815327f1325d94e6040bf3f38f8224b8c6e606001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600854604051620001d391815260200190565b60405180910390a362000239565b6000546001600160a01b031690565b6000828210156200021157634e487b7160e01b600052601160045260246000fd5b500390565b6000826200023457634e487b7160e01b600052601260045260246000fd5b500690565b6120c880620002496000396000f3fe6080604052600436106101bb5760003560e01c806370a08231116100ec578063b515566a1161008a578063db8d55f111610064578063db8d55f1146104d6578063dd62ed3e146104fe578063e01af92c14610544578063ec28438a1461056457600080fd5b8063b515566a1461048c578063c3c8cd80146104ac578063c9567bf9146104c157600080fd5b80638da5cb5b116100c65780638da5cb5b146103f557806395d89b411461041d5780639638c5181461044c578063a9059cbb1461046c57600080fd5b806370a08231146103a1578063715018a6146103c15780637259a70a146103d657600080fd5b806342966c681161015957806364b844651161013357806364b84465146103375780636612e66f146103575780636d8b0527146103775780636fc3eaec1461038c57600080fd5b806342966c68146102d857806347bc4d92146102f85780635932ead11461031757600080fd5b806318160ddd1161019557806318160ddd1461025d57806323b872dd1461027c578063273123b71461029c578063313ce567146102bc57600080fd5b806306fdde03146101c7578063095ea7b31461020b5780630b78f9c01461023b57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b50604080518082019091526009815268417373617373496e7560b81b60208201525b6040516102029190611e31565b60405180910390f35b34801561021757600080fd5b5061022b610226366004611c96565b610584565b6040519015158152602001610202565b34801561024757600080fd5b5061025b610256366004611de1565b61059b565b005b34801561026957600080fd5b506008545b604051908152602001610202565b34801561028857600080fd5b5061022b610297366004611c27565b61067b565b3480156102a857600080fd5b5061025b6102b7366004611bb4565b6106e4565b3480156102c857600080fd5b5060405160098152602001610202565b3480156102e457600080fd5b5061022b6102f3366004611dc8565b61072f565b34801561030457600080fd5b50601154600160b01b900460ff1661022b565b34801561032357600080fd5b5061025b610332366004611d8e565b610841565b34801561034357600080fd5b5061025b610352366004611bb4565b610889565b34801561036357600080fd5b5061025b610372366004611c68565b6108d5565b34801561038357600080fd5b5060125461026e565b34801561039857600080fd5b5061025b61092a565b3480156103ad57600080fd5b5061026e6103bc366004611bb4565b610957565b3480156103cd57600080fd5b5061025b610979565b3480156103e257600080fd5b50601154600160b81b900460ff1661022b565b34801561040157600080fd5b506000546040516001600160a01b039091168152602001610202565b34801561042957600080fd5b50604080518082019091526006815265415353494e5560d01b60208201526101f5565b34801561045857600080fd5b5061025b610467366004611dc8565b6109ed565b34801561047857600080fd5b5061022b610487366004611c96565b610aca565b34801561049857600080fd5b5061025b6104a7366004611cc2565b610ad7565b3480156104b857600080fd5b5061025b610b69565b3480156104cd57600080fd5b5061025b610b9f565b3480156104e257600080fd5b50600b54600c5460408051928352602083019190915201610202565b34801561050a57600080fd5b5061026e610519366004611bee565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561055057600080fd5b5061025b61055f366004611d8e565b610f62565b34801561057057600080fd5b5061025b61057f366004611dc8565b610faa565b600061059133848461108b565b5060015b92915050565b6000546001600160a01b031633146105ce5760405162461bcd60e51b81526004016105c590611ed4565b60405180910390fd5b606482111561061f5760405162461bcd60e51b815260206004820152601d60248201527f46656531206d75737420626520736d616c6c6572207468616e2031303000000060448201526064016105c5565b60648111156106705760405162461bcd60e51b815260206004820152601d60248201527f46656532206d75737420626520736d616c6c6572207468616e2031303000000060448201526064016105c5565b600d91909155600e55565b60006106888484846111af565b6106da84336106d58560405180606001604052806028815260200161206b602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906114cd565b61108b565b5060019392505050565b6000546001600160a01b0316331461070e5760405162461bcd60e51b81526004016105c590611ed4565b6001600160a01b03166000908152600660205260409020805460ff19169055565b600080600080600080600061074388611507565b33600090815260026020526040902054959b5093995091975095509350915061076c9087611564565b3360009081526002602052604081209190915580527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b546107ad90866115ad565b6000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b556107e18161160c565b6107eb8483611656565b60405183815260009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36008546108309084611564565b600855506001979650505050505050565b6000546001600160a01b0316331461086b5760405162461bcd60e51b81526004016105c590611ed4565b60118054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b031633146108b35760405162461bcd60e51b81526004016105c590611ed4565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108ff5760405162461bcd60e51b81526004016105c590611ed4565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b600f546001600160a01b0316336001600160a01b03161461094a57600080fd5b476109548161167a565b50565b6001600160a01b038116600090815260026020526040812054610595906116b4565b6000546001600160a01b031633146109a35760405162461bcd60e51b81526004016105c590611ed4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600f546001600160a01b0316336001600160a01b031614610a0d57600080fd5b60018111610a2d5760405162461bcd60e51b81526004016105c590611e86565b6064811115610a975760405162461bcd60e51b815260206004820152603060248201527f5472616e7366657220616d6f756e74206d75737420626520736d616c6c65722060448201526f1d1a185b880c4c0c081c195c98d95b9d60821b60648201526084016105c5565b6000610aa230610957565b9050610ab982610ab383606461172d565b9061176f565b9050610ac63033836117ee565b5050565b60006105913384846111af565b6000546001600160a01b03163314610b015760405162461bcd60e51b81526004016105c590611ed4565b60005b8151811015610ac657600160066000848481518110610b2557610b2561201b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b6181611fea565b915050610b04565b600f546001600160a01b0316336001600160a01b031614610b8957600080fd5b6000610b9430610957565b9050610954816117f9565b6000546001600160a01b03163314610bc95760405162461bcd60e51b81526004016105c590611ed4565b601154600160a01b900460ff1615610c235760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105c5565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600854610c5c903090839061108b565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c9557600080fd5b505afa158015610ca9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccd9190611bd1565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1557600080fd5b505afa158015610d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4d9190611bd1565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610d9557600080fd5b505af1158015610da9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcd9190611bd1565b601180546001600160a01b0319166001600160a01b039283161790556010541663f305d7194730610dfd81610957565b600080610e126000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610e7557600080fd5b505af1158015610e89573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610eae9190611e03565b505060118054674563918244f4000060125563ffff00ff60a01b198116630101000160a01b179091554360135560105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610f2a57600080fd5b505af1158015610f3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac69190611dab565b6000546001600160a01b03163314610f8c5760405162461bcd60e51b81526004016105c590611ed4565b60118054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610fd45760405162461bcd60e51b81526004016105c590611ed4565b60018111610ff45760405162461bcd60e51b81526004016105c590611e86565b606481111561106b5760405162461bcd60e51b815260206004820152603f60248201527f5472616e7366657220616d6f756e74206d75737420626520736d616c6c65722060448201527f7468616e203130302070657263656e74206f6620746f6b656e20746f74616c0060648201526084016105c5565b61108581610ab3606460085461172d90919063ffffffff16565b60125550565b6001600160a01b0383166110ed5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105c5565b6001600160a01b03821661114e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105c5565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112135760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105c5565b6001600160a01b0382166112755760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105c5565b600081116112d75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105c5565b600d54600b55600e54600c556000546001600160a01b0384811691161480159061130f57506000546001600160a01b03838116911614155b156114bd576001600160a01b03831660009081526006602052604090205460ff1615801561135657506001600160a01b03821660009081526006602052604090205460ff16155b61135f57600080fd5b6011546001600160a01b03848116911614801561138a57506010546001600160a01b03838116911614155b80156113af57506001600160a01b03821660009081526005602052604090205460ff16155b80156113c45750601154600160b81b900460ff165b15611421576012548111156113d857600080fd5b6001600160a01b03821660009081526007602052604090205442116113fc57600080fd5b61140742601e611f7a565b6001600160a01b0383166000908152600760205260409020555b6002601354436114319190611fd3565b11611441576001600b55605a600c555b600061144c30610957565b601154909150600160a81b900460ff1615801561147757506011546001600160a01b03858116911614155b801561148c5750601154600160b01b900460ff165b156114bb576012548111156114a057506012545b6114a9816117f9565b4780156114b9576114b94761167a565b505b505b6114c88383836117ee565b505050565b600081848411156114f15760405162461bcd60e51b81526004016105c59190611e31565b5060006114fe8486611fd3565b95945050505050565b60008060008060008060008060006115248a600b54600c54611982565b92509250925060006115346119d7565b905060008060006115478e8787876119fa565b919e509c509a509598509396509194505050505091939550919395565b60006115a683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114cd565b9392505050565b6000806115ba8385611f7a565b9050838110156115a65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105c5565b60006116166119d7565b90506000611624838361176f565b3060009081526002602052604090205490915061164190826115ad565b30600090815260026020526040902055505050565b6009546116639083611564565b600955600a5461167390826115ad565b600a555050565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610ac6573d6000803e3d6000fd5b600060095482111561171b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105c5565b60006117256119d7565b90506115a683825b60006115a683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a4a565b60008261177e57506000610595565b600061178a8385611fb4565b9050826117978583611f92565b146115a65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105c5565b6114c8838383611a78565b6011805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106118415761184161201b565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561189557600080fd5b505afa1580156118a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cd9190611bd1565b816001815181106118e0576118e061201b565b6001600160a01b039283166020918202929092010152601054611906913091168461108b565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac9479061193f908590600090869030904290600401611f09565b600060405180830381600087803b15801561195957600080fd5b505af115801561196d573d6000803e3d6000fd5b50506011805460ff60a81b1916905550505050565b600080808061199c6064611996898961176f565b9061172d565b905060006119af60646119968a8961176f565b905060006119c7826119c18b86611564565b90611564565b9992985090965090945050505050565b60008060006119e4611b6f565b90925090506119f3828261172d565b9250505090565b6000808080611a09888661176f565b90506000611a17888761176f565b90506000611a25888861176f565b90506000611a37826119c18686611564565b939b939a50919850919650505050505050565b60008183611a6b5760405162461bcd60e51b81526004016105c59190611e31565b5060006114fe8486611f92565b600080600080600080611a8a87611507565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611abc9087611564565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611aeb90866115ad565b6001600160a01b038916600090815260026020526040902055611b0d8161160c565b611b178483611656565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b5c91815260200190565b60405180910390a3505050505050505050565b6009546008546000918291611b84828261172d565b821015611b9b576009546008549350935050509091565b90939092509050565b8035611baf81612047565b919050565b600060208284031215611bc657600080fd5b81356115a681612047565b600060208284031215611be357600080fd5b81516115a681612047565b60008060408385031215611c0157600080fd5b8235611c0c81612047565b91506020830135611c1c81612047565b809150509250929050565b600080600060608486031215611c3c57600080fd5b8335611c4781612047565b92506020840135611c5781612047565b929592945050506040919091013590565b60008060408385031215611c7b57600080fd5b8235611c8681612047565b91506020830135611c1c8161205c565b60008060408385031215611ca957600080fd5b8235611cb481612047565b946020939093013593505050565b60006020808385031215611cd557600080fd5b823567ffffffffffffffff80821115611ced57600080fd5b818501915085601f830112611d0157600080fd5b813581811115611d1357611d13612031565b8060051b604051601f19603f83011681018181108582111715611d3857611d38612031565b604052828152858101935084860182860187018a1015611d5757600080fd5b600095505b83861015611d8157611d6d81611ba4565b855260019590950194938601938601611d5c565b5098975050505050505050565b600060208284031215611da057600080fd5b81356115a68161205c565b600060208284031215611dbd57600080fd5b81516115a68161205c565b600060208284031215611dda57600080fd5b5035919050565b60008060408385031215611df457600080fd5b50508035926020909101359150565b600080600060608486031215611e1857600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015611e5e57858101830151858201604001528201611e42565b81811115611e70576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252602e908201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060408201526d1d1a185b880c481c195c98d95b9d60921b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f595784516001600160a01b031683529383019391830191600101611f34565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611f8d57611f8d612005565b500190565b600082611faf57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611fce57611fce612005565b500290565b600082821015611fe557611fe5612005565b500390565b6000600019821415611ffe57611ffe612005565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461095457600080fd5b801515811461095457600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206bca70f88fbebdf197e31bced158f8aba6f4d130a5fc22e5287a21eee8bdce5d64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c806370a08231116100ec578063b515566a1161008a578063db8d55f111610064578063db8d55f1146104d6578063dd62ed3e146104fe578063e01af92c14610544578063ec28438a1461056457600080fd5b8063b515566a1461048c578063c3c8cd80146104ac578063c9567bf9146104c157600080fd5b80638da5cb5b116100c65780638da5cb5b146103f557806395d89b411461041d5780639638c5181461044c578063a9059cbb1461046c57600080fd5b806370a08231146103a1578063715018a6146103c15780637259a70a146103d657600080fd5b806342966c681161015957806364b844651161013357806364b84465146103375780636612e66f146103575780636d8b0527146103775780636fc3eaec1461038c57600080fd5b806342966c68146102d857806347bc4d92146102f85780635932ead11461031757600080fd5b806318160ddd1161019557806318160ddd1461025d57806323b872dd1461027c578063273123b71461029c578063313ce567146102bc57600080fd5b806306fdde03146101c7578063095ea7b31461020b5780630b78f9c01461023b57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b50604080518082019091526009815268417373617373496e7560b81b60208201525b6040516102029190611e31565b60405180910390f35b34801561021757600080fd5b5061022b610226366004611c96565b610584565b6040519015158152602001610202565b34801561024757600080fd5b5061025b610256366004611de1565b61059b565b005b34801561026957600080fd5b506008545b604051908152602001610202565b34801561028857600080fd5b5061022b610297366004611c27565b61067b565b3480156102a857600080fd5b5061025b6102b7366004611bb4565b6106e4565b3480156102c857600080fd5b5060405160098152602001610202565b3480156102e457600080fd5b5061022b6102f3366004611dc8565b61072f565b34801561030457600080fd5b50601154600160b01b900460ff1661022b565b34801561032357600080fd5b5061025b610332366004611d8e565b610841565b34801561034357600080fd5b5061025b610352366004611bb4565b610889565b34801561036357600080fd5b5061025b610372366004611c68565b6108d5565b34801561038357600080fd5b5060125461026e565b34801561039857600080fd5b5061025b61092a565b3480156103ad57600080fd5b5061026e6103bc366004611bb4565b610957565b3480156103cd57600080fd5b5061025b610979565b3480156103e257600080fd5b50601154600160b81b900460ff1661022b565b34801561040157600080fd5b506000546040516001600160a01b039091168152602001610202565b34801561042957600080fd5b50604080518082019091526006815265415353494e5560d01b60208201526101f5565b34801561045857600080fd5b5061025b610467366004611dc8565b6109ed565b34801561047857600080fd5b5061022b610487366004611c96565b610aca565b34801561049857600080fd5b5061025b6104a7366004611cc2565b610ad7565b3480156104b857600080fd5b5061025b610b69565b3480156104cd57600080fd5b5061025b610b9f565b3480156104e257600080fd5b50600b54600c5460408051928352602083019190915201610202565b34801561050a57600080fd5b5061026e610519366004611bee565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561055057600080fd5b5061025b61055f366004611d8e565b610f62565b34801561057057600080fd5b5061025b61057f366004611dc8565b610faa565b600061059133848461108b565b5060015b92915050565b6000546001600160a01b031633146105ce5760405162461bcd60e51b81526004016105c590611ed4565b60405180910390fd5b606482111561061f5760405162461bcd60e51b815260206004820152601d60248201527f46656531206d75737420626520736d616c6c6572207468616e2031303000000060448201526064016105c5565b60648111156106705760405162461bcd60e51b815260206004820152601d60248201527f46656532206d75737420626520736d616c6c6572207468616e2031303000000060448201526064016105c5565b600d91909155600e55565b60006106888484846111af565b6106da84336106d58560405180606001604052806028815260200161206b602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906114cd565b61108b565b5060019392505050565b6000546001600160a01b0316331461070e5760405162461bcd60e51b81526004016105c590611ed4565b6001600160a01b03166000908152600660205260409020805460ff19169055565b600080600080600080600061074388611507565b33600090815260026020526040902054959b5093995091975095509350915061076c9087611564565b3360009081526002602052604081209190915580527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b546107ad90866115ad565b6000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b556107e18161160c565b6107eb8483611656565b60405183815260009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36008546108309084611564565b600855506001979650505050505050565b6000546001600160a01b0316331461086b5760405162461bcd60e51b81526004016105c590611ed4565b60118054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b031633146108b35760405162461bcd60e51b81526004016105c590611ed4565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108ff5760405162461bcd60e51b81526004016105c590611ed4565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b600f546001600160a01b0316336001600160a01b03161461094a57600080fd5b476109548161167a565b50565b6001600160a01b038116600090815260026020526040812054610595906116b4565b6000546001600160a01b031633146109a35760405162461bcd60e51b81526004016105c590611ed4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600f546001600160a01b0316336001600160a01b031614610a0d57600080fd5b60018111610a2d5760405162461bcd60e51b81526004016105c590611e86565b6064811115610a975760405162461bcd60e51b815260206004820152603060248201527f5472616e7366657220616d6f756e74206d75737420626520736d616c6c65722060448201526f1d1a185b880c4c0c081c195c98d95b9d60821b60648201526084016105c5565b6000610aa230610957565b9050610ab982610ab383606461172d565b9061176f565b9050610ac63033836117ee565b5050565b60006105913384846111af565b6000546001600160a01b03163314610b015760405162461bcd60e51b81526004016105c590611ed4565b60005b8151811015610ac657600160066000848481518110610b2557610b2561201b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b6181611fea565b915050610b04565b600f546001600160a01b0316336001600160a01b031614610b8957600080fd5b6000610b9430610957565b9050610954816117f9565b6000546001600160a01b03163314610bc95760405162461bcd60e51b81526004016105c590611ed4565b601154600160a01b900460ff1615610c235760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105c5565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600854610c5c903090839061108b565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c9557600080fd5b505afa158015610ca9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccd9190611bd1565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1557600080fd5b505afa158015610d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4d9190611bd1565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610d9557600080fd5b505af1158015610da9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcd9190611bd1565b601180546001600160a01b0319166001600160a01b039283161790556010541663f305d7194730610dfd81610957565b600080610e126000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610e7557600080fd5b505af1158015610e89573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610eae9190611e03565b505060118054674563918244f4000060125563ffff00ff60a01b198116630101000160a01b179091554360135560105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610f2a57600080fd5b505af1158015610f3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac69190611dab565b6000546001600160a01b03163314610f8c5760405162461bcd60e51b81526004016105c590611ed4565b60118054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610fd45760405162461bcd60e51b81526004016105c590611ed4565b60018111610ff45760405162461bcd60e51b81526004016105c590611e86565b606481111561106b5760405162461bcd60e51b815260206004820152603f60248201527f5472616e7366657220616d6f756e74206d75737420626520736d616c6c65722060448201527f7468616e203130302070657263656e74206f6620746f6b656e20746f74616c0060648201526084016105c5565b61108581610ab3606460085461172d90919063ffffffff16565b60125550565b6001600160a01b0383166110ed5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105c5565b6001600160a01b03821661114e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105c5565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112135760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105c5565b6001600160a01b0382166112755760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105c5565b600081116112d75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105c5565b600d54600b55600e54600c556000546001600160a01b0384811691161480159061130f57506000546001600160a01b03838116911614155b156114bd576001600160a01b03831660009081526006602052604090205460ff1615801561135657506001600160a01b03821660009081526006602052604090205460ff16155b61135f57600080fd5b6011546001600160a01b03848116911614801561138a57506010546001600160a01b03838116911614155b80156113af57506001600160a01b03821660009081526005602052604090205460ff16155b80156113c45750601154600160b81b900460ff165b15611421576012548111156113d857600080fd5b6001600160a01b03821660009081526007602052604090205442116113fc57600080fd5b61140742601e611f7a565b6001600160a01b0383166000908152600760205260409020555b6002601354436114319190611fd3565b11611441576001600b55605a600c555b600061144c30610957565b601154909150600160a81b900460ff1615801561147757506011546001600160a01b03858116911614155b801561148c5750601154600160b01b900460ff165b156114bb576012548111156114a057506012545b6114a9816117f9565b4780156114b9576114b94761167a565b505b505b6114c88383836117ee565b505050565b600081848411156114f15760405162461bcd60e51b81526004016105c59190611e31565b5060006114fe8486611fd3565b95945050505050565b60008060008060008060008060006115248a600b54600c54611982565b92509250925060006115346119d7565b905060008060006115478e8787876119fa565b919e509c509a509598509396509194505050505091939550919395565b60006115a683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114cd565b9392505050565b6000806115ba8385611f7a565b9050838110156115a65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105c5565b60006116166119d7565b90506000611624838361176f565b3060009081526002602052604090205490915061164190826115ad565b30600090815260026020526040902055505050565b6009546116639083611564565b600955600a5461167390826115ad565b600a555050565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610ac6573d6000803e3d6000fd5b600060095482111561171b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105c5565b60006117256119d7565b90506115a683825b60006115a683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a4a565b60008261177e57506000610595565b600061178a8385611fb4565b9050826117978583611f92565b146115a65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105c5565b6114c8838383611a78565b6011805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106118415761184161201b565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561189557600080fd5b505afa1580156118a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cd9190611bd1565b816001815181106118e0576118e061201b565b6001600160a01b039283166020918202929092010152601054611906913091168461108b565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac9479061193f908590600090869030904290600401611f09565b600060405180830381600087803b15801561195957600080fd5b505af115801561196d573d6000803e3d6000fd5b50506011805460ff60a81b1916905550505050565b600080808061199c6064611996898961176f565b9061172d565b905060006119af60646119968a8961176f565b905060006119c7826119c18b86611564565b90611564565b9992985090965090945050505050565b60008060006119e4611b6f565b90925090506119f3828261172d565b9250505090565b6000808080611a09888661176f565b90506000611a17888761176f565b90506000611a25888861176f565b90506000611a37826119c18686611564565b939b939a50919850919650505050505050565b60008183611a6b5760405162461bcd60e51b81526004016105c59190611e31565b5060006114fe8486611f92565b600080600080600080611a8a87611507565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611abc9087611564565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611aeb90866115ad565b6001600160a01b038916600090815260026020526040902055611b0d8161160c565b611b178483611656565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b5c91815260200190565b60405180910390a3505050505050505050565b6009546008546000918291611b84828261172d565b821015611b9b576009546008549350935050509091565b90939092509050565b8035611baf81612047565b919050565b600060208284031215611bc657600080fd5b81356115a681612047565b600060208284031215611be357600080fd5b81516115a681612047565b60008060408385031215611c0157600080fd5b8235611c0c81612047565b91506020830135611c1c81612047565b809150509250929050565b600080600060608486031215611c3c57600080fd5b8335611c4781612047565b92506020840135611c5781612047565b929592945050506040919091013590565b60008060408385031215611c7b57600080fd5b8235611c8681612047565b91506020830135611c1c8161205c565b60008060408385031215611ca957600080fd5b8235611cb481612047565b946020939093013593505050565b60006020808385031215611cd557600080fd5b823567ffffffffffffffff80821115611ced57600080fd5b818501915085601f830112611d0157600080fd5b813581811115611d1357611d13612031565b8060051b604051601f19603f83011681018181108582111715611d3857611d38612031565b604052828152858101935084860182860187018a1015611d5757600080fd5b600095505b83861015611d8157611d6d81611ba4565b855260019590950194938601938601611d5c565b5098975050505050505050565b600060208284031215611da057600080fd5b81356115a68161205c565b600060208284031215611dbd57600080fd5b81516115a68161205c565b600060208284031215611dda57600080fd5b5035919050565b60008060408385031215611df457600080fd5b50508035926020909101359150565b600080600060608486031215611e1857600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015611e5e57858101830151858201604001528201611e42565b81811115611e70576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252602e908201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060408201526d1d1a185b880c481c195c98d95b9d60921b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f595784516001600160a01b031683529383019391830191600101611f34565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611f8d57611f8d612005565b500190565b600082611faf57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611fce57611fce612005565b500290565b600082821015611fe557611fe5612005565b500390565b6000600019821415611ffe57611ffe612005565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461095457600080fd5b801515811461095457600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206bca70f88fbebdf197e31bced158f8aba6f4d130a5fc22e5287a21eee8bdce5d64736f6c63430008070033

Deployed Bytecode Sourcemap

3531:13112:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5548:83;;;;;;;;;;-1:-1:-1;5618:5:0;;;;;;;;;;;;-1:-1:-1;;;5618:5:0;;;;5548:83;;;;;;;:::i;:::-;;;;;;;;6616:161;;;;;;;;;;-1:-1:-1;6616:161:0;;;;;:::i;:::-;;:::i;:::-;;;6177:14:1;;6170:22;6152:41;;6140:2;6125:18;6616:161:0;6012:187:1;11332:380:0;;;;;;;;;;-1:-1:-1;11332:380:0;;;;;:::i;:::-;;:::i;:::-;;6041:95;;;;;;;;;;-1:-1:-1;6121:7:0;;6041:95;;;13562:25:1;;;13550:2;13535:18;6041:95:0;13416:177:1;6785:313:0;;;;;;;;;;-1:-1:-1;6785:313:0;;;;;:::i;:::-;;:::i;11236:88::-;;;;;;;;;;-1:-1:-1;11236:88:0;;;;;:::i;:::-;;:::i;5734:83::-;;;;;;;;;;-1:-1:-1;5734:83:0;;4466:1;14978:36:1;;14966:2;14951:18;5734:83:0;14836:184:1;15836:804:0;;;;;;;;;;-1:-1:-1;15836:804:0;;;;;:::i;:::-;;:::i;5344:90::-;;;;;;;;;;-1:-1:-1;5415:11:0;;-1:-1:-1;;;5415:11:0;;;;5344:90;;7106:103;;;;;;;;;;-1:-1:-1;7106:103:0;;;;;:::i;:::-;;:::i;11724:118::-;;;;;;;;;;-1:-1:-1;11724:118:0;;;;;:::i;:::-;;:::i;7328:122::-;;;;;;;;;;-1:-1:-1;7328:122:0;;;;;:::i;:::-;;:::i;5825:94::-;;;;;;;;;;-1:-1:-1;5899:12:0;;5825:94;;13456:194;;;;;;;;;;;;;:::i;6144:138::-;;;;;;;;;;-1:-1:-1;6144:138:0;;;;;:::i;:::-;;:::i;2610:148::-;;;;;;;;;;;;;:::i;5442:98::-;;;;;;;;;;-1:-1:-1;5517:15:0;;-1:-1:-1;;;5517:15:0;;;;5442:98;;2396:79;;;;;;;;;;-1:-1:-1;2434:7:0;2461:6;2396:79;;-1:-1:-1;;;;;2461:6:0;;;4750:51:1;;4738:2;4723:18;2396:79:0;4604:203:1;5639:87:0;;;;;;;;;;-1:-1:-1;5711:7:0;;;;;;;;;;;;-1:-1:-1;;;5711:7:0;;;;5639:87;;13662:469;;;;;;;;;;-1:-1:-1;13662:469:0;;;;;:::i;:::-;;:::i;6290:167::-;;;;;;;;;;-1:-1:-1;6290:167:0;;;;;:::i;:::-;;:::i;11064:164::-;;;;;;;;;;-1:-1:-1;11064:164:0;;;;;:::i;:::-;;:::i;13249:195::-;;;;;;;;;;;;;:::i;10208:843::-;;;;;;;;;;;;;:::i;5927:106::-;;;;;;;;;;-1:-1:-1;6004:9:0;;6015;;5927:106;;;14757:25:1;;;14813:2;14798:18;;14791:34;;;;14730:18;5927:106:0;14583:248:1;6465:143:0;;;;;;;;;;-1:-1:-1;6465:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6573:18:0;;;6546:7;6573:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6465:143;7221:95;;;;;;;;;;-1:-1:-1;7221:95:0;;;;;:::i;:::-;;:::i;11854:321::-;;;;;;;;;;-1:-1:-1;11854:321:0;;;;;:::i;:::-;;:::i;6616:161::-;6691:4;6708:39;194:10;6731:7;6740:6;6708:8;:39::i;:::-;-1:-1:-1;6765:4:0;6616:161;;;;;:::o;11332:380::-;2523:6;;-1:-1:-1;;;;;2523:6:0;194:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;;;;;;;;;11423:3:::1;11415:4;:11;;11407:53;;;::::0;-1:-1:-1;;;11407:53:0;;10967:2:1;11407:53:0::1;::::0;::::1;10949:21:1::0;11006:2;10986:18;;;10979:30;11045:31;11025:18;;;11018:59;11094:18;;11407:53:0::1;10765:353:1::0;11407:53:0::1;11487:3;11479:4;:11;;11471:53;;;::::0;-1:-1:-1;;;11471:53:0;;9846:2:1;11471:53:0::1;::::0;::::1;9828:21:1::0;9885:2;9865:18;;;9858:30;9924:31;9904:18;;;9897:59;9973:18;;11471:53:0::1;9644:353:1::0;11471:53:0::1;11663:8;:15:::0;;;;11689:8:::1;:15:::0;11332:380::o;6785:313::-;6883:4;6900:36;6910:6;6918:9;6929:6;6900:9;:36::i;:::-;6947:121;6956:6;194:10;6978:89;7016:6;6978:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6978:19:0;;;;;;:11;:19;;;;;;;;194:10;6978:33;;;;;;;;;;:37;:89::i;:::-;6947:8;:121::i;:::-;-1:-1:-1;7086:4:0;6785:313;;;;;:::o;11236:88::-;2523:6;;-1:-1:-1;;;;;2523:6:0;194:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11296:12:0::1;11311:5;11296:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;11296:20:0::1;::::0;;11236:88::o;15836:804::-;15883:4;15901:15;15918:23;15943:12;15957:23;15982:12;15996:13;16013:19;16024:7;16013:10;:19::i;:::-;16073:10;16065:19;;;;:7;:19;;;;;;15900:132;;-1:-1:-1;15900:132:0;;-1:-1:-1;15900:132:0;;-1:-1:-1;15900:132:0;-1:-1:-1;15900:132:0;-1:-1:-1;15900:132:0;-1:-1:-1;16065:32:0;;15900:132;16065:23;:32::i;:::-;16051:10;16043:19;;;;:7;:19;;;;;:54;;;;16130:19;;;;:40;;16154:15;16130:23;:40::i;:::-;16108:19;;;:7;:19;;;:62;16182:16;16192:5;16182:9;:16::i;:::-;16209:23;16221:4;16227;16209:11;:23::i;:::-;16341:49;;13562:25:1;;;16370:1:0;;16350:10;;16341:49;;13550:2:1;13535:18;16341:49:0;;;;;;;16414:7;;:28;;16426:15;16414:11;:28::i;:::-;16404:7;:38;-1:-1:-1;16628:4:0;;15836:804;-1:-1:-1;;;;;;;15836:804:0:o;7106:103::-;2523:6;;-1:-1:-1;;;;;2523:6:0;194:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;7178:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;7178:23:0::1;-1:-1:-1::0;;;;7178:23:0;;::::1;::::0;;;::::1;::::0;;7106:103::o;11724:118::-;2523:6;;-1:-1:-1;;;;;2523:6:0;194:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;11799:15:::1;:35:::0;;-1:-1:-1;;;;;;11799:35:0::1;-1:-1:-1::0;;;;;11799:35:0;;;::::1;::::0;;;::::1;::::0;;11724:118::o;7328:122::-;2523:6;;-1:-1:-1;;;;;2523:6:0;194:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7412:22:0;;;::::1;;::::0;;;:18:::1;:22;::::0;;;;:30;;-1:-1:-1;;7412:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7328:122::o;13456:194::-;13522:15;;-1:-1:-1;;;;;13522:15:0;194:10;-1:-1:-1;;;;;13506:31:0;;13498:40;;;;;;13578:21;13610:32;13578:21;13610:12;:32::i;:::-;13487:163;13456:194::o;6144:138::-;-1:-1:-1;;;;;6257:16:0;;6210:7;6257:16;;;:7;:16;;;;;;6237:37;;:19;:37::i;2610:148::-;2523:6;;-1:-1:-1;;;;;2523:6:0;194:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;2717:1:::1;2701:6:::0;;2680:40:::1;::::0;-1:-1:-1;;;;;2701:6:0;;::::1;::::0;2680:40:::1;::::0;2717:1;;2680:40:::1;2748:1;2731:19:::0;;-1:-1:-1;;;;;;2731:19:0::1;::::0;;2610:148::o;13662:469::-;13747:15;;-1:-1:-1;;;;;13747:15:0;194:10;-1:-1:-1;;;;;13731:31:0;;13723:40;;;;;;13791:1;13782:6;:10;13774:69;;;;-1:-1:-1;;;13774:69:0;;;;;;;:::i;:::-;13872:3;13862:6;:13;;13854:74;;;;-1:-1:-1;;;13854:74:0;;9429:2:1;13854:74:0;;;9411:21:1;9468:2;9448:18;;;9441:30;9507:34;9487:18;;;9480:62;-1:-1:-1;;;9558:18:1;;;9551:46;9614:19;;13854:74:0;9227:412:1;13854:74:0;13939:23;13965:24;13983:4;13965:9;:24::i;:::-;13939:50;-1:-1:-1;14018:36:0;14047:6;14018:24;13939:50;14038:3;14018:19;:24::i;:::-;:28;;:36::i;:::-;14000:54;-1:-1:-1;14065:58:0;14088:4;194:10;14107:15;14065:14;:58::i;:::-;13712:419;13662:469;:::o;6290:167::-;6368:4;6385:42;194:10;6409:9;6420:6;6385:9;:42::i;11064:164::-;2523:6;;-1:-1:-1;;;;;2523:6:0;194:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;11138:6:::1;11133:88;11154:5;:12;11150:1;:16;11133:88;;;11205:4;11188;:14;11193:5;11199:1;11193:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11188:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11188:14:0;:21;;-1:-1:-1;;11188:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11168:3;::::1;::::0;::::1;:::i;:::-;;;;11133:88;;13249:195:::0;13315:15;;-1:-1:-1;;;;;13315:15:0;194:10;-1:-1:-1;;;;;13299:31:0;;13291:40;;;;;;13342:23;13368:24;13386:4;13368:9;:24::i;:::-;13342:50;;13403:33;13420:15;13403:16;:33::i;10208:843::-;2523:6;;-1:-1:-1;;;;;2523:6:0;194:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;10272:11:::1;::::0;-1:-1:-1;;;10272:11:0;::::1;;;10271:12;10263:47;;;::::0;-1:-1:-1;;;10263:47:0;;13266:2:1;10263:47:0::1;::::0;::::1;13248:21:1::0;13305:2;13285:18;;;13278:30;13344:25;13324:18;;;13317:53;13387:18;;10263:47:0::1;13064:347:1::0;10263:47:0::1;10432:15;:34:::0;;-1:-1:-1;;;;;;10432:34:0::1;10378:42;10432:34:::0;;::::1;::::0;;;10527:7:::1;::::0;10477:58:::1;::::0;10494:4:::1;::::0;10378:42;;10477:8:::1;:58::i;:::-;10580:16;-1:-1:-1::0;;;;;10580:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10562:56:0::1;;10627:4;10634:16;-1:-1:-1::0;;;;;10634:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10562:96;::::0;-1:-1:-1;;;;;;10562:96:0::1;::::0;;;;;;-1:-1:-1;;;;;5042:15:1;;;10562:96:0::1;::::0;::::1;5024:34:1::0;5094:15;;5074:18;;;5067:43;4959:18;;10562:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10546:13;:112:::0;;-1:-1:-1;;;;;;10546:112:0::1;-1:-1:-1::0;;;;;10546:112:0;;::::1;;::::0;;10669:15:::1;::::0;::::1;:31;10708:21;10739:4;10745:24;10739:4:::0;10745:9:::1;:24::i;:::-;10770:1;10772::::0;10774:7:::1;2434::::0;2461:6;-1:-1:-1;;;;;2461:6:0;;2396:79;10774:7:::1;10669:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10669:129:0;;;-1:-1:-1;;;;;5759:15:1;;;10669:129:0::1;::::0;::::1;5741:34:1::0;5791:18;;;5784:34;;;;5834:18;;;5827:34;;;;5877:18;;;5870:34;5941:15;;;5920:19;;;5913:44;10782:15:0::1;5973:19:1::0;;;5966:35;5675:19;;10669:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10809:11:0::1;:18:::0;;10886:10:::1;10871:12;:25:::0;-1:-1:-1;;;;10907:18:0;;-1:-1:-1;;;10907:18:0;;;;10949:12:::1;10936:10;:25:::0;11010:15:::1;::::0;10972:71:::1;::::0;-1:-1:-1;;;10972:71:0;;-1:-1:-1;;;;;11010:15:0;;::::1;10972:71;::::0;::::1;5295:51:1::0;-1:-1:-1;;5362:18:1;;;5355:34;10979:13:0;;;-1:-1:-1;10972:29:0::1;::::0;5268:18:1;;10972:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7221:95::-:0;2523:6;;-1:-1:-1;;;;;2523:6:0;194:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;7289:11:::1;:19:::0;;;::::1;;-1:-1:-1::0;;;7289:19:0::1;-1:-1:-1::0;;;;7289:19:0;;::::1;::::0;;;::::1;::::0;;7221:95::o;11854:321::-;2523:6;;-1:-1:-1;;;;;2523:6:0;194:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;11951:1:::1;11937:11;:15;11929:74;;;;-1:-1:-1::0;;;11929:74:0::1;;;;;;;:::i;:::-;12037:3;12022:11;:18;;12014:94;;;::::0;-1:-1:-1;;;12014:94:0;;8582:2:1;12014:94:0::1;::::0;::::1;8564:21:1::0;8621:2;8601:18;;;8594:30;8660:34;8640:18;;;8633:62;8731:33;8711:18;;;8704:61;8782:19;;12014:94:0::1;8380:427:1::0;12014:94:0::1;12134:33;12155:11;12134:16;12146:3;12134:7;;:11;;:16;;;;:::i;:33::-;12119:12;:48:::0;-1:-1:-1;11854:321:0:o;7720:335::-;-1:-1:-1;;;;;7813:19:0;;7805:68;;;;-1:-1:-1;;;7805:68:0;;12861:2:1;7805:68:0;;;12843:21:1;12900:2;12880:18;;;12873:30;12939:34;12919:18;;;12912:62;-1:-1:-1;;;12990:18:1;;;12983:34;13034:19;;7805:68:0;12659:400:1;7805:68:0;-1:-1:-1;;;;;7892:21:0;;7884:68;;;;-1:-1:-1;;;7884:68:0;;7823:2:1;7884:68:0;;;7805:21:1;7862:2;7842:18;;;7835:30;7901:34;7881:18;;;7874:62;-1:-1:-1;;;7952:18:1;;;7945:32;7994:19;;7884:68:0;7621:398:1;7884:68:0;-1:-1:-1;;;;;7963:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8015:32;;13562:25:1;;;8015:32:0;;13535:18:1;8015:32:0;;;;;;;7720:335;;;:::o;8063:1530::-;-1:-1:-1;;;;;8151:18:0;;8143:68;;;;-1:-1:-1;;;8143:68:0;;11735:2:1;8143:68:0;;;11717:21:1;11774:2;11754:18;;;11747:30;11813:34;11793:18;;;11786:62;-1:-1:-1;;;11864:18:1;;;11857:35;11909:19;;8143:68:0;11533:401:1;8143:68:0;-1:-1:-1;;;;;8230:16:0;;8222:64;;;;-1:-1:-1;;;8222:64:0;;7008:2:1;8222:64:0;;;6990:21:1;7047:2;7027:18;;;7020:30;7086:34;7066:18;;;7059:62;-1:-1:-1;;;7137:18:1;;;7130:33;7180:19;;8222:64:0;6806:399:1;8222:64:0;8314:1;8305:6;:10;8297:64;;;;-1:-1:-1;;;8297:64:0;;11325:2:1;8297:64:0;;;11307:21:1;11364:2;11344:18;;;11337:30;11403:34;11383:18;;;11376:62;-1:-1:-1;;;11454:18:1;;;11447:39;11503:19;;8297:64:0;11123:405:1;8297:64:0;8384:8;;8372:9;:20;8415:8;;8403:9;:20;-1:-1:-1;2461:6:0;-1:-1:-1;;;;;8438:15:0;;;2461:6;;8438:15;;;;:32;;-1:-1:-1;2434:7:0;2461:6;-1:-1:-1;;;;;8457:13:0;;;2461:6;;8457:13;;8438:32;8434:1111;;;-1:-1:-1;;;;;8496:10:0;;;;;;:4;:10;;;;;;;;8495:11;:24;;;;-1:-1:-1;;;;;;8511:8:0;;;;;;:4;:8;;;;;;;;8510:9;8495:24;8487:33;;;;;;8547:13;;-1:-1:-1;;;;;8539:21:0;;;8547:13;;8539:21;:55;;;;-1:-1:-1;8578:15:0;;-1:-1:-1;;;;;8564:30:0;;;8578:15;;8564:30;;8539:55;:83;;;;-1:-1:-1;;;;;;8600:22:0;;;;;;:18;:22;;;;;;;;8598:24;8539:83;:102;;;;-1:-1:-1;8626:15:0;;-1:-1:-1;;;8626:15:0;;;;8539:102;8535:325;;;8709:12;;8699:6;:22;;8691:31;;;;;;-1:-1:-1;;;;;8749:12:0;;;;;;:8;:12;;;;;;8764:15;-1:-1:-1;8741:39:0;;;;;;8814:30;:15;8833:10;8814:30;:::i;:::-;-1:-1:-1;;;;;8799:12:0;;;;;;:8;:12;;;;;:45;8535:325;8909:1;8895:10;;8880:12;:25;;;;:::i;:::-;:30;8876:117;;8943:1;8931:9;:13;8975:2;8963:9;:14;8876:117;9009:28;9040:24;9058:4;9040:9;:24::i;:::-;9084:6;;9009:55;;-1:-1:-1;;;;9084:6:0;;;;9083:7;:32;;;;-1:-1:-1;9102:13:0;;-1:-1:-1;;;;;9094:21:0;;;9102:13;;9094:21;;9083:32;:47;;;;-1:-1:-1;9119:11:0;;-1:-1:-1;;;9119:11:0;;;;9083:47;9079:455;;;9178:12;;9155:20;:35;9151:119;;;-1:-1:-1;9238:12:0;;9151:119;9288:38;9305:20;9288:16;:38::i;:::-;9374:21;9417:22;;9414:105;;9464:35;9477:21;9464:12;:35::i;:::-;9132:402;9079:455;8472:1073;8434:1111;9555:30;9570:4;9575:2;9578:6;9555:14;:30::i;:::-;8063:1530;;;:::o;1251:190::-;1337:7;1373:12;1365:6;;;;1357:29;;;;-1:-1:-1;;;1357:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1397:9:0;1409:5;1413:1;1409;:5;:::i;:::-;1397:17;1251:190;-1:-1:-1;;;;;1251:190:0:o;14143:471::-;14202:7;14211;14220;14229;14238;14247;14268:23;14293:12;14307:13;14324:42;14336:7;14345:9;;14356;;14324:11;:42::i;:::-;14267:99;;;;;;14377:19;14400:10;:8;:10::i;:::-;14377:33;;14422:15;14439:23;14464:12;14480:46;14492:7;14501:4;14507:5;14514:11;14480;:46::i;:::-;14421:105;;-1:-1:-1;14421:105:0;-1:-1:-1;14421:105:0;-1:-1:-1;14577:15:0;;-1:-1:-1;14594:4:0;;-1:-1:-1;14600:5:0;;-1:-1:-1;;;;;14143:471:0;;;;;;;:::o;1107:136::-;1165:7;1192:43;1196:1;1199;1192:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1185:50;1107:136;-1:-1:-1;;;1107:136:0:o;920:179::-;978:7;;1010:5;1014:1;1010;:5;:::i;:::-;998:17;;1039:1;1034;:6;;1026:46;;;;-1:-1:-1;;;1026:46:0;;8226:2:1;1026:46:0;;;8208:21:1;8265:2;8245:18;;;8238:30;8304:29;8284:18;;;8277:57;8351:18;;1026:46:0;8024:351:1;12833:212:0;12886:19;12909:10;:8;:10::i;:::-;12886:33;-1:-1:-1;12930:13:0;12946:22;:5;12886:33;12946:9;:22::i;:::-;13020:4;13004:22;;;;:7;:22;;;;;;12930:38;;-1:-1:-1;13004:33:0;;12930:38;13004:26;:33::i;:::-;12995:4;12979:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;12833:212:0:o;13053:147::-;13131:7;;:17;;13143:4;13131:11;:17::i;:::-;13121:7;:27;13172:10;;:20;;13187:4;13172:14;:20::i;:::-;13159:10;:33;-1:-1:-1;;13053:147:0:o;10100:97::-;10157:15;;:32;;-1:-1:-1;;;;;10157:15:0;;;;:32;;;;;10182:6;;10157:15;:32;:15;:32;10182:6;10157:15;:32;;;;;;;;;;;;;;;;;;;7458:254;7525:7;7564;;7553;:18;;7545:73;;;;-1:-1:-1;;;7545:73:0;;7412:2:1;7545:73:0;;;7394:21:1;7451:2;7431:18;;;7424:30;7490:34;7470:18;;;7463:62;-1:-1:-1;;;7541:18:1;;;7534:40;7591:19;;7545:73:0;7210:406:1;7545:73:0;7629:19;7652:10;:8;:10::i;:::-;7629:33;-1:-1:-1;7680:24:0;:7;7629:33;1703:132;1761:7;1788:39;1792:1;1795;1788:39;;;;;;;;;;;;;;;;;:3;:39::i;1449:246::-;1507:7;1531:6;1527:47;;-1:-1:-1;1561:1:0;1554:8;;1527:47;1584:9;1596:5;1600:1;1596;:5;:::i;:::-;1584:17;-1:-1:-1;1629:1:0;1620:5;1624:1;1584:17;1620:5;:::i;:::-;:10;1612:56;;;;-1:-1:-1;;;1612:56:0;;10204:2:1;1612:56:0;;;10186:21:1;10243:2;10223:18;;;10216:30;10282:34;10262:18;;;10255:62;-1:-1:-1;;;10333:18:1;;;10326:31;10374:19;;1612:56:0;10002:397:1;12183:146:0;12277:44;12295:6;12303:9;12314:6;12277:17;:44::i;9601:483::-;4878:6;:13;;-1:-1:-1;;;;4878:13:0;-1:-1:-1;;;4878:13:0;;;9703:16:::1;::::0;;9717:1:::1;9703:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9703:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9703:16:0::1;9679:40;;9748:4;9730;9735:1;9730:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9730:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9774:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9774:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9730:7;;9774:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9764:4;9769:1;9764:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9764:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9839:15:::1;::::0;9807:62:::1;::::0;9824:4:::1;::::0;9839:15:::1;9857:11:::0;9807:8:::1;:62::i;:::-;9880:15;::::0;:196:::1;::::0;-1:-1:-1;;;9880:196:0;;-1:-1:-1;;;;;9880:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9961:11;;9880:15:::1;::::0;10003:4;;10030::::1;::::0;10050:15:::1;::::0;9880:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4914:6:0;:14;;-1:-1:-1;;;;4914:14:0;;;-1:-1:-1;;;;9601:483:0:o;14622:351::-;14715:7;;;;14768:28;14792:3;14768:19;:7;14780:6;14768:11;:19::i;:::-;:23;;:28::i;:::-;14753:43;-1:-1:-1;14807:13:0;14823:29;14848:3;14823:20;:7;14835;14823:11;:20::i;:29::-;14807:45;-1:-1:-1;14863:23:0;14889:28;14807:45;14889:17;:7;14901:4;14889:11;:17::i;:::-;:21;;:28::i;:::-;14863:54;14953:4;;-1:-1:-1;14959:5:0;;-1:-1:-1;14622:351:0;;-1:-1:-1;;;;;14622:351:0:o;15395:163::-;15436:7;15457:15;15474;15493:19;:17;:19::i;:::-;15456:56;;-1:-1:-1;15456:56:0;-1:-1:-1;15530:20:0;15456:56;;15530:11;:20::i;:::-;15523:27;;;;15395:163;:::o;14981:409::-;15091:7;;;;15147:24;:7;15159:11;15147;:24::i;:::-;15129:42;-1:-1:-1;15182:12:0;15197:21;:4;15206:11;15197:8;:21::i;:::-;15182:36;-1:-1:-1;15229:13:0;15245:22;:5;15255:11;15245:9;:22::i;:::-;15229:38;-1:-1:-1;15278:23:0;15304:28;15229:38;15304:17;:7;15316:4;15304:11;:17::i;:28::-;15351:7;;;;-1:-1:-1;15377:4:0;;-1:-1:-1;14981:409:0;;-1:-1:-1;;;;;;;14981:409:0:o;1843:189::-;1929:7;1964:12;1957:5;1949:28;;;;-1:-1:-1;;;1949:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1988:9:0;2000:5;2004:1;2000;:5;:::i;12337:488::-;12436:15;12453:23;12478:12;12492:23;12517:12;12531:13;12548:19;12559:7;12548:10;:19::i;:::-;-1:-1:-1;;;;;12596:15:0;;;;;;:7;:15;;;;;;12435:132;;-1:-1:-1;12435:132:0;;-1:-1:-1;12435:132:0;;-1:-1:-1;12435:132:0;-1:-1:-1;12435:132:0;-1:-1:-1;12435:132:0;-1:-1:-1;12596:28:0;;12435:132;12596:19;:28::i;:::-;-1:-1:-1;;;;;12578:15:0;;;;;;;:7;:15;;;;;;:46;;;;12656:18;;;;;;;:39;;12679:15;12656:22;:39::i;:::-;-1:-1:-1;;;;;12635:18:0;;;;;;:7;:18;;;;;:60;12707:16;12717:5;12707:9;:16::i;:::-;12734:23;12746:4;12752;12734:11;:23::i;:::-;12790:9;-1:-1:-1;;;;;12773:44:0;12782:6;-1:-1:-1;;;;;12773:44:0;;12801:15;12773:44;;;;13562:25:1;;13550:2;13535:18;;13416:177;12773:44:0;;;;;;;;12424:401;;;;;;12337:488;;;:::o;15566:262::-;15663:7;;15699;;15616;;;;15737:20;15663:7;15699;15737:11;:20::i;:::-;15727:7;:30;15723:61;;;15767:7;;15776;;15759:25;;;;;;15566:262;;:::o;15723:61::-;15803:7;;15812;;-1:-1:-1;15566:262:0;-1:-1:-1;15566:262:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:247::-;212:6;265:2;253:9;244:7;240:23;236:32;233:52;;;281:1;278;271:12;233:52;320:9;307:23;339:31;364:5;339:31;:::i;405:251::-;475:6;528:2;516:9;507:7;503:23;499:32;496:52;;;544:1;541;534:12;496:52;576:9;570:16;595:31;620:5;595:31;:::i;661:388::-;729:6;737;790:2;778:9;769:7;765:23;761:32;758:52;;;806:1;803;796:12;758:52;845:9;832:23;864:31;889:5;864:31;:::i;:::-;914:5;-1:-1:-1;971:2:1;956:18;;943:32;984:33;943:32;984:33;:::i;:::-;1036:7;1026:17;;;661:388;;;;;:::o;1054:456::-;1131:6;1139;1147;1200:2;1188:9;1179:7;1175:23;1171:32;1168:52;;;1216:1;1213;1206:12;1168:52;1255:9;1242:23;1274:31;1299:5;1274:31;:::i;:::-;1324:5;-1:-1:-1;1381:2:1;1366:18;;1353:32;1394:33;1353:32;1394:33;:::i;:::-;1054:456;;1446:7;;-1:-1:-1;;;1500:2:1;1485:18;;;;1472:32;;1054:456::o;1515:382::-;1580:6;1588;1641:2;1629:9;1620:7;1616:23;1612:32;1609:52;;;1657:1;1654;1647:12;1609:52;1696:9;1683:23;1715:31;1740:5;1715:31;:::i;:::-;1765:5;-1:-1:-1;1822:2:1;1807:18;;1794:32;1835:30;1794:32;1835:30;:::i;1902:315::-;1970:6;1978;2031:2;2019:9;2010:7;2006:23;2002:32;1999:52;;;2047:1;2044;2037:12;1999:52;2086:9;2073:23;2105:31;2130:5;2105:31;:::i;:::-;2155:5;2207:2;2192:18;;;;2179:32;;-1:-1:-1;;;1902:315:1:o;2222:1132::-;2306:6;2337:2;2380;2368:9;2359:7;2355:23;2351:32;2348:52;;;2396:1;2393;2386:12;2348:52;2436:9;2423:23;2465:18;2506:2;2498:6;2495:14;2492:34;;;2522:1;2519;2512:12;2492:34;2560:6;2549:9;2545:22;2535:32;;2605:7;2598:4;2594:2;2590:13;2586:27;2576:55;;2627:1;2624;2617:12;2576:55;2663:2;2650:16;2685:2;2681;2678:10;2675:36;;;2691:18;;:::i;:::-;2737:2;2734:1;2730:10;2769:2;2763:9;2832:2;2828:7;2823:2;2819;2815:11;2811:25;2803:6;2799:38;2887:6;2875:10;2872:22;2867:2;2855:10;2852:18;2849:46;2846:72;;;2898:18;;:::i;:::-;2934:2;2927:22;2984:18;;;3018:15;;;;-1:-1:-1;3053:11:1;;;3083;;;3079:20;;3076:33;-1:-1:-1;3073:53:1;;;3122:1;3119;3112:12;3073:53;3144:1;3135:10;;3154:169;3168:2;3165:1;3162:9;3154:169;;;3225:23;3244:3;3225:23;:::i;:::-;3213:36;;3186:1;3179:9;;;;;3269:12;;;;3301;;3154:169;;;-1:-1:-1;3342:6:1;2222:1132;-1:-1:-1;;;;;;;;2222:1132:1:o;3359:241::-;3415:6;3468:2;3456:9;3447:7;3443:23;3439:32;3436:52;;;3484:1;3481;3474:12;3436:52;3523:9;3510:23;3542:28;3564:5;3542:28;:::i;3605:245::-;3672:6;3725:2;3713:9;3704:7;3700:23;3696:32;3693:52;;;3741:1;3738;3731:12;3693:52;3773:9;3767:16;3792:28;3814:5;3792:28;:::i;3855:180::-;3914:6;3967:2;3955:9;3946:7;3942:23;3938:32;3935:52;;;3983:1;3980;3973:12;3935:52;-1:-1:-1;4006:23:1;;3855:180;-1:-1:-1;3855:180:1:o;4040:248::-;4108:6;4116;4169:2;4157:9;4148:7;4144:23;4140:32;4137:52;;;4185:1;4182;4175:12;4137:52;-1:-1:-1;;4208:23:1;;;4278:2;4263:18;;;4250:32;;-1:-1:-1;4040:248:1:o;4293:306::-;4381:6;4389;4397;4450:2;4438:9;4429:7;4425:23;4421:32;4418:52;;;4466:1;4463;4456:12;4418:52;4495:9;4489:16;4479:26;;4545:2;4534:9;4530:18;4524:25;4514:35;;4589:2;4578:9;4574:18;4568:25;4558:35;;4293:306;;;;;:::o;6204:597::-;6316:4;6345:2;6374;6363:9;6356:21;6406:6;6400:13;6449:6;6444:2;6433:9;6429:18;6422:34;6474:1;6484:140;6498:6;6495:1;6492:13;6484:140;;;6593:14;;;6589:23;;6583:30;6559:17;;;6578:2;6555:26;6548:66;6513:10;;6484:140;;;6642:6;6639:1;6636:13;6633:91;;;6712:1;6707:2;6698:6;6687:9;6683:22;6679:31;6672:42;6633:91;-1:-1:-1;6785:2:1;6764:15;-1:-1:-1;;6760:29:1;6745:45;;;;6792:2;6741:54;;6204:597;-1:-1:-1;;;6204:597:1:o;8812:410::-;9014:2;8996:21;;;9053:2;9033:18;;;9026:30;9092:34;9087:2;9072:18;;9065:62;-1:-1:-1;;;9158:2:1;9143:18;;9136:44;9212:3;9197:19;;8812:410::o;10404:356::-;10606:2;10588:21;;;10625:18;;;10618:30;10684:34;10679:2;10664:18;;10657:62;10751:2;10736:18;;10404:356::o;13598:980::-;13860:4;13908:3;13897:9;13893:19;13939:6;13928:9;13921:25;13965:2;14003:6;13998:2;13987:9;13983:18;13976:34;14046:3;14041:2;14030:9;14026:18;14019:31;14070:6;14105;14099:13;14136:6;14128;14121:22;14174:3;14163:9;14159:19;14152:26;;14213:2;14205:6;14201:15;14187:29;;14234:1;14244:195;14258:6;14255:1;14252:13;14244:195;;;14323:13;;-1:-1:-1;;;;;14319:39:1;14307:52;;14414:15;;;;14379:12;;;;14355:1;14273:9;14244:195;;;-1:-1:-1;;;;;;;14495:32:1;;;;14490:2;14475:18;;14468:60;-1:-1:-1;;;14559:3:1;14544:19;14537:35;14456:3;13598:980;-1:-1:-1;;;13598:980:1:o;15025:128::-;15065:3;15096:1;15092:6;15089:1;15086:13;15083:39;;;15102:18;;:::i;:::-;-1:-1:-1;15138:9:1;;15025:128::o;15158:217::-;15198:1;15224;15214:132;;15268:10;15263:3;15259:20;15256:1;15249:31;15303:4;15300:1;15293:15;15331:4;15328:1;15321:15;15214:132;-1:-1:-1;15360:9:1;;15158:217::o;15380:168::-;15420:7;15486:1;15482;15478:6;15474:14;15471:1;15468:21;15463:1;15456:9;15449:17;15445:45;15442:71;;;15493:18;;:::i;:::-;-1:-1:-1;15533:9:1;;15380:168::o;15553:125::-;15593:4;15621:1;15618;15615:8;15612:34;;;15626:18;;:::i;:::-;-1:-1:-1;15663:9:1;;15553:125::o;15683:135::-;15722:3;-1:-1:-1;;15743:17:1;;15740:43;;;15763:18;;:::i;:::-;-1:-1:-1;15810:1:1;15799:13;;15683:135::o;15823:127::-;15884:10;15879:3;15875:20;15872:1;15865:31;15915:4;15912:1;15905:15;15939:4;15936:1;15929:15;15955:127;16016:10;16011:3;16007:20;16004:1;15997:31;16047:4;16044:1;16037:15;16071:4;16068:1;16061:15;16087:127;16148:10;16143:3;16139:20;16136:1;16129:31;16179:4;16176:1;16169:15;16203:4;16200:1;16193:15;16219:131;-1:-1:-1;;;;;16294:31:1;;16284:42;;16274:70;;16340:1;16337;16330:12;16355:118;16441:5;16434:13;16427:21;16420:5;16417:32;16407:60;;16463:1;16460;16453:12

Swarm Source

ipfs://6bca70f88fbebdf197e31bced158f8aba6f4d130a5fc22e5287a21eee8bdce5d

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.