ETH Price: $2,433.06 (+5.30%)

Contract

0x78058Cb3ba42B900106206Fc5621811829E40d4e
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve152529922022-07-31 22:42:01780 days ago1659307321IN
0x78058Cb3...829E40d4e
0 ETH0.000472110
Approve152521172022-07-31 19:22:08780 days ago1659295328IN
0x78058Cb3...829E40d4e
0 ETH0.000289046.12247789
Approve152516182022-07-31 17:36:53780 days ago1659289013IN
0x78058Cb3...829E40d4e
0 ETH0.0006174313.07846188
Approve152514162022-07-31 16:51:34780 days ago1659286294IN
0x78058Cb3...829E40d4e
0 ETH0.000243789.78028598
Approve152513912022-07-31 16:46:29780 days ago1659285989IN
0x78058Cb3...829E40d4e
0 ETH0.000552111.69460572
Approve152513812022-07-31 16:43:44780 days ago1659285824IN
0x78058Cb3...829E40d4e
0 ETH0.0005138210.88378218
Approve152513772022-07-31 16:42:53780 days ago1659285773IN
0x78058Cb3...829E40d4e
0 ETH0.0005405811.45068537
Approve152513652022-07-31 16:41:14780 days ago1659285674IN
0x78058Cb3...829E40d4e
0 ETH0.0007314915.49439077
Approve152513652022-07-31 16:41:14780 days ago1659285674IN
0x78058Cb3...829E40d4e
0 ETH0.0011700524.78407977
Approve152513642022-07-31 16:41:03780 days ago1659285663IN
0x78058Cb3...829E40d4e
0 ETH0.0007215615.28407977
Approve152513582022-07-31 16:39:39780 days ago1659285579IN
0x78058Cb3...829E40d4e
0 ETH0.0007379815.63202738
Approve152513562022-07-31 16:39:24780 days ago1659285564IN
0x78058Cb3...829E40d4e
0 ETH0.0007999216.94390386
Approve152513552022-07-31 16:39:16780 days ago1659285556IN
0x78058Cb3...829E40d4e
0 ETH0.0012882327.28732807
Approve152513542022-07-31 16:39:07780 days ago1659285547IN
0x78058Cb3...829E40d4e
0 ETH0.0018774339.76765135
Approve152513492022-07-31 16:38:41780 days ago1659285521IN
0x78058Cb3...829E40d4e
0 ETH0.0012304226.06288193
Approve152513492022-07-31 16:38:41780 days ago1659285521IN
0x78058Cb3...829E40d4e
0 ETH0.0012776327.06288193
Approve152513492022-07-31 16:38:41780 days ago1659285521IN
0x78058Cb3...829E40d4e
0 ETH0.0012776327.06288193
Approve152501612022-07-31 12:13:04781 days ago1659269584IN
0x78058Cb3...829E40d4e
0 ETH0.0005706312.08714931
Approve152501532022-07-31 12:11:25781 days ago1659269485IN
0x78058Cb3...829E40d4e
0 ETH0.000562511.91497896
Approve152501062022-07-31 12:00:27781 days ago1659268827IN
0x78058Cb3...829E40d4e
0 ETH0.0004329.1506569
Approve152489242022-07-31 7:40:03781 days ago1659253203IN
0x78058Cb3...829E40d4e
0 ETH0.000426599.03610425
Approve152479482022-07-31 3:51:44781 days ago1659239504IN
0x78058Cb3...829E40d4e
0 ETH0.000210714.46344948
Approve152479052022-07-31 3:42:29781 days ago1659238949IN
0x78058Cb3...829E40d4e
0 ETH0.000222654.71630346
Approve152478102022-07-31 3:18:41781 days ago1659237521IN
0x78058Cb3...829E40d4e
0 ETH0.000408338.64925599
Approve152477682022-07-31 3:10:02781 days ago1659237002IN
0x78058Cb3...829E40d4e
0 ETH0.00033937.18715601
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
152656002022-08-02 21:48:33778 days ago1659476913
0x78058Cb3...829E40d4e
0.00028851 ETH
152656002022-08-02 21:48:33778 days ago1659476913
0x78058Cb3...829E40d4e
0.00028851 ETH
152598632022-08-02 0:25:11779 days ago1659399911
0x78058Cb3...829E40d4e
0.00019479 ETH
152598632022-08-02 0:25:11779 days ago1659399911
0x78058Cb3...829E40d4e
0.00019479 ETH
152531032022-07-31 23:07:11780 days ago1659308831
0x78058Cb3...829E40d4e
0.00164173 ETH
152531032022-07-31 23:07:11780 days ago1659308831
0x78058Cb3...829E40d4e
0.00164173 ETH
152529942022-07-31 22:42:19780 days ago1659307339
0x78058Cb3...829E40d4e
0.00164173 ETH
152529942022-07-31 22:42:19780 days ago1659307339
0x78058Cb3...829E40d4e
0.00164173 ETH
152521212022-07-31 19:23:11780 days ago1659295391
0x78058Cb3...829E40d4e
0.00036361 ETH
152521212022-07-31 19:23:11780 days ago1659295391
0x78058Cb3...829E40d4e
0.00036361 ETH
152514362022-07-31 16:55:39780 days ago1659286539
0x78058Cb3...829E40d4e
0.00104118 ETH
152514362022-07-31 16:55:39780 days ago1659286539
0x78058Cb3...829E40d4e
0.00104118 ETH
152514112022-07-31 16:50:24780 days ago1659286224
0x78058Cb3...829E40d4e
0.00113653 ETH
152514112022-07-31 16:50:24780 days ago1659286224
0x78058Cb3...829E40d4e
0.00113653 ETH
152514112022-07-31 16:50:24780 days ago1659286224
0x78058Cb3...829E40d4e
0.00107995 ETH
152514112022-07-31 16:50:24780 days ago1659286224
0x78058Cb3...829E40d4e
0.00107995 ETH
152514112022-07-31 16:50:24780 days ago1659286224
0x78058Cb3...829E40d4e
0.00043093 ETH
152514112022-07-31 16:50:24780 days ago1659286224
0x78058Cb3...829E40d4e
0.00043093 ETH
152514102022-07-31 16:50:02780 days ago1659286202
0x78058Cb3...829E40d4e
0.0005429 ETH
152514102022-07-31 16:50:02780 days ago1659286202
0x78058Cb3...829E40d4e
0.0005429 ETH
152514052022-07-31 16:48:51780 days ago1659286131
0x78058Cb3...829E40d4e
0.00166741 ETH
152514052022-07-31 16:48:51780 days ago1659286131
0x78058Cb3...829E40d4e
0.00166741 ETH
152513822022-07-31 16:44:21780 days ago1659285861
0x78058Cb3...829E40d4e
0.00171267 ETH
152513822022-07-31 16:44:21780 days ago1659285861
0x78058Cb3...829E40d4e
0.00171267 ETH
152513792022-07-31 16:43:25780 days ago1659285805
0x78058Cb3...829E40d4e
0.00225197 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KimJongInu

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-31
*/

/**



*/

