ETH Price: $3,968.26 (+2.70%)

Contract

0x8aA8f5C89c173737a1baAD226a96f74F7d6b578c
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve176450232023-07-07 22:54:35527 days ago1688770475IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0016860935.8889691
Approve176445172023-07-07 21:12:59527 days ago1688764379IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0017350136.73307946
Approve176444902023-07-07 21:07:35527 days ago1688764055IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0017414436.91609546
Approve176444882023-07-07 21:07:11527 days ago1688764031IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0017439836.92302167
Approve176444842023-07-07 21:06:23527 days ago1688763983IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0017279736.58398144
Approve176444762023-07-07 21:04:47527 days ago1688763887IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0018057338.23042762
Approve176444682023-07-07 21:03:11527 days ago1688763791IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0024155251.20567179
Approve176444602023-07-07 21:01:35527 days ago1688763695IN
0x8aA8f5C8...F7d6b578c
0 ETH0.002585854.8153665
Approve176444432023-07-07 20:58:11527 days ago1688763491IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0019089940.46799754
Approve176444402023-07-07 20:57:35527 days ago1688763455IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0019052340.38827596
Approve176444102023-07-07 20:51:23527 days ago1688763083IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0020981244.42076244
Approve176444092023-07-07 20:51:11527 days ago1688763071IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0021429245.36928648
Approve176443782023-07-07 20:44:59527 days ago1688762699IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0029758863.0846018
Approve176443492023-07-07 20:39:11527 days ago1688762351IN
0x8aA8f5C8...F7d6b578c
0 ETH0.002550553.9983699
Approve176443442023-07-07 20:38:11527 days ago1688762291IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0026381255.92437325
Approve176443392023-07-07 20:37:11527 days ago1688762231IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0026828156.79957503
Renounce Ownersh...176443362023-07-07 20:36:35527 days ago1688762195IN
0x8aA8f5C8...F7d6b578c
0 ETH0.001280754.6795433
Approve176443332023-07-07 20:35:59527 days ago1688762159IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0028163259.62621651
Approve176443312023-07-07 20:35:35527 days ago1688762135IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0031201966.05973687
Set Fee176443242023-07-07 20:34:11527 days ago1688762051IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0025799565.73132175
Approve176443152023-07-07 20:32:23527 days ago1688761943IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0031089566.24234426
Approve176443072023-07-07 20:30:47527 days ago1688761847IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0038509781.53141741
Approve176442992023-07-07 20:29:11527 days ago1688761751IN
0x8aA8f5C8...F7d6b578c
0 ETH0.002787459.01400381
Approve176442952023-07-07 20:28:23527 days ago1688761703IN
0x8aA8f5C8...F7d6b578c
0 ETH0.002782958.9186262
Approve176442842023-07-07 20:26:11527 days ago1688761571IN
0x8aA8f5C8...F7d6b578c
0 ETH0.0024684852.26181262
View all transactions

