ETH Price: $3,094.16 (-0.29%)
Gas: 3 Gwei

Contract

0x69478bdCDf5606E5Bc109B8860FA26E7e404be98
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve171033402023-04-22 17:22:11445 days ago1682184131IN
0x69478bdC...7e404be98
0 ETH0.0010026841.19172506
Transfer163069602022-12-31 19:53:35557 days ago1672516415IN
0x69478bdC...7e404be98
0 ETH0.0004445814.3770465
Approve163069532022-12-31 19:52:11557 days ago1672516331IN
0x69478bdC...7e404be98
0 ETH0.0007517816.1236636
Transfer162671622022-12-26 6:33:47562 days ago1672036427IN
0x69478bdC...7e404be98
0 ETH0.0004872811.93711527
Approve161729872022-12-13 3:06:23576 days ago1670900783IN
0x69478bdC...7e404be98
0 ETH0.0003355812.64749399
Approve161729862022-12-13 3:05:59576 days ago1670900759IN
0x69478bdC...7e404be98
0 ETH0.0006080813.09573009
Approve155934772022-09-23 3:52:11657 days ago1663905131IN
0x69478bdC...7e404be98
0 ETH0.000258815.55078583
Approve155722542022-09-20 4:15:59660 days ago1663647359IN
0x69478bdC...7e404be98
0 ETH0.000378828.12478242
Approve155682072022-09-19 14:39:11660 days ago1663598351IN
0x69478bdC...7e404be98
0 ETH0.0006186813.26907775
Approve155681462022-09-19 14:26:47660 days ago1663597607IN
0x69478bdC...7e404be98
0 ETH0.0008385917.98559723
Approve155491682022-09-16 22:33:23663 days ago1663367603IN
0x69478bdC...7e404be98
0 ETH0.000334627.17673629
Approve155491102022-09-16 22:21:35663 days ago1663366895IN
0x69478bdC...7e404be98
0 ETH0.000358487.68843132
Approve155463962022-09-16 13:12:35663 days ago1663333955IN
0x69478bdC...7e404be98
0 ETH0.000415368.90838284
Approve155430412022-09-16 1:50:11664 days ago1663293011IN
0x69478bdC...7e404be98
0 ETH0.000332157.12373386
Approve155427472022-09-16 0:50:23664 days ago1663289423IN
0x69478bdC...7e404be98
0 ETH0.000336857.22454965
Approve155427322022-09-16 0:47:11664 days ago1663289231IN
0x69478bdC...7e404be98
0 ETH0.000349547.49672816
Approve155426792022-09-16 0:36:23664 days ago1663288583IN
0x69478bdC...7e404be98
0 ETH0.00042369.08507559
Approve155425782022-09-16 0:14:59664 days ago1663287299IN
0x69478bdC...7e404be98
0 ETH0.000307926.60415315
Approve155425542022-09-16 0:10:11664 days ago1663287011IN
0x69478bdC...7e404be98
0 ETH0.000318626.83365262
Approve155425322022-09-16 0:05:47664 days ago1663286747IN
0x69478bdC...7e404be98
0 ETH0.000439539.42677536
Approve155422182022-09-15 23:01:11664 days ago1663282871IN
0x69478bdC...7e404be98
0 ETH0.0004898310.50569765
Approve155420262022-09-15 22:22:23664 days ago1663280543IN
0x69478bdC...7e404be98
0 ETH0.000347717.45749355
Approve155414032022-09-15 20:15:35664 days ago1663272935IN
0x69478bdC...7e404be98
0 ETH0.0004569.78003929
Approve155405602022-09-15 17:24:59664 days ago1663262699IN
0x69478bdC...7e404be98
0 ETH0.0008666418.58726841
Approve155402252022-09-15 16:16:47664 days ago1663258607IN
0x69478bdC...7e404be98
0 ETH0.0008824818.92698378
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
161745082022-12-13 8:11:59575 days ago1670919119
0x69478bdC...7e404be98
0.00003843 ETH
161745082022-12-13 8:11:59575 days ago1670919119
0x69478bdC...7e404be98
0.00003843 ETH
156987822022-10-07 21:06:47642 days ago1665176807
0x69478bdC...7e404be98
0.00011519 ETH
156987822022-10-07 21:06:47642 days ago1665176807
0x69478bdC...7e404be98
0.00011519 ETH
156096942022-09-25 10:09:11654 days ago1664100551
0x69478bdC...7e404be98
0.00051055 ETH
156096942022-09-25 10:09:11654 days ago1664100551
0x69478bdC...7e404be98
0.00051055 ETH
155934872022-09-23 3:54:11657 days ago1663905251
0x69478bdC...7e404be98
0.00007905 ETH
155934872022-09-23 3:54:11657 days ago1663905251
0x69478bdC...7e404be98
0.00007905 ETH
155722622022-09-20 4:17:35660 days ago1663647455
0x69478bdC...7e404be98
0.00039546 ETH
155722622022-09-20 4:17:35660 days ago1663647455
0x69478bdC...7e404be98
0.00039546 ETH
155707122022-09-19 23:05:59660 days ago1663628759
0x69478bdC...7e404be98
0.00065733 ETH
155707122022-09-19 23:05:59660 days ago1663628759
0x69478bdC...7e404be98
0.00065733 ETH
155681492022-09-19 14:27:23660 days ago1663597643
0x69478bdC...7e404be98
0.0003463 ETH
155681492022-09-19 14:27:23660 days ago1663597643
0x69478bdC...7e404be98
0.0003463 ETH
155520992022-09-17 8:25:23662 days ago1663403123
0x69478bdC...7e404be98
0.00097054 ETH
155520992022-09-17 8:25:23662 days ago1663403123
0x69478bdC...7e404be98
0.00097054 ETH
155498692022-09-17 0:55:11663 days ago1663376111
0x69478bdC...7e404be98
0.00019014 ETH
155498692022-09-17 0:55:11663 days ago1663376111
0x69478bdC...7e404be98
0.00019014 ETH
155491742022-09-16 22:34:35663 days ago1663367675
0x69478bdC...7e404be98
0.00068192 ETH
155491742022-09-16 22:34:35663 days ago1663367675
0x69478bdC...7e404be98
0.00068192 ETH
155464202022-09-16 13:17:23663 days ago1663334243
0x69478bdC...7e404be98
0.00007257 ETH
155464202022-09-16 13:17:23663 days ago1663334243
0x69478bdC...7e404be98
0.00007257 ETH
155464202022-09-16 13:17:23663 days ago1663334243
0x69478bdC...7e404be98
0.00097462 ETH
155464202022-09-16 13:17:23663 days ago1663334243
0x69478bdC...7e404be98
0.00097462 ETH
155437702022-09-16 4:18:23664 days ago1663301903
0x69478bdC...7e404be98
0.00028218 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KamonKsho

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-09-13
*/

// /$$   /$$  /$$$$$$  /$$      /$$  /$$$$$$  /$$   /$$      
//| $$  /$$/ /$$__  $$| $$$    /$$$ /$$__  $$| $$$ | $$      
//| $$ /$$/ | $$  \ $$| $$$$  /$$$$| $$  \ $$| $$$$| $$      
//| $$$$$/  | $$$$$$$$| $$ $$/$$ $$| $$  | $$| $$ $$ $$      
//| $$  $$  | $$__  $$| $$  $$$| $$| $$  | $$| $$  $$$$      
//| $$\  $$ | $$  | $$| $$\  $ | $$| $$  | $$| $$\  $$$      
//| $$ \  $$| $$  | $$| $$ \/  | $$|  $$$$$$/| $$ \  $$      
//|__/  \__/|__/  |__/|__/     |__/ \______/ |__/  \__/      
                                                           
                                                           
                                                           
// /$$   /$$  /$$$$$$  /$$   /$$  /$$$$$$                    
//| $$  /$$/ /$$__  $$| $$  | $$ /$$__  $$                   
//| $$ /$$/ | $$  \__/| $$  | $$| $$  \ $$                   
//| $$$$$/  |  $$$$$$ | $$$$$$$$| $$  | $$                   
//| $$  $$   \____  $$| $$__  $$| $$  | $$                   
//| $$\  $$  /$$  \ $$| $$  | $$| $$  | $$                   
//| $$ \  $$|  $$$$$$/| $$  | $$|  $$$$$$/                   
//|__/  \__/ \______/ |__/  |__/ \______/                    
                                                           
                                         