pragma solidity ^0.8.15;
// SPDX-License-Identifier: UNLICENSED
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 KimJongInu 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 constant _tTotal = 1 * 10**18;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    struct Taxes {
        uint256 buyFee1;
        uint256 buyFee2;
        uint256 sellFee1;
        uint256 sellFee2;
    }

    Taxes private _taxes = Taxes(0,15,0,15);
    uint256 private initialTotalBuyFee = _taxes.buyFee1 + _taxes.buyFee2;
    uint256 private initialTotalSellFee = _taxes.sellFee1 + _taxes.sellFee2;
    address payable private _feeAddrWallet;
    uint256 private _feeRate = 20;

    uint256 private decreasingTaxFrequency = 30 minutes;
    uint256 private lastDecreasingTaxTime;
    
    string private constant _name = "Kim Jong Inu";
    string private constant _symbol = "KIM";
    uint8 private constant _decimals = 18;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    uint256 launchedAt;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    bool private _isBuy = false;
    uint256 private _maxTxAmount = _tTotal;
    uint256 private _maxWalletSize = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event KimChangedTax(uint _tax);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _feeAddrWallet = payable(0x8f217aF04c1FBd1a352e1dba67b1240d2F26a1Bd);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet] = 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 setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = 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(amount > 0, "Kim say no.");
        _isBuy = true;

        if (from != owner() && to != owner()) {

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // buy
                require(amount <= _maxTxAmount);
                require(balanceOf(to) + amount <= _maxWalletSize, "No capitalism, only Kim.");
            }

            if (from != address(uniswapV2Router) && ! _isExcludedFromFee[from] && to == uniswapV2Pair){
                require(!bots[from] && !bots[to]);
                _isBuy = false;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > balanceOf(uniswapV2Pair).mul(_feeRate).div(100)) {
                contractTokenBalance = balanceOf(uniswapV2Pair).mul(_feeRate).div(100);
            }

            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                require(block.number >= (launchedAt + 5), "Kim no like snipers.");
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                if (_taxes.buyFee2 == 15 || _taxes.sellFee2 == 15) {
                    _taxes.buyFee2 = 7;
                    _taxes.sellFee2 = 7;
                    lastDecreasingTaxTime = block.timestamp;
                    emit KimChangedTax(_taxes.buyFee2);
                }
            }

            if (_taxes.buyFee2 != 15 && _taxes.buyFee2 > 2 && block.timestamp >= lastDecreasingTaxTime + decreasingTaxFrequency) {
                _taxes.buyFee2 = _taxes.buyFee2.sub(1);
                _taxes.sellFee2 = _taxes.sellFee2.sub(1);
                lastDecreasingTaxTime = block.timestamp;
                emit KimChangedTax(_taxes.buyFee2);
            }
        }

        _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 + 60
        );
    }

    function getIsBuy() private view returns (bool){
        return _isBuy;
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

    function getCurrentFees() public view returns (uint256, uint256, uint256, uint256) {
        return (_taxes.buyFee1, _taxes.buyFee2, _taxes.sellFee1, _taxes.sellFee2);
    }

    function adjustFees(uint256 buyFee1, uint256 buyFee2, uint256 sellFee1, uint256 sellFee2) external onlyOwner {
        require(buyFee1 + buyFee2 <= initialTotalBuyFee);
        require(sellFee1 + sellFee2 <= initialTotalSellFee);
        _taxes.buyFee1 = buyFee1;
        _taxes.buyFee2 = buyFee2;
        _taxes.sellFee1 = sellFee1;
        _taxes.sellFee2 = sellFee2;
    }

    function changeMaxTxAmount(uint256 percentage) external onlyOwner{
        require(percentage>0);
        _maxTxAmount = _tTotal.mul(percentage).div(100);
    }

    function changeMaxWalletSize(uint256 percentage) external onlyOwner{
        require(percentage>0);
        _maxWalletSize = _tTotal.mul(percentage).div(100);
    }

    function setFeeRate(uint256 rate) external onlyOwner() {
        require(rate<=49);
        _feeRate = rate;
    }
        
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet.transfer(amount);
    }  

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"Kim already allowed trading");
        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 = _tTotal.mul(3).div(100);
        _maxWalletSize = _tTotal.mul(3).div(100);
        tradingOpen = true;
        launchedAt = block.number;
        lastDecreasingTaxTime = block.timestamp;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function addBot(address[] memory _bots) public onlyOwner {
        for (uint i = 0; i < _bots.length; i++) {
            if (_bots[i] != address(this) && _bots[i] != uniswapV2Pair && _bots[i] != address(uniswapV2Router)){
                bots[_bots[i]] = true;
            }
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    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 onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = getIsBuy() ? _getTValues(tAmount, _taxes.buyFee1, _taxes.buyFee2) : _getTValues(tAmount, _taxes.sellFee1, _taxes.sellFee2);
        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);
    }
}

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":"_tax","type":"uint256"}],"name":"KimChangedTax","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":"_bots","type":"address[]"}],"name":"addBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyFee1","type":"uint256"},{"internalType":"uint256","name":"buyFee2","type":"uint256"},{"internalType":"uint256","name":"sellFee1","type":"uint256"},{"internalType":"uint256","name":"sellFee2","type":"uint256"}],"name":"adjustFees","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":"uint256","name":"percentage","type":"uint256"}],"name":"changeMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"changeMaxWalletSize","outputs":[],"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":"getCurrentFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setFeeRate","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":"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"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a76400006000196200001c9190620004d4565b6000196200002b91906200053b565b600855604051806080016040528060008152602001600f815260200160008152602001600f815250600a600082015181600001556020820151816001015560408201518160020155606082015181600301555050600a60010154600a6000015462000097919062000576565b600e55600a60030154600a60020154620000b2919062000576565b600f5560146011556107086012556000601760006101000a81548160ff0219169083151502179055506000601760016101000a81548160ff0219169083151502179055506000601760026101000a81548160ff0219169083151502179055506000601760036101000a81548160ff021916908315150217905550670de0b6b3a7640000601855670de0b6b3a76400006019553480156200015157600080fd5b506000620001646200046a60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350738f217af04c1fbd1a352e1dba67b1240d2f26a1bd601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600854600260006200026e6200046a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002c26200047260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003f56200046a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200045c9190620005e4565b60405180910390a362000601565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620004e1826200049b565b9150620004ee836200049b565b925082620005015762000500620004a5565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000548826200049b565b915062000555836200049b565b9250828210156200056b576200056a6200050c565b5b828203905092915050565b600062000583826200049b565b915062000590836200049b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620005c857620005c76200050c565b5b828201905092915050565b620005de816200049b565b82525050565b6000602082019050620005fb6000830184620005d3565b92915050565b613bd380620006116000396000f3fe6080604052600436106101445760003560e01c80636fc3eaec116100b657806395d89b411161006f57806395d89b411461041c578063a9059cbb14610447578063b87f137a14610484578063c3c8cd80146104ad578063c9567bf9146104c4578063dd62ed3e146104db5761014b565b80636fc3eaec1461034157806370a0823114610358578063715018a61461039557806371908a03146103ac578063751039fc146103da5780638da5cb5b146103f15761014b565b806323b872dd1161010857806323b872dd14610235578063273123b714610272578063313ce5671461029b57806345596e2e146102c65780635932ead1146102ef578063677daa57146103185761014b565b806306fdde0314610150578063095ea7b31461017b57806317e1df5b146101b857806318160ddd146101e157806321bbcbb11461020c5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610518565b6040516101729190612c71565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612d3b565b610555565b6040516101af9190612d96565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da9190612db1565b610573565b005b3480156101ed57600080fd5b506101f661066a565b6040516102039190612e27565b60405180910390f35b34801561021857600080fd5b50610233600480360381019061022e9190612f8a565b61067a565b005b34801561024157600080fd5b5061025c60048036038101906102579190612fd3565b6108dc565b6040516102699190612d96565b60405180910390f35b34801561027e57600080fd5b5061029960048036038101906102949190613026565b6109b5565b005b3480156102a757600080fd5b506102b0610aa5565b6040516102bd919061306f565b60405180910390f35b3480156102d257600080fd5b506102ed60048036038101906102e8919061308a565b610aae565b005b3480156102fb57600080fd5b50610316600480360381019061031191906130e3565b610b5b565b005b34801561032457600080fd5b5061033f600480360381019061033a919061308a565b610c0d565b005b34801561034d57600080fd5b50610356610ce6565b005b34801561036457600080fd5b5061037f600480360381019061037a9190613026565b610d8c565b60405161038c9190612e27565b60405180910390f35b3480156103a157600080fd5b506103aa610ddd565b005b3480156103b857600080fd5b506103c1610f30565b6040516103d19493929190613110565b60405180910390f35b3480156103e657600080fd5b506103ef610f5c565b005b3480156103fd57600080fd5b50610406611011565b6040516104139190613164565b60405180910390f35b34801561042857600080fd5b5061043161103a565b60405161043e9190612c71565b60405180910390f35b34801561045357600080fd5b5061046e60048036038101906104699190612d3b565b611077565b60405161047b9190612d96565b60405180910390f35b34801561049057600080fd5b506104ab60048036038101906104a6919061308a565b611095565b005b3480156104b957600080fd5b506104c261116e565b005b3480156104d057600080fd5b506104d961121c565b005b3480156104e757600080fd5b5061050260048036038101906104fd919061317f565b611795565b60405161050f9190612e27565b60405180910390f35b60606040518060400160405280600c81526020017f4b696d204a6f6e6720496e750000000000000000000000000000000000000000815250905090565b600061056961056261181c565b8484611824565b6001905092915050565b61057b61181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ff9061320b565b60405180910390fd5b600e548385610617919061325a565b111561062257600080fd5b600f548183610631919061325a565b111561063c57600080fd5b83600a6000018190555082600a6001018190555081600a6002018190555080600a6003018190555050505050565b6000670de0b6b3a7640000905090565b61068261181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107069061320b565b60405180910390fd5b60005b81518110156108d8573073ffffffffffffffffffffffffffffffffffffffff16828281518110610745576107446132b0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141580156107d95750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168282815181106107b8576107b76132b0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b801561084d5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682828151811061082c5761082b6132b0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b156108c55760016006600084848151811061086b5761086a6132b0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806108d0906132df565b915050610712565b5050565b60006108e98484846119ed565b6109aa846108f561181c565b6109a585604051806060016040528060288152602001613b7660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061095b61181c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211f9092919063ffffffff16565b611824565b600190509392505050565b6109bd61181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a419061320b565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006012905090565b610ab661181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3a9061320b565b60405180910390fd5b6031811115610b5157600080fd5b8060118190555050565b610b6361181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be79061320b565b60405180910390fd5b80601760026101000a81548160ff02191690831515021790555050565b610c1561181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ca2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c999061320b565b60405180910390fd5b60008111610caf57600080fd5b610cdd6064610ccf83670de0b6b3a764000061218390919063ffffffff16565b6121fd90919063ffffffff16565b60188190555050565b610cee61181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d729061320b565b60405180910390fd5b6000479050610d8981612247565b50565b6000610dd6600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b3565b9050919050565b610de561181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e699061320b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080600080600a60000154600a60010154600a60020154600a60030154935093509350935090919293565b610f6461181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe89061320b565b60405180910390fd5b670de0b6b3a7640000601881905550670de0b6b3a7640000601981905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4b494d0000000000000000000000000000000000000000000000000000000000815250905090565b600061108b61108461181c565b84846119ed565b6001905092915050565b61109d61181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461112a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111219061320b565b60405180910390fd5b6000811161113757600080fd5b611165606461115783670de0b6b3a764000061218390919063ffffffff16565b6121fd90919063ffffffff16565b60198190555050565b61117661181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611203576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fa9061320b565b60405180910390fd5b600061120e30610d8c565b905061121981612321565b50565b61122461181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a89061320b565b60405180910390fd5b601560149054906101000a900460ff1615611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f890613373565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061139030601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a7640000611824565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ff91906133a8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148a91906133a8565b6040518363ffffffff1660e01b81526004016114a79291906133d5565b6020604051808303816000875af11580156114c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ea91906133a8565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061157330610d8c565b60008061157e611011565b426040518863ffffffff1660e01b81526004016115a096959493929190613443565b60606040518083038185885af11580156115be573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115e391906134b9565b5050506001601760016101000a81548160ff0219169083151502179055506001601760026101000a81548160ff02191690831515021790555061164b606461163d6003670de0b6b3a764000061218390919063ffffffff16565b6121fd90919063ffffffff16565b60188190555061168060646116726003670de0b6b3a764000061218390919063ffffffff16565b6121fd90919063ffffffff16565b6019819055506001601560146101000a81548160ff0219169083151502179055504360168190555042601381905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161174e92919061350c565b6020604051808303816000875af115801561176d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611791919061354a565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188a906135e9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f99061367b565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119e09190612e27565b60405180910390a3505050565b60008111611a30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a27906136e7565b60405180910390fd5b6001601760036101000a81548160ff021916908315150217905550611a53611011565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ac15750611a91611011565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561210f57601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b715750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bc75750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611bdf5750601760029054906101000a900460ff165b15611c4c57601854811115611bf357600080fd5b60195481611c0084610d8c565b611c0a919061325a565b1115611c4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4290613753565b60405180910390fd5b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611cf45750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d4d5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15611e1b57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611df65750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611dff57600080fd5b6000601760036101000a81548160ff0219169083151502179055505b6000611e2630610d8c565b9050611e7a6064611e6c601154611e5e601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d8c565b61218390919063ffffffff16565b6121fd90919063ffffffff16565b811115611ed657611ed36064611ec5601154611eb7601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d8c565b61218390919063ffffffff16565b6121fd90919063ffffffff16565b90505b601760009054906101000a900460ff16158015611f415750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611f595750601760019054906101000a900460ff165b1561204a576005601654611f6d919061325a565b431015611faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa6906137bf565b60405180910390fd5b611fb881612321565b60004790506000811115611fd057611fcf47612247565b5b600f600a600101541480611fe95750600f600a60030154145b15612048576007600a600101819055506007600a60030181905550426013819055507fc7f46049a8c20899ed06b5eb3fb529186b44deb8a286c127cb64d3cfe360849a600a6001015460405161203f9190612e27565b60405180910390a15b505b600f600a600101541415801561206557506002600a60010154115b8015612080575060125460135461207c919061325a565b4210155b1561210d5761209e6001600a600101546125a690919063ffffffff16565b600a600101819055506120c06001600a600301546125a690919063ffffffff16565b600a60030181905550426013819055507fc7f46049a8c20899ed06b5eb3fb529186b44deb8a286c127cb64d3cfe360849a600a600101546040516121049190612e27565b60405180910390a15b505b61211a8383836125f0565b505050565b6000838311158290612167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215e9190612c71565b60405180910390fd5b506000838561217691906137df565b9050809150509392505050565b600080830361219557600090506121f7565b600082846121a39190613813565b90508284826121b2919061389c565b146121f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e99061393f565b60405180910390fd5b809150505b92915050565b600061223f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612600565b905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156122af573d6000803e3d6000fd5b5050565b60006008548211156122fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f1906139d1565b60405180910390fd5b6000612304612663565b905061231981846121fd90919063ffffffff16565b915050919050565b6001601760006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561235957612358612e47565b5b6040519080825280602002602001820160405280156123875781602001602082028036833780820191505090505b509050308160008151811061239f5761239e6132b0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612446573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061246a91906133a8565b8160018151811061247e5761247d6132b0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124e530601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611824565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430603c42612535919061325a565b6040518663ffffffff1660e01b8152600401612555959493929190613aaf565b600060405180830381600087803b15801561256f57600080fd5b505af1158015612583573d6000803e3d6000fd5b50505050506000601760006101000a81548160ff02191690831515021790555050565b60006125e883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061211f565b905092915050565b6125fb83838361268e565b505050565b60008083118290612647576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263e9190612c71565b60405180910390fd5b5060008385612656919061389c565b9050809150509392505050565b6000806000612670612859565b9150915061268781836121fd90919063ffffffff16565b9250505090565b6000806000806000806126a0876128b8565b9550955095509550955095506126fe86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061279385600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461294d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127df816129ab565b6127e98483612a68565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516128469190612e27565b60405180910390a3505050505050505050565b600080600060085490506000670de0b6b3a7640000905061288d670de0b6b3a76400006008546121fd90919063ffffffff16565b8210156128ab57600854670de0b6b3a76400009350935050506128b4565b81819350935050505b9091565b60008060008060008060008060006128ce612aa2565b6128ec576128e78a600a60020154600a60030154612ab9565b612902565b6129018a600a60000154600a60010154612ab9565b5b9250925092506000612912612663565b905060008060006129258e878787612b4f565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600080828461295c919061325a565b9050838110156129a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299890613b55565b60405180910390fd5b8091505092915050565b60006129b5612663565b905060006129cc828461218390919063ffffffff16565b9050612a2081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461294d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612a7d826008546125a690919063ffffffff16565b600881905550612a988160095461294d90919063ffffffff16565b6009819055505050565b6000601760039054906101000a900460ff16905090565b600080600080612ae56064612ad7888a61218390919063ffffffff16565b6121fd90919063ffffffff16565b90506000612b0f6064612b01888b61218390919063ffffffff16565b6121fd90919063ffffffff16565b90506000612b3882612b2a858c6125a690919063ffffffff16565b6125a690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612b68858961218390919063ffffffff16565b90506000612b7f868961218390919063ffffffff16565b90506000612b96878961218390919063ffffffff16565b90506000612bbf82612bb185876125a690919063ffffffff16565b6125a690919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c12578082015181840152602081019050612bf7565b83811115612c21576000848401525b50505050565b6000601f19601f8301169050919050565b6000612c4382612bd8565b612c4d8185612be3565b9350612c5d818560208601612bf4565b612c6681612c27565b840191505092915050565b60006020820190508181036000830152612c8b8184612c38565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612cd282612ca7565b9050919050565b612ce281612cc7565b8114612ced57600080fd5b50565b600081359050612cff81612cd9565b92915050565b6000819050919050565b612d1881612d05565b8114612d2357600080fd5b50565b600081359050612d3581612d0f565b92915050565b60008060408385031215612d5257612d51612c9d565b5b6000612d6085828601612cf0565b9250506020612d7185828601612d26565b9150509250929050565b60008115159050919050565b612d9081612d7b565b82525050565b6000602082019050612dab6000830184612d87565b92915050565b60008060008060808587031215612dcb57612dca612c9d565b5b6000612dd987828801612d26565b9450506020612dea87828801612d26565b9350506040612dfb87828801612d26565b9250506060612e0c87828801612d26565b91505092959194509250565b612e2181612d05565b82525050565b6000602082019050612e3c6000830184612e18565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612e7f82612c27565b810181811067ffffffffffffffff82111715612e9e57612e9d612e47565b5b80604052505050565b6000612eb1612c93565b9050612ebd8282612e76565b919050565b600067ffffffffffffffff821115612edd57612edc612e47565b5b602082029050602081019050919050565b600080fd5b6000612f06612f0184612ec2565b612ea7565b90508083825260208201905060208402830185811115612f2957612f28612eee565b5b835b81811015612f525780612f3e8882612cf0565b845260208401935050602081019050612f2b565b5050509392505050565b600082601f830112612f7157612f70612e42565b5b8135612f81848260208601612ef3565b91505092915050565b600060208284031215612fa057612f9f612c9d565b5b600082013567ffffffffffffffff811115612fbe57612fbd612ca2565b5b612fca84828501612f5c565b91505092915050565b600080600060608486031215612fec57612feb612c9d565b5b6000612ffa86828701612cf0565b935050602061300b86828701612cf0565b925050604061301c86828701612d26565b9150509250925092565b60006020828403121561303c5761303b612c9d565b5b600061304a84828501612cf0565b91505092915050565b600060ff82169050919050565b61306981613053565b82525050565b60006020820190506130846000830184613060565b92915050565b6000602082840312156130a05761309f612c9d565b5b60006130ae84828501612d26565b91505092915050565b6130c081612d7b565b81146130cb57600080fd5b50565b6000813590506130dd816130b7565b92915050565b6000602082840312156130f9576130f8612c9d565b5b6000613107848285016130ce565b91505092915050565b60006080820190506131256000830187612e18565b6131326020830186612e18565b61313f6040830185612e18565b61314c6060830184612e18565b95945050505050565b61315e81612cc7565b82525050565b60006020820190506131796000830184613155565b92915050565b6000806040838503121561319657613195612c9d565b5b60006131a485828601612cf0565b92505060206131b585828601612cf0565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006131f5602083612be3565b9150613200826131bf565b602082019050919050565b60006020820190508181036000830152613224816131e8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061326582612d05565b915061327083612d05565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132a5576132a461322b565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006132ea82612d05565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361331c5761331b61322b565b5b600182019050919050565b7f4b696d20616c726561647920616c6c6f7765642074726164696e670000000000600082015250565b600061335d601b83612be3565b915061336882613327565b602082019050919050565b6000602082019050818103600083015261338c81613350565b9050919050565b6000815190506133a281612cd9565b92915050565b6000602082840312156133be576133bd612c9d565b5b60006133cc84828501613393565b91505092915050565b60006040820190506133ea6000830185613155565b6133f76020830184613155565b9392505050565b6000819050919050565b6000819050919050565b600061342d613428613423846133fe565b613408565b612d05565b9050919050565b61343d81613412565b82525050565b600060c0820190506134586000830189613155565b6134656020830188612e18565b6134726040830187613434565b61347f6060830186613434565b61348c6080830185613155565b61349960a0830184612e18565b979650505050505050565b6000815190506134b381612d0f565b92915050565b6000806000606084860312156134d2576134d1612c9d565b5b60006134e0868287016134a4565b93505060206134f1868287016134a4565b9250506040613502868287016134a4565b9150509250925092565b60006040820190506135216000830185613155565b61352e6020830184612e18565b9392505050565b600081519050613544816130b7565b92915050565b6000602082840312156135605761355f612c9d565b5b600061356e84828501613535565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006135d3602483612be3565b91506135de82613577565b604082019050919050565b60006020820190508181036000830152613602816135c6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613665602283612be3565b915061367082613609565b604082019050919050565b6000602082019050818103600083015261369481613658565b9050919050565b7f4b696d20736179206e6f2e000000000000000000000000000000000000000000600082015250565b60006136d1600b83612be3565b91506136dc8261369b565b602082019050919050565b60006020820190508181036000830152613700816136c4565b9050919050565b7f4e6f206361706974616c69736d2c206f6e6c79204b696d2e0000000000000000600082015250565b600061373d601883612be3565b915061374882613707565b602082019050919050565b6000602082019050818103600083015261376c81613730565b9050919050565b7f4b696d206e6f206c696b6520736e69706572732e000000000000000000000000600082015250565b60006137a9601483612be3565b91506137b482613773565b602082019050919050565b600060208201905081810360008301526137d88161379c565b9050919050565b60006137ea82612d05565b91506137f583612d05565b9250828210156138085761380761322b565b5b828203905092915050565b600061381e82612d05565b915061382983612d05565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156138625761386161322b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006138a782612d05565b91506138b283612d05565b9250826138c2576138c161386d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613929602183612be3565b9150613934826138cd565b604082019050919050565b600060208201905081810360008301526139588161391c565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006139bb602a83612be3565b91506139c68261395f565b604082019050919050565b600060208201905081810360008301526139ea816139ae565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a2681612cc7565b82525050565b6000613a388383613a1d565b60208301905092915050565b6000602082019050919050565b6000613a5c826139f1565b613a6681856139fc565b9350613a7183613a0d565b8060005b83811015613aa2578151613a898882613a2c565b9750613a9483613a44565b925050600181019050613a75565b5085935050505092915050565b600060a082019050613ac46000830188612e18565b613ad16020830187613434565b8181036040830152613ae38186613a51565b9050613af26060830185613155565b613aff6080830184612e18565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613b3f601b83612be3565b9150613b4a82613b09565b602082019050919050565b60006020820190508181036000830152613b6e81613b32565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200252eb1d4434175c69554b8676f2952a4b090ed0fec85289558ee6d406d8148e64736f6c634300080f0033