Latest 16 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
176450252023-07-07 22:54:59527 days ago1688770499
0x8aA8f5C8...F7d6b578c
0.00072448 ETH
176450252023-07-07 22:54:59527 days ago1688770499
0x8aA8f5C8...F7d6b578c
0.00072448 ETH
176445172023-07-07 21:12:59527 days ago1688764379
0x8aA8f5C8...F7d6b578c
0.00076471 ETH
176445172023-07-07 21:12:59527 days ago1688764379
0x8aA8f5C8...F7d6b578c
0.00076471 ETH
176444792023-07-07 21:05:23527 days ago1688763923
0x8aA8f5C8...F7d6b578c
0.00136241 ETH
176444792023-07-07 21:05:23527 days ago1688763923
0x8aA8f5C8...F7d6b578c
0.00136241 ETH
176444672023-07-07 21:02:59527 days ago1688763779
0x8aA8f5C8...F7d6b578c
0.00232359 ETH
176444672023-07-07 21:02:59527 days ago1688763779
0x8aA8f5C8...F7d6b578c
0.00232359 ETH
176444442023-07-07 20:58:23527 days ago1688763503
0x8aA8f5C8...F7d6b578c
0.00253404 ETH
176444442023-07-07 20:58:23527 days ago1688763503
0x8aA8f5C8...F7d6b578c
0.00253404 ETH
176444072023-07-07 20:50:47527 days ago1688763047
0x8aA8f5C8...F7d6b578c
0.01046396 ETH
176444072023-07-07 20:50:47527 days ago1688763047
0x8aA8f5C8...F7d6b578c
0.01046396 ETH
176444052023-07-07 20:50:23527 days ago1688763023
0x8aA8f5C8...F7d6b578c
0.11576231 ETH
176444052023-07-07 20:50:23527 days ago1688763023
0x8aA8f5C8...F7d6b578c
0.11576231 ETH
176444022023-07-07 20:49:47527 days ago1688762987
0x8aA8f5C8...F7d6b578c
0.14212035 ETH
176444022023-07-07 20:49:47527 days ago1688762987
0x8aA8f5C8...F7d6b578c
0.14212035 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WSAITAMA

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
$WSAITAMA Telegram: https://t.me/+XAvZSEDH4WtkMGE0
$WSAITAMA Twitter: https://twitter.com/WrappedSaitama
*/

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

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

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

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

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

}

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

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

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract WSAITAMA is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "Wrapped Saitama";
    string private constant _symbol = "WSAITAMA";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 100000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 10;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 20;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    uint256 private launchBlock;

    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;
    mapping (address => bool) public preTrader;
    address payable private _developmentAddress = payable(0xDf2FA205C162a1088bdD000A2113bA78082DBB41);
    address payable private _marketingAddress = payable(0x22d7f739C97D225C62045738c3C73A7449aAC85A);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTxAmount = 2000001 * 10**9;
    uint256 public _maxWalletSize = 2000001 * 10**9;
    uint256 public _swapTokensAtAmount = 50000 * 10**9;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    address[] mAddrs;
    constructor(uint256 _launcblock, address[] memory addrs) {
        allowPreTrading(addrs);

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

        launchBlock = _launcblock;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function blockNumber() public view returns (uint256) {
        return block.number;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

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

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

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

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

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

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

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

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        	if (from != owner() && to != owner() && !preTrader[from] && !preTrader[to]) {

            //Trade start check
            if (!tradingOpen) {
                require(preTrader[from], "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
            require(block.number >= launchBlock, "TOKEN: Trading has not started yet!");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }

    function setTrading(bool _tradingOpen, uint256 _launchBlock) public onlyOwner {
        launchBlock = _launchBlock;
        tradingOpen = _tradingOpen;
    }

    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

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

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

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

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

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

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

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

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

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function allowPreTrading(address[] memory accounts) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
                 preTrader[accounts[i]] = true;
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_launcblock","type":"uint256"},{"internalType":"address[]","name":"addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"allowPreTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blockNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"preTrader","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"},{"internalType":"uint256","name":"_launchBlock","type":"uint256"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405267016345785d8a00006000196200001c91906200088a565b6000196200002b9190620008f1565b6006556000600855600a6009556000600a556014600b55600a54600c55600b54600d55600c54600e55600d54600f5573df2fa205c162a1088bdd000a2113ba78082dbb41601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507322d7f739c97d225c62045738c3c73a7449aac85a601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601760156101000a81548160ff0219169083151502179055506001601760166101000a81548160ff02191690831515021790555066071afd8527ca0060185566071afd8527ca00601955652d79883d2000601a553480156200016757600080fd5b5060405162004c4838038062004c4883398181016040528101906200018d919062000b4b565b60006200019f620006e460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200024e81620006ec60201b60201c565b6006546002600062000265620006e460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000349573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036f919062000bb1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003fd919062000bb1565b6040518363ffffffff1660e01b81526004016200041c92919062000bf4565b6020604051808303816000875af11580156200043c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000462919062000bb1565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620004b86200082860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550826010819055506200066c620006e460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef67016345785d8a0000604051620006d3919062000c32565b60405180910390a350505062000d4e565b600033905090565b620006fc620006e460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146200078c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007839062000cb0565b60405180910390fd5b60005b81518110156200082457600160136000848481518110620007b557620007b462000cd2565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806200081b9062000d01565b9150506200078f565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620008978262000851565b9150620008a48362000851565b925082620008b757620008b66200085b565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620008fe8262000851565b91506200090b8362000851565b9250828203905081811115620009265762000925620008c2565b5b92915050565b6000604051905090565b600080fd5b600080fd5b6200094b8162000851565b81146200095757600080fd5b50565b6000815190506200096b8162000940565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620009c18262000976565b810181811067ffffffffffffffff82111715620009e357620009e262000987565b5b80604052505050565b6000620009f86200092c565b905062000a068282620009b6565b919050565b600067ffffffffffffffff82111562000a295762000a2862000987565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a6c8262000a3f565b9050919050565b62000a7e8162000a5f565b811462000a8a57600080fd5b50565b60008151905062000a9e8162000a73565b92915050565b600062000abb62000ab58462000a0b565b620009ec565b9050808382526020820190506020840283018581111562000ae15762000ae062000a3a565b5b835b8181101562000b0e578062000af9888262000a8d565b84526020840193505060208101905062000ae3565b5050509392505050565b600082601f83011262000b305762000b2f62000971565b5b815162000b4284826020860162000aa4565b91505092915050565b6000806040838503121562000b655762000b6462000936565b5b600062000b75858286016200095a565b925050602083015167ffffffffffffffff81111562000b995762000b986200093b565b5b62000ba78582860162000b18565b9150509250929050565b60006020828403121562000bca5762000bc962000936565b5b600062000bda8482850162000a8d565b91505092915050565b62000bee8162000a5f565b82525050565b600060408201905062000c0b600083018562000be3565b62000c1a602083018462000be3565b9392505050565b62000c2c8162000851565b82525050565b600060208201905062000c49600083018462000c21565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000c9860208362000c4f565b915062000ca58262000c60565b602082019050919050565b6000602082019050818103600083015262000ccb8162000c89565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600062000d0e8262000851565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362000d435762000d42620008c2565b5b600182019050919050565b613eea8062000d5e6000396000f3fe6080604052600436106101dc5760003560e01c80637f2feddc11610102578063bdd795ef11610095578063dd62ed3e11610064578063dd62ed3e146106a7578063e2aa6cae146106e4578063ea1644d51461070d578063f2fde38b14610736576101e3565b8063bdd795ef146105ed578063bfd792841461062a578063c3c8cd8014610667578063c492f0461461067e576101e3565b806398a5c315116100d157806398a5c31514610535578063a2a957bb1461055e578063a9059cbb14610587578063b5a65223146105c4576101e3565b80637f2feddc146104775780638da5cb5b146104b45780638f9a55c0146104df57806395d89b411461050a576101e3565b806349bd5a5e1161017a57806370a082311161014957806370a08231146103cf578063715018a61461040c57806374010ece146104235780637d1db4a51461044c576101e3565b806349bd5a5e1461033957806357e871e7146103645780636d8aa8f81461038f5780636fc3eaec146103b8576101e3565b806318160ddd116101b657806318160ddd1461027b57806323b872dd146102a65780632fd689e3146102e3578063313ce5671461030e576101e3565b806306fdde03146101e8578063095ea7b3146102135780631694505e14610250576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd61075f565b60405161020a9190612cad565b60405180910390f35b34801561021f57600080fd5b5061023a60048036038101906102359190612d77565b61079c565b6040516102479190612dd2565b60405180910390f35b34801561025c57600080fd5b506102656107ba565b6040516102729190612e4c565b60405180910390f35b34801561028757600080fd5b506102906107e0565b60405161029d9190612e76565b60405180910390f35b3480156102b257600080fd5b506102cd60048036038101906102c89190612e91565b6107f0565b6040516102da9190612dd2565b60405180910390f35b3480156102ef57600080fd5b506102f86108c9565b6040516103059190612e76565b60405180910390f35b34801561031a57600080fd5b506103236108cf565b6040516103309190612f00565b60405180910390f35b34801561034557600080fd5b5061034e6108d8565b60405161035b9190612f2a565b60405180910390f35b34801561037057600080fd5b506103796108fe565b6040516103869190612e76565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b19190612f71565b610906565b005b3480156103c457600080fd5b506103cd6109b8565b005b3480156103db57600080fd5b506103f660048036038101906103f19190612f9e565b610a89565b6040516104039190612e76565b60405180910390f35b34801561041857600080fd5b50610421610ada565b005b34801561042f57600080fd5b5061044a60048036038101906104459190612fcb565b610c2d565b005b34801561045857600080fd5b50610461610ccc565b60405161046e9190612e76565b60405180910390f35b34801561048357600080fd5b5061049e60048036038101906104999190612f9e565b610cd2565b6040516104ab9190612e76565b60405180910390f35b3480156104c057600080fd5b506104c9610cea565b6040516104d69190612f2a565b60405180910390f35b3480156104eb57600080fd5b506104f4610d13565b6040516105019190612e76565b60405180910390f35b34801561051657600080fd5b5061051f610d19565b60405161052c9190612cad565b60405180910390f35b34801561054157600080fd5b5061055c60048036038101906105579190612fcb565b610d56565b005b34801561056a57600080fd5b5061058560048036038101906105809190612ff8565b610df5565b005b34801561059357600080fd5b506105ae60048036038101906105a99190612d77565b610eac565b6040516105bb9190612dd2565b60405180910390f35b3480156105d057600080fd5b506105eb60048036038101906105e691906131a7565b610eca565b005b3480156105f957600080fd5b50610614600480360381019061060f9190612f9e565b610ff4565b6040516106219190612dd2565b60405180910390f35b34801561063657600080fd5b50610651600480360381019061064c9190612f9e565b611014565b60405161065e9190612dd2565b60405180910390f35b34801561067357600080fd5b5061067c611034565b005b34801561068a57600080fd5b506106a560048036038101906106a0919061324b565b61110d565b005b3480156106b357600080fd5b506106ce60048036038101906106c991906132ab565b611247565b6040516106db9190612e76565b60405180910390f35b3480156106f057600080fd5b5061070b600480360381019061070691906132eb565b6112ce565b005b34801561071957600080fd5b50610734600480360381019061072f9190612fcb565b611388565b005b34801561074257600080fd5b5061075d60048036038101906107589190612f9e565b611427565b005b60606040518060400160405280600f81526020017f577261707065642053616974616d610000000000000000000000000000000000815250905090565b60006107b06107a96115e8565b84846115f0565b6001905092915050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600067016345785d8a0000905090565b60006107fd8484846117b9565b6108be846108096115e8565b6108b985604051806060016040528060288152602001613e8d60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061086f6115e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121469092919063ffffffff16565b6115f0565b600190509392505050565b601a5481565b60006009905090565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600043905090565b61090e6115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461099b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099290613377565b60405180910390fd5b80601760166101000a81548160ff02191690831515021790555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109f96115e8565b73ffffffffffffffffffffffffffffffffffffffff161480610a6f5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a576115e8565b73ffffffffffffffffffffffffffffffffffffffff16145b610a7857600080fd5b6000479050610a86816121aa565b50565b6000610ad3600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612216565b9050919050565b610ae26115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6690613377565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c356115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb990613377565b60405180910390fd5b8060188190555050565b60185481565b60126020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60195481565b60606040518060400160405280600881526020017f5753414954414d41000000000000000000000000000000000000000000000000815250905090565b610d5e6115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610deb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de290613377565b60405180910390fd5b80601a8190555050565b610dfd6115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8190613377565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b6000610ec0610eb96115e8565b84846117b9565b6001905092915050565b610ed26115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5690613377565b60405180910390fd5b60005b8151811015610ff057600160136000848481518110610f8457610f83613397565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610fe8906133f5565b915050610f62565b5050565b60136020528060005260406000206000915054906101000a900460ff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110756115e8565b73ffffffffffffffffffffffffffffffffffffffff1614806110eb5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110d36115e8565b73ffffffffffffffffffffffffffffffffffffffff16145b6110f457600080fd5b60006110ff30610a89565b905061110a81612284565b50565b6111156115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119990613377565b60405180910390fd5b60005b838390508110156112415781600560008686858181106111c8576111c7613397565b5b90506020020160208101906111dd9190612f9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611239906133f5565b9150506111a5565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112d66115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611363576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135a90613377565b60405180910390fd5b8060108190555081601760146101000a81548160ff0219169083151502179055505050565b6113906115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461141d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141490613377565b60405180910390fd5b8060198190555050565b61142f6115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b390613377565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361152b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611522906134af565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361165f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165690613541565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c5906135d3565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117ac9190612e76565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181f90613665565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611897576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188e906136f7565b60405180910390fd5b600081116118da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d190613789565b60405180910390fd5b6118e2610cea565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119505750611920610cea565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119a65750601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119fc5750601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e4557601760149054906101000a900460ff16611aa257601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a989061381b565b60405180910390fd5b5b601854811115611ae7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ade90613887565b60405180910390fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b8b5750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611bca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc190613919565b60405180910390fd5b601054431015611c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c06906139ab565b60405180910390fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611cbc5760195481611c7184610a89565b611c7b91906139cb565b10611cbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb290613a71565b60405180910390fd5b5b6000611cc730610a89565b90506000601a5482101590506018548210611ce25760185491505b808015611cfc5750601760159054906101000a900460ff16155b8015611d565750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611d6e5750601760169054906101000a900460ff165b8015611dc45750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611e1a5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e4257611e2882612284565b60004790506000811115611e4057611e3f476121aa565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611eec5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611f9f5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611f9e5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611fad5760009050612134565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156120585750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561207057600854600c81905550600954600d819055505b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561211b5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561213357600a54600c81905550600b54600d819055505b5b612140848484846124fd565b50505050565b600083831115829061218e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121859190612cad565b60405180910390fd5b506000838561219d9190613a91565b9050809150509392505050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612212573d6000803e3d6000fd5b5050565b600060065482111561225d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225490613b37565b60405180910390fd5b600061226761252a565b905061227c818461255590919063ffffffff16565b915050919050565b6001601760156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156122bc576122bb613064565b5b6040519080825280602002602001820160405280156122ea5781602001602082028036833780820191505090505b509050308160008151811061230257612301613397565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123cd9190613b6c565b816001815181106123e1576123e0613397565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061244830601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115f0565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016124ac959493929190613c92565b600060405180830381600087803b1580156124c657600080fd5b505af11580156124da573d6000803e3d6000fd5b50505050506000601760156101000a81548160ff02191690831515021790555050565b8061250b5761250a61259f565b5b6125168484846125dc565b80612524576125236127a7565b5b50505050565b60008060006125376127bb565b9150915061254e818361255590919063ffffffff16565b9250505090565b600061259783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061281a565b905092915050565b6000600c541480156125b357506000600d54145b6125da57600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b6000806000806000806125ee8761287d565b95509550955095509550955061264c86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128e590919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126e185600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461292f90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061272d8161298d565b6127378483612a4a565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516127949190612e76565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008060006006549050600067016345785d8a000090506127ef67016345785d8a000060065461255590919063ffffffff16565b82101561280d5760065467016345785d8a0000935093505050612816565b81819350935050505b9091565b60008083118290612861576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128589190612cad565b60405180910390fd5b50600083856128709190613d1b565b9050809150509392505050565b600080600080600080600080600061289a8a600c54600d54612a84565b92509250925060006128aa61252a565b905060008060006128bd8e878787612b1a565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061292783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612146565b905092915050565b600080828461293e91906139cb565b905083811015612983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297a90613d98565b60405180910390fd5b8091505092915050565b600061299761252a565b905060006129ae8284612ba390919063ffffffff16565b9050612a0281600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461292f90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612a5f826006546128e590919063ffffffff16565b600681905550612a7a8160075461292f90919063ffffffff16565b6007819055505050565b600080600080612ab06064612aa2888a612ba390919063ffffffff16565b61255590919063ffffffff16565b90506000612ada6064612acc888b612ba390919063ffffffff16565b61255590919063ffffffff16565b90506000612b0382612af5858c6128e590919063ffffffff16565b6128e590919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612b338589612ba390919063ffffffff16565b90506000612b4a8689612ba390919063ffffffff16565b90506000612b618789612ba390919063ffffffff16565b90506000612b8a82612b7c85876128e590919063ffffffff16565b6128e590919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612bb55760009050612c17565b60008284612bc39190613db8565b9050828482612bd29190613d1b565b14612c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0990613e6c565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c57578082015181840152602081019050612c3c565b60008484015250505050565b6000601f19601f8301169050919050565b6000612c7f82612c1d565b612c898185612c28565b9350612c99818560208601612c39565b612ca281612c63565b840191505092915050565b60006020820190508181036000830152612cc78184612c74565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d0e82612ce3565b9050919050565b612d1e81612d03565b8114612d2957600080fd5b50565b600081359050612d3b81612d15565b92915050565b6000819050919050565b612d5481612d41565b8114612d5f57600080fd5b50565b600081359050612d7181612d4b565b92915050565b60008060408385031215612d8e57612d8d612cd9565b5b6000612d9c85828601612d2c565b9250506020612dad85828601612d62565b9150509250929050565b60008115159050919050565b612dcc81612db7565b82525050565b6000602082019050612de76000830184612dc3565b92915050565b6000819050919050565b6000612e12612e0d612e0884612ce3565b612ded565b612ce3565b9050919050565b6000612e2482612df7565b9050919050565b6000612e3682612e19565b9050919050565b612e4681612e2b565b82525050565b6000602082019050612e616000830184612e3d565b92915050565b612e7081612d41565b82525050565b6000602082019050612e8b6000830184612e67565b92915050565b600080600060608486031215612eaa57612ea9612cd9565b5b6000612eb886828701612d2c565b9350506020612ec986828701612d2c565b9250506040612eda86828701612d62565b9150509250925092565b600060ff82169050919050565b612efa81612ee4565b82525050565b6000602082019050612f156000830184612ef1565b92915050565b612f2481612d03565b82525050565b6000602082019050612f3f6000830184612f1b565b92915050565b612f4e81612db7565b8114612f5957600080fd5b50565b600081359050612f6b81612f45565b92915050565b600060208284031215612f8757612f86612cd9565b5b6000612f9584828501612f5c565b91505092915050565b600060208284031215612fb457612fb3612cd9565b5b6000612fc284828501612d2c565b91505092915050565b600060208284031215612fe157612fe0612cd9565b5b6000612fef84828501612d62565b91505092915050565b6000806000806080858703121561301257613011612cd9565b5b600061302087828801612d62565b945050602061303187828801612d62565b935050604061304287828801612d62565b925050606061305387828801612d62565b91505092959194509250565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61309c82612c63565b810181811067ffffffffffffffff821117156130bb576130ba613064565b5b80604052505050565b60006130ce612ccf565b90506130da8282613093565b919050565b600067ffffffffffffffff8211156130fa576130f9613064565b5b602082029050602081019050919050565b600080fd5b600061312361311e846130df565b6130c4565b905080838252602082019050602084028301858111156131465761314561310b565b5b835b8181101561316f578061315b8882612d2c565b845260208401935050602081019050613148565b5050509392505050565b600082601f83011261318e5761318d61305f565b5b813561319e848260208601613110565b91505092915050565b6000602082840312156131bd576131bc612cd9565b5b600082013567ffffffffffffffff8111156131db576131da612cde565b5b6131e784828501613179565b91505092915050565b600080fd5b60008083601f84011261320b5761320a61305f565b5b8235905067ffffffffffffffff811115613228576132276131f0565b5b6020830191508360208202830111156132445761324361310b565b5b9250929050565b60008060006040848603121561326457613263612cd9565b5b600084013567ffffffffffffffff81111561328257613281612cde565b5b61328e868287016131f5565b935093505060206132a186828701612f5c565b9150509250925092565b600080604083850312156132c2576132c1612cd9565b5b60006132d085828601612d2c565b92505060206132e185828601612d2c565b9150509250929050565b6000806040838503121561330257613301612cd9565b5b600061331085828601612f5c565b925050602061332185828601612d62565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613361602083612c28565b915061336c8261332b565b602082019050919050565b6000602082019050818103600083015261339081613354565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061340082612d41565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613432576134316133c6565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613499602683612c28565b91506134a48261343d565b604082019050919050565b600060208201905081810360008301526134c88161348c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061352b602483612c28565b9150613536826134cf565b604082019050919050565b6000602082019050818103600083015261355a8161351e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006135bd602283612c28565b91506135c882613561565b604082019050919050565b600060208201905081810360008301526135ec816135b0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061364f602583612c28565b915061365a826135f3565b604082019050919050565b6000602082019050818103600083015261367e81613642565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006136e1602383612c28565b91506136ec82613685565b604082019050919050565b60006020820190508181036000830152613710816136d4565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613773602983612c28565b915061377e82613717565b604082019050919050565b600060208201905081810360008301526137a281613766565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613805603f83612c28565b9150613810826137a9565b604082019050919050565b60006020820190508181036000830152613834816137f8565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613871601c83612c28565b915061387c8261383b565b602082019050919050565b600060208201905081810360008301526138a081613864565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613903602383612c28565b915061390e826138a7565b604082019050919050565b60006020820190508181036000830152613932816138f6565b9050919050565b7f544f4b454e3a2054726164696e6720686173206e6f742073746172746564207960008201527f6574210000000000000000000000000000000000000000000000000000000000602082015250565b6000613995602383612c28565b91506139a082613939565b604082019050919050565b600060208201905081810360008301526139c481613988565b9050919050565b60006139d682612d41565b91506139e183612d41565b92508282019050808211156139f9576139f86133c6565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613a5b602383612c28565b9150613a66826139ff565b604082019050919050565b60006020820190508181036000830152613a8a81613a4e565b9050919050565b6000613a9c82612d41565b9150613aa783612d41565b9250828203905081811115613abf57613abe6133c6565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613b21602a83612c28565b9150613b2c82613ac5565b604082019050919050565b60006020820190508181036000830152613b5081613b14565b9050919050565b600081519050613b6681612d15565b92915050565b600060208284031215613b8257613b81612cd9565b5b6000613b9084828501613b57565b91505092915050565b6000819050919050565b6000613bbe613bb9613bb484613b99565b612ded565b612d41565b9050919050565b613bce81613ba3565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613c0981612d03565b82525050565b6000613c1b8383613c00565b60208301905092915050565b6000602082019050919050565b6000613c3f82613bd4565b613c498185613bdf565b9350613c5483613bf0565b8060005b83811015613c85578151613c6c8882613c0f565b9750613c7783613c27565b925050600181019050613c58565b5085935050505092915050565b600060a082019050613ca76000830188612e67565b613cb46020830187613bc5565b8181036040830152613cc68186613c34565b9050613cd56060830185612f1b565b613ce26080830184612e67565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613d2682612d41565b9150613d3183612d41565b925082613d4157613d40613cec565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613d82601b83612c28565b9150613d8d82613d4c565b602082019050919050565b60006020820190508181036000830152613db181613d75565b9050919050565b6000613dc382612d41565b9150613dce83612d41565b9250828202613ddc81612d41565b91508282048414831517613df357613df26133c6565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613e56602183612c28565b9150613e6182613dfa565b604082019050919050565b60006020820190508181036000830152613e8581613e49565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122053603621f53148de717e5aa39f8a4ff8f7bace88be6a7c7ac24f8d929acfd4ba64736f6c6343000812003300000000000000000000000000000000000000000000000000000000010d3ac60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000d35520b8e284382101ea38d421f83f54073584d5000000000000000000000000f33ce37317be3c36cb012c87023721fe5c2f881900000000000000000000000011b1e011d28d992a2616e31faa47778591491a7f000000000000000000000000739947983a6fc4f68f7c552f9e8e7aa77af32be2000000000000000000000000bcccafbf204e57b7feb33b8d258c9d6d4d69a8910000000000000000000000004e3b899cf0bfcd30844ad4976bfb9dc265f54b96000000000000000000000000a54393dbf988e95d0c6651dfaa4f0200fbc2123e000000000000000000000000c6ae75971682aa9ac89c8f323d3d193fda2912650000000000000000000000009a000bf5513b78ac3936252a45f9b8905ba269a8000000000000000000000000e79a7f5925a75e3b58aaffc3d350d4c03e891b5a0000000000000000000000008d005abab11d811af09a4506c84609eda661ebbc00000000000000000000000084ddd46f0e741100337f1e3f545198c057214efb00000000000000000000000075d74c66ca1ad610644c0990709c4bf407de74e600000000000000000000000093038e8383ea2d3471567ea0a03375c696f6abe500000000000000000000000072a9485ed1a72a2d2e1b1b77acef2da4e60ebda3

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c80637f2feddc11610102578063bdd795ef11610095578063dd62ed3e11610064578063dd62ed3e146106a7578063e2aa6cae146106e4578063ea1644d51461070d578063f2fde38b14610736576101e3565b8063bdd795ef146105ed578063bfd792841461062a578063c3c8cd8014610667578063c492f0461461067e576101e3565b806398a5c315116100d157806398a5c31514610535578063a2a957bb1461055e578063a9059cbb14610587578063b5a65223146105c4576101e3565b80637f2feddc146104775780638da5cb5b146104b45780638f9a55c0146104df57806395d89b411461050a576101e3565b806349bd5a5e1161017a57806370a082311161014957806370a08231146103cf578063715018a61461040c57806374010ece146104235780637d1db4a51461044c576101e3565b806349bd5a5e1461033957806357e871e7146103645780636d8aa8f81461038f5780636fc3eaec146103b8576101e3565b806318160ddd116101b657806318160ddd1461027b57806323b872dd146102a65780632fd689e3146102e3578063313ce5671461030e576101e3565b806306fdde03146101e8578063095ea7b3146102135780631694505e14610250576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd61075f565b60405161020a9190612cad565b60405180910390f35b34801561021f57600080fd5b5061023a60048036038101906102359190612d77565b61079c565b6040516102479190612dd2565b60405180910390f35b34801561025c57600080fd5b506102656107ba565b6040516102729190612e4c565b60405180910390f35b34801561028757600080fd5b506102906107e0565b60405161029d9190612e76565b60405180910390f35b3480156102b257600080fd5b506102cd60048036038101906102c89190612e91565b6107f0565b6040516102da9190612dd2565b60405180910390f35b3480156102ef57600080fd5b506102f86108c9565b6040516103059190612e76565b60405180910390f35b34801561031a57600080fd5b506103236108cf565b6040516103309190612f00565b60405180910390f35b34801561034557600080fd5b5061034e6108d8565b60405161035b9190612f2a565b60405180910390f35b34801561037057600080fd5b506103796108fe565b6040516103869190612e76565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b19190612f71565b610906565b005b3480156103c457600080fd5b506103cd6109b8565b005b3480156103db57600080fd5b506103f660048036038101906103f19190612f9e565b610a89565b6040516104039190612e76565b60405180910390f35b34801561041857600080fd5b50610421610ada565b005b34801561042f57600080fd5b5061044a60048036038101906104459190612fcb565b610c2d565b005b34801561045857600080fd5b50610461610ccc565b60405161046e9190612e76565b60405180910390f35b34801561048357600080fd5b5061049e60048036038101906104999190612f9e565b610cd2565b6040516104ab9190612e76565b60405180910390f35b3480156104c057600080fd5b506104c9610cea565b6040516104d69190612f2a565b60405180910390f35b3480156104eb57600080fd5b506104f4610d13565b6040516105019190612e76565b60405180910390f35b34801561051657600080fd5b5061051f610d19565b60405161052c9190612cad565b60405180910390f35b34801561054157600080fd5b5061055c60048036038101906105579190612fcb565b610d56565b005b34801561056a57600080fd5b5061058560048036038101906105809190612ff8565b610df5565b005b34801561059357600080fd5b506105ae60048036038101906105a99190612d77565b610eac565b6040516105bb9190612dd2565b60405180910390f35b3480156105d057600080fd5b506105eb60048036038101906105e691906131a7565b610eca565b005b3480156105f957600080fd5b50610614600480360381019061060f9190612f9e565b610ff4565b6040516106219190612dd2565b60405180910390f35b34801561063657600080fd5b50610651600480360381019061064c9190612f9e565b611014565b60405161065e9190612dd2565b60405180910390f35b34801561067357600080fd5b5061067c611034565b005b34801561068a57600080fd5b506106a560048036038101906106a0919061324b565b61110d565b005b3480156106b357600080fd5b506106ce60048036038101906106c991906132ab565b611247565b6040516106db9190612e76565b60405180910390f35b3480156106f057600080fd5b5061070b600480360381019061070691906132eb565b6112ce565b005b34801561071957600080fd5b50610734600480360381019061072f9190612fcb565b611388565b005b34801561074257600080fd5b5061075d60048036038101906107589190612f9e565b611427565b005b60606040518060400160405280600f81526020017f577261707065642053616974616d610000000000000000000000000000000000815250905090565b60006107b06107a96115e8565b84846115f0565b6001905092915050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600067016345785d8a0000905090565b60006107fd8484846117b9565b6108be846108096115e8565b6108b985604051806060016040528060288152602001613e8d60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061086f6115e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121469092919063ffffffff16565b6115f0565b600190509392505050565b601a5481565b60006009905090565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600043905090565b61090e6115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461099b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099290613377565b60405180910390fd5b80601760166101000a81548160ff02191690831515021790555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109f96115e8565b73ffffffffffffffffffffffffffffffffffffffff161480610a6f5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a576115e8565b73ffffffffffffffffffffffffffffffffffffffff16145b610a7857600080fd5b6000479050610a86816121aa565b50565b6000610ad3600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612216565b9050919050565b610ae26115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6690613377565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c356115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb990613377565b60405180910390fd5b8060188190555050565b60185481565b60126020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60195481565b60606040518060400160405280600881526020017f5753414954414d41000000000000000000000000000000000000000000000000815250905090565b610d5e6115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610deb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de290613377565b60405180910390fd5b80601a8190555050565b610dfd6115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8190613377565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b6000610ec0610eb96115e8565b84846117b9565b6001905092915050565b610ed26115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5690613377565b60405180910390fd5b60005b8151811015610ff057600160136000848481518110610f8457610f83613397565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610fe8906133f5565b915050610f62565b5050565b60136020528060005260406000206000915054906101000a900460ff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110756115e8565b73ffffffffffffffffffffffffffffffffffffffff1614806110eb5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110d36115e8565b73ffffffffffffffffffffffffffffffffffffffff16145b6110f457600080fd5b60006110ff30610a89565b905061110a81612284565b50565b6111156115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119990613377565b60405180910390fd5b60005b838390508110156112415781600560008686858181106111c8576111c7613397565b5b90506020020160208101906111dd9190612f9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611239906133f5565b9150506111a5565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112d66115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611363576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135a90613377565b60405180910390fd5b8060108190555081601760146101000a81548160ff0219169083151502179055505050565b6113906115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461141d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141490613377565b60405180910390fd5b8060198190555050565b61142f6115e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b390613377565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361152b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611522906134af565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361165f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165690613541565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c5906135d3565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117ac9190612e76565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181f90613665565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611897576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188e906136f7565b60405180910390fd5b600081116118da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d190613789565b60405180910390fd5b6118e2610cea565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119505750611920610cea565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119a65750601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119fc5750601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e4557601760149054906101000a900460ff16611aa257601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a989061381b565b60405180910390fd5b5b601854811115611ae7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ade90613887565b60405180910390fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b8b5750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611bca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc190613919565b60405180910390fd5b601054431015611c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c06906139ab565b60405180910390fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611cbc5760195481611c7184610a89565b611c7b91906139cb565b10611cbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb290613a71565b60405180910390fd5b5b6000611cc730610a89565b90506000601a5482101590506018548210611ce25760185491505b808015611cfc5750601760159054906101000a900460ff16155b8015611d565750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611d6e5750601760169054906101000a900460ff165b8015611dc45750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611e1a5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e4257611e2882612284565b60004790506000811115611e4057611e3f476121aa565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611eec5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611f9f5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611f9e5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611fad5760009050612134565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156120585750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561207057600854600c81905550600954600d819055505b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561211b5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561213357600a54600c81905550600b54600d819055505b5b612140848484846124fd565b50505050565b600083831115829061218e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121859190612cad565b60405180910390fd5b506000838561219d9190613a91565b9050809150509392505050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612212573d6000803e3d6000fd5b5050565b600060065482111561225d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225490613b37565b60405180910390fd5b600061226761252a565b905061227c818461255590919063ffffffff16565b915050919050565b6001601760156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156122bc576122bb613064565b5b6040519080825280602002602001820160405280156122ea5781602001602082028036833780820191505090505b509050308160008151811061230257612301613397565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123cd9190613b6c565b816001815181106123e1576123e0613397565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061244830601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115f0565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016124ac959493929190613c92565b600060405180830381600087803b1580156124c657600080fd5b505af11580156124da573d6000803e3d6000fd5b50505050506000601760156101000a81548160ff02191690831515021790555050565b8061250b5761250a61259f565b5b6125168484846125dc565b80612524576125236127a7565b5b50505050565b60008060006125376127bb565b9150915061254e818361255590919063ffffffff16565b9250505090565b600061259783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061281a565b905092915050565b6000600c541480156125b357506000600d54145b6125da57600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b6000806000806000806125ee8761287d565b95509550955095509550955061264c86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128e590919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126e185600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461292f90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061272d8161298d565b6127378483612a4a565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516127949190612e76565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008060006006549050600067016345785d8a000090506127ef67016345785d8a000060065461255590919063ffffffff16565b82101561280d5760065467016345785d8a0000935093505050612816565b81819350935050505b9091565b60008083118290612861576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128589190612cad565b60405180910390fd5b50600083856128709190613d1b565b9050809150509392505050565b600080600080600080600080600061289a8a600c54600d54612a84565b92509250925060006128aa61252a565b905060008060006128bd8e878787612b1a565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061292783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612146565b905092915050565b600080828461293e91906139cb565b905083811015612983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297a90613d98565b60405180910390fd5b8091505092915050565b600061299761252a565b905060006129ae8284612ba390919063ffffffff16565b9050612a0281600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461292f90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612a5f826006546128e590919063ffffffff16565b600681905550612a7a8160075461292f90919063ffffffff16565b6007819055505050565b600080600080612ab06064612aa2888a612ba390919063ffffffff16565b61255590919063ffffffff16565b90506000612ada6064612acc888b612ba390919063ffffffff16565b61255590919063ffffffff16565b90506000612b0382612af5858c6128e590919063ffffffff16565b6128e590919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612b338589612ba390919063ffffffff16565b90506000612b4a8689612ba390919063ffffffff16565b90506000612b618789612ba390919063ffffffff16565b90506000612b8a82612b7c85876128e590919063ffffffff16565b6128e590919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612bb55760009050612c17565b60008284612bc39190613db8565b9050828482612bd29190613d1b565b14612c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0990613e6c565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c57578082015181840152602081019050612c3c565b60008484015250505050565b6000601f19601f8301169050919050565b6000612c7f82612c1d565b612c898185612c28565b9350612c99818560208601612c39565b612ca281612c63565b840191505092915050565b60006020820190508181036000830152612cc78184612c74565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d0e82612ce3565b9050919050565b612d1e81612d03565b8114612d2957600080fd5b50565b600081359050612d3b81612d15565b92915050565b6000819050919050565b612d5481612d41565b8114612d5f57600080fd5b50565b600081359050612d7181612d4b565b92915050565b60008060408385031215612d8e57612d8d612cd9565b5b6000612d9c85828601612d2c565b9250506020612dad85828601612d62565b9150509250929050565b60008115159050919050565b612dcc81612db7565b82525050565b6000602082019050612de76000830184612dc3565b92915050565b6000819050919050565b6000612e12612e0d612e0884612ce3565b612ded565b612ce3565b9050919050565b6000612e2482612df7565b9050919050565b6000612e3682612e19565b9050919050565b612e4681612e2b565b82525050565b6000602082019050612e616000830184612e3d565b92915050565b612e7081612d41565b82525050565b6000602082019050612e8b6000830184612e67565b92915050565b600080600060608486031215612eaa57612ea9612cd9565b5b6000612eb886828701612d2c565b9350506020612ec986828701612d2c565b9250506040612eda86828701612d62565b9150509250925092565b600060ff82169050919050565b612efa81612ee4565b82525050565b6000602082019050612f156000830184612ef1565b92915050565b612f2481612d03565b82525050565b6000602082019050612f3f6000830184612f1b565b92915050565b612f4e81612db7565b8114612f5957600080fd5b50565b600081359050612f6b81612f45565b92915050565b600060208284031215612f8757612f86612cd9565b5b6000612f9584828501612f5c565b91505092915050565b600060208284031215612fb457612fb3612cd9565b5b6000612fc284828501612d2c565b91505092915050565b600060208284031215612fe157612fe0612cd9565b5b6000612fef84828501612d62565b91505092915050565b6000806000806080858703121561301257613011612cd9565b5b600061302087828801612d62565b945050602061303187828801612d62565b935050604061304287828801612d62565b925050606061305387828801612d62565b91505092959194509250565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61309c82612c63565b810181811067ffffffffffffffff821117156130bb576130ba613064565b5b80604052505050565b60006130ce612ccf565b90506130da8282613093565b919050565b600067ffffffffffffffff8211156130fa576130f9613064565b5b602082029050602081019050919050565b600080fd5b600061312361311e846130df565b6130c4565b905080838252602082019050602084028301858111156131465761314561310b565b5b835b8181101561316f578061315b8882612d2c565b845260208401935050602081019050613148565b5050509392505050565b600082601f83011261318e5761318d61305f565b5b813561319e848260208601613110565b91505092915050565b6000602082840312156131bd576131bc612cd9565b5b600082013567ffffffffffffffff8111156131db576131da612cde565b5b6131e784828501613179565b91505092915050565b600080fd5b60008083601f84011261320b5761320a61305f565b5b8235905067ffffffffffffffff811115613228576132276131f0565b5b6020830191508360208202830111156132445761324361310b565b5b9250929050565b60008060006040848603121561326457613263612cd9565b5b600084013567ffffffffffffffff81111561328257613281612cde565b5b61328e868287016131f5565b935093505060206132a186828701612f5c565b9150509250925092565b600080604083850312156132c2576132c1612cd9565b5b60006132d085828601612d2c565b92505060206132e185828601612d2c565b9150509250929050565b6000806040838503121561330257613301612cd9565b5b600061331085828601612f5c565b925050602061332185828601612d62565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613361602083612c28565b915061336c8261332b565b602082019050919050565b6000602082019050818103600083015261339081613354565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061340082612d41565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613432576134316133c6565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613499602683612c28565b91506134a48261343d565b604082019050919050565b600060208201905081810360008301526134c88161348c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061352b602483612c28565b9150613536826134cf565b604082019050919050565b6000602082019050818103600083015261355a8161351e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006135bd602283612c28565b91506135c882613561565b604082019050919050565b600060208201905081810360008301526135ec816135b0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061364f602583612c28565b915061365a826135f3565b604082019050919050565b6000602082019050818103600083015261367e81613642565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006136e1602383612c28565b91506136ec82613685565b604082019050919050565b60006020820190508181036000830152613710816136d4565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613773602983612c28565b915061377e82613717565b604082019050919050565b600060208201905081810360008301526137a281613766565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613805603f83612c28565b9150613810826137a9565b604082019050919050565b60006020820190508181036000830152613834816137f8565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613871601c83612c28565b915061387c8261383b565b602082019050919050565b600060208201905081810360008301526138a081613864565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613903602383612c28565b915061390e826138a7565b604082019050919050565b60006020820190508181036000830152613932816138f6565b9050919050565b7f544f4b454e3a2054726164696e6720686173206e6f742073746172746564207960008201527f6574210000000000000000000000000000000000000000000000000000000000602082015250565b6000613995602383612c28565b91506139a082613939565b604082019050919050565b600060208201905081810360008301526139c481613988565b9050919050565b60006139d682612d41565b91506139e183612d41565b92508282019050808211156139f9576139f86133c6565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613a5b602383612c28565b9150613a66826139ff565b604082019050919050565b60006020820190508181036000830152613a8a81613a4e565b9050919050565b6000613a9c82612d41565b9150613aa783612d41565b9250828203905081811115613abf57613abe6133c6565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613b21602a83612c28565b9150613b2c82613ac5565b604082019050919050565b60006020820190508181036000830152613b5081613b14565b9050919050565b600081519050613b6681612d15565b92915050565b600060208284031215613b8257613b81612cd9565b5b6000613b9084828501613b57565b91505092915050565b6000819050919050565b6000613bbe613bb9613bb484613b99565b612ded565b612d41565b9050919050565b613bce81613ba3565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613c0981612d03565b82525050565b6000613c1b8383613c00565b60208301905092915050565b6000602082019050919050565b6000613c3f82613bd4565b613c498185613bdf565b9350613c5483613bf0565b8060005b83811015613c85578151613c6c8882613c0f565b9750613c7783613c27565b925050600181019050613c58565b5085935050505092915050565b600060a082019050613ca76000830188612e67565b613cb46020830187613bc5565b8181036040830152613cc68186613c34565b9050613cd56060830185612f1b565b613ce26080830184612e67565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613d2682612d41565b9150613d3183612d41565b925082613d4157613d40613cec565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613d82601b83612c28565b9150613d8d82613d4c565b602082019050919050565b60006020820190508181036000830152613db181613d75565b9050919050565b6000613dc382612d41565b9150613dce83612d41565b9250828202613ddc81612d41565b91508282048414831517613df357613df26133c6565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613e56602183612c28565b9150613e6182613dfa565b604082019050919050565b60006020820190508181036000830152613e8581613e49565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122053603621f53148de717e5aa39f8a4ff8f7bace88be6a7c7ac24f8d929acfd4ba64736f6c63430008120033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000000000000000000010d3ac60000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000d35520b8e284382101ea38d421f83f54073584d5000000000000000000000000f33ce37317be3c36cb012c87023721fe5c2f881900000000000000000000000011b1e011d28d992a2616e31faa47778591491a7f000000000000000000000000739947983a6fc4f68f7c552f9e8e7aa77af32be2000000000000000000000000bcccafbf204e57b7feb33b8d258c9d6d4d69a8910000000000000000000000004e3b899cf0bfcd30844ad4976bfb9dc265f54b96000000000000000000000000a54393dbf988e95d0c6651dfaa4f0200fbc2123e000000000000000000000000c6ae75971682aa9ac89c8f323d3d193fda2912650000000000000000000000009a000bf5513b78ac3936252a45f9b8905ba269a8000000000000000000000000e79a7f5925a75e3b58aaffc3d350d4c03e891b5a0000000000000000000000008d005abab11d811af09a4506c84609eda661ebbc00000000000000000000000084ddd46f0e741100337f1e3f545198c057214efb00000000000000000000000075d74c66ca1ad610644c0990709c4bf407de74e600000000000000000000000093038e8383ea2d3471567ea0a03375c696f6abe500000000000000000000000072a9485ed1a72a2d2e1b1b77acef2da4e60ebda3

-----Decoded View---------------
Arg [0] : _launcblock (uint256): 17644230
Arg [1] : addrs (address[]): 0xD35520b8E284382101ea38D421f83f54073584d5,0xf33Ce37317BE3c36Cb012C87023721FE5c2F8819,0x11b1E011d28d992a2616e31fAa47778591491a7f,0x739947983A6FC4f68f7c552F9e8E7aa77AF32BE2,0xBCcCafBF204E57B7FEb33b8d258c9d6d4D69A891,0x4E3b899cf0bfCd30844aD4976BFB9DC265f54b96,0xa54393dBF988e95d0c6651dFaa4F0200FBc2123E,0xC6aE75971682aA9ac89c8F323d3d193FDa291265,0x9a000bf5513b78AC3936252A45F9b8905bA269a8,0xE79a7f5925A75e3B58AAffC3d350d4C03e891b5a,0x8D005aBAb11D811Af09a4506C84609EDA661eBbc,0x84DdD46f0E741100337F1e3F545198C057214efb,0x75d74C66Ca1aD610644C0990709C4bf407De74E6,0x93038e8383Ea2d3471567eA0a03375C696f6AbE5,0x72a9485Ed1A72a2D2e1B1B77ACeF2DA4e60EBda3

-----Encoded View---------------
18 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000010d3ac6
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000f
Arg [3] : 000000000000000000000000d35520b8e284382101ea38d421f83f54073584d5
Arg [4] : 000000000000000000000000f33ce37317be3c36cb012c87023721fe5c2f8819
Arg [5] : 00000000000000000000000011b1e011d28d992a2616e31faa47778591491a7f
Arg [6] : 000000000000000000000000739947983a6fc4f68f7c552f9e8e7aa77af32be2
Arg [7] : 000000000000000000000000bcccafbf204e57b7feb33b8d258c9d6d4d69a891
Arg [8] : 0000000000000000000000004e3b899cf0bfcd30844ad4976bfb9dc265f54b96
Arg [9] : 000000000000000000000000a54393dbf988e95d0c6651dfaa4f0200fbc2123e
Arg [10] : 000000000000000000000000c6ae75971682aa9ac89c8f323d3d193fda291265
Arg [11] : 0000000000000000000000009a000bf5513b78ac3936252a45f9b8905ba269a8
Arg [12] : 000000000000000000000000e79a7f5925a75e3b58aaffc3d350d4c03e891b5a
Arg [13] : 0000000000000000000000008d005abab11d811af09a4506c84609eda661ebbc
Arg [14] : 00000000000000000000000084ddd46f0e741100337f1e3f545198c057214efb
Arg [15] : 00000000000000000000000075d74c66ca1ad610644c0990709c4bf407de74e6
Arg [16] : 00000000000000000000000093038e8383ea2d3471567ea0a03375c696f6abe5
Arg [17] : 00000000000000000000000072a9485ed1a72a2d2e1b1b77acef2da4e60ebda3


Deployed Bytecode Sourcemap

4145:13929:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6866:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7890:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5583:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7242:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8091:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5879:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7151:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5631:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6957:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17257:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13082:235;;;;;;;;;;;;;:::i;:::-;;7345:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1632:148;;;;;;;;;;;;;:::i;:::-;;17397:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5773:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5276:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1418:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5825:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7056:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17066:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16723:291;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7491:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17878:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5326:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5238:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12838:236;;;;;;;;;;;;;:::i;:::-;;17636:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7698:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12670:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17513:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1788:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6866:83;6903:13;6936:5;;;;;;;;;;;;;;;;;6929:12;;6866:83;:::o;7890:193::-;7992:4;8014:39;8023:12;:10;:12::i;:::-;8037:7;8046:6;8014:8;:39::i;:::-;8071:4;8064:11;;7890:193;;;;:::o;5583:41::-;;;;;;;;;;;;;:::o;7242:95::-;7295:7;4703:17;7315:14;;7242:95;:::o;8091:446::-;8223:4;8240:36;8250:6;8258:9;8269:6;8240:9;:36::i;:::-;8287:220;8310:6;8331:12;:10;:12::i;:::-;8358:138;8414:6;8358:138;;;;;;;;;;;;;;;;;:11;:19;8370:6;8358:19;;;;;;;;;;;;;;;:33;8378:12;:10;:12::i;:::-;8358:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8287:8;:220::i;:::-;8525:4;8518:11;;8091:446;;;;;:::o;5879:50::-;;;;:::o;7151:83::-;7192:5;4377:1;7210:16;;7151:83;:::o;5631:28::-;;;;;;;;;;;;;:::o;6957:91::-;7001:7;7028:12;7021:19;;6957:91;:::o;17257:101::-;1555:12;:10;:12::i;:::-;1545:22;;:6;;;;;;;;;;:22;;;1537:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17338:12:::1;17324:11;;:26;;;;;;;;;;;;;;;;;;17257:101:::0;:::o;13082:235::-;13148:19;;;;;;;;;;;13132:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13187:17;;;;;;;;;;;13171:33;;:12;:10;:12::i;:::-;:33;;;13132:72;13124:81;;;;;;13216:26;13245:21;13216:50;;13277:32;13290:18;13277:12;:32::i;:::-;13113:204;13082:235::o;7345:138::-;7411:7;7438:37;7458:7;:16;7466:7;7458:16;;;;;;;;;;;;;;;;7438:19;:37::i;:::-;7431:44;;7345:138;;;:::o;1632:148::-;1555:12;:10;:12::i;:::-;1545:22;;:6;;;;;;;;;;:22;;;1537:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1739:1:::1;1702:40;;1723:6;::::0;::::1;;;;;;;;1702:40;;;;;;;;;;;;1770:1;1753:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1632:148::o:0;17397:108::-;1555:12;:10;:12::i;:::-;1545:22;;:6;;;;;;;;;;:22;;;1537:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17486:11:::1;17471:12;:26;;;;17397:108:::0;:::o;5773:45::-;;;;:::o;5276:43::-;;;;;;;;;;;;;;;;;:::o;1418:79::-;1456:7;1483:6;;;;;;;;;;;1476:13;;1418:79;:::o;5825:47::-;;;;:::o;7056:87::-;7095:13;7128:7;;;;;;;;;;;;;;;;;7121:14;;7056:87;:::o;17066:139::-;1555:12;:10;:12::i;:::-;1545:22;;:6;;;;;;;;;;:22;;;1537:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17179:18:::1;17157:19;:40;;;;17066:139:::0;:::o;16723:291::-;1555:12;:10;:12::i;:::-;1545:22;;:6;;;;;;;;;;:22;;;1537:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16874:13:::1;16857:14;:30;;;;16916:14;16898:15;:32;;;;16956:11;16941:12;:26;;;;16994:12;16978:13;:28;;;;16723:291:::0;;;;:::o;7491:199::-;7596:4;7618:42;7628:12;:10;:12::i;:::-;7642:9;7653:6;7618:9;:42::i;:::-;7678:4;7671:11;;7491:199;;;;:::o;17878:193::-;1555:12;:10;:12::i;:::-;1545:22;;:6;;;;;;;;;;:22;;;1537:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17962:9:::1;17958:106;17981:8;:15;17977:1;:19;17958:106;;;18048:4;18023:9;:22;18033:8;18042:1;18033:11;;;;;;;;:::i;:::-;;;;;;;;18023:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;17998:3;;;;;:::i;:::-;;;;17958:106;;;;17878:193:::0;:::o;5326:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;5238:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;12838:236::-;12904:19;;;;;;;;;;;12888:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;12943:17;;;;;;;;;;;12927:33;;:12;:10;:12::i;:::-;:33;;;12888:72;12880:81;;;;;;12972:23;12998:24;13016:4;12998:9;:24::i;:::-;12972:50;;13033:33;13050:15;13033:16;:33::i;:::-;12869:205;12838:236::o;17636:234::-;1555:12;:10;:12::i;:::-;1545:22;;:6;;;;;;;;;;:22;;;1537:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17753:9:::1;17749:114;17772:8;;:15;;17768:1;:19;17749:114;;;17843:8;17809:18;:31;17828:8;;17837:1;17828:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;17809:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;17789:3;;;;;:::i;:::-;;;;17749:114;;;;17636:234:::0;;;:::o;7698:184::-;7815:7;7847:11;:18;7859:5;7847:18;;;;;;;;;;;;;;;:27;7866:7;7847:27;;;;;;;;;;;;;;;;7840:34;;7698:184;;;;:::o;12670:160::-;1555:12;:10;:12::i;:::-;1545:22;;:6;;;;;;;;;;:22;;;1537:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12773:12:::1;12759:11;:26;;;;12810:12;12796:11;;:26;;;;;;;;;;;;;;;;;;12670:160:::0;;:::o;17513:115::-;1555:12;:10;:12::i;:::-;1545:22;;:6;;;;;;;;;;:22;;;1537:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17607:13:::1;17590:14;:30;;;;17513:115:::0;:::o;1788:244::-;1555:12;:10;:12::i;:::-;1545:22;;:6;;;;;;;;;;:22;;;1537:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1897:1:::1;1877:22;;:8;:22;;::::0;1869:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1987:8;1958:38;;1979:6;::::0;::::1;;;;;;;;1958:38;;;;;;;;;;;;2016:8;2007:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1788:244:::0;:::o;177:98::-;230:7;257:10;250:17;;177:98;:::o;9228:369::-;9372:1;9355:19;;:5;:19;;;9347:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9453:1;9434:21;;:7;:21;;;9426:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9535:6;9505:11;:18;9517:5;9505:18;;;;;;;;;;;;;;;:27;9524:7;9505:27;;;;;;;;;;;;;;;:36;;;;9573:7;9557:32;;9566:5;9557:32;;;9582:6;9557:32;;;;;;:::i;:::-;;;;;;;;9228:369;;;:::o;9605:2459::-;9743:1;9727:18;;:4;:18;;;9719:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9820:1;9806:16;;:2;:16;;;9798:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9890:1;9881:6;:10;9873:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9963:7;:5;:7::i;:::-;9955:15;;:4;:15;;;;:32;;;;;9980:7;:5;:7::i;:::-;9974:13;;:2;:13;;;;9955:32;:52;;;;;9992:9;:15;10002:4;9992:15;;;;;;;;;;;;;;;;;;;;;;;;;9991:16;9955:52;:70;;;;;10012:9;:13;10022:2;10012:13;;;;;;;;;;;;;;;;;;;;;;;;;10011:14;9955:70;9951:1387;;;10082:11;;;;;;;;;;;10077:144;;10122:9;:15;10132:4;10122:15;;;;;;;;;;;;;;;;;;;;;;;;;10114:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;10077:144;10255:12;;10245:6;:22;;10237:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10324:4;:10;10329:4;10324:10;;;;;;;;;;;;;;;;;;;;;;;;;10323:11;:24;;;;;10339:4;:8;10344:2;10339:8;;;;;;;;;;;;;;;;;;;;;;;;;10338:9;10323:24;10315:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10426:11;;10410:12;:27;;10402:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;10503:13;;;;;;;;;;;10497:19;;:2;:19;;;10494:146;;10570:14;;10561:6;10545:13;10555:2;10545:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10537:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;10494:146;10656:28;10687:24;10705:4;10687:9;:24::i;:::-;10656:55;;10726:12;10765:19;;10741:20;:43;;10726:58;;10828:12;;10804:20;:36;10801:124;;10897:12;;10874:35;;10801:124;10945:7;:18;;;;;10957:6;;;;;;;;;;;10956:7;10945:18;:43;;;;;10975:13;;;;;;;;;;;10967:21;;:4;:21;;;;10945:43;:58;;;;;10992:11;;;;;;;;;;;10945:58;:87;;;;;11008:18;:24;11027:4;11008:24;;;;;;;;;;;;;;;;;;;;;;;;;11007:25;10945:87;:114;;;;;11037:18;:22;11056:2;11037:22;;;;;;;;;;;;;;;;;;;;;;;;;11036:23;10945:114;10941:386;;;11080:38;11097:20;11080:16;:38::i;:::-;11137:26;11166:21;11137:50;;11231:1;11210:18;:22;11206:106;;;11257:35;11270:21;11257:12;:35::i;:::-;11206:106;11061:266;10941:386;10027:1311;;9951:1387;11350:12;11365:4;11350:19;;11414:18;:24;11433:4;11414:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11442:18;:22;11461:2;11442:22;;;;;;;;;;;;;;;;;;;;;;;;;11414:50;11413:102;;;;11478:13;;;;;;;;;;;11470:21;;:4;:21;;;;:44;;;;;11501:13;;;;;;;;;;;11495:19;;:2;:19;;;;11470:44;11413:102;11409:594;;;11542:5;11532:15;;11409:594;;;11625:13;;;;;;;;;;;11617:21;;:4;:21;;;:55;;;;;11656:15;;;;;;;;;;;11642:30;;:2;:30;;;;11617:55;11614:162;;;11705:14;;11693:9;:26;;;;11748:12;;11738:7;:22;;;;11614:162;11835:13;;;;;;;;;;;11829:19;;:2;:19;;;:55;;;;;11868:15;;;;;;;;;;;11852:32;;:4;:32;;;;11829:55;11825:165;;;11917:15;;11905:9;:27;;;;11961:13;;11951:7;:23;;;;11825:165;11409:594;12015:41;12030:4;12036:2;12040:6;12048:7;12015:14;:41::i;:::-;9708:2356;9605:2459;;;:::o;2396:224::-;2516:7;2549:1;2544;:6;;2552:12;2536:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2576:9;2592:1;2588;:5;;;;:::i;:::-;2576:17;;2611:1;2604:8;;;2396:224;;;;;:::o;12563:99::-;12620:17;;;;;;;;;;;:26;;:34;12647:6;12620:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12563:99;:::o;8545:323::-;8640:7;8698;;8687;:18;;8665:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8786:19;8808:10;:8;:10::i;:::-;8786:32;;8836:24;8848:11;8836:7;:11;;:24;;;;:::i;:::-;8829:31;;;8545:323;;;:::o;12072:483::-;6032:4;6023:6;;:13;;;;;;;;;;;;;;;;;;12150:21:::1;12188:1;12174:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12150:40;;12219:4;12201;12206:1;12201:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12245:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12235:4;12240:1;12235:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12278:62;12295:4;12310:15;;;;;;;;;;;12328:11;12278:8;:62::i;:::-;12351:15;;;;;;;;;;;:66;;;12432:11;12458:1;12474:4;12501;12521:15;12351:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12139:416;6068:5:::0;6059:6;;:14;;;;;;;;;;;;;;;;;;12072:483;:::o;13325:282::-;13481:7;13476:28;;13490:14;:12;:14::i;:::-;13476:28;13515:44;13533:6;13541:9;13552:6;13515:17;:44::i;:::-;13575:7;13570:29;;13584:15;:13;:15::i;:::-;13570:29;13325:282;;;;:::o;16286:164::-;16328:7;16349:15;16366;16385:19;:17;:19::i;:::-;16348:56;;;;16422:20;16434:7;16422;:11;;:20;;;;:::i;:::-;16415:27;;;;16286:164;:::o;2882:132::-;2940:7;2967:39;2971:1;2974;2967:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2960:46;;2882:132;;;;:::o;8876:219::-;8936:1;8923:9;;:14;:30;;;;;8952:1;8941:7;;:12;8923:30;8955:7;8919:43;8994:9;;8974:17;:29;;;;9032:7;;9014:15;:25;;;;9064:1;9052:9;:13;;;;9086:1;9076:7;:11;;;;8876:219;:::o;13615:610::-;13762:15;13792:23;13830:12;13857:23;13895:12;13922:13;13949:19;13960:7;13949:10;:19::i;:::-;13747:221;;;;;;;;;;;;13997:28;14017:7;13997;:15;14005:6;13997:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13979:7;:15;13987:6;13979:15;;;;;;;;;;;;;;;:46;;;;14057:39;14080:15;14057:7;:18;14065:9;14057:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14036:7;:18;14044:9;14036:18;;;;;;;;;;;;;;;:60;;;;14107:16;14117:5;14107:9;:16::i;:::-;14134:23;14146:4;14152;14134:11;:23::i;:::-;14190:9;14173:44;;14182:6;14173:44;;;14201:15;14173:44;;;;;;:::i;:::-;;;;;;;;13736:489;;;;;;13615:610;;;:::o;9103:117::-;9159:17;;9147:9;:29;;;;9197:15;;9187:7;:25;;;;9103:117::o;16458:257::-;16509:7;16518;16538:15;16556:7;;16538:25;;16574:15;4703:17;16574:25;;16624:20;4703:17;16624:7;;:11;;:20;;;;:::i;:::-;16614:7;:30;16610:61;;;16654:7;;4703:17;16646:25;;;;;;;;16610:61;16690:7;16699;16682:25;;;;;;16458:257;;;:::o;3022:223::-;3142:7;3174:1;3170;:5;3177:12;3162:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3201:9;3217:1;3213;:5;;;;:::i;:::-;3201:17;;3236:1;3229:8;;;3022:223;;;;;:::o;14644:615::-;14744:7;14766;14788;14810;14832;14854;14890:23;14915:12;14929:13;14959:40;14971:7;14980:9;;14991:7;;14959:11;:40::i;:::-;14889:110;;;;;;15010:19;15032:10;:8;:10::i;:::-;15010:32;;15054:15;15071:23;15096:12;15125:46;15137:7;15146:4;15152:5;15159:11;15125;:46::i;:::-;15053:118;;;;;;15190:7;15199:15;15216:4;15222:15;15239:4;15245:5;15182:69;;;;;;;;;;;;;;;;;;;14644:615;;;;;;;:::o;2252:136::-;2310:7;2337:43;2341:1;2344;2337:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2330:50;;2252:136;;;;:::o;2065:179::-;2123:7;2143:9;2159:1;2155;:5;;;;:::i;:::-;2143:17;;2184:1;2179;:6;;2171:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2235:1;2228:8;;;2065:179;;;;:::o;14233:211::-;14286:19;14308:10;:8;:10::i;:::-;14286:32;;14329:13;14345:22;14355:11;14345:5;:9;;:22;;;;:::i;:::-;14329:38;;14403:33;14430:5;14403:7;:22;14419:4;14403:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;14378:7;:22;14394:4;14378:22;;;;;;;;;;;;;;;:58;;;;14275:169;;14233:211;:::o;14452:147::-;14530:17;14542:4;14530:7;;:11;;:17;;;;:::i;:::-;14520:7;:27;;;;14571:20;14586:4;14571:10;;:14;;:20;;;;:::i;:::-;14558:10;:33;;;;14452:147;;:::o;15267:469::-;15436:7;15458;15480;15515:12;15530:30;15556:3;15530:21;15542:8;15530:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;15515:45;;15571:13;15587:28;15611:3;15587:19;15599:6;15587:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15571:44;;15626:23;15652:28;15674:5;15652:17;15664:4;15652:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15626:54;;15699:15;15716:4;15722:5;15691:37;;;;;;;;;15267:469;;;;;;;:::o;15744:534::-;15938:7;15960;15982;16017:15;16035:24;16047:11;16035:7;:11;;:24;;;;:::i;:::-;16017:42;;16070:12;16085:21;16094:11;16085:4;:8;;:21;;;;:::i;:::-;16070:36;;16117:13;16133:22;16143:11;16133:5;:9;;:22;;;;:::i;:::-;16117:38;;16166:23;16192:28;16214:5;16192:17;16204:4;16192:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16166:54;;16239:7;16248:15;16265:4;16231:39;;;;;;;;;;15744:534;;;;;;;;:::o;2628:246::-;2686:7;2715:1;2710;:6;2706:47;;2740:1;2733:8;;;;2706:47;2763:9;2779:1;2775;:5;;;;:::i;:::-;2763:17;;2808:1;2803;2799;:5;;;;:::i;:::-;:10;2791:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2865:1;2858:8;;;2628:246;;;;;:::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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:86::-;5431:7;5471:4;5464:5;5460:16;5449:27;;5396:86;;;:::o;5488:112::-;5571:22;5587:5;5571:22;:::i;:::-;5566:3;5559:35;5488:112;;:::o;5606:214::-;5695:4;5733:2;5722:9;5718:18;5710:26;;5746:67;5810:1;5799:9;5795:17;5786:6;5746:67;:::i;:::-;5606:214;;;;:::o;5826:118::-;5913:24;5931:5;5913:24;:::i;:::-;5908:3;5901:37;5826:118;;:::o;5950:222::-;6043:4;6081:2;6070:9;6066:18;6058:26;;6094:71;6162:1;6151:9;6147:17;6138:6;6094:71;:::i;:::-;5950:222;;;;:::o;6178:116::-;6248:21;6263:5;6248:21;:::i;:::-;6241:5;6238:32;6228:60;;6284:1;6281;6274:12;6228:60;6178:116;:::o;6300:133::-;6343:5;6381:6;6368:20;6359:29;;6397:30;6421:5;6397:30;:::i;:::-;6300:133;;;;:::o;6439:323::-;6495:6;6544:2;6532:9;6523:7;6519:23;6515:32;6512:119;;;6550:79;;:::i;:::-;6512:119;6670:1;6695:50;6737:7;6728:6;6717:9;6713:22;6695:50;:::i;:::-;6685:60;;6641:114;6439:323;;;;:::o;6768:329::-;6827:6;6876:2;6864:9;6855:7;6851:23;6847:32;6844:119;;;6882:79;;:::i;:::-;6844:119;7002:1;7027:53;7072:7;7063:6;7052:9;7048:22;7027:53;:::i;:::-;7017:63;;6973:117;6768:329;;;;:::o;7103:::-;7162:6;7211:2;7199:9;7190:7;7186:23;7182:32;7179:119;;;7217:79;;:::i;:::-;7179:119;7337:1;7362:53;7407:7;7398:6;7387:9;7383:22;7362:53;:::i;:::-;7352:63;;7308:117;7103:329;;;;:::o;7438:765::-;7524:6;7532;7540;7548;7597:3;7585:9;7576:7;7572:23;7568:33;7565:120;;;7604:79;;:::i;:::-;7565:120;7724:1;7749:53;7794:7;7785:6;7774:9;7770:22;7749:53;:::i;:::-;7739:63;;7695:117;7851:2;7877:53;7922:7;7913:6;7902:9;7898:22;7877:53;:::i;:::-;7867:63;;7822:118;7979:2;8005:53;8050:7;8041:6;8030:9;8026:22;8005:53;:::i;:::-;7995:63;;7950:118;8107:2;8133:53;8178:7;8169:6;8158:9;8154:22;8133:53;:::i;:::-;8123:63;;8078:118;7438:765;;;;;;;:::o;8209:117::-;8318:1;8315;8308:12;8332:180;8380:77;8377:1;8370:88;8477:4;8474:1;8467:15;8501:4;8498:1;8491:15;8518:281;8601:27;8623:4;8601:27;:::i;:::-;8593:6;8589:40;8731:6;8719:10;8716:22;8695:18;8683:10;8680:34;8677:62;8674:88;;;8742:18;;:::i;:::-;8674:88;8782:10;8778:2;8771:22;8561:238;8518:281;;:::o;8805:129::-;8839:6;8866:20;;:::i;:::-;8856:30;;8895:33;8923:4;8915:6;8895:33;:::i;:::-;8805:129;;;:::o;8940:311::-;9017:4;9107:18;9099:6;9096:30;9093:56;;;9129:18;;:::i;:::-;9093:56;9179:4;9171:6;9167:17;9159:25;;9239:4;9233;9229:15;9221:23;;8940:311;;;:::o;9257:117::-;9366:1;9363;9356:12;9397:710;9493:5;9518:81;9534:64;9591:6;9534:64;:::i;:::-;9518:81;:::i;:::-;9509:90;;9619:5;9648:6;9641:5;9634:21;9682:4;9675:5;9671:16;9664:23;;9735:4;9727:6;9723:17;9715:6;9711:30;9764:3;9756:6;9753:15;9750:122;;;9783:79;;:::i;:::-;9750:122;9898:6;9881:220;9915:6;9910:3;9907:15;9881:220;;;9990:3;10019:37;10052:3;10040:10;10019:37;:::i;:::-;10014:3;10007:50;10086:4;10081:3;10077:14;10070:21;;9957:144;9941:4;9936:3;9932:14;9925:21;;9881:220;;;9885:21;9499:608;;9397:710;;;;;:::o;10130:370::-;10201:5;10250:3;10243:4;10235:6;10231:17;10227:27;10217:122;;10258:79;;:::i;:::-;10217:122;10375:6;10362:20;10400:94;10490:3;10482:6;10475:4;10467:6;10463:17;10400:94;:::i;:::-;10391:103;;10207:293;10130:370;;;;:::o;10506:539::-;10590:6;10639:2;10627:9;10618:7;10614:23;10610:32;10607:119;;;10645:79;;:::i;:::-;10607:119;10793:1;10782:9;10778:17;10765:31;10823:18;10815:6;10812:30;10809:117;;;10845:79;;:::i;:::-;10809:117;10950:78;11020:7;11011:6;11000:9;10996:22;10950:78;:::i;:::-;10940:88;;10736:302;10506:539;;;;:::o;11051:117::-;11160:1;11157;11150:12;11191:568;11264:8;11274:6;11324:3;11317:4;11309:6;11305:17;11301:27;11291:122;;11332:79;;:::i;:::-;11291:122;11445:6;11432:20;11422:30;;11475:18;11467:6;11464:30;11461:117;;;11497:79;;:::i;:::-;11461:117;11611:4;11603:6;11599:17;11587:29;;11665:3;11657:4;11649:6;11645:17;11635:8;11631:32;11628:41;11625:128;;;11672:79;;:::i;:::-;11625:128;11191:568;;;;;:::o;11765:698::-;11857:6;11865;11873;11922:2;11910:9;11901:7;11897:23;11893:32;11890:119;;;11928:79;;:::i;:::-;11890:119;12076:1;12065:9;12061:17;12048:31;12106:18;12098:6;12095:30;12092:117;;;12128:79;;:::i;:::-;12092:117;12241:80;12313:7;12304:6;12293:9;12289:22;12241:80;:::i;:::-;12223:98;;;;12019:312;12370:2;12396:50;12438:7;12429:6;12418:9;12414:22;12396:50;:::i;:::-;12386:60;;12341:115;11765:698;;;;;:::o;12469:474::-;12537:6;12545;12594:2;12582:9;12573:7;12569:23;12565:32;12562:119;;;12600:79;;:::i;:::-;12562:119;12720:1;12745:53;12790:7;12781:6;12770:9;12766:22;12745:53;:::i;:::-;12735:63;;12691:117;12847:2;12873:53;12918:7;12909:6;12898:9;12894:22;12873:53;:::i;:::-;12863:63;;12818:118;12469:474;;;;;:::o;12949:468::-;13014:6;13022;13071:2;13059:9;13050:7;13046:23;13042:32;13039:119;;;13077:79;;:::i;:::-;13039:119;13197:1;13222:50;13264:7;13255:6;13244:9;13240:22;13222:50;:::i;:::-;13212:60;;13168:114;13321:2;13347:53;13392:7;13383:6;13372:9;13368:22;13347:53;:::i;:::-;13337:63;;13292:118;12949:468;;;;;:::o;13423:182::-;13563:34;13559:1;13551:6;13547:14;13540:58;13423:182;:::o;13611:366::-;13753:3;13774:67;13838:2;13833:3;13774:67;:::i;:::-;13767:74;;13850:93;13939:3;13850:93;:::i;:::-;13968:2;13963:3;13959:12;13952:19;;13611:366;;;:::o;13983:419::-;14149:4;14187:2;14176:9;14172:18;14164:26;;14236:9;14230:4;14226:20;14222:1;14211:9;14207:17;14200:47;14264:131;14390:4;14264:131;:::i;:::-;14256:139;;13983:419;;;:::o;14408:180::-;14456:77;14453:1;14446:88;14553:4;14550:1;14543:15;14577:4;14574:1;14567:15;14594:180;14642:77;14639:1;14632:88;14739:4;14736:1;14729:15;14763:4;14760:1;14753:15;14780:233;14819:3;14842:24;14860:5;14842:24;:::i;:::-;14833:33;;14888:66;14881:5;14878:77;14875:103;;14958:18;;:::i;:::-;14875:103;15005:1;14998:5;14994:13;14987:20;;14780:233;;;:::o;15019:225::-;15159:34;15155:1;15147:6;15143:14;15136:58;15228:8;15223:2;15215:6;15211:15;15204:33;15019:225;:::o;15250:366::-;15392:3;15413:67;15477:2;15472:3;15413:67;:::i;:::-;15406:74;;15489:93;15578:3;15489:93;:::i;:::-;15607:2;15602:3;15598:12;15591:19;;15250:366;;;:::o;15622:419::-;15788:4;15826:2;15815:9;15811:18;15803:26;;15875:9;15869:4;15865:20;15861:1;15850:9;15846:17;15839:47;15903:131;16029:4;15903:131;:::i;:::-;15895:139;;15622:419;;;:::o;16047:223::-;16187:34;16183:1;16175:6;16171:14;16164:58;16256:6;16251:2;16243:6;16239:15;16232:31;16047:223;:::o;16276:366::-;16418:3;16439:67;16503:2;16498:3;16439:67;:::i;:::-;16432:74;;16515:93;16604:3;16515:93;:::i;:::-;16633:2;16628:3;16624:12;16617:19;;16276:366;;;:::o;16648:419::-;16814:4;16852:2;16841:9;16837:18;16829:26;;16901:9;16895:4;16891:20;16887:1;16876:9;16872:17;16865:47;16929:131;17055:4;16929:131;:::i;:::-;16921:139;;16648:419;;;:::o;17073:221::-;17213:34;17209:1;17201:6;17197:14;17190:58;17282:4;17277:2;17269:6;17265:15;17258:29;17073:221;:::o;17300:366::-;17442:3;17463:67;17527:2;17522:3;17463:67;:::i;:::-;17456:74;;17539:93;17628:3;17539:93;:::i;:::-;17657:2;17652:3;17648:12;17641:19;;17300:366;;;:::o;17672:419::-;17838:4;17876:2;17865:9;17861:18;17853:26;;17925:9;17919:4;17915:20;17911:1;17900:9;17896:17;17889:47;17953:131;18079:4;17953:131;:::i;:::-;17945:139;;17672:419;;;:::o;18097:224::-;18237:34;18233:1;18225:6;18221:14;18214:58;18306:7;18301:2;18293:6;18289:15;18282:32;18097:224;:::o;18327:366::-;18469:3;18490:67;18554:2;18549:3;18490:67;:::i;:::-;18483:74;;18566:93;18655:3;18566:93;:::i;:::-;18684:2;18679:3;18675:12;18668:19;;18327:366;;;:::o;18699:419::-;18865:4;18903:2;18892:9;18888:18;18880:26;;18952:9;18946:4;18942:20;18938:1;18927:9;18923:17;18916:47;18980:131;19106:4;18980:131;:::i;:::-;18972:139;;18699:419;;;:::o;19124:222::-;19264:34;19260:1;19252:6;19248:14;19241:58;19333:5;19328:2;19320:6;19316:15;19309:30;19124:222;:::o;19352:366::-;19494:3;19515:67;19579:2;19574:3;19515:67;:::i;:::-;19508:74;;19591:93;19680:3;19591:93;:::i;:::-;19709:2;19704:3;19700:12;19693:19;;19352:366;;;:::o;19724:419::-;19890:4;19928:2;19917:9;19913:18;19905:26;;19977:9;19971:4;19967:20;19963:1;19952:9;19948:17;19941:47;20005:131;20131:4;20005:131;:::i;:::-;19997:139;;19724:419;;;:::o;20149:228::-;20289:34;20285:1;20277:6;20273:14;20266:58;20358:11;20353:2;20345:6;20341:15;20334:36;20149:228;:::o;20383:366::-;20525:3;20546:67;20610:2;20605:3;20546:67;:::i;:::-;20539:74;;20622:93;20711:3;20622:93;:::i;:::-;20740:2;20735:3;20731:12;20724:19;;20383:366;;;:::o;20755:419::-;20921:4;20959:2;20948:9;20944:18;20936:26;;21008:9;21002:4;20998:20;20994:1;20983:9;20979:17;20972:47;21036:131;21162:4;21036:131;:::i;:::-;21028:139;;20755:419;;;:::o;21180:250::-;21320:34;21316:1;21308:6;21304:14;21297:58;21389:33;21384:2;21376:6;21372:15;21365:58;21180:250;:::o;21436:366::-;21578:3;21599:67;21663:2;21658:3;21599:67;:::i;:::-;21592:74;;21675:93;21764:3;21675:93;:::i;:::-;21793:2;21788:3;21784:12;21777:19;;21436:366;;;:::o;21808:419::-;21974:4;22012:2;22001:9;21997:18;21989:26;;22061:9;22055:4;22051:20;22047:1;22036:9;22032:17;22025:47;22089:131;22215:4;22089:131;:::i;:::-;22081:139;;21808:419;;;:::o;22233:178::-;22373:30;22369:1;22361:6;22357:14;22350:54;22233:178;:::o;22417:366::-;22559:3;22580:67;22644:2;22639:3;22580:67;:::i;:::-;22573:74;;22656:93;22745:3;22656:93;:::i;:::-;22774:2;22769:3;22765:12;22758:19;;22417:366;;;:::o;22789:419::-;22955:4;22993:2;22982:9;22978:18;22970:26;;23042:9;23036:4;23032:20;23028:1;23017:9;23013:17;23006:47;23070:131;23196:4;23070:131;:::i;:::-;23062:139;;22789:419;;;:::o;23214:222::-;23354:34;23350:1;23342:6;23338:14;23331:58;23423:5;23418:2;23410:6;23406:15;23399:30;23214:222;:::o;23442:366::-;23584:3;23605:67;23669:2;23664:3;23605:67;:::i;:::-;23598:74;;23681:93;23770:3;23681:93;:::i;:::-;23799:2;23794:3;23790:12;23783:19;;23442:366;;;:::o;23814:419::-;23980:4;24018:2;24007:9;24003:18;23995:26;;24067:9;24061:4;24057:20;24053:1;24042:9;24038:17;24031:47;24095:131;24221:4;24095:131;:::i;:::-;24087:139;;23814:419;;;:::o;24239:222::-;24379:34;24375:1;24367:6;24363:14;24356:58;24448:5;24443:2;24435:6;24431:15;24424:30;24239:222;:::o;24467:366::-;24609:3;24630:67;24694:2;24689:3;24630:67;:::i;:::-;24623:74;;24706:93;24795:3;24706:93;:::i;:::-;24824:2;24819:3;24815:12;24808:19;;24467:366;;;:::o;24839:419::-;25005:4;25043:2;25032:9;25028:18;25020:26;;25092:9;25086:4;25082:20;25078:1;25067:9;25063:17;25056:47;25120:131;25246:4;25120:131;:::i;:::-;25112:139;;24839:419;;;:::o;25264:191::-;25304:3;25323:20;25341:1;25323:20;:::i;:::-;25318:25;;25357:20;25375:1;25357:20;:::i;:::-;25352:25;;25400:1;25397;25393:9;25386:16;;25421:3;25418:1;25415:10;25412:36;;;25428:18;;:::i;:::-;25412:36;25264:191;;;;:::o;25461:222::-;25601:34;25597:1;25589:6;25585:14;25578:58;25670:5;25665:2;25657:6;25653:15;25646:30;25461:222;:::o;25689:366::-;25831:3;25852:67;25916:2;25911:3;25852:67;:::i;:::-;25845:74;;25928:93;26017:3;25928:93;:::i;:::-;26046:2;26041:3;26037:12;26030:19;;25689:366;;;:::o;26061:419::-;26227:4;26265:2;26254:9;26250:18;26242:26;;26314:9;26308:4;26304:20;26300:1;26289:9;26285:17;26278:47;26342:131;26468:4;26342:131;:::i;:::-;26334:139;;26061:419;;;:::o;26486:194::-;26526:4;26546:20;26564:1;26546:20;:::i;:::-;26541:25;;26580:20;26598:1;26580:20;:::i;:::-;26575:25;;26624:1;26621;26617:9;26609:17;;26648:1;26642:4;26639:11;26636:37;;;26653:18;;:::i;:::-;26636:37;26486:194;;;;:::o;26686:229::-;26826:34;26822:1;26814:6;26810:14;26803:58;26895:12;26890:2;26882:6;26878:15;26871:37;26686:229;:::o;26921:366::-;27063:3;27084:67;27148:2;27143:3;27084:67;:::i;:::-;27077:74;;27160:93;27249:3;27160:93;:::i;:::-;27278:2;27273:3;27269:12;27262:19;;26921:366;;;:::o;27293:419::-;27459:4;27497:2;27486:9;27482:18;27474:26;;27546:9;27540:4;27536:20;27532:1;27521:9;27517:17;27510:47;27574:131;27700:4;27574:131;:::i;:::-;27566:139;;27293:419;;;:::o;27718:143::-;27775:5;27806:6;27800:13;27791:22;;27822:33;27849:5;27822:33;:::i;:::-;27718:143;;;;:::o;27867:351::-;27937:6;27986:2;27974:9;27965:7;27961:23;27957:32;27954:119;;;27992:79;;:::i;:::-;27954:119;28112:1;28137:64;28193:7;28184:6;28173:9;28169:22;28137:64;:::i;:::-;28127:74;;28083:128;27867:351;;;;:::o;28224:85::-;28269:7;28298:5;28287:16;;28224:85;;;:::o;28315:158::-;28373:9;28406:61;28424:42;28433:32;28459:5;28433:32;:::i;:::-;28424:42;:::i;:::-;28406:61;:::i;:::-;28393:74;;28315:158;;;:::o;28479:147::-;28574:45;28613:5;28574:45;:::i;:::-;28569:3;28562:58;28479:147;;:::o;28632:114::-;28699:6;28733:5;28727:12;28717:22;;28632:114;;;:::o;28752:184::-;28851:11;28885:6;28880:3;28873:19;28925:4;28920:3;28916:14;28901:29;;28752:184;;;;:::o;28942:132::-;29009:4;29032:3;29024:11;;29062:4;29057:3;29053:14;29045:22;;28942:132;;;:::o;29080:108::-;29157:24;29175:5;29157:24;:::i;:::-;29152:3;29145:37;29080:108;;:::o;29194:179::-;29263:10;29284:46;29326:3;29318:6;29284:46;:::i;:::-;29362:4;29357:3;29353:14;29339:28;;29194:179;;;;:::o;29379:113::-;29449:4;29481;29476:3;29472:14;29464:22;;29379:113;;;:::o;29528:732::-;29647:3;29676:54;29724:5;29676:54;:::i;:::-;29746:86;29825:6;29820:3;29746:86;:::i;:::-;29739:93;;29856:56;29906:5;29856:56;:::i;:::-;29935:7;29966:1;29951:284;29976:6;29973:1;29970:13;29951:284;;;30052:6;30046:13;30079:63;30138:3;30123:13;30079:63;:::i;:::-;30072:70;;30165:60;30218:6;30165:60;:::i;:::-;30155:70;;30011:224;29998:1;29995;29991:9;29986:14;;29951:284;;;29955:14;30251:3;30244:10;;29652:608;;;29528:732;;;;:::o;30266:831::-;30529:4;30567:3;30556:9;30552:19;30544:27;;30581:71;30649:1;30638:9;30634:17;30625:6;30581:71;:::i;:::-;30662:80;30738:2;30727:9;30723:18;30714:6;30662:80;:::i;:::-;30789:9;30783:4;30779:20;30774:2;30763:9;30759:18;30752:48;30817:108;30920:4;30911:6;30817:108;:::i;:::-;30809:116;;30935:72;31003:2;30992:9;30988:18;30979:6;30935:72;:::i;:::-;31017:73;31085:3;31074:9;31070:19;31061:6;31017:73;:::i;:::-;30266:831;;;;;;;;:::o;31103:180::-;31151:77;31148:1;31141:88;31248:4;31245:1;31238:15;31272:4;31269:1;31262:15;31289:185;31329:1;31346:20;31364:1;31346:20;:::i;:::-;31341:25;;31380:20;31398:1;31380:20;:::i;:::-;31375:25;;31419:1;31409:35;;31424:18;;:::i;:::-;31409:35;31466:1;31463;31459:9;31454:14;;31289:185;;;;:::o;31480:177::-;31620:29;31616:1;31608:6;31604:14;31597:53;31480:177;:::o;31663:366::-;31805:3;31826:67;31890:2;31885:3;31826:67;:::i;:::-;31819:74;;31902:93;31991:3;31902:93;:::i;:::-;32020:2;32015:3;32011:12;32004:19;;31663:366;;;:::o;32035:419::-;32201:4;32239:2;32228:9;32224:18;32216:26;;32288:9;32282:4;32278:20;32274:1;32263:9;32259:17;32252:47;32316:131;32442:4;32316:131;:::i;:::-;32308:139;;32035:419;;;:::o;32460:410::-;32500:7;32523:20;32541:1;32523:20;:::i;:::-;32518:25;;32557:20;32575:1;32557:20;:::i;:::-;32552:25;;32612:1;32609;32605:9;32634:30;32652:11;32634:30;:::i;:::-;32623:41;;32813:1;32804:7;32800:15;32797:1;32794:22;32774:1;32767:9;32747:83;32724:139;;32843:18;;:::i;:::-;32724:139;32508:362;32460:410;;;;:::o;32876:220::-;33016:34;33012:1;33004:6;33000:14;32993:58;33085:3;33080:2;33072:6;33068:15;33061:28;32876:220;:::o;33102:366::-;33244:3;33265:67;33329:2;33324:3;33265:67;:::i;:::-;33258:74;;33341:93;33430:3;33341:93;:::i;:::-;33459:2;33454:3;33450:12;33443:19;;33102:366;;;:::o;33474:419::-;33640:4;33678:2;33667:9;33663:18;33655:26;;33727:9;33721:4;33717:20;33713:1;33702:9;33698:17;33691:47;33755:131;33881:4;33755:131;:::i;:::-;33747:139;;33474:419;;;:::o

Swarm Source

ipfs://53603621f53148de717e5aa39f8a4ff8f7bace88be6a7c7ac24f8d929acfd4ba

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.