//            ちりも積もれば山となる
//    Even dust, when piled up, can become a mountain
             

// https://medium.com/@MeikoKaji
//    https://kamontoken.com
//    https://t.me/KamonToken

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.17;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}
contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}
contract KamonKsho is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "Kamon";
    string private constant _symbol = "Ksho";
    uint8 private constant _decimals = 9;
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 4200000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 2;
    uint256 private _taxFeeOnBuy = 5;
    uint256 private _redisFeeOnSell = 2;
    uint256 private _taxFeeOnSell = 5;
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
    mapping(address => bool) public bots;
    mapping (address => bool) public preTrader;
    mapping(address => uint256) private cooldown;
    address payable private _marketingAddress = payable(0x46b473d3DA2C84A4b58F456E6BD7e867Fce1c598);
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    uint256 public _maxTxAmount = 84000000000 * 10**9;
    uint256 public _maxWalletSize = 84000000000 * 10**9;
    uint256 public _swapTokensAtAmount = 42000000 * 10**9;
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor() {
        _rOwned[_msgSender()] = _rTotal;
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingAddress] = true;
        preTrader[owner()] = true;
        preTrader[address(0x9bec2F18479b854521e62855F9BeFad4110De1E7)] = true;
        preTrader[address(0x80e14bF55A682a1681ab58e1B5837466EF8Fd299)] = true;
        preTrader[address(0x72b80CF54f83B940DeEC4B0d7961d8a48EE2626d)] = true;
        preTrader[address(0x36C8b6C8EaF95fD84fe477c33A72B5ba486aB233)] = true;
        preTrader[address(0xA433CA98387442d704a0521fAb16bF0e363cB5Eb)] = true;
        preTrader[address(0x895cde328c2329249401E32e9AB203FF9db8c923)] = true;
        preTrader[address(0xA53766f9A562C6fb7744D12775B0652caabdBD16)] = true;
        preTrader[address(0xC18b46947e6946E7038E7c4BD84d09930e42AC80)] = true;
        
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
    function name() public pure returns (string memory) {
        return _name;
    }
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }
    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }
    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
        _redisFee = 0;
        _taxFee = 0;
    }
    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if (from != owner() && to != owner()) {
            if (!tradingOpen) {
                require(preTrader[from], "TOKEN: This account cannot send tokens until trading is enabled");
            }
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        bool takeFee = true;
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
        }
        _tokenTransfer(from, to, amount, takeFee);
    }
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }
    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }
    function manualswap() external {
        require(_msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    function manualsend() external {
        require(_msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }
    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }
    receive() external payable {}
    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }
    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }
    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }
    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
    function allowPreTrading(address account, bool allowed) public onlyOwner {
        require(preTrader[account] != allowed, "TOKEN: Already enabled.");
        preTrader[account] = allowed;
    }
}

//このプロジェクトはあなたに何百万ものお金を稼ぎます


// 新出板
// 朝に
// 友来の
// 雪が降る

// はぐれ犬の
// とうぼうえ
// 下駄の
// おときしむ

// いんなおもさ
// みつめて歩く
// 闇を抱きしめる
// ジャノメノカサひとつ

// いのちの道を
// ゆくおんな
// 涙はそうに
// ステマシタ

// ふりむいた
// かわに
// トウザカル
// 旅の島

// いっってたつるは
// ウゴカス
// 内田
// 雨と風

// 消えた水にも
// ほつれがみうつし
// 涙さえ見せない
// ジャノメノカサひとつ

// 裏見の道を
// ゆくおんな
// こころはそうに
// ステマシタ

// ぎりもなさけも
// 涙も夢の
// きのうも あしたも
// へんのないことば