Deployed Bytecode

0x6080604052600436106101445760003560e01c80636fc3eaec116100b657806395d89b411161006f57806395d89b411461041c578063a9059cbb14610447578063b87f137a14610484578063c3c8cd80146104ad578063c9567bf9146104c4578063dd62ed3e146104db5761014b565b80636fc3eaec1461034157806370a0823114610358578063715018a61461039557806371908a03146103ac578063751039fc146103da5780638da5cb5b146103f15761014b565b806323b872dd1161010857806323b872dd14610235578063273123b714610272578063313ce5671461029b57806345596e2e146102c65780635932ead1146102ef578063677daa57146103185761014b565b806306fdde0314610150578063095ea7b31461017b57806317e1df5b146101b857806318160ddd146101e157806321bbcbb11461020c5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610518565b6040516101729190612c71565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612d3b565b610555565b6040516101af9190612d96565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da9190612db1565b610573565b005b3480156101ed57600080fd5b506101f661066a565b6040516102039190612e27565b60405180910390f35b34801561021857600080fd5b50610233600480360381019061022e9190612f8a565b61067a565b005b34801561024157600080fd5b5061025c60048036038101906102579190612fd3565b6108dc565b6040516102699190612d96565b60405180910390f35b34801561027e57600080fd5b5061029960048036038101906102949190613026565b6109b5565b005b3480156102a757600080fd5b506102b0610aa5565b6040516102bd919061306f565b60405180910390f35b3480156102d257600080fd5b506102ed60048036038101906102e8919061308a565b610aae565b005b3480156102fb57600080fd5b50610316600480360381019061031191906130e3565b610b5b565b005b34801561032457600080fd5b5061033f600480360381019061033a919061308a565b610c0d565b005b34801561034d57600080fd5b50610356610ce6565b005b34801561036457600080fd5b5061037f600480360381019061037a9190613026565b610d8c565b60405161038c9190612e27565b60405180910390f35b3480156103a157600080fd5b506103aa610ddd565b005b3480156103b857600080fd5b506103c1610f30565b6040516103d19493929190613110565b60405180910390f35b3480156103e657600080fd5b506103ef610f5c565b005b3480156103fd57600080fd5b50610406611011565b6040516104139190613164565b60405180910390f35b34801561042857600080fd5b5061043161103a565b60405161043e9190612c71565b60405180910390f35b34801561045357600080fd5b5061046e60048036038101906104699190612d3b565b611077565b60405161047b9190612d96565b60405180910390f35b34801561049057600080fd5b506104ab60048036038101906104a6919061308a565b611095565b005b3480156104b957600080fd5b506104c261116e565b005b3480156104d057600080fd5b506104d961121c565b005b3480156104e757600080fd5b5061050260048036038101906104fd919061317f565b611795565b60405161050f9190612e27565b60405180910390f35b60606040518060400160405280600c81526020017f4b696d204a6f6e6720496e750000000000000000000000000000000000000000815250905090565b600061056961056261181c565b8484611824565b6001905092915050565b61057b61181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ff9061320b565b60405180910390fd5b600e548385610617919061325a565b111561062257600080fd5b600f548183610631919061325a565b111561063c57600080fd5b83600a6000018190555082600a6001018190555081600a6002018190555080600a6003018190555050505050565b6000670de0b6b3a7640000905090565b61068261181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107069061320b565b60405180910390fd5b60005b81518110156108d8573073ffffffffffffffffffffffffffffffffffffffff16828281518110610745576107446132b0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141580156107d95750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168282815181106107b8576107b76132b0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b801561084d5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682828151811061082c5761082b6132b0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b156108c55760016006600084848151811061086b5761086a6132b0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806108d0906132df565b915050610712565b5050565b60006108e98484846119ed565b6109aa846108f561181c565b6109a585604051806060016040528060288152602001613b7660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061095b61181c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211f9092919063ffffffff16565b611824565b600190509392505050565b6109bd61181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a419061320b565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006012905090565b610ab661181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3a9061320b565b60405180910390fd5b6031811115610b5157600080fd5b8060118190555050565b610b6361181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be79061320b565b60405180910390fd5b80601760026101000a81548160ff02191690831515021790555050565b610c1561181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ca2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c999061320b565b60405180910390fd5b60008111610caf57600080fd5b610cdd6064610ccf83670de0b6b3a764000061218390919063ffffffff16565b6121fd90919063ffffffff16565b60188190555050565b610cee61181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d729061320b565b60405180910390fd5b6000479050610d8981612247565b50565b6000610dd6600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122b3565b9050919050565b610de561181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e699061320b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080600080600a60000154600a60010154600a60020154600a60030154935093509350935090919293565b610f6461181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe89061320b565b60405180910390fd5b670de0b6b3a7640000601881905550670de0b6b3a7640000601981905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4b494d0000000000000000000000000000000000000000000000000000000000815250905090565b600061108b61108461181c565b84846119ed565b6001905092915050565b61109d61181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461112a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111219061320b565b60405180910390fd5b6000811161113757600080fd5b611165606461115783670de0b6b3a764000061218390919063ffffffff16565b6121fd90919063ffffffff16565b60198190555050565b61117661181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611203576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fa9061320b565b60405180910390fd5b600061120e30610d8c565b905061121981612321565b50565b61122461181c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a89061320b565b60405180910390fd5b601560149054906101000a900460ff1615611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f890613373565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061139030601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a7640000611824565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ff91906133a8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148a91906133a8565b6040518363ffffffff1660e01b81526004016114a79291906133d5565b6020604051808303816000875af11580156114c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ea91906133a8565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061157330610d8c565b60008061157e611011565b426040518863ffffffff1660e01b81526004016115a096959493929190613443565b60606040518083038185885af11580156115be573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115e391906134b9565b5050506001601760016101000a81548160ff0219169083151502179055506001601760026101000a81548160ff02191690831515021790555061164b606461163d6003670de0b6b3a764000061218390919063ffffffff16565b6121fd90919063ffffffff16565b60188190555061168060646116726003670de0b6b3a764000061218390919063ffffffff16565b6121fd90919063ffffffff16565b6019819055506001601560146101000a81548160ff0219169083151502179055504360168190555042601381905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161174e92919061350c565b6020604051808303816000875af115801561176d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611791919061354a565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188a906135e9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f99061367b565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119e09190612e27565b60405180910390a3505050565b60008111611a30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a27906136e7565b60405180910390fd5b6001601760036101000a81548160ff021916908315150217905550611a53611011565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ac15750611a91611011565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561210f57601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b715750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bc75750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611bdf5750601760029054906101000a900460ff165b15611c4c57601854811115611bf357600080fd5b60195481611c0084610d8c565b611c0a919061325a565b1115611c4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4290613753565b60405180910390fd5b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611cf45750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d4d5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15611e1b57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611df65750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611dff57600080fd5b6000601760036101000a81548160ff0219169083151502179055505b6000611e2630610d8c565b9050611e7a6064611e6c601154611e5e601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d8c565b61218390919063ffffffff16565b6121fd90919063ffffffff16565b811115611ed657611ed36064611ec5601154611eb7601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d8c565b61218390919063ffffffff16565b6121fd90919063ffffffff16565b90505b601760009054906101000a900460ff16158015611f415750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611f595750601760019054906101000a900460ff165b1561204a576005601654611f6d919061325a565b431015611faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa6906137bf565b60405180910390fd5b611fb881612321565b60004790506000811115611fd057611fcf47612247565b5b600f600a600101541480611fe95750600f600a60030154145b15612048576007600a600101819055506007600a60030181905550426013819055507fc7f46049a8c20899ed06b5eb3fb529186b44deb8a286c127cb64d3cfe360849a600a6001015460405161203f9190612e27565b60405180910390a15b505b600f600a600101541415801561206557506002600a60010154115b8015612080575060125460135461207c919061325a565b4210155b1561210d5761209e6001600a600101546125a690919063ffffffff16565b600a600101819055506120c06001600a600301546125a690919063ffffffff16565b600a60030181905550426013819055507fc7f46049a8c20899ed06b5eb3fb529186b44deb8a286c127cb64d3cfe360849a600a600101546040516121049190612e27565b60405180910390a15b505b61211a8383836125f0565b505050565b6000838311158290612167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215e9190612c71565b60405180910390fd5b506000838561217691906137df565b9050809150509392505050565b600080830361219557600090506121f7565b600082846121a39190613813565b90508284826121b2919061389c565b146121f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e99061393f565b60405180910390fd5b809150505b92915050565b600061223f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612600565b905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156122af573d6000803e3d6000fd5b5050565b60006008548211156122fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f1906139d1565b60405180910390fd5b6000612304612663565b905061231981846121fd90919063ffffffff16565b915050919050565b6001601760006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561235957612358612e47565b5b6040519080825280602002602001820160405280156123875781602001602082028036833780820191505090505b509050308160008151811061239f5761239e6132b0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612446573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061246a91906133a8565b8160018151811061247e5761247d6132b0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124e530601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611824565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430603c42612535919061325a565b6040518663ffffffff1660e01b8152600401612555959493929190613aaf565b600060405180830381600087803b15801561256f57600080fd5b505af1158015612583573d6000803e3d6000fd5b50505050506000601760006101000a81548160ff02191690831515021790555050565b60006125e883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061211f565b905092915050565b6125fb83838361268e565b505050565b60008083118290612647576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263e9190612c71565b60405180910390fd5b5060008385612656919061389c565b9050809150509392505050565b6000806000612670612859565b9150915061268781836121fd90919063ffffffff16565b9250505090565b6000806000806000806126a0876128b8565b9550955095509550955095506126fe86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061279385600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461294d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127df816129ab565b6127e98483612a68565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516128469190612e27565b60405180910390a3505050505050505050565b600080600060085490506000670de0b6b3a7640000905061288d670de0b6b3a76400006008546121fd90919063ffffffff16565b8210156128ab57600854670de0b6b3a76400009350935050506128b4565b81819350935050505b9091565b60008060008060008060008060006128ce612aa2565b6128ec576128e78a600a60020154600a60030154612ab9565b612902565b6129018a600a60000154600a60010154612ab9565b5b9250925092506000612912612663565b905060008060006129258e878787612b4f565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600080828461295c919061325a565b9050838110156129a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299890613b55565b60405180910390fd5b8091505092915050565b60006129b5612663565b905060006129cc828461218390919063ffffffff16565b9050612a2081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461294d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612a7d826008546125a690919063ffffffff16565b600881905550612a988160095461294d90919063ffffffff16565b6009819055505050565b6000601760039054906101000a900460ff16905090565b600080600080612ae56064612ad7888a61218390919063ffffffff16565b6121fd90919063ffffffff16565b90506000612b0f6064612b01888b61218390919063ffffffff16565b6121fd90919063ffffffff16565b90506000612b3882612b2a858c6125a690919063ffffffff16565b6125a690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612b68858961218390919063ffffffff16565b90506000612b7f868961218390919063ffffffff16565b90506000612b96878961218390919063ffffffff16565b90506000612bbf82612bb185876125a690919063ffffffff16565b6125a690919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c12578082015181840152602081019050612bf7565b83811115612c21576000848401525b50505050565b6000601f19601f8301169050919050565b6000612c4382612bd8565b612c4d8185612be3565b9350612c5d818560208601612bf4565b612c6681612c27565b840191505092915050565b60006020820190508181036000830152612c8b8184612c38565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612cd282612ca7565b9050919050565b612ce281612cc7565b8114612ced57600080fd5b50565b600081359050612cff81612cd9565b92915050565b6000819050919050565b612d1881612d05565b8114612d2357600080fd5b50565b600081359050612d3581612d0f565b92915050565b60008060408385031215612d5257612d51612c9d565b5b6000612d6085828601612cf0565b9250506020612d7185828601612d26565b9150509250929050565b60008115159050919050565b612d9081612d7b565b82525050565b6000602082019050612dab6000830184612d87565b92915050565b60008060008060808587031215612dcb57612dca612c9d565b5b6000612dd987828801612d26565b9450506020612dea87828801612d26565b9350506040612dfb87828801612d26565b9250506060612e0c87828801612d26565b91505092959194509250565b612e2181612d05565b82525050565b6000602082019050612e3c6000830184612e18565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612e7f82612c27565b810181811067ffffffffffffffff82111715612e9e57612e9d612e47565b5b80604052505050565b6000612eb1612c93565b9050612ebd8282612e76565b919050565b600067ffffffffffffffff821115612edd57612edc612e47565b5b602082029050602081019050919050565b600080fd5b6000612f06612f0184612ec2565b612ea7565b90508083825260208201905060208402830185811115612f2957612f28612eee565b5b835b81811015612f525780612f3e8882612cf0565b845260208401935050602081019050612f2b565b5050509392505050565b600082601f830112612f7157612f70612e42565b5b8135612f81848260208601612ef3565b91505092915050565b600060208284031215612fa057612f9f612c9d565b5b600082013567ffffffffffffffff811115612fbe57612fbd612ca2565b5b612fca84828501612f5c565b91505092915050565b600080600060608486031215612fec57612feb612c9d565b5b6000612ffa86828701612cf0565b935050602061300b86828701612cf0565b925050604061301c86828701612d26565b9150509250925092565b60006020828403121561303c5761303b612c9d565b5b600061304a84828501612cf0565b91505092915050565b600060ff82169050919050565b61306981613053565b82525050565b60006020820190506130846000830184613060565b92915050565b6000602082840312156130a05761309f612c9d565b5b60006130ae84828501612d26565b91505092915050565b6130c081612d7b565b81146130cb57600080fd5b50565b6000813590506130dd816130b7565b92915050565b6000602082840312156130f9576130f8612c9d565b5b6000613107848285016130ce565b91505092915050565b60006080820190506131256000830187612e18565b6131326020830186612e18565b61313f6040830185612e18565b61314c6060830184612e18565b95945050505050565b61315e81612cc7565b82525050565b60006020820190506131796000830184613155565b92915050565b6000806040838503121561319657613195612c9d565b5b60006131a485828601612cf0565b92505060206131b585828601612cf0565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006131f5602083612be3565b9150613200826131bf565b602082019050919050565b60006020820190508181036000830152613224816131e8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061326582612d05565b915061327083612d05565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132a5576132a461322b565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006132ea82612d05565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361331c5761331b61322b565b5b600182019050919050565b7f4b696d20616c726561647920616c6c6f7765642074726164696e670000000000600082015250565b600061335d601b83612be3565b915061336882613327565b602082019050919050565b6000602082019050818103600083015261338c81613350565b9050919050565b6000815190506133a281612cd9565b92915050565b6000602082840312156133be576133bd612c9d565b5b60006133cc84828501613393565b91505092915050565b60006040820190506133ea6000830185613155565b6133f76020830184613155565b9392505050565b6000819050919050565b6000819050919050565b600061342d613428613423846133fe565b613408565b612d05565b9050919050565b61343d81613412565b82525050565b600060c0820190506134586000830189613155565b6134656020830188612e18565b6134726040830187613434565b61347f6060830186613434565b61348c6080830185613155565b61349960a0830184612e18565b979650505050505050565b6000815190506134b381612d0f565b92915050565b6000806000606084860312156134d2576134d1612c9d565b5b60006134e0868287016134a4565b93505060206134f1868287016134a4565b9250506040613502868287016134a4565b9150509250925092565b60006040820190506135216000830185613155565b61352e6020830184612e18565b9392505050565b600081519050613544816130b7565b92915050565b6000602082840312156135605761355f612c9d565b5b600061356e84828501613535565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006135d3602483612be3565b91506135de82613577565b604082019050919050565b60006020820190508181036000830152613602816135c6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613665602283612be3565b915061367082613609565b604082019050919050565b6000602082019050818103600083015261369481613658565b9050919050565b7f4b696d20736179206e6f2e000000000000000000000000000000000000000000600082015250565b60006136d1600b83612be3565b91506136dc8261369b565b602082019050919050565b60006020820190508181036000830152613700816136c4565b9050919050565b7f4e6f206361706974616c69736d2c206f6e6c79204b696d2e0000000000000000600082015250565b600061373d601883612be3565b915061374882613707565b602082019050919050565b6000602082019050818103600083015261376c81613730565b9050919050565b7f4b696d206e6f206c696b6520736e69706572732e000000000000000000000000600082015250565b60006137a9601483612be3565b91506137b482613773565b602082019050919050565b600060208201905081810360008301526137d88161379c565b9050919050565b60006137ea82612d05565b91506137f583612d05565b9250828210156138085761380761322b565b5b828203905092915050565b600061381e82612d05565b915061382983612d05565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156138625761386161322b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006138a782612d05565b91506138b283612d05565b9250826138c2576138c161386d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613929602183612be3565b9150613934826138cd565b604082019050919050565b600060208201905081810360008301526139588161391c565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006139bb602a83612be3565b91506139c68261395f565b604082019050919050565b600060208201905081810360008301526139ea816139ae565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a2681612cc7565b82525050565b6000613a388383613a1d565b60208301905092915050565b6000602082019050919050565b6000613a5c826139f1565b613a6681856139fc565b9350613a7183613a0d565b8060005b83811015613aa2578151613a898882613a2c565b9750613a9483613a44565b925050600181019050613a75565b5085935050505092915050565b600060a082019050613ac46000830188612e18565b613ad16020830187613434565b8181036040830152613ae38186613a51565b9050613af26060830185613155565b613aff6080830184612e18565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613b3f601b83612be3565b9150613b4a82613b09565b602082019050919050565b60006020820190508181036000830152613b6e81613b32565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200252eb1d4434175c69554b8676f2952a4b090ed0fec85289558ee6d406d8148e64736f6c634300080f0033