// 裏見の川に
// みをゆだねって
// 本間はそうに
// ステマシタ

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":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"name":"allowPreTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"preTrader","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001b68e3aeb5737240a000006000196200049f565b6200002990600019620004c2565b6006556002600881905560056009819055600a829055600b819055600c829055600d819055600e91909155600f55601380546001600160a01b0319167346b473d3da2c84a4b58f456e6bd7e867fce1c5981790556015805461ffff60a81b1916600160b01b17905568048dbbf2f2ecd000006016819055601755669536c708910000601855348015620000bb57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa15801562000179573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019f9190620004ea565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002139190620004ea565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000261573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002879190620004ea565b601580546001600160a01b0319166001600160a01b039283161790556000805482168152600560209081526040808320805460ff1990811660019081179092553085528285208054821683179055601354861685528285208054821683179055845490951684526011835281842080548616821790557f10adc871fc66e0a054d9f759cdf92e29f0eb1427a90df5a588e4f8bb3bd52f5480548616821790557fc7f5b6578a8d2e3cf0a73b9bb325d44f495942a9390d77efe581165c4b08f6be80548616821790557fe61073e1d7ff07015af9db6cf80fdddaadb67d14348822c3fb013d6ab457bacd80548616821790557fc16be2e563cb913a83ae4cbc89e5e9ee303ad0e52bafa07be9b20b94162bbb5980548616821790557fe303d52994442c552eed70fba279c11aa43fb37ae984683eb9d1f11db21649eb80548616821790557f332acebc9111ee446d458c73f98171745a198e50eeb860d7966290c700223c6080548616821790557f0edc627b2199d54da0133012b1e037e47edd51398064fa1aff1f6bb97b35f178805486168217905573c18b46947e6946e7038e7c4bd84d09930e42ac8084527fcccf116fea27b0d7524cac5d7a7f68477710a7e8adf34ad24e1b3bfda5bc4532805490951617909355915168e3aeb5737240a00000815233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3506200051c565b600082620004bd57634e487b7160e01b600052601260045260246000fd5b500690565b81810381811115620004e457634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215620004fd57600080fd5b81516001600160a01b03811681146200051557600080fd5b9392505050565b611c34806200052c6000396000f3fe6080604052600436106101c55760003560e01c8063715018a6116100f757806398a5c31511610095578063bfd7928411610064578063bfd7928414610524578063c3c8cd8014610554578063dd62ed3e14610569578063ea1644d5146105af57600080fd5b806398a5c31514610494578063a2a957bb146104b4578063a9059cbb146104d4578063bdd795ef146104f457600080fd5b80638da5cb5b116100d15780638da5cb5b146104135780638f70ccf7146104315780638f9a55c01461045157806395d89b411461046757600080fd5b8063715018a6146103c857806374010ece146103dd5780637d1db4a5146103fd57600080fd5b80632fd689e3116101645780636b9990531161013e5780636b999053146103535780636d8aa8f8146103735780636fc3eaec1461039357806370a08231146103a857600080fd5b80632fd689e314610301578063313ce5671461031757806349bd5a5e1461033357600080fd5b80631694505e116101a05780631694505e1461026357806318160ddd1461029b57806323b872dd146102c15780632f9c4569146102e157600080fd5b8062b8cf2a146101d157806306fdde03146101f3578063095ea7b31461023357600080fd5b366101cc57005b600080fd5b3480156101dd57600080fd5b506101f16101ec3660046117ee565b6105cf565b005b3480156101ff57600080fd5b5060408051808201909152600581526425b0b6b7b760d91b60208201525b60405161022a91906118b3565b60405180910390f35b34801561023f57600080fd5b5061025361024e366004611901565b61066e565b604051901515815260200161022a565b34801561026f57600080fd5b50601454610283906001600160a01b031681565b6040516001600160a01b03909116815260200161022a565b3480156102a757600080fd5b5068e3aeb5737240a000005b60405190815260200161022a565b3480156102cd57600080fd5b506102536102dc36600461192d565b610685565b3480156102ed57600080fd5b506101f16102fc36600461197e565b6106ee565b34801561030d57600080fd5b506102b360185481565b34801561032357600080fd5b506040516009815260200161022a565b34801561033f57600080fd5b50601554610283906001600160a01b031681565b34801561035f57600080fd5b506101f161036e3660046119b3565b6107b3565b34801561037f57600080fd5b506101f161038e3660046119d0565b6107fe565b34801561039f57600080fd5b506101f1610846565b3480156103b457600080fd5b506102b36103c33660046119b3565b610873565b3480156103d457600080fd5b506101f1610895565b3480156103e957600080fd5b506101f16103f83660046119eb565b610909565b34801561040957600080fd5b506102b360165481565b34801561041f57600080fd5b506000546001600160a01b0316610283565b34801561043d57600080fd5b506101f161044c3660046119d0565b610938565b34801561045d57600080fd5b506102b360175481565b34801561047357600080fd5b506040805180820190915260048152634b73686f60e01b602082015261021d565b3480156104a057600080fd5b506101f16104af3660046119eb565b610980565b3480156104c057600080fd5b506101f16104cf366004611a04565b6109af565b3480156104e057600080fd5b506102536104ef366004611901565b6109ed565b34801561050057600080fd5b5061025361050f3660046119b3565b60116020526000908152604090205460ff1681565b34801561053057600080fd5b5061025361053f3660046119b3565b60106020526000908152604090205460ff1681565b34801561056057600080fd5b506101f16109fa565b34801561057557600080fd5b506102b3610584366004611a36565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105bb57600080fd5b506101f16105ca3660046119eb565b610a30565b6000546001600160a01b031633146106025760405162461bcd60e51b81526004016105f990611a6f565b60405180910390fd5b60005b815181101561066a5760016010600084848151811061062657610626611aa4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061066281611ad0565b915050610605565b5050565b600061067b338484610a5f565b5060015b92915050565b6000610692848484610b83565b6106e484336106df85604051806060016040528060288152602001611bd7602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611086565b610a5f565b5060019392505050565b6000546001600160a01b031633146107185760405162461bcd60e51b81526004016105f990611a6f565b6001600160a01b03821660009081526011602052604090205481151560ff9091161515036107885760405162461bcd60e51b815260206004820152601760248201527f544f4b454e3a20416c726561647920656e61626c65642e00000000000000000060448201526064016105f9565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107dd5760405162461bcd60e51b81526004016105f990611a6f565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146108285760405162461bcd60e51b81526004016105f990611a6f565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b03161461086657600080fd5b47610870816110c0565b50565b6001600160a01b03811660009081526002602052604081205461067f906110fa565b6000546001600160a01b031633146108bf5760405162461bcd60e51b81526004016105f990611a6f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109335760405162461bcd60e51b81526004016105f990611a6f565b601655565b6000546001600160a01b031633146109625760405162461bcd60e51b81526004016105f990611a6f565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109aa5760405162461bcd60e51b81526004016105f990611a6f565b601855565b6000546001600160a01b031633146109d95760405162461bcd60e51b81526004016105f990611a6f565b600893909355600a91909155600955600b55565b600061067b338484610b83565b6013546001600160a01b0316336001600160a01b031614610a1a57600080fd5b6000610a2530610873565b90506108708161117e565b6000546001600160a01b03163314610a5a5760405162461bcd60e51b81526004016105f990611a6f565b601755565b6001600160a01b038316610ac15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105f9565b6001600160a01b038216610b225760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105f9565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610be75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105f9565b6001600160a01b038216610c495760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105f9565b60008111610cab5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105f9565b6000546001600160a01b03848116911614801590610cd757506000546001600160a01b03838116911614155b15610f7957601554600160a01b900460ff16610d7b576001600160a01b03831660009081526011602052604090205460ff16610d7b5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016105f9565b601654811115610dcd5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016105f9565b6001600160a01b03831660009081526010602052604090205460ff16158015610e0f57506001600160a01b03821660009081526010602052604090205460ff16155b610e675760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016105f9565b6015546001600160a01b03838116911614610eec5760175481610e8984610873565b610e939190611ae9565b10610eec5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016105f9565b6000610ef730610873565b601854601654919250821015908210610f105760165491505b808015610f275750601554600160a81b900460ff16155b8015610f4157506015546001600160a01b03868116911614155b8015610f565750601554600160b01b900460ff165b15610f7657610f648261117e565b478015610f7457610f74476110c0565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610fbb57506001600160a01b03831660009081526005602052604090205460ff165b80610fed57506015546001600160a01b03858116911614801590610fed57506015546001600160a01b03848116911614155b15610ffa57506000611074565b6015546001600160a01b03858116911614801561102557506014546001600160a01b03848116911614155b1561103757600854600c55600954600d555b6015546001600160a01b03848116911614801561106257506014546001600160a01b03858116911614155b1561107457600a54600c55600b54600d555b611080848484846112f8565b50505050565b600081848411156110aa5760405162461bcd60e51b81526004016105f991906118b3565b5060006110b78486611afc565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561066a573d6000803e3d6000fd5b60006006548211156111615760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105f9565b600061116b611326565b90506111778382611349565b9392505050565b6015805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111c6576111c6611aa4565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561121f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112439190611b0f565b8160018151811061125657611256611aa4565b6001600160a01b03928316602091820292909201015260145461127c9130911684610a5f565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906112b5908590600090869030904290600401611b2c565b600060405180830381600087803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806113055761130561138b565b6113108484846113b9565b8061108057611080600e54600c55600f54600d55565b60008060006113336114b0565b90925090506113428282611349565b9250505090565b600061117783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f2565b600c5415801561139b5750600d54155b156113a257565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806113cb87611520565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506113fd908761157d565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461142c90866115bf565b6001600160a01b03891660009081526002602052604090205561144e8161161e565b6114588483611668565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161149d91815260200190565b60405180910390a3505050505050505050565b600654600090819068e3aeb5737240a000006114cc8282611349565b8210156114e95750506006549268e3aeb5737240a0000092509050565b90939092509050565b600081836115135760405162461bcd60e51b81526004016105f991906118b3565b5060006110b78486611b9d565b600080600080600080600080600061153d8a600c54600d5461168c565b925092509250600061154d611326565b905060008060006115608e8787876116e1565b919e509c509a509598509396509194505050505091939550919395565b600061117783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611086565b6000806115cc8385611ae9565b9050838110156111775760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105f9565b6000611628611326565b905060006116368383611731565b3060009081526002602052604090205490915061165390826115bf565b30600090815260026020526040902055505050565b600654611675908361157d565b60065560075461168590826115bf565b6007555050565b60008080806116a660646116a08989611731565b90611349565b905060006116b960646116a08a89611731565b905060006116d1826116cb8b8661157d565b9061157d565b9992985090965090945050505050565b60008080806116f08886611731565b905060006116fe8887611731565b9050600061170c8888611731565b9050600061171e826116cb868661157d565b939b939a50919850919650505050505050565b6000826000036117435750600061067f565b600061174f8385611bbf565b90508261175c8583611b9d565b146111775760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105f9565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461087057600080fd5b80356117e9816117c9565b919050565b6000602080838503121561180157600080fd5b823567ffffffffffffffff8082111561181957600080fd5b818501915085601f83011261182d57600080fd5b81358181111561183f5761183f6117b3565b8060051b604051601f19603f83011681018181108582111715611864576118646117b3565b60405291825284820192508381018501918883111561188257600080fd5b938501935b828510156118a757611898856117de565b84529385019392850192611887565b98975050505050505050565b600060208083528351808285015260005b818110156118e0578581018301518582016040015282016118c4565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561191457600080fd5b823561191f816117c9565b946020939093013593505050565b60008060006060848603121561194257600080fd5b833561194d816117c9565b9250602084013561195d816117c9565b929592945050506040919091013590565b803580151581146117e957600080fd5b6000806040838503121561199157600080fd5b823561199c816117c9565b91506119aa6020840161196e565b90509250929050565b6000602082840312156119c557600080fd5b8135611177816117c9565b6000602082840312156119e257600080fd5b6111778261196e565b6000602082840312156119fd57600080fd5b5035919050565b60008060008060808587031215611a1a57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611a4957600080fd5b8235611a54816117c9565b91506020830135611a64816117c9565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611ae257611ae2611aba565b5060010190565b8082018082111561067f5761067f611aba565b8181038181111561067f5761067f611aba565b600060208284031215611b2157600080fd5b8151611177816117c9565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b7c5784516001600160a01b031683529383019391830191600101611b57565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611bba57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761067f5761067f611aba56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122026ebeb95c8884d9ff415f889695f4cade97796d18cd6fd8de85833537b27823d64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101c55760003560e01c8063715018a6116100f757806398a5c31511610095578063bfd7928411610064578063bfd7928414610524578063c3c8cd8014610554578063dd62ed3e14610569578063ea1644d5146105af57600080fd5b806398a5c31514610494578063a2a957bb146104b4578063a9059cbb146104d4578063bdd795ef146104f457600080fd5b80638da5cb5b116100d15780638da5cb5b146104135780638f70ccf7146104315780638f9a55c01461045157806395d89b411461046757600080fd5b8063715018a6146103c857806374010ece146103dd5780637d1db4a5146103fd57600080fd5b80632fd689e3116101645780636b9990531161013e5780636b999053146103535780636d8aa8f8146103735780636fc3eaec1461039357806370a08231146103a857600080fd5b80632fd689e314610301578063313ce5671461031757806349bd5a5e1461033357600080fd5b80631694505e116101a05780631694505e1461026357806318160ddd1461029b57806323b872dd146102c15780632f9c4569146102e157600080fd5b8062b8cf2a146101d157806306fdde03146101f3578063095ea7b31461023357600080fd5b366101cc57005b600080fd5b3480156101dd57600080fd5b506101f16101ec3660046117ee565b6105cf565b005b3480156101ff57600080fd5b5060408051808201909152600581526425b0b6b7b760d91b60208201525b60405161022a91906118b3565b60405180910390f35b34801561023f57600080fd5b5061025361024e366004611901565b61066e565b604051901515815260200161022a565b34801561026f57600080fd5b50601454610283906001600160a01b031681565b6040516001600160a01b03909116815260200161022a565b3480156102a757600080fd5b5068e3aeb5737240a000005b60405190815260200161022a565b3480156102cd57600080fd5b506102536102dc36600461192d565b610685565b3480156102ed57600080fd5b506101f16102fc36600461197e565b6106ee565b34801561030d57600080fd5b506102b360185481565b34801561032357600080fd5b506040516009815260200161022a565b34801561033f57600080fd5b50601554610283906001600160a01b031681565b34801561035f57600080fd5b506101f161036e3660046119b3565b6107b3565b34801561037f57600080fd5b506101f161038e3660046119d0565b6107fe565b34801561039f57600080fd5b506101f1610846565b3480156103b457600080fd5b506102b36103c33660046119b3565b610873565b3480156103d457600080fd5b506101f1610895565b3480156103e957600080fd5b506101f16103f83660046119eb565b610909565b34801561040957600080fd5b506102b360165481565b34801561041f57600080fd5b506000546001600160a01b0316610283565b34801561043d57600080fd5b506101f161044c3660046119d0565b610938565b34801561045d57600080fd5b506102b360175481565b34801561047357600080fd5b506040805180820190915260048152634b73686f60e01b602082015261021d565b3480156104a057600080fd5b506101f16104af3660046119eb565b610980565b3480156104c057600080fd5b506101f16104cf366004611a04565b6109af565b3480156104e057600080fd5b506102536104ef366004611901565b6109ed565b34801561050057600080fd5b5061025361050f3660046119b3565b60116020526000908152604090205460ff1681565b34801561053057600080fd5b5061025361053f3660046119b3565b60106020526000908152604090205460ff1681565b34801561056057600080fd5b506101f16109fa565b34801561057557600080fd5b506102b3610584366004611a36565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105bb57600080fd5b506101f16105ca3660046119eb565b610a30565b6000546001600160a01b031633146106025760405162461bcd60e51b81526004016105f990611a6f565b60405180910390fd5b60005b815181101561066a5760016010600084848151811061062657610626611aa4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061066281611ad0565b915050610605565b5050565b600061067b338484610a5f565b5060015b92915050565b6000610692848484610b83565b6106e484336106df85604051806060016040528060288152602001611bd7602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611086565b610a5f565b5060019392505050565b6000546001600160a01b031633146107185760405162461bcd60e51b81526004016105f990611a6f565b6001600160a01b03821660009081526011602052604090205481151560ff9091161515036107885760405162461bcd60e51b815260206004820152601760248201527f544f4b454e3a20416c726561647920656e61626c65642e00000000000000000060448201526064016105f9565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107dd5760405162461bcd60e51b81526004016105f990611a6f565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146108285760405162461bcd60e51b81526004016105f990611a6f565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b03161461086657600080fd5b47610870816110c0565b50565b6001600160a01b03811660009081526002602052604081205461067f906110fa565b6000546001600160a01b031633146108bf5760405162461bcd60e51b81526004016105f990611a6f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109335760405162461bcd60e51b81526004016105f990611a6f565b601655565b6000546001600160a01b031633146109625760405162461bcd60e51b81526004016105f990611a6f565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109aa5760405162461bcd60e51b81526004016105f990611a6f565b601855565b6000546001600160a01b031633146109d95760405162461bcd60e51b81526004016105f990611a6f565b600893909355600a91909155600955600b55565b600061067b338484610b83565b6013546001600160a01b0316336001600160a01b031614610a1a57600080fd5b6000610a2530610873565b90506108708161117e565b6000546001600160a01b03163314610a5a5760405162461bcd60e51b81526004016105f990611a6f565b601755565b6001600160a01b038316610ac15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105f9565b6001600160a01b038216610b225760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105f9565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610be75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105f9565b6001600160a01b038216610c495760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105f9565b60008111610cab5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105f9565b6000546001600160a01b03848116911614801590610cd757506000546001600160a01b03838116911614155b15610f7957601554600160a01b900460ff16610d7b576001600160a01b03831660009081526011602052604090205460ff16610d7b5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016105f9565b601654811115610dcd5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016105f9565b6001600160a01b03831660009081526010602052604090205460ff16158015610e0f57506001600160a01b03821660009081526010602052604090205460ff16155b610e675760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016105f9565b6015546001600160a01b03838116911614610eec5760175481610e8984610873565b610e939190611ae9565b10610eec5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016105f9565b6000610ef730610873565b601854601654919250821015908210610f105760165491505b808015610f275750601554600160a81b900460ff16155b8015610f4157506015546001600160a01b03868116911614155b8015610f565750601554600160b01b900460ff165b15610f7657610f648261117e565b478015610f7457610f74476110c0565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610fbb57506001600160a01b03831660009081526005602052604090205460ff165b80610fed57506015546001600160a01b03858116911614801590610fed57506015546001600160a01b03848116911614155b15610ffa57506000611074565b6015546001600160a01b03858116911614801561102557506014546001600160a01b03848116911614155b1561103757600854600c55600954600d555b6015546001600160a01b03848116911614801561106257506014546001600160a01b03858116911614155b1561107457600a54600c55600b54600d555b611080848484846112f8565b50505050565b600081848411156110aa5760405162461bcd60e51b81526004016105f991906118b3565b5060006110b78486611afc565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561066a573d6000803e3d6000fd5b60006006548211156111615760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105f9565b600061116b611326565b90506111778382611349565b9392505050565b6015805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111c6576111c6611aa4565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561121f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112439190611b0f565b8160018151811061125657611256611aa4565b6001600160a01b03928316602091820292909201015260145461127c9130911684610a5f565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906112b5908590600090869030904290600401611b2c565b600060405180830381600087803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806113055761130561138b565b6113108484846113b9565b8061108057611080600e54600c55600f54600d55565b60008060006113336114b0565b90925090506113428282611349565b9250505090565b600061117783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f2565b600c5415801561139b5750600d54155b156113a257565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806113cb87611520565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506113fd908761157d565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461142c90866115bf565b6001600160a01b03891660009081526002602052604090205561144e8161161e565b6114588483611668565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161149d91815260200190565b60405180910390a3505050505050505050565b600654600090819068e3aeb5737240a000006114cc8282611349565b8210156114e95750506006549268e3aeb5737240a0000092509050565b90939092509050565b600081836115135760405162461bcd60e51b81526004016105f991906118b3565b5060006110b78486611b9d565b600080600080600080600080600061153d8a600c54600d5461168c565b925092509250600061154d611326565b905060008060006115608e8787876116e1565b919e509c509a509598509396509194505050505091939550919395565b600061117783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611086565b6000806115cc8385611ae9565b9050838110156111775760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105f9565b6000611628611326565b905060006116368383611731565b3060009081526002602052604090205490915061165390826115bf565b30600090815260026020526040902055505050565b600654611675908361157d565b60065560075461168590826115bf565b6007555050565b60008080806116a660646116a08989611731565b90611349565b905060006116b960646116a08a89611731565b905060006116d1826116cb8b8661157d565b9061157d565b9992985090965090945050505050565b60008080806116f08886611731565b905060006116fe8887611731565b9050600061170c8888611731565b9050600061171e826116cb868661157d565b939b939a50919850919650505050505050565b6000826000036117435750600061067f565b600061174f8385611bbf565b90508261175c8583611b9d565b146111775760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105f9565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461087057600080fd5b80356117e9816117c9565b919050565b6000602080838503121561180157600080fd5b823567ffffffffffffffff8082111561181957600080fd5b818501915085601f83011261182d57600080fd5b81358181111561183f5761183f6117b3565b8060051b604051601f19603f83011681018181108582111715611864576118646117b3565b60405291825284820192508381018501918883111561188257600080fd5b938501935b828510156118a757611898856117de565b84529385019392850192611887565b98975050505050505050565b600060208083528351808285015260005b818110156118e0578581018301518582016040015282016118c4565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561191457600080fd5b823561191f816117c9565b946020939093013593505050565b60008060006060848603121561194257600080fd5b833561194d816117c9565b9250602084013561195d816117c9565b929592945050506040919091013590565b803580151581146117e957600080fd5b6000806040838503121561199157600080fd5b823561199c816117c9565b91506119aa6020840161196e565b90509250929050565b6000602082840312156119c557600080fd5b8135611177816117c9565b6000602082840312156119e257600080fd5b6111778261196e565b6000602082840312156119fd57600080fd5b5035919050565b60008060008060808587031215611a1a57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611a4957600080fd5b8235611a54816117c9565b91506020830135611a64816117c9565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611ae257611ae2611aba565b5060010190565b8082018082111561067f5761067f611aba565b8181038181111561067f5761067f611aba565b600060208284031215611b2157600080fd5b8151611177816117c9565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b7c5784516001600160a01b031683529383019391830191600101611b57565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611bba57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761067f5761067f611aba56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122026ebeb95c8884d9ff415f889695f4cade97796d18cd6fd8de85833537b27823d64736f6c63430008110033

Deployed Bytecode Sourcemap

5286:13516:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14168:169;;;;;;;;;;-1:-1:-1;14168:169:0;;;;;:::i;:::-;;:::i;:::-;;8323:83;;;;;;;;;;-1:-1:-1;8393:5:0;;;;;;;;;;;;-1:-1:-1;;;8393:5:0;;;;8323:83;;;;;;;:::i;:::-;;;;;;;;9234:193;;;;;;;;;;-1:-1:-1;9234:193:0;;;;;:::i;:::-;;:::i;:::-;;;2585:14:1;;2578:22;2560:41;;2548:2;2533:18;9234:193:0;2420:187:1;6545:41:0;;;;;;;;;;-1:-1:-1;6545:41:0;;;;-1:-1:-1;;;;;6545:41:0;;;;;;-1:-1:-1;;;;;2802:32:1;;;2784:51;;2772:2;2757:18;6545:41:0;2612:229:1;8594:95:0;;;;;;;;;;-1:-1:-1;5825:21:0;8594:95;;;2992:25:1;;;2980:2;2965:18;8594:95:0;2846:177:1;9433:446:0;;;;;;;;;;-1:-1:-1;9433:446:0;;;;;:::i;:::-;;:::i;18603:196::-;;;;;;;;;;-1:-1:-1;18603:196:0;;;;;:::i;:::-;;:::i;6845:53::-;;;;;;;;;;;;;;;;8505:83;;;;;;;;;;-1:-1:-1;8505:83:0;;5501:1;4116:36:1;;4104:2;4089:18;8505:83:0;3974:184:1;6593:28:0;;;;;;;;;;-1:-1:-1;6593:28:0;;;;-1:-1:-1;;;;;6593:28:0;;;14343:92;;;;;;;;;;-1:-1:-1;14343:92:0;;;;;:::i;:::-;;:::i;18261:101::-;;;;;;;;;;-1:-1:-1;18261:101:0;;;;;:::i;:::-;;:::i;13966:196::-;;;;;;;;;;;;;:::i;8695:138::-;;;;;;;;;;-1:-1:-1;8695:138:0;;;;;:::i;:::-;;:::i;3051:148::-;;;;;;;;;;;;;:::i;18368:108::-;;;;;;;;;;-1:-1:-1;18368:108:0;;;;;:::i;:::-;;:::i;6731:49::-;;;;;;;;;;;;;;;;2841:79;;;;;;;;;;-1:-1:-1;2879:7:0;2906:6;-1:-1:-1;;;;;2906:6:0;2841:79;;13656:101;;;;;;;;;;-1:-1:-1;13656:101:0;;;;;:::i;:::-;;:::i;6787:51::-;;;;;;;;;;;;;;;;8412:87;;;;;;;;;;-1:-1:-1;8484:7:0;;;;;;;;;;;;-1:-1:-1;;;8484:7:0;;;;8412:87;;18116:139;;;;;;;;;;-1:-1:-1;18116:139:0;;;;;:::i;:::-;;:::i;17819:291::-;;;;;;;;;;-1:-1:-1;17819:291:0;;;;;:::i;:::-;;:::i;8839:199::-;;;;;;;;;;-1:-1:-1;8839:199:0;;;;;:::i;:::-;;:::i;6343:42::-;;;;;;;;;;-1:-1:-1;6343:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6300:36;;;;;;;;;;-1:-1:-1;6300:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13763:197;;;;;;;;;;;;;:::i;9044:184::-;;;;;;;;;;-1:-1:-1;9044:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;9193:18:0;;;9161:7;9193:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9044:184;18482:115;;;;;;;;;;-1:-1:-1;18482:115:0;;;;;:::i;:::-;;:::i;14168:169::-;2966:6;;-1:-1:-1;;;;;2966:6:0;1700:10;2966:22;2958:67;;;;-1:-1:-1;;;2958:67:0;;;;;;;:::i;:::-;;;;;;;;;14244:9:::1;14239:91;14263:5;:12;14259:1;:16;14239:91;;;14314:4;14297;:14;14302:5;14308:1;14302:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14297:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;14297:14:0;:21;;-1:-1:-1;;14297:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14277:3;::::1;::::0;::::1;:::i;:::-;;;;14239:91;;;;14168:169:::0;:::o;9234:193::-;9336:4;9358:39;1700:10;9381:7;9390:6;9358:8;:39::i;:::-;-1:-1:-1;9415:4:0;9234:193;;;;;:::o;9433:446::-;9565:4;9582:36;9592:6;9600:9;9611:6;9582:9;:36::i;:::-;9629:220;9652:6;1700:10;9700:138;9756:6;9700:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9700:19:0;;;;;;:11;:19;;;;;;;;1700:10;9700:33;;;;;;;;;;:37;:138::i;:::-;9629:8;:220::i;:::-;-1:-1:-1;9867:4:0;9433:446;;;;;:::o;18603:196::-;2966:6;;-1:-1:-1;;;;;2966:6:0;1700:10;2966:22;2958:67;;;;-1:-1:-1;;;2958:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18695:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;;:29;::::1;;:18;::::0;;::::1;:29;;::::0;18687:65:::1;;;::::0;-1:-1:-1;;;18687:65:0;;6743:2:1;18687:65:0::1;::::0;::::1;6725:21:1::0;6782:2;6762:18;;;6755:30;6821:25;6801:18;;;6794:53;6864:18;;18687:65:0::1;6541:347:1::0;18687:65:0::1;-1:-1:-1::0;;;;;18763:18:0;;;::::1;;::::0;;;:9:::1;:18;::::0;;;;:28;;-1:-1:-1;;18763:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18603:196::o;14343:92::-;2966:6;;-1:-1:-1;;;;;2966:6:0;1700:10;2966:22;2958:67;;;;-1:-1:-1;;;2958:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14407:12:0::1;14422:5;14407:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;14407:20:0::1;::::0;;14343:92::o;18261:101::-;2966:6;;-1:-1:-1;;;;;2966:6:0;1700:10;2966:22;2958:67;;;;-1:-1:-1;;;2958:67:0;;;;;;;:::i;:::-;18328:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;18328:26:0::1;-1:-1:-1::0;;;;18328:26:0;;::::1;::::0;;;::::1;::::0;;18261:101::o;13966:196::-;14032:17;;-1:-1:-1;;;;;14032:17:0;1700:10;-1:-1:-1;;;;;14016:33:0;;14008:42;;;;;;14090:21;14122:32;14090:21;14122:12;:32::i;:::-;13997:165;13966:196::o;8695:138::-;-1:-1:-1;;;;;8808:16:0;;8761:7;8808:16;;;:7;:16;;;;;;8788:37;;:19;:37::i;3051:148::-;2966:6;;-1:-1:-1;;;;;2966:6:0;1700:10;2966:22;2958:67;;;;-1:-1:-1;;;2958:67:0;;;;;;;:::i;:::-;3158:1:::1;3142:6:::0;;3121:40:::1;::::0;-1:-1:-1;;;;;3142:6:0;;::::1;::::0;3121:40:::1;::::0;3158:1;;3121:40:::1;3189:1;3172:19:::0;;-1:-1:-1;;;;;;3172:19:0::1;::::0;;3051:148::o;18368:108::-;2966:6;;-1:-1:-1;;;;;2966:6:0;1700:10;2966:22;2958:67;;;;-1:-1:-1;;;2958:67:0;;;;;;;:::i;:::-;18442:12:::1;:26:::0;18368:108::o;13656:101::-;2966:6;;-1:-1:-1;;;;;2966:6:0;1700:10;2966:22;2958:67;;;;-1:-1:-1;;;2958:67:0;;;;;;;:::i;:::-;13723:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;13723:26:0::1;-1:-1:-1::0;;;;13723:26:0;;::::1;::::0;;;::::1;::::0;;13656:101::o;18116:139::-;2966:6;;-1:-1:-1;;;;;2966:6:0;1700:10;2966:22;2958:67;;;;-1:-1:-1;;;2958:67:0;;;;;;;:::i;:::-;18207:19:::1;:40:::0;18116:139::o;17819:291::-;2966:6;;-1:-1:-1;;;;;2966:6:0;1700:10;2966:22;2958:67;;;;-1:-1:-1;;;2958:67:0;;;;;;;:::i;:::-;17953:14:::1;:30:::0;;;;17994:15:::1;:32:::0;;;;18037:12:::1;:26:::0;18074:13:::1;:28:::0;17819:291::o;8839:199::-;8944:4;8966:42;1700:10;8990:9;9001:6;8966:9;:42::i;13763:197::-;13829:17;;-1:-1:-1;;;;;13829:17:0;1700:10;-1:-1:-1;;;;;13813:33:0;;13805:42;;;;;;13858:23;13884:24;13902:4;13884:9;:24::i;:::-;13858:50;;13919:33;13936:15;13919:16;:33::i;18482:115::-;2966:6;;-1:-1:-1;;;;;2966:6:0;1700:10;2966:22;2958:67;;;;-1:-1:-1;;;2958:67:0;;;;;;;:::i;:::-;18559:14:::1;:30:::0;18482:115::o;10558:369::-;-1:-1:-1;;;;;10685:19:0;;10677:68;;;;-1:-1:-1;;;10677:68:0;;7095:2:1;10677:68:0;;;7077:21:1;7134:2;7114:18;;;7107:30;7173:34;7153:18;;;7146:62;-1:-1:-1;;;7224:18:1;;;7217:34;7268:19;;10677:68:0;6893:400:1;10677:68:0;-1:-1:-1;;;;;10764:21:0;;10756:68;;;;-1:-1:-1;;;10756:68:0;;7500:2:1;10756:68:0;;;7482:21:1;7539:2;7519:18;;;7512:30;7578:34;7558:18;;;7551:62;-1:-1:-1;;;7629:18:1;;;7622:32;7671:19;;10756:68:0;7298:398:1;10756:68:0;-1:-1:-1;;;;;10835:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10887:32;;2992:25:1;;;10887:32:0;;2965:18:1;10887:32:0;;;;;;;10558:369;;;:::o;10933:2123::-;-1:-1:-1;;;;;11055:18:0;;11047:68;;;;-1:-1:-1;;;11047:68:0;;7903:2:1;11047:68:0;;;7885:21:1;7942:2;7922:18;;;7915:30;7981:34;7961:18;;;7954:62;-1:-1:-1;;;8032:18:1;;;8025:35;8077:19;;11047:68:0;7701:401:1;11047:68:0;-1:-1:-1;;;;;11134:16:0;;11126:64;;;;-1:-1:-1;;;11126:64:0;;8309:2:1;11126:64:0;;;8291:21:1;8348:2;8328:18;;;8321:30;8387:34;8367:18;;;8360:62;-1:-1:-1;;;8438:18:1;;;8431:33;8481:19;;11126:64:0;8107:399:1;11126:64:0;11218:1;11209:6;:10;11201:64;;;;-1:-1:-1;;;11201:64:0;;8713:2:1;11201:64:0;;;8695:21:1;8752:2;8732:18;;;8725:30;8791:34;8771:18;;;8764:62;-1:-1:-1;;;8842:18:1;;;8835:39;8891:19;;11201:64:0;8511:405:1;11201:64:0;2879:7;2906:6;-1:-1:-1;;;;;11280:15:0;;;2906:6;;11280:15;;;;:32;;-1:-1:-1;2879:7:0;2906:6;-1:-1:-1;;;;;11299:13:0;;;2906:6;;11299:13;;11280:32;11276:1158;;;11334:11;;-1:-1:-1;;;11334:11:0;;;;11329:144;;-1:-1:-1;;;;;11374:15:0;;;;;;:9;:15;;;;;;;;11366:91;;;;-1:-1:-1;;;11366:91:0;;9123:2:1;11366:91:0;;;9105:21:1;9162:2;9142:18;;;9135:30;9201:34;9181:18;;;9174:62;9272:33;9252:18;;;9245:61;9323:19;;11366:91:0;8921:427:1;11366:91:0;11505:12;;11495:6;:22;;11487:63;;;;-1:-1:-1;;;11487:63:0;;9555:2:1;11487:63:0;;;9537:21:1;9594:2;9574:18;;;9567:30;9633;9613:18;;;9606:58;9681:18;;11487:63:0;9353:352:1;11487:63:0;-1:-1:-1;;;;;11574:10:0;;;;;;:4;:10;;;;;;;;11573:11;:24;;;;-1:-1:-1;;;;;;11589:8:0;;;;;;:4;:8;;;;;;;;11588:9;11573:24;11565:72;;;;-1:-1:-1;;;11565:72:0;;9912:2:1;11565:72:0;;;9894:21:1;9951:2;9931:18;;;9924:30;9990:34;9970:18;;;9963:62;-1:-1:-1;;;10041:18:1;;;10034:33;10084:19;;11565:72:0;9710:399:1;11565:72:0;11661:13;;-1:-1:-1;;;;;11655:19:0;;;11661:13;;11655:19;11652:146;;11728:14;;11719:6;11703:13;11713:2;11703:9;:13::i;:::-;:22;;;;:::i;:::-;:39;11695:87;;;;-1:-1:-1;;;11695:87:0;;10446:2:1;11695:87:0;;;10428:21:1;10485:2;10465:18;;;10458:30;10524:34;10504:18;;;10497:62;-1:-1:-1;;;10575:18:1;;;10568:33;10618:19;;11695:87:0;10244:399:1;11695:87:0;11812:28;11843:24;11861:4;11843:9;:24::i;:::-;11921:19;;11982:12;;11812:55;;-1:-1:-1;11897:43:0;;;;11958:36;;11955:124;;12051:12;;12028:35;;11955:124;12097:7;:18;;;;-1:-1:-1;12109:6:0;;-1:-1:-1;;;12109:6:0;;;;12108:7;12097:18;:43;;;;-1:-1:-1;12127:13:0;;-1:-1:-1;;;;;12119:21:0;;;12127:13;;12119:21;;12097:43;:58;;;;-1:-1:-1;12144:11:0;;-1:-1:-1;;;12144:11:0;;;;12097:58;12093:330;;;12176:38;12193:20;12176:16;:38::i;:::-;12262:21;12306:22;;12302:106;;12353:35;12366:21;12353:12;:35::i;:::-;12157:266;12093:330;11314:1120;;11276:1158;-1:-1:-1;;;;;12479:24:0;;12444:12;12479:24;;;:18;:24;;;;;;12459:4;;12479:24;;;:50;;-1:-1:-1;;;;;;12507:22:0;;;;;;:18;:22;;;;;;;;12479:50;12478:102;;;-1:-1:-1;12543:13:0;;-1:-1:-1;;;;;12535:21:0;;;12543:13;;12535:21;;;;:44;;-1:-1:-1;12566:13:0;;-1:-1:-1;;;;;12560:19:0;;;12566:13;;12560:19;;12535:44;12474:523;;;-1:-1:-1;12607:5:0;12474:523;;;12656:13;;-1:-1:-1;;;;;12648:21:0;;;12656:13;;12648:21;:55;;;;-1:-1:-1;12687:15:0;;-1:-1:-1;;;;;12673:30:0;;;12687:15;;12673:30;;12648:55;12645:162;;;12736:14;;12724:9;:26;12779:12;;12769:7;:22;12645:162;12831:13;;-1:-1:-1;;;;;12825:19:0;;;12831:13;;12825:19;:55;;;;-1:-1:-1;12864:15:0;;-1:-1:-1;;;;;12848:32:0;;;12864:15;;12848:32;;12825:55;12821:165;;;12913:15;;12901:9;:27;12957:13;;12947:7;:23;12821:165;13007:41;13022:4;13028:2;13032:6;13040:7;13007:14;:41::i;:::-;11036:2020;10933:2123;;;:::o;3555:224::-;3675:7;3711:12;3703:6;;;;3695:29;;;;-1:-1:-1;;;3695:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3735:9:0;3747:5;3751:1;3747;:5;:::i;:::-;3735:17;3555:224;-1:-1:-1;;;;;3555:224:0:o;13551:99::-;13608:17;;:34;;-1:-1:-1;;;;;13608:17:0;;;;:34;;;;;13635:6;;13608:17;:34;:17;:34;13635:6;13608:17;:34;;;;;;;;;;;;;;;;;;;9885:323;9980:7;10038;;10027;:18;;10005:110;;;;-1:-1:-1;;;10005:110:0;;10983:2:1;10005:110:0;;;10965:21:1;11022:2;11002:18;;;10995:30;11061:34;11041:18;;;11034:62;-1:-1:-1;;;11112:18:1;;;11105:40;11162:19;;10005:110:0;10781:406:1;10005:110:0;10126:19;10148:10;:8;:10::i;:::-;10126:32;-1:-1:-1;10176:24:0;:7;10126:32;10176:11;:24::i;:::-;10169:31;9885:323;-1:-1:-1;;;9885:323:0:o;13062:483::-;6990:6;:13;;-1:-1:-1;;;;6990:13:0;-1:-1:-1;;;6990:13:0;;;13164:16:::1;::::0;;13178:1:::1;13164:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13164:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13164:16:0::1;13140:40;;13209:4;13191;13196:1;13191:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13191:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13235:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13235:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;13191:7;;13235:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13225:4;13230:1;13225:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13225:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13300:15:::1;::::0;13268:62:::1;::::0;13285:4:::1;::::0;13300:15:::1;13318:11:::0;13268:8:::1;:62::i;:::-;13341:15;::::0;:196:::1;::::0;-1:-1:-1;;;13341:196:0;;-1:-1:-1;;;;;13341:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13422:11;;13341:15:::1;::::0;13464:4;;13491::::1;::::0;13511:15:::1;::::0;13341:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7026:6:0;:14;;-1:-1:-1;;;;7026:14:0;;;-1:-1:-1;;;;13062:483:0:o;14441:282::-;14597:7;14592:28;;14606:14;:12;:14::i;:::-;14631:44;14649:6;14657:9;14668:6;14631:17;:44::i;:::-;14691:7;14686:29;;14700:15;10491:17;;10479:9;:29;10529:15;;10519:7;:25;10435:117;17386:164;17428:7;17449:15;17466;17485:19;:17;:19::i;:::-;17448:56;;-1:-1:-1;17448:56:0;-1:-1:-1;17522:20:0;17448:56;;17522:11;:20::i;:::-;17515:27;;;;17386:164;:::o;4037:132::-;4095:7;4122:39;4126:1;4129;4122:39;;;;;;;;;;;;;;;;;:3;:39::i;10214:215::-;10261:9;;:14;:30;;;;-1:-1:-1;10279:7:0;;:12;10261:30;10257:43;;;10214:215::o;10257:43::-;10330:9;;;10310:17;:29;10368:7;;;10350:15;:25;-1:-1:-1;10386:13:0;;;;10410:11;10214:215::o;14729:610::-;14876:15;14906:23;14944:12;14971:23;15009:12;15036:13;15063:19;15074:7;15063:10;:19::i;:::-;-1:-1:-1;;;;;15111:15:0;;;;;;:7;:15;;;;;;14861:221;;-1:-1:-1;14861:221:0;;-1:-1:-1;14861:221:0;;-1:-1:-1;14861:221:0;-1:-1:-1;14861:221:0;-1:-1:-1;14861:221:0;-1:-1:-1;15111:28:0;;14861:221;15111:19;:28::i;:::-;-1:-1:-1;;;;;15093:15:0;;;;;;;:7;:15;;;;;;:46;;;;15171:18;;;;;;;:39;;15194:15;15171:22;:39::i;:::-;-1:-1:-1;;;;;15150:18:0;;;;;;:7;:18;;;;;:60;15221:16;15231:5;15221:9;:16::i;:::-;15248:23;15260:4;15266;15248:11;:23::i;:::-;15304:9;-1:-1:-1;;;;;15287:44:0;15296:6;-1:-1:-1;;;;;15287:44:0;;15315:15;15287:44;;;;2992:25:1;;2980:2;2965:18;;2846:177;15287:44:0;;;;;;;;14850:489;;;;;;14729:610;;;:::o;17556:257::-;17654:7;;17607;;;;5825:21;17722:20;17654:7;5825:21;17722:11;:20::i;:::-;17712:7;:30;17708:61;;;-1:-1:-1;;17752:7:0;;;5825:21;;-1:-1:-1;17556:257:0;-1:-1:-1;17556:257:0:o;17708:61::-;17788:7;;17797;;-1:-1:-1;17556:257:0;-1:-1:-1;17556:257:0:o;4175:223::-;4295:7;4330:12;4323:5;4315:28;;;;-1:-1:-1;;;4315:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4354:9:0;4366:5;4370:1;4366;:5;:::i;15750:615::-;15850:7;15872;15894;15916;15938;15960;15996:23;16021:12;16035:13;16065:40;16077:7;16086:9;;16097:7;;16065:11;:40::i;:::-;15995:110;;;;;;16116:19;16138:10;:8;:10::i;:::-;16116:32;;16160:15;16177:23;16202:12;16231:46;16243:7;16252:4;16258:5;16265:11;16231;:46::i;:::-;16159:118;;-1:-1:-1;16159:118:0;-1:-1:-1;16159:118:0;-1:-1:-1;16328:15:0;;-1:-1:-1;16345:4:0;;-1:-1:-1;16351:5:0;;-1:-1:-1;;;;;15750:615:0;;;;;;;:::o;3413:136::-;3471:7;3498:43;3502:1;3505;3498:43;;;;;;;;;;;;;;;;;:3;:43::i;3228:179::-;3286:7;;3318:5;3322:1;3318;:5;:::i;:::-;3306:17;;3347:1;3342;:6;;3334:46;;;;-1:-1:-1;;;3334:46:0;;12857:2:1;3334:46:0;;;12839:21:1;12896:2;12876:18;;;12869:30;12935:29;12915:18;;;12908:57;12982:18;;3334:46:0;12655:351:1;15345:211:0;15398:19;15420:10;:8;:10::i;:::-;15398:32;-1:-1:-1;15441:13:0;15457:22;:5;15398:32;15457:9;:22::i;:::-;15531:4;15515:22;;;;:7;:22;;;;;;15441:38;;-1:-1:-1;15515:33:0;;15441:38;15515:26;:33::i;:::-;15506:4;15490:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;15345:211:0:o;15562:147::-;15640:7;;:17;;15652:4;15640:11;:17::i;:::-;15630:7;:27;15681:10;;:20;;15696:4;15681:14;:20::i;:::-;15668:10;:33;-1:-1:-1;;15562:147:0:o;16371:469::-;16540:7;;;;16634:30;16660:3;16634:21;:7;16646:8;16634:11;:21::i;:::-;:25;;:30::i;:::-;16619:45;-1:-1:-1;16675:13:0;16691:28;16715:3;16691:19;:7;16703:6;16691:11;:19::i;:28::-;16675:44;-1:-1:-1;16730:23:0;16756:28;16675:44;16756:17;:7;16768:4;16756:11;:17::i;:::-;:21;;:28::i;:::-;16730:54;16820:4;;-1:-1:-1;16826:5:0;;-1:-1:-1;16371:469:0;;-1:-1:-1;;;;;16371:469:0:o;16846:534::-;17040:7;;;;17137:24;:7;17149:11;17137;:24::i;:::-;17119:42;-1:-1:-1;17172:12:0;17187:21;:4;17196:11;17187:8;:21::i;:::-;17172:36;-1:-1:-1;17219:13:0;17235:22;:5;17245:11;17235:9;:22::i;:::-;17219:38;-1:-1:-1;17268:23:0;17294:28;17219:38;17294:17;:7;17306:4;17294:11;:17::i;:28::-;17341:7;;;;-1:-1:-1;17367:4:0;;-1:-1:-1;16846:534:0;;-1:-1:-1;;;;;;;16846:534:0:o;3785:246::-;3843:7;3867:1;3872;3867:6;3863:47;;-1:-1:-1;3897:1:0;3890:8;;3863:47;3920:9;3932:5;3936:1;3932;:5;:::i;:::-;3920:17;-1:-1:-1;3965:1:0;3956:5;3960:1;3920:17;3956:5;:::i;:::-;:10;3948:56;;;;-1:-1:-1;;;3948:56:0;;13386:2:1;3948:56:0;;;13368:21:1;13425:2;13405:18;;;13398:30;13464:34;13444:18;;;13437:62;-1:-1:-1;;;13515:18:1;;;13508:31;13556:19;;3948:56:0;13184:397:1;14:127;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:1121::-;505:6;536:2;579;567:9;558:7;554:23;550:32;547:52;;;595:1;592;585:12;547:52;635:9;622:23;664:18;705:2;697:6;694:14;691:34;;;721:1;718;711:12;691:34;759:6;748:9;744:22;734:32;;804:7;797:4;793:2;789:13;785:27;775:55;;826:1;823;816:12;775:55;862:2;849:16;884:2;880;877:10;874:36;;;890:18;;:::i;:::-;936:2;933:1;929:10;968:2;962:9;1031:2;1027:7;1022:2;1018;1014:11;1010:25;1002:6;998:38;1086:6;1074:10;1071:22;1066:2;1054:10;1051:18;1048:46;1045:72;;;1097:18;;:::i;:::-;1133:2;1126:22;1183:18;;;1217:15;;;;-1:-1:-1;1259:11:1;;;1255:20;;;1287:19;;;1284:39;;;1319:1;1316;1309:12;1284:39;1343:11;;;;1363:148;1379:6;1374:3;1371:15;1363:148;;;1445:23;1464:3;1445:23;:::i;:::-;1433:36;;1396:12;;;;1489;;;;1363:148;;;1530:6;421:1121;-1:-1:-1;;;;;;;;421:1121:1:o;1547:548::-;1659:4;1688:2;1717;1706:9;1699:21;1749:6;1743:13;1792:6;1787:2;1776:9;1772:18;1765:34;1817:1;1827:140;1841:6;1838:1;1835:13;1827:140;;;1936:14;;;1932:23;;1926:30;1902:17;;;1921:2;1898:26;1891:66;1856:10;;1827:140;;;1831:3;2016:1;2011:2;2002:6;1991:9;1987:22;1983:31;1976:42;2086:2;2079;2075:7;2070:2;2062:6;2058:15;2054:29;2043:9;2039:45;2035:54;2027:62;;;;1547:548;;;;:::o;2100:315::-;2168:6;2176;2229:2;2217:9;2208:7;2204:23;2200:32;2197:52;;;2245:1;2242;2235:12;2197:52;2284:9;2271:23;2303:31;2328:5;2303:31;:::i;:::-;2353:5;2405:2;2390:18;;;;2377:32;;-1:-1:-1;;;2100:315:1:o;3028:456::-;3105:6;3113;3121;3174:2;3162:9;3153:7;3149:23;3145:32;3142:52;;;3190:1;3187;3180:12;3142:52;3229:9;3216:23;3248:31;3273:5;3248:31;:::i;:::-;3298:5;-1:-1:-1;3355:2:1;3340:18;;3327:32;3368:33;3327:32;3368:33;:::i;:::-;3028:456;;3420:7;;-1:-1:-1;;;3474:2:1;3459:18;;;;3446:32;;3028:456::o;3489:160::-;3554:20;;3610:13;;3603:21;3593:32;;3583:60;;3639:1;3636;3629:12;3654:315;3719:6;3727;3780:2;3768:9;3759:7;3755:23;3751:32;3748:52;;;3796:1;3793;3786:12;3748:52;3835:9;3822:23;3854:31;3879:5;3854:31;:::i;:::-;3904:5;-1:-1:-1;3928:35:1;3959:2;3944:18;;3928:35;:::i;:::-;3918:45;;3654:315;;;;;:::o;4371:247::-;4430:6;4483:2;4471:9;4462:7;4458:23;4454:32;4451:52;;;4499:1;4496;4489:12;4451:52;4538:9;4525:23;4557:31;4582:5;4557:31;:::i;4623:180::-;4679:6;4732:2;4720:9;4711:7;4707:23;4703:32;4700:52;;;4748:1;4745;4738:12;4700:52;4771:26;4787:9;4771:26;:::i;4808:180::-;4867:6;4920:2;4908:9;4899:7;4895:23;4891:32;4888:52;;;4936:1;4933;4926:12;4888:52;-1:-1:-1;4959:23:1;;4808:180;-1:-1:-1;4808:180:1:o;4993:385::-;5079:6;5087;5095;5103;5156:3;5144:9;5135:7;5131:23;5127:33;5124:53;;;5173:1;5170;5163:12;5124:53;-1:-1:-1;;5196:23:1;;;5266:2;5251:18;;5238:32;;-1:-1:-1;5317:2:1;5302:18;;5289:32;;5368:2;5353:18;5340:32;;-1:-1:-1;4993:385:1;-1:-1:-1;4993:385:1:o;5383:388::-;5451:6;5459;5512:2;5500:9;5491:7;5487:23;5483:32;5480:52;;;5528:1;5525;5518:12;5480:52;5567:9;5554:23;5586:31;5611:5;5586:31;:::i;:::-;5636:5;-1:-1:-1;5693:2:1;5678:18;;5665:32;5706:33;5665:32;5706:33;:::i;:::-;5758:7;5748:17;;;5383:388;;;;;:::o;5776:356::-;5978:2;5960:21;;;5997:18;;;5990:30;6056:34;6051:2;6036:18;;6029:62;6123:2;6108:18;;5776:356::o;6137:127::-;6198:10;6193:3;6189:20;6186:1;6179:31;6229:4;6226:1;6219:15;6253:4;6250:1;6243:15;6269:127;6330:10;6325:3;6321:20;6318:1;6311:31;6361:4;6358:1;6351:15;6385:4;6382:1;6375:15;6401:135;6440:3;6461:17;;;6458:43;;6481:18;;:::i;:::-;-1:-1:-1;6528:1:1;6517:13;;6401:135::o;10114:125::-;10179:9;;;10200:10;;;10197:36;;;10213:18;;:::i;10648:128::-;10715:9;;;10736:11;;;10733:37;;;10750:18;;:::i;11192:251::-;11262:6;11315:2;11303:9;11294:7;11290:23;11286:32;11283:52;;;11331:1;11328;11321:12;11283:52;11363:9;11357:16;11382:31;11407:5;11382:31;:::i;11448:980::-;11710:4;11758:3;11747:9;11743:19;11789:6;11778:9;11771:25;11815:2;11853:6;11848:2;11837:9;11833:18;11826:34;11896:3;11891:2;11880:9;11876:18;11869:31;11920:6;11955;11949:13;11986:6;11978;11971:22;12024:3;12013:9;12009:19;12002:26;;12063:2;12055:6;12051:15;12037:29;;12084:1;12094:195;12108:6;12105:1;12102:13;12094:195;;;12173:13;;-1:-1:-1;;;;;12169:39:1;12157:52;;12264:15;;;;12229:12;;;;12205:1;12123:9;12094:195;;;-1:-1:-1;;;;;;;12345:32:1;;;;12340:2;12325:18;;12318:60;-1:-1:-1;;;12409:3:1;12394:19;12387:35;12306:3;11448:980;-1:-1:-1;;;11448:980:1:o;12433:217::-;12473:1;12499;12489:132;;12543:10;12538:3;12534:20;12531:1;12524:31;12578:4;12575:1;12568:15;12606:4;12603:1;12596:15;12489:132;-1:-1:-1;12635:9:1;;12433:217::o;13011:168::-;13084:9;;;13115;;13132:15;;;13126:22;;13112:37;13102:71;;13153:18;;:::i

Swarm Source

ipfs://26ebeb95c8884d9ff415f889695f4cade97796d18cd6fd8de85833537b27823d

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.