Deployed Bytecode Sourcemap

3533:12814:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5749:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6601:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10826:382;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6026:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12774:296;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6770:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13082:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5935:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11562:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7091:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11216:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14418:153;;;;;;;;;;;;;:::i;:::-;;6129:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2612:148;;;;;;;;;;;;;:::i;:::-;;10643:175;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;10517:118;;;;;;;;;;;;;:::i;:::-;;2398:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5840:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6275:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11387;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14252:154;;;;;;;;;;;;;:::i;:::-;;11801:961;;;;;;;;;;;;;:::i;:::-;;6450:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5749:83;5786:13;5819:5;;;;;;;;;;;;;;;;;5812:12;;5749:83;:::o;6601:161::-;6676:4;6693:39;6702:12;:10;:12::i;:::-;6716:7;6725:6;6693:8;:39::i;:::-;6750:4;6743:11;;6601:161;;;;:::o;10826:382::-;2535:12;:10;:12::i;:::-;2525:22;;:6;;;;;;;;;;:22;;;2517:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10975:18:::1;;10964:7;10954;:17;;;;:::i;:::-;:39;;10946:48;;;::::0;::::1;;11036:19;;11024:8;11013;:19;;;;:::i;:::-;:42;;11005:51;;;::::0;::::1;;11084:7;11067:6;:14;;:24;;;;11119:7;11102:6;:14;;:24;;;;11155:8;11137:6;:15;;:26;;;;11192:8;11174:6;:15;;:26;;;;10826:382:::0;;;;:::o;6026:95::-;6079:7;4036:10;6099:14;;6026:95;:::o;12774:296::-;2535:12;:10;:12::i;:::-;2525:22;;:6;;;;;;;;;;:22;;;2517:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12847:6:::1;12842:221;12863:5;:12;12859:1;:16;12842:221;;;12921:4;12901:25;;:5;12907:1;12901:8;;;;;;;;:::i;:::-;;;;;;;;:25;;;;:54;;;;;12942:13;;;;;;;;;;;12930:25;;:5;12936:1;12930:8;;;;;;;;:::i;:::-;;;;;;;;:25;;;;12901:54;:94;;;;;12979:15;;;;;;;;;;;12959:36;;:5;12965:1;12959:8;;;;;;;;:::i;:::-;;;;;;;;:36;;;;12901:94;12897:155;;;13032:4;13015;:14;13020:5;13026:1;13020:8;;;;;;;;:::i;:::-;;;;;;;;13015:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12897:155;12877:3;;;;;:::i;:::-;;;;12842:221;;;;12774:296:::0;:::o;6770:313::-;6868:4;6885:36;6895:6;6903:9;6914:6;6885:9;:36::i;:::-;6932:121;6941:6;6949:12;:10;:12::i;:::-;6963:89;7001:6;6963:89;;;;;;;;;;;;;;;;;:11;:19;6975:6;6963:19;;;;;;;;;;;;;;;:33;6983:12;:10;:12::i;:::-;6963:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6932:8;:121::i;:::-;7071:4;7064:11;;6770:313;;;;;:::o;13082:88::-;2535:12;:10;:12::i;:::-;2525:22;;:6;;;;;;;;;;:22;;;2517:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13157:5:::1;13142:4;:12;13147:6;13142:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;13082:88:::0;:::o;5935:83::-;5976:5;4807:2;5994:16;;5935:83;:::o;11562:117::-;2535:12;:10;:12::i;:::-;2525:22;;:6;;;;;;;;;;:22;;;2517:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11642:2:::1;11636:4;:8;;11628:17;;;::::0;::::1;;11667:4;11656:8;:15;;;;11562:117:::0;:::o;7091:103::-;2535:12;:10;:12::i;:::-;2525:22;;:6;;;;;;;;;;:22;;;2517:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7181:5:::1;7163:15;;:23;;;;;;;;;;;;;;;;;;7091:103:::0;:::o;11216:163::-;2535:12;:10;:12::i;:::-;2525:22;;:6;;;;;;;;;;:22;;;2517:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11311:1:::1;11300:10;:12;11292:21;;;::::0;::::1;;11339:32;11367:3;11339:23;11351:10;4036;11339:11;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;11324:12;:47;;;;11216:163:::0;:::o;14418:153::-;2535:12;:10;:12::i;:::-;2525:22;;:6;;;;;;;;;;:22;;;2517:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14470:26:::1;14499:21;14470:50;;14531:32;14544:18;14531:12;:32::i;:::-;14459:112;14418:153::o:0;6129:138::-;6195:7;6222:37;6242:7;:16;6250:7;6242:16;;;;;;;;;;;;;;;;6222:19;:37::i;:::-;6215:44;;6129:138;;;:::o;2612:148::-;2535:12;:10;:12::i;:::-;2525:22;;:6;;;;;;;;;;:22;;;2517:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2719:1:::1;2682:40;;2703:6;::::0;::::1;;;;;;;;2682:40;;;;;;;;;;;;2750:1;2733:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2612:148::o:0;10643:175::-;10690:7;10699;10708;10717;10745:6;:14;;;10761:6;:14;;;10777:6;:15;;;10794:6;:15;;;10737:73;;;;;;;;10643:175;;;;:::o;10517:118::-;2535:12;:10;:12::i;:::-;2525:22;;:6;;;;;;;;;;:22;;;2517:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4036:10:::1;10570:12;:22;;;;4036:10;10603:14;:24;;;;10517:118::o:0;2398:79::-;2436:7;2463:6;;;;;;;;;;;2456:13;;2398:79;:::o;5840:87::-;5879:13;5912:7;;;;;;;;;;;;;;;;;5905:14;;5840:87;:::o;6275:167::-;6353:4;6370:42;6380:12;:10;:12::i;:::-;6394:9;6405:6;6370:9;:42::i;:::-;6430:4;6423:11;;6275:167;;;;:::o;11387:::-;2535:12;:10;:12::i;:::-;2525:22;;:6;;;;;;;;;;:22;;;2517:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11484:1:::1;11473:10;:12;11465:21;;;::::0;::::1;;11514:32;11542:3;11514:23;11526:10;4036;11514:11;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;11497:14;:49;;;;11387:167:::0;:::o;14252:154::-;2535:12;:10;:12::i;:::-;2525:22;;:6;;;;;;;;;;:22;;;2517:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14304:23:::1;14330:24;14348:4;14330:9;:24::i;:::-;14304:50;;14365:33;14382:15;14365:16;:33::i;:::-;14293:113;14252:154::o:0;11801:961::-;2535:12;:10;:12::i;:::-;2525:22;;:6;;;;;;;;;;:22;;;2517:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11865:11:::1;;;;;;;;;;;11864:12;11856:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;11918:35;11975:42;11918:100;;12047:16;12029:15;;:34;;;;;;;;;;;;;;;;;;12074:58;12091:4;12106:15;;;;;;;;;;;4036:10;12074:8;:58::i;:::-;12177:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12159:56;;;12224:4;12231:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12159:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12143:13;;:112;;;;;;;;;;;;;;;;;;12266:15;;;;;;;;;;;:31;;;12305:21;12336:4;12342:24;12360:4;12342:9;:24::i;:::-;12367:1;12369::::0;12371:7:::1;:5;:7::i;:::-;12379:15;12266:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12420:4;12406:11;;:18;;;;;;;;;;;;;;;;;;12453:4;12435:15;;:22;;;;;;;;;;;;;;;;;;12483:23;12502:3;12483:14;12495:1;4036:10;12483:11;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;12468:12;:38;;;;12534:23;12553:3;12534:14;12546:1;4036:10;12534:11;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;12517:14;:40;;;;12582:4;12568:11;;:18;;;;;;;;;;;;;;;;;;12610:12;12597:10;:25;;;;12657:15;12633:21;:39;;;;12690:13;;;;;;;;;;;12683:29;;;12721:15;;;;;;;;;;;12739:14;12683:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11845:917;11801:961::o:0;6450:143::-;6531:7;6558:11;:18;6570:5;6558:18;;;;;;;;;;;;;;;:27;6577:7;6558:27;;;;;;;;;;;;;;;;6551:34;;6450:143;;;;:::o;116:98::-;169:7;196:10;189:17;;116:98;:::o;7464:335::-;7574:1;7557:19;;:5;:19;;;7549:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7655:1;7636:21;;:7;:21;;;7628:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7737:6;7707:11;:18;7719:5;7707:18;;;;;;;;;;;;;;;:27;7726:7;7707:27;;;;;;;;;;;;;;;:36;;;;7775:7;7759:32;;7768:5;7759:32;;;7784:6;7759:32;;;;;;:::i;:::-;;;;;;;;7464:335;;;:::o;7807:2119::-;7904:1;7895:6;:10;7887:34;;;;;;;;;;;;:::i;:::-;;;;;;;;;7941:4;7932:6;;:13;;;;;;;;;;;;;;;;;;7970:7;:5;:7::i;:::-;7962:15;;:4;:15;;;;:32;;;;;7987:7;:5;:7::i;:::-;7981:13;;:2;:13;;;;7962:32;7958:1918;;;8025:13;;;;;;;;;;;8017:21;;:4;:21;;;:55;;;;;8056:15;;;;;;;;;;;8042:30;;:2;:30;;;;8017:55;:83;;;;;8078:18;:22;8097:2;8078:22;;;;;;;;;;;;;;;;;;;;;;;;;8076:24;8017:83;:102;;;;;8104:15;;;;;;;;;;;8017:102;8013:294;;;8182:12;;8172:6;:22;;8164:31;;;;;;8248:14;;8238:6;8222:13;8232:2;8222:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8214:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;8013:294;8343:15;;;;;;;;;;;8327:32;;:4;:32;;;;:62;;;;;8365:18;:24;8384:4;8365:24;;;;;;;;;;;;;;;;;;;;;;;;;8363:26;8327:62;:85;;;;;8399:13;;;;;;;;;;;8393:19;;:2;:19;;;8327:85;8323:191;;;8441:4;:10;8446:4;8441:10;;;;;;;;;;;;;;;;;;;;;;;;;8440:11;:24;;;;;8456:4;:8;8461:2;8456:8;;;;;;;;;;;;;;;;;;;;;;;;;8455:9;8440:24;8432:33;;;;;;8493:5;8484:6;;:14;;;;;;;;;;;;;;;;;;8323:191;8530:28;8561:24;8579:4;8561:9;:24::i;:::-;8530:55;;8626:47;8669:3;8626:38;8655:8;;8626:24;8636:13;;;;;;;;;;;8626:9;:24::i;:::-;:28;;:38;;;;:::i;:::-;:42;;:47;;;;:::i;:::-;8603:20;:70;8600:180;;;8717:47;8760:3;8717:38;8746:8;;8717:24;8727:13;;;;;;;;;;;8717:9;:24::i;:::-;:28;;:38;;;;:::i;:::-;:42;;:47;;;;:::i;:::-;8694:70;;8600:180;8801:6;;;;;;;;;;;8800:7;:32;;;;;8819:13;;;;;;;;;;;8811:21;;:4;:21;;;;8800:32;:47;;;;;8836:11;;;;;;;;;;;8800:47;8796:693;;;8906:1;8893:10;;:14;;;;:::i;:::-;8876:12;:32;;8868:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8952:38;8969:20;8952:16;:38::i;:::-;9009:26;9038:21;9009:50;;9102:1;9081:18;:22;9078:105;;;9128:35;9141:21;9128:12;:35::i;:::-;9078:105;9223:2;9205:6;:14;;;:20;:45;;;;9248:2;9229:6;:15;;;:21;9205:45;9201:273;;;9292:1;9275:6;:14;;:18;;;;9334:1;9316:6;:15;;:19;;;;9382:15;9358:21;:39;;;;9425:29;9439:6;:14;;;9425:29;;;;;;:::i;:::-;;;;;;;;9201:273;8849:640;8796:693;9527:2;9509:6;:14;;;:20;;:42;;;;;9550:1;9533:6;:14;;;:18;9509:42;:111;;;;;9598:22;;9574:21;;:46;;;;:::i;:::-;9555:15;:65;;9509:111;9505:360;;;9658:21;9677:1;9658:6;:14;;;:18;;:21;;;;:::i;:::-;9641:6;:14;;:38;;;;9716:22;9736:1;9716:6;:15;;;:19;;:22;;;;:::i;:::-;9698:6;:15;;:40;;;;9781:15;9757:21;:39;;;;9820:29;9834:6;:14;;;9820:29;;;;;;:::i;:::-;;;;;;;;9505:360;7996:1880;7958:1918;9888:30;9903:4;9908:2;9911:6;9888:14;:30::i;:::-;7807:2119;;;:::o;1253:190::-;1339:7;1372:1;1367;:6;;1375:12;1359:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1399:9;1415:1;1411;:5;;;;:::i;:::-;1399:17;;1434:1;1427:8;;;1253:190;;;;;:::o;1451:246::-;1509:7;1538:1;1533;:6;1529:47;;1563:1;1556:8;;;;1529:47;1586:9;1602:1;1598;:5;;;;:::i;:::-;1586:17;;1631:1;1626;1622;:5;;;;:::i;:::-;:10;1614:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1688:1;1681:8;;;1451:246;;;;;:::o;1705:132::-;1763:7;1790:39;1794:1;1797;1790:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1783:46;;1705:132;;;;:::o;11695:96::-;11752:14;;;;;;;;;;;:23;;:31;11776:6;11752:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11695:96;:::o;7202:254::-;7269:7;7308;;7297;:18;;7289:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7373:19;7396:10;:8;:10::i;:::-;7373:33;;7424:24;7436:11;7424:7;:11;;:24;;;;:::i;:::-;7417:31;;;7202:254;;;:::o;9934:488::-;5333:4;5324:6;;:13;;;;;;;;;;;;;;;;;;10012:21:::1;10050:1;10036:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10012:40;;10081:4;10063;10068:1;10063:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10107:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10097:4;10102:1;10097:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10140:62;10157:4;10172:15;;;;;;;;;;;10190:11;10140:8;:62::i;:::-;10213:15;;;;;;;;;;;:66;;;10294:11;10320:1;10336:4;10363;10401:2;10383:15;:20;;;;:::i;:::-;10213:201;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10001:421;5369:5:::0;5360:6;;:14;;;;;;;;;;;;;;;;;;9934:488;:::o;1109:136::-;1167:7;1194:43;1198:1;1201;1194:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1187:50;;1109:136;;;;:::o;13186:146::-;13280:44;13298:6;13306:9;13317:6;13280:17;:44::i;:::-;13186:146;;;:::o;1845:189::-;1931:7;1963:1;1959;:5;1966:12;1951:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1990:9;2006:1;2002;:5;;;;:::i;:::-;1990:17;;2025:1;2018:8;;;1845:189;;;;;:::o;15911:163::-;15952:7;15973:15;15990;16009:19;:17;:19::i;:::-;15972:56;;;;16046:20;16058:7;16046;:11;;:20;;;;:::i;:::-;16039:27;;;;15911:163;:::o;13340:488::-;13439:15;13456:23;13481:12;13495:23;13520:12;13534:13;13551:19;13562:7;13551:10;:19::i;:::-;13438:132;;;;;;;;;;;;13599:28;13619:7;13599;:15;13607:6;13599:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13581:7;:15;13589:6;13581:15;;;;;;;;;;;;;;;:46;;;;13659:39;13682:15;13659:7;:18;13667:9;13659:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13638:7;:18;13646:9;13638:18;;;;;;;;;;;;;;;:60;;;;13710:16;13720:5;13710:9;:16::i;:::-;13737:23;13749:4;13755;13737:11;:23::i;:::-;13793:9;13776:44;;13785:6;13776:44;;;13804:15;13776:44;;;;;;:::i;:::-;;;;;;;;13427:401;;;;;;13340:488;;;:::o;16082:262::-;16132:7;16141;16161:15;16179:7;;16161:25;;16197:15;4036:10;16197:25;;16253:20;4036:10;16253:7;;:11;;:20;;;;:::i;:::-;16243:7;:30;16239:61;;;16283:7;;4036:10;16275:25;;;;;;;;16239:61;16319:7;16328;16311:25;;;;;;16082:262;;;:::o;14579:551::-;14638:7;14647;14656;14665;14674;14683;14704:23;14729:12;14743:13;14760:10;:8;:10::i;:::-;:122;;14828:54;14840:7;14849:6;:15;;;14866:6;:15;;;14828:11;:54::i;:::-;14760:122;;;14773:52;14785:7;14794:6;:14;;;14810:6;:14;;;14773:11;:52::i;:::-;14760:122;14703:179;;;;;;14893:19;14916:10;:8;:10::i;:::-;14893:33;;14938:15;14955:23;14980:12;14996:46;15008:7;15017:4;15023:5;15030:11;14996;:46::i;:::-;14937:105;;;;;;15061:7;15070:15;15087:4;15093:15;15110:4;15116:5;15053:69;;;;;;;;;;;;;;;;;;;14579:551;;;;;;;:::o;922:179::-;980:7;1000:9;1016:1;1012;:5;;;;:::i;:::-;1000:17;;1041:1;1036;:6;;1028:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1092:1;1085:8;;;922:179;;;;:::o;13836:212::-;13889:19;13912:10;:8;:10::i;:::-;13889:33;;13933:13;13949:22;13959:11;13949:5;:9;;:22;;;;:::i;:::-;13933:38;;14007:33;14034:5;14007:7;:22;14023:4;14007:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;13982:7;:22;13998:4;13982:22;;;;;;;;;;;;;;;:58;;;;13878:170;;13836:212;:::o;14056:147::-;14134:17;14146:4;14134:7;;:11;;:17;;;;:::i;:::-;14124:7;:27;;;;14175:20;14190:4;14175:10;;:14;;:20;;;;:::i;:::-;14162:10;:33;;;;14056:147;;:::o;10430:79::-;10472:4;10495:6;;;;;;;;;;;10488:13;;10430:79;:::o;15138:351::-;15231:7;15240;15249;15269:12;15284:28;15308:3;15284:19;15296:6;15284:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15269:43;;15323:13;15339:29;15364:3;15339:20;15351:7;15339;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;15323:45;;15379:23;15405:28;15427:5;15405:17;15417:4;15405:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15379:54;;15452:15;15469:4;15475:5;15444:37;;;;;;;;;15138:351;;;;;;;:::o;15497:409::-;15607:7;15616;15625;15645:15;15663:24;15675:11;15663:7;:11;;:24;;;;:::i;:::-;15645:42;;15698:12;15713:21;15722:11;15713:4;:8;;:21;;;;:::i;:::-;15698:36;;15745:13;15761:22;15771:11;15761:5;:9;;:22;;;;:::i;:::-;15745:38;;15794:23;15820:28;15842:5;15820:17;15832:4;15820:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15794:54;;15867:7;15876:15;15893:4;15859:39;;;;;;;;;;15497:409;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:765::-;3580:6;3588;3596;3604;3653:3;3641:9;3632:7;3628:23;3624:33;3621:120;;;3660:79;;:::i;:::-;3621:120;3780:1;3805:53;3850:7;3841:6;3830:9;3826:22;3805:53;:::i;:::-;3795:63;;3751:117;3907:2;3933:53;3978:7;3969:6;3958:9;3954:22;3933:53;:::i;:::-;3923:63;;3878:118;4035:2;4061:53;4106:7;4097:6;4086:9;4082:22;4061:53;:::i;:::-;4051:63;;4006:118;4163:2;4189:53;4234:7;4225:6;4214:9;4210:22;4189:53;:::i;:::-;4179:63;;4134:118;3494:765;;;;;;;:::o;4265:118::-;4352:24;4370:5;4352:24;:::i;:::-;4347:3;4340:37;4265:118;;:::o;4389:222::-;4482:4;4520:2;4509:9;4505:18;4497:26;;4533:71;4601:1;4590:9;4586:17;4577:6;4533:71;:::i;:::-;4389:222;;;;:::o;4617:117::-;4726:1;4723;4716:12;4740:180;4788:77;4785:1;4778:88;4885:4;4882:1;4875:15;4909:4;4906:1;4899:15;4926:281;5009:27;5031:4;5009:27;:::i;:::-;5001:6;4997:40;5139:6;5127:10;5124:22;5103:18;5091:10;5088:34;5085:62;5082:88;;;5150:18;;:::i;:::-;5082:88;5190:10;5186:2;5179:22;4969:238;4926:281;;:::o;5213:129::-;5247:6;5274:20;;:::i;:::-;5264:30;;5303:33;5331:4;5323:6;5303:33;:::i;:::-;5213:129;;;:::o;5348:311::-;5425:4;5515:18;5507:6;5504:30;5501:56;;;5537:18;;:::i;:::-;5501:56;5587:4;5579:6;5575:17;5567:25;;5647:4;5641;5637:15;5629:23;;5348:311;;;:::o;5665:117::-;5774:1;5771;5764:12;5805:710;5901:5;5926:81;5942:64;5999:6;5942:64;:::i;:::-;5926:81;:::i;:::-;5917:90;;6027:5;6056:6;6049:5;6042:21;6090:4;6083:5;6079:16;6072:23;;6143:4;6135:6;6131:17;6123:6;6119:30;6172:3;6164:6;6161:15;6158:122;;;6191:79;;:::i;:::-;6158:122;6306:6;6289:220;6323:6;6318:3;6315:15;6289:220;;;6398:3;6427:37;6460:3;6448:10;6427:37;:::i;:::-;6422:3;6415:50;6494:4;6489:3;6485:14;6478:21;;6365:144;6349:4;6344:3;6340:14;6333:21;;6289:220;;;6293:21;5907:608;;5805:710;;;;;:::o;6538:370::-;6609:5;6658:3;6651:4;6643:6;6639:17;6635:27;6625:122;;6666:79;;:::i;:::-;6625:122;6783:6;6770:20;6808:94;6898:3;6890:6;6883:4;6875:6;6871:17;6808:94;:::i;:::-;6799:103;;6615:293;6538:370;;;;:::o;6914:539::-;6998:6;7047:2;7035:9;7026:7;7022:23;7018:32;7015:119;;;7053:79;;:::i;:::-;7015:119;7201:1;7190:9;7186:17;7173:31;7231:18;7223:6;7220:30;7217:117;;;7253:79;;:::i;:::-;7217:117;7358:78;7428:7;7419:6;7408:9;7404:22;7358:78;:::i;:::-;7348:88;;7144:302;6914:539;;;;:::o;7459:619::-;7536:6;7544;7552;7601:2;7589:9;7580:7;7576:23;7572:32;7569:119;;;7607:79;;:::i;:::-;7569:119;7727:1;7752:53;7797:7;7788:6;7777:9;7773:22;7752:53;:::i;:::-;7742:63;;7698:117;7854:2;7880:53;7925:7;7916:6;7905:9;7901:22;7880:53;:::i;:::-;7870:63;;7825:118;7982:2;8008:53;8053:7;8044:6;8033:9;8029:22;8008:53;:::i;:::-;7998:63;;7953:118;7459:619;;;;;:::o;8084:329::-;8143:6;8192:2;8180:9;8171:7;8167:23;8163:32;8160:119;;;8198:79;;:::i;:::-;8160:119;8318:1;8343:53;8388:7;8379:6;8368:9;8364:22;8343:53;:::i;:::-;8333:63;;8289:117;8084:329;;;;:::o;8419:86::-;8454:7;8494:4;8487:5;8483:16;8472:27;;8419:86;;;:::o;8511:112::-;8594:22;8610:5;8594:22;:::i;:::-;8589:3;8582:35;8511:112;;:::o;8629:214::-;8718:4;8756:2;8745:9;8741:18;8733:26;;8769:67;8833:1;8822:9;8818:17;8809:6;8769:67;:::i;:::-;8629:214;;;;:::o;8849:329::-;8908:6;8957:2;8945:9;8936:7;8932:23;8928:32;8925:119;;;8963:79;;:::i;:::-;8925:119;9083:1;9108:53;9153:7;9144:6;9133:9;9129:22;9108:53;:::i;:::-;9098:63;;9054:117;8849:329;;;;:::o;9184:116::-;9254:21;9269:5;9254:21;:::i;:::-;9247:5;9244:32;9234:60;;9290:1;9287;9280:12;9234:60;9184:116;:::o;9306:133::-;9349:5;9387:6;9374:20;9365:29;;9403:30;9427:5;9403:30;:::i;:::-;9306:133;;;;:::o;9445:323::-;9501:6;9550:2;9538:9;9529:7;9525:23;9521:32;9518:119;;;9556:79;;:::i;:::-;9518:119;9676:1;9701:50;9743:7;9734:6;9723:9;9719:22;9701:50;:::i;:::-;9691:60;;9647:114;9445:323;;;;:::o;9774:553::-;9951:4;9989:3;9978:9;9974:19;9966:27;;10003:71;10071:1;10060:9;10056:17;10047:6;10003:71;:::i;:::-;10084:72;10152:2;10141:9;10137:18;10128:6;10084:72;:::i;:::-;10166;10234:2;10223:9;10219:18;10210:6;10166:72;:::i;:::-;10248;10316:2;10305:9;10301:18;10292:6;10248:72;:::i;:::-;9774:553;;;;;;;:::o;10333:118::-;10420:24;10438:5;10420:24;:::i;:::-;10415:3;10408:37;10333:118;;:::o;10457:222::-;10550:4;10588:2;10577:9;10573:18;10565:26;;10601:71;10669:1;10658:9;10654:17;10645:6;10601:71;:::i;:::-;10457:222;;;;:::o;10685:474::-;10753:6;10761;10810:2;10798:9;10789:7;10785:23;10781:32;10778:119;;;10816:79;;:::i;:::-;10778:119;10936:1;10961:53;11006:7;10997:6;10986:9;10982:22;10961:53;:::i;:::-;10951:63;;10907:117;11063:2;11089:53;11134:7;11125:6;11114:9;11110:22;11089:53;:::i;:::-;11079:63;;11034:118;10685:474;;;;;:::o;11165:182::-;11305:34;11301:1;11293:6;11289:14;11282:58;11165:182;:::o;11353:366::-;11495:3;11516:67;11580:2;11575:3;11516:67;:::i;:::-;11509:74;;11592:93;11681:3;11592:93;:::i;:::-;11710:2;11705:3;11701:12;11694:19;;11353:366;;;:::o;11725:419::-;11891:4;11929:2;11918:9;11914:18;11906:26;;11978:9;11972:4;11968:20;11964:1;11953:9;11949:17;11942:47;12006:131;12132:4;12006:131;:::i;:::-;11998:139;;11725:419;;;:::o;12150:180::-;12198:77;12195:1;12188:88;12295:4;12292:1;12285:15;12319:4;12316:1;12309:15;12336:305;12376:3;12395:20;12413:1;12395:20;:::i;:::-;12390:25;;12429:20;12447:1;12429:20;:::i;:::-;12424:25;;12583:1;12515:66;12511:74;12508:1;12505:81;12502:107;;;12589:18;;:::i;:::-;12502:107;12633:1;12630;12626:9;12619:16;;12336:305;;;;:::o;12647:180::-;12695:77;12692:1;12685:88;12792:4;12789:1;12782:15;12816:4;12813:1;12806:15;12833:233;12872:3;12895:24;12913:5;12895:24;:::i;:::-;12886:33;;12941:66;12934:5;12931:77;12928:103;;13011:18;;:::i;:::-;12928:103;13058:1;13051:5;13047:13;13040:20;;12833:233;;;:::o;13072:177::-;13212:29;13208:1;13200:6;13196:14;13189:53;13072:177;:::o;13255:366::-;13397:3;13418:67;13482:2;13477:3;13418:67;:::i;:::-;13411:74;;13494:93;13583:3;13494:93;:::i;:::-;13612:2;13607:3;13603:12;13596:19;;13255:366;;;:::o;13627:419::-;13793:4;13831:2;13820:9;13816:18;13808:26;;13880:9;13874:4;13870:20;13866:1;13855:9;13851:17;13844:47;13908:131;14034:4;13908:131;:::i;:::-;13900:139;;13627:419;;;:::o;14052:143::-;14109:5;14140:6;14134:13;14125:22;;14156:33;14183:5;14156:33;:::i;:::-;14052:143;;;;:::o;14201:351::-;14271:6;14320:2;14308:9;14299:7;14295:23;14291:32;14288:119;;;14326:79;;:::i;:::-;14288:119;14446:1;14471:64;14527:7;14518:6;14507:9;14503:22;14471:64;:::i;:::-;14461:74;;14417:128;14201:351;;;;:::o;14558:332::-;14679:4;14717:2;14706:9;14702:18;14694:26;;14730:71;14798:1;14787:9;14783:17;14774:6;14730:71;:::i;:::-;14811:72;14879:2;14868:9;14864:18;14855:6;14811:72;:::i;:::-;14558:332;;;;;:::o;14896:85::-;14941:7;14970:5;14959:16;;14896:85;;;:::o;14987:60::-;15015:3;15036:5;15029:12;;14987:60;;;:::o;15053:158::-;15111:9;15144:61;15162:42;15171:32;15197:5;15171:32;:::i;:::-;15162:42;:::i;:::-;15144:61;:::i;:::-;15131:74;;15053:158;;;:::o;15217:147::-;15312:45;15351:5;15312:45;:::i;:::-;15307:3;15300:58;15217:147;;:::o;15370:807::-;15619:4;15657:3;15646:9;15642:19;15634:27;;15671:71;15739:1;15728:9;15724:17;15715:6;15671:71;:::i;:::-;15752:72;15820:2;15809:9;15805:18;15796:6;15752:72;:::i;:::-;15834:80;15910:2;15899:9;15895:18;15886:6;15834:80;:::i;:::-;15924;16000:2;15989:9;15985:18;15976:6;15924:80;:::i;:::-;16014:73;16082:3;16071:9;16067:19;16058:6;16014:73;:::i;:::-;16097;16165:3;16154:9;16150:19;16141:6;16097:73;:::i;:::-;15370:807;;;;;;;;;:::o;16183:143::-;16240:5;16271:6;16265:13;16256:22;;16287:33;16314:5;16287:33;:::i;:::-;16183:143;;;;:::o;16332:663::-;16420:6;16428;16436;16485:2;16473:9;16464:7;16460:23;16456:32;16453:119;;;16491:79;;:::i;:::-;16453:119;16611:1;16636:64;16692:7;16683:6;16672:9;16668:22;16636:64;:::i;:::-;16626:74;;16582:128;16749:2;16775:64;16831:7;16822:6;16811:9;16807:22;16775:64;:::i;:::-;16765:74;;16720:129;16888:2;16914:64;16970:7;16961:6;16950:9;16946:22;16914:64;:::i;:::-;16904:74;;16859:129;16332:663;;;;;:::o;17001:332::-;17122:4;17160:2;17149:9;17145:18;17137:26;;17173:71;17241:1;17230:9;17226:17;17217:6;17173:71;:::i;:::-;17254:72;17322:2;17311:9;17307:18;17298:6;17254:72;:::i;:::-;17001:332;;;;;:::o;17339:137::-;17393:5;17424:6;17418:13;17409:22;;17440:30;17464:5;17440:30;:::i;:::-;17339:137;;;;:::o;17482:345::-;17549:6;17598:2;17586:9;17577:7;17573:23;17569:32;17566:119;;;17604:79;;:::i;:::-;17566:119;17724:1;17749:61;17802:7;17793:6;17782:9;17778:22;17749:61;:::i;:::-;17739:71;;17695:125;17482:345;;;;:::o;17833:223::-;17973:34;17969:1;17961:6;17957:14;17950:58;18042:6;18037:2;18029:6;18025:15;18018:31;17833:223;:::o;18062:366::-;18204:3;18225:67;18289:2;18284:3;18225:67;:::i;:::-;18218:74;;18301:93;18390:3;18301:93;:::i;:::-;18419:2;18414:3;18410:12;18403:19;;18062:366;;;:::o;18434:419::-;18600:4;18638:2;18627:9;18623:18;18615:26;;18687:9;18681:4;18677:20;18673:1;18662:9;18658:17;18651:47;18715:131;18841:4;18715:131;:::i;:::-;18707:139;;18434:419;;;:::o;18859:221::-;18999:34;18995:1;18987:6;18983:14;18976:58;19068:4;19063:2;19055:6;19051:15;19044:29;18859:221;:::o;19086:366::-;19228:3;19249:67;19313:2;19308:3;19249:67;:::i;:::-;19242:74;;19325:93;19414:3;19325:93;:::i;:::-;19443:2;19438:3;19434:12;19427:19;;19086:366;;;:::o;19458:419::-;19624:4;19662:2;19651:9;19647:18;19639:26;;19711:9;19705:4;19701:20;19697:1;19686:9;19682:17;19675:47;19739:131;19865:4;19739:131;:::i;:::-;19731:139;;19458:419;;;:::o;19883:161::-;20023:13;20019:1;20011:6;20007:14;20000:37;19883:161;:::o;20050:366::-;20192:3;20213:67;20277:2;20272:3;20213:67;:::i;:::-;20206:74;;20289:93;20378:3;20289:93;:::i;:::-;20407:2;20402:3;20398:12;20391:19;;20050:366;;;:::o;20422:419::-;20588:4;20626:2;20615:9;20611:18;20603:26;;20675:9;20669:4;20665:20;20661:1;20650:9;20646:17;20639:47;20703:131;20829:4;20703:131;:::i;:::-;20695:139;;20422:419;;;:::o;20847:174::-;20987:26;20983:1;20975:6;20971:14;20964:50;20847:174;:::o;21027:366::-;21169:3;21190:67;21254:2;21249:3;21190:67;:::i;:::-;21183:74;;21266:93;21355:3;21266:93;:::i;:::-;21384:2;21379:3;21375:12;21368:19;;21027:366;;;:::o;21399:419::-;21565:4;21603:2;21592:9;21588:18;21580:26;;21652:9;21646:4;21642:20;21638:1;21627:9;21623:17;21616:47;21680:131;21806:4;21680:131;:::i;:::-;21672:139;;21399:419;;;:::o;21824:170::-;21964:22;21960:1;21952:6;21948:14;21941:46;21824:170;:::o;22000:366::-;22142:3;22163:67;22227:2;22222:3;22163:67;:::i;:::-;22156:74;;22239:93;22328:3;22239:93;:::i;:::-;22357:2;22352:3;22348:12;22341:19;;22000:366;;;:::o;22372:419::-;22538:4;22576:2;22565:9;22561:18;22553:26;;22625:9;22619:4;22615:20;22611:1;22600:9;22596:17;22589:47;22653:131;22779:4;22653:131;:::i;:::-;22645:139;;22372:419;;;:::o;22797:191::-;22837:4;22857:20;22875:1;22857:20;:::i;:::-;22852:25;;22891:20;22909:1;22891:20;:::i;:::-;22886:25;;22930:1;22927;22924:8;22921:34;;;22935:18;;:::i;:::-;22921:34;22980:1;22977;22973:9;22965:17;;22797:191;;;;:::o;22994:348::-;23034:7;23057:20;23075:1;23057:20;:::i;:::-;23052:25;;23091:20;23109:1;23091:20;:::i;:::-;23086:25;;23279:1;23211:66;23207:74;23204:1;23201:81;23196:1;23189:9;23182:17;23178:105;23175:131;;;23286:18;;:::i;:::-;23175:131;23334:1;23331;23327:9;23316:20;;22994:348;;;;:::o;23348:180::-;23396:77;23393:1;23386:88;23493:4;23490:1;23483:15;23517:4;23514:1;23507:15;23534:185;23574:1;23591:20;23609:1;23591:20;:::i;:::-;23586:25;;23625:20;23643:1;23625:20;:::i;:::-;23620:25;;23664:1;23654:35;;23669:18;;:::i;:::-;23654:35;23711:1;23708;23704:9;23699:14;;23534:185;;;;:::o;23725:220::-;23865:34;23861:1;23853:6;23849:14;23842:58;23934:3;23929:2;23921:6;23917:15;23910:28;23725:220;:::o;23951:366::-;24093:3;24114:67;24178:2;24173:3;24114:67;:::i;:::-;24107:74;;24190:93;24279:3;24190:93;:::i;:::-;24308:2;24303:3;24299:12;24292:19;;23951:366;;;:::o;24323:419::-;24489:4;24527:2;24516:9;24512:18;24504:26;;24576:9;24570:4;24566:20;24562:1;24551:9;24547:17;24540:47;24604:131;24730:4;24604:131;:::i;:::-;24596:139;;24323:419;;;:::o;24748:229::-;24888:34;24884:1;24876:6;24872:14;24865:58;24957:12;24952:2;24944:6;24940:15;24933:37;24748:229;:::o;24983:366::-;25125:3;25146:67;25210:2;25205:3;25146:67;:::i;:::-;25139:74;;25222:93;25311:3;25222:93;:::i;:::-;25340:2;25335:3;25331:12;25324:19;;24983:366;;;:::o;25355:419::-;25521:4;25559:2;25548:9;25544:18;25536:26;;25608:9;25602:4;25598:20;25594:1;25583:9;25579:17;25572:47;25636:131;25762:4;25636:131;:::i;:::-;25628:139;;25355:419;;;:::o;25780:114::-;25847:6;25881:5;25875:12;25865:22;;25780:114;;;:::o;25900:184::-;25999:11;26033:6;26028:3;26021:19;26073:4;26068:3;26064:14;26049:29;;25900:184;;;;:::o;26090:132::-;26157:4;26180:3;26172:11;;26210:4;26205:3;26201:14;26193:22;;26090:132;;;:::o;26228:108::-;26305:24;26323:5;26305:24;:::i;:::-;26300:3;26293:37;26228:108;;:::o;26342:179::-;26411:10;26432:46;26474:3;26466:6;26432:46;:::i;:::-;26510:4;26505:3;26501:14;26487:28;;26342:179;;;;:::o;26527:113::-;26597:4;26629;26624:3;26620:14;26612:22;;26527:113;;;:::o;26676:732::-;26795:3;26824:54;26872:5;26824:54;:::i;:::-;26894:86;26973:6;26968:3;26894:86;:::i;:::-;26887:93;;27004:56;27054:5;27004:56;:::i;:::-;27083:7;27114:1;27099:284;27124:6;27121:1;27118:13;27099:284;;;27200:6;27194:13;27227:63;27286:3;27271:13;27227:63;:::i;:::-;27220:70;;27313:60;27366:6;27313:60;:::i;:::-;27303:70;;27159:224;27146:1;27143;27139:9;27134:14;;27099:284;;;27103:14;27399:3;27392:10;;26800:608;;;26676:732;;;;:::o;27414:831::-;27677:4;27715:3;27704:9;27700:19;27692:27;;27729:71;27797:1;27786:9;27782:17;27773:6;27729:71;:::i;:::-;27810:80;27886:2;27875:9;27871:18;27862:6;27810:80;:::i;:::-;27937:9;27931:4;27927:20;27922:2;27911:9;27907:18;27900:48;27965:108;28068:4;28059:6;27965:108;:::i;:::-;27957:116;;28083:72;28151:2;28140:9;28136:18;28127:6;28083:72;:::i;:::-;28165:73;28233:3;28222:9;28218:19;28209:6;28165:73;:::i;:::-;27414:831;;;;;;;;:::o;28251:177::-;28391:29;28387:1;28379:6;28375:14;28368:53;28251:177;:::o;28434:366::-;28576:3;28597:67;28661:2;28656:3;28597:67;:::i;:::-;28590:74;;28673:93;28762:3;28673:93;:::i;:::-;28791:2;28786:3;28782:12;28775:19;;28434:366;;;:::o;28806:419::-;28972:4;29010:2;28999:9;28995:18;28987:26;;29059:9;29053:4;29049:20;29045:1;29034:9;29030:17;29023:47;29087:131;29213:4;29087:131;:::i;:::-;29079:139;;28806:419;;;:::o

Swarm Source

ipfs://0252eb1d4434175c69554b8676f2952a4b090ed0fec85289558ee6d406d8148e

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.