ETH Price: $2,356.51 (+3.61%)

Token

Satoshi Nakamoto (BTC)
 

Overview

Max Total Supply

1,000,000,000 BTC

Holders

42

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
15,256,427.87115723 BTC

Value
$0.00
0x932Fba281dD1a9d1D3312BbC84D48eB78968Ec31
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BTC

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-06
*/

/*
                                                                                                                               
https://t.me/new_satoshi

https://twitter.com/search?q=%22Satoshi%20Nakamoto%22&src=trend_click&vertical=trends

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.10;

abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

interface IERC20 {

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

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

}

abstract contract Ownable is Context {

    address private _owner;

    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 isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

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

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

}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract BTC is Context, IERC20, Ownable {
    
    using SafeMath for uint256;
    
    string private _name = "Satoshi Nakamoto";
    string private _symbol = "BTC";
    uint8 private _decimals = 8;

    address marketingWallet = 0x8a45cA2239EB5baDE80202130a86bA27CC77B29F;

    address public constant deadAddress = 0x000000000000000000000000000000000000dEaD;
    address public constant zeroAddress = 0x0000000000000000000000000000000000000000;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;

    uint256 totalBuy = 15;
    uint256 totalSell = 35;

    uint256 constant denominator = 100;

    uint256 private _totalSupply = 1_000_000_000 * 10 ** _decimals;   

    uint256 public minimumTokensBeforeSwap = 10000000 * 10 ** _decimals;

    uint256 public _maxTxAmount =  _totalSupply.mul(2).div(denominator);     //2%
    uint256 public _walletMax = _totalSupply.mul(2).div(denominator);    //2%

    bool public EnableTxLimit = true;
    bool public checkWalletLimit = true;
    bool public ActiveTrade = false;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;

    event SwapAndLiquifyEnabledUpdated(bool enabled);

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {

        address dev = msg.sender;            
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 

        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0);

        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[dev] = true;

        isWalletLimitExempt[dev] = true;
        isWalletLimitExempt[address(uniswapPair)] = true;
        isWalletLimitExempt[address(this)] = true;
        
        isTxLimitExempt[dev] = true;
        isTxLimitExempt[address(this)] = true;

        isMarketPair[address(uniswapPair)] = true;

        _balances[dev] = _totalSupply;
        emit Transfer(address(0), dev, _totalSupply);
    }

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

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

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

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

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

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

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

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

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress));
    }

     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20:from zero");
        require(recipient != address(0), "ERC20:to zero");
        require(amount > 0, "Invalid Amount");

        if(!ActiveTrade){
            require(isExcludedFromFee[sender] || isExcludedFromFee[recipient],"Trading is Paused!");
        }

        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {  
            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) {
                require(amount <= _maxTxAmount,"Max Tx");
            } 

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

            uint256 finalAmount = shouldTakeFee(sender,recipient) ? amount : takeFee(sender, recipient, amount);

            if(checkWalletLimit && !isWalletLimitExempt[recipient]) {
                require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Max Wallet");
            }

            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 contractBalance) private lockTheSwap {
        
        if(contractBalance == 0) return;

        uint totalShares = totalBuy.add(totalSell);
        if(totalShares == 0) return;

        uint256 initialBalance = address(this).balance;
        swapTokensForEth(contractBalance);
        uint256 amountReceived = address(this).balance.sub(initialBalance);

        if(amountReceived > 0) {
            (bool os,) = payable(marketingWallet).call{value: amountReceived}("");  
            if(os) {}
        }
    }
    
    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
            return true;
        }
        else if (isMarketPair[sender] || isMarketPair[recipient]) {
            return false;
        }
        else {
            return false;
        }
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint feeAmount;
        
        unchecked {

            if(isMarketPair[sender]) {

                feeAmount = amount.mul(totalBuy).div(denominator);
            
            }
            else if(isMarketPair[recipient]) {
                
                feeAmount = amount.mul(totalSell).div(denominator);
                
            }     

            if(feeAmount > 0) {
                _balances[address(this)] = _balances[address(this)].add(feeAmount);
                emit Transfer(sender, address(this), feeAmount);
            }

            return amount.sub(feeAmount);
        }
        
    }

    //To Rescue Stucked Balance
    function rescueFunds() external onlyOwner { 
        (bool os,) = payable(msg.sender).call{value: address(this).balance}("");
        require(os,"Transaction Failed!!");
    }

    //To Rescue Stucked Tokens
    function rescueTokens(IERC20 adr,address recipient,uint amount) external onlyOwner {
        adr.transfer(recipient,amount);
    }

    function enableTrading(bool _status) external onlyOwner {
        ActiveTrade = _status;
    }

    function removeLimits() external onlyOwner {
        checkWalletLimit = false;
        EnableTxLimit = false;
    }

    function enableLimits() external onlyOwner {
        checkWalletLimit = true;
        EnableTxLimit = true;   
    }

    function setFee(uint _buyside, uint _sellside) external onlyOwner {        
        totalBuy = _buyside;
        totalSell = _sellside;
    }

    function setMarketingWallets(address _newWallet) external onlyOwner {
        marketingWallet = _newWallet;
    }

    function setExcludeFromFee(address _adr,bool _status) external onlyOwner {
        require(isExcludedFromFee[_adr] != _status,"Not Changed!!");
        isExcludedFromFee[_adr] = _status;
    }

    function ExcludeWalletLimit(address _adr,bool _status) external onlyOwner {
        require(isWalletLimitExempt[_adr] != _status,"Not Changed!!");
        isWalletLimitExempt[_adr] = _status;
    }

    function ExcludeTxLimit(address _adr,bool _status) external onlyOwner {
        require(isTxLimitExempt[_adr] != _status,"Not Changed!!");
        isTxLimitExempt[_adr] = _status;
    }

    function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() {
        minimumTokensBeforeSwap = newLimit;
    }

    function setMaxWalletLimit(uint256 newLimit) external onlyOwner() {
        _walletMax = newLimit;
    }

    function setTxLimit(uint256 newLimit) external onlyOwner() {
        _maxTxAmount = newLimit;
    }

    function setSwapAndLiquifyEnabled(bool _enabled) external onlyOwner() {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }

    function setMarketPair(address _pair, bool _status) external onlyOwner {
        isMarketPair[_pair] = _status;
        if(_status) {
            isWalletLimitExempt[address(_pair)] = true;
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"ActiveTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EnableTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"ExcludeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"ExcludeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renouncedOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"adr","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyside","type":"uint256"},{"internalType":"uint256","name":"_sellside","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setMarketingWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280601081526020017f5361746f736869204e616b616d6f746f00000000000000000000000000000000815250600190805190602001906200005192919062000ac7565b506040518060400160405280600381526020017f4254430000000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000ac7565b506008600360006101000a81548160ff021916908360ff160217905550738a45ca2239eb5bade80202130a86ba27cc77b29f600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f600a556023600b55600360009054906101000a900460ff16600a62000139919062000d11565b633b9aca006200014a919062000d62565b600c55600360009054906101000a900460ff16600a6200016b919062000d11565b629896806200017b919062000d62565b600d55620001b56064620001a16002600c546200098160201b620023231790919060201c565b62000a0560201b6200239e1790919060201c565b600e55620001ef6064620001db6002600c546200098160201b620023231790919060201c565b62000a0560201b6200239e1790919060201c565b600f556001601060006101000a81548160ff0219169083151502179055506001601060016101000a81548160ff0219169083151502179055506000601060026101000a81548160ff0219169083151502179055506001601160156101000a81548160ff0219169083151502179055503480156200026b57600080fd5b5060006200027e62000a5760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060003390506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000386573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ac919062000e2d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000414573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200043a919062000e2d565b6040518363ffffffff1660e01b81526004016200045992919062000e70565b6020604051808303816000875af115801562000479573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200049f919062000e2d565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600019600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600c54600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c5460405162000971919062000eae565b60405180910390a35050620010f7565b600080831415620009965760009050620009ff565b60008284620009a6919062000d62565b9050828482620009b7919062000efa565b14620009fa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009f19062000fb9565b60405180910390fd5b809150505b92915050565b600062000a4f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000a5f60201b60201c565b905092915050565b600033905090565b6000808311829062000aa9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000aa091906200106e565b60405180910390fd5b506000838562000aba919062000efa565b9050809150509392505050565b82805462000ad590620010c1565b90600052602060002090601f01602090048101928262000af9576000855562000b45565b82601f1062000b1457805160ff191683800117855562000b45565b8280016001018555821562000b45579182015b8281111562000b4457825182559160200191906001019062000b27565b5b50905062000b54919062000b58565b5090565b5b8082111562000b7357600081600090555060010162000b59565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000c055780860481111562000bdd5762000bdc62000b77565b5b600185161562000bed5780820291505b808102905062000bfd8562000ba6565b945062000bbd565b94509492505050565b60008262000c20576001905062000cf3565b8162000c30576000905062000cf3565b816001811462000c49576002811462000c545762000c8a565b600191505062000cf3565b60ff84111562000c695762000c6862000b77565b5b8360020a91508482111562000c835762000c8262000b77565b5b5062000cf3565b5060208310610133831016604e8410600b841016171562000cc45782820a90508381111562000cbe5762000cbd62000b77565b5b62000cf3565b62000cd3848484600162000bb3565b9250905081840481111562000ced5762000cec62000b77565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000d1e8262000cfa565b915062000d2b8362000d04565b925062000d5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c0e565b905092915050565b600062000d6f8262000cfa565b915062000d7c8362000cfa565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000db85762000db762000b77565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000df58262000dc8565b9050919050565b62000e078162000de8565b811462000e1357600080fd5b50565b60008151905062000e278162000dfc565b92915050565b60006020828403121562000e465762000e4562000dc3565b5b600062000e568482850162000e16565b91505092915050565b62000e6a8162000de8565b82525050565b600060408201905062000e87600083018562000e5f565b62000e96602083018462000e5f565b9392505050565b62000ea88162000cfa565b82525050565b600060208201905062000ec5600083018462000e9d565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000f078262000cfa565b915062000f148362000cfa565b92508262000f275762000f2662000ecb565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000fa160218362000f32565b915062000fae8262000f43565b604082019050919050565b6000602082019050818103600083015262000fd48162000f92565b9050919050565b600081519050919050565b60005b838110156200100657808201518184015260208101905062000fe9565b8381111562001016576000848401525b50505050565b6000601f19601f8301169050919050565b60006200103a8262000fdb565b62001046818562000f32565b93506200105881856020860162000fe6565b62001063816200101c565b840191505092915050565b600060208201905081810360008301526200108a81846200102d565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620010da57607f821691505b60208210811415620010f157620010f062001092565b5b50919050565b6147c480620011076000396000f3fe6080604052600436106102815760003560e01c8063728d41c91161014f578063c0b4d199116100c1578063d2d7ad831161007a578063d2d7ad83146109a7578063dd62ed3e146109d2578063e6b2603b14610a0f578063f275f64b14610a26578063f2fde38b14610a4f578063f872858a14610a7857610288565b8063c0b4d1991461089b578063c16dd4a4146108c4578063c49b9a80146108ed578063c816841b14610916578063c867d60b14610941578063cea9d26f1461097e57610288565b80638da5cb5b116101135780638da5cb5b146107775780638f32d59b146107a257806395d89b41146107cd578063a457c2d7146107f8578063a9059cbb14610835578063af9549e01461087257610288565b8063728d41c9146106a4578063751039fc146106cd5780637d1db4a5146106e4578063807c2d9c1461070f5780638b42507f1461073a57610288565b80633187c304116101f357806352f7c988116101ac57806352f7c988146105965780635342acb4146105bf5780635c85974f146105fc5780635e42358c146106255780636902ca611461065057806370a082311461066757610288565b80633187c3041461047457806338ec0b111461049f57806339509351146104c85780633b97084a146105055780633ecad2711461052e5780634a74bb021461056b57610288565b806318160ddd1161024557806318160ddd1461037457806320365d5f1461039f57806323b872dd146103b657806327c8f835146103f35780632b112e491461041e578063313ce5671461044957610288565b806306fdde031461028d5780630930907b146102b8578063095ea7b3146102e357806313ea1d89146103205780631694505e1461034957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102a2610aa3565b6040516102af919061378c565b60405180910390f35b3480156102c457600080fd5b506102cd610b35565b6040516102da91906137ef565b60405180910390f35b3480156102ef57600080fd5b5061030a60048036038101906103059190613871565b610b3a565b60405161031791906138cc565b60405180910390f35b34801561032c57600080fd5b5061034760048036038101906103429190613913565b610b58565b005b34801561035557600080fd5b5061035e610cdb565b60405161036b91906139b2565b60405180910390f35b34801561038057600080fd5b50610389610d01565b60405161039691906139dc565b60405180910390f35b3480156103ab57600080fd5b506103b4610d0b565b005b3480156103c257600080fd5b506103dd60048036038101906103d891906139f7565b610e60565b6040516103ea91906138cc565b60405180910390f35b3480156103ff57600080fd5b50610408610f3a565b60405161041591906137ef565b60405180910390f35b34801561042a57600080fd5b50610433610f40565b60405161044091906139dc565b60405180910390f35b34801561045557600080fd5b5061045e610f81565b60405161046b9190613a66565b60405180910390f35b34801561048057600080fd5b50610489610f98565b60405161049691906138cc565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c19190613913565b610fab565b005b3480156104d457600080fd5b506104ef60048036038101906104ea9190613871565b61112e565b6040516104fc91906138cc565b60405180910390f35b34801561051157600080fd5b5061052c60048036038101906105279190613a81565b6111e1565b005b34801561053a57600080fd5b5061055560048036038101906105509190613aae565b611280565b60405161056291906138cc565b60405180910390f35b34801561057757600080fd5b506105806112a0565b60405161058d91906138cc565b60405180910390f35b3480156105a257600080fd5b506105bd60048036038101906105b89190613adb565b6112b3565b005b3480156105cb57600080fd5b506105e660048036038101906105e19190613aae565b61135a565b6040516105f391906138cc565b60405180910390f35b34801561060857600080fd5b50610623600480360381019061061e9190613a81565b61137a565b005b34801561063157600080fd5b5061063a611419565b60405161064791906138cc565b60405180910390f35b34801561065c57600080fd5b5061066561142c565b005b34801561067357600080fd5b5061068e60048036038101906106899190613aae565b6114f9565b60405161069b91906139dc565b60405180910390f35b3480156106b057600080fd5b506106cb60048036038101906106c69190613a81565b611542565b005b3480156106d957600080fd5b506106e26115e1565b005b3480156106f057600080fd5b506106f96116ae565b60405161070691906139dc565b60405180910390f35b34801561071b57600080fd5b506107246116b4565b60405161073191906139dc565b60405180910390f35b34801561074657600080fd5b50610761600480360381019061075c9190613aae565b6116ba565b60405161076e91906138cc565b60405180910390f35b34801561078357600080fd5b5061078c6116da565b60405161079991906137ef565b60405180910390f35b3480156107ae57600080fd5b506107b7611703565b6040516107c491906138cc565b60405180910390f35b3480156107d957600080fd5b506107e261175a565b6040516107ef919061378c565b60405180910390f35b34801561080457600080fd5b5061081f600480360381019061081a9190613871565b6117ec565b60405161082c91906138cc565b60405180910390f35b34801561084157600080fd5b5061085c60048036038101906108579190613871565b6118b9565b60405161086991906138cc565b60405180910390f35b34801561087e57600080fd5b5061089960048036038101906108949190613913565b6118d8565b005b3480156108a757600080fd5b506108c260048036038101906108bd9190613aae565b611a5b565b005b3480156108d057600080fd5b506108eb60048036038101906108e69190613913565b611b34565b005b3480156108f957600080fd5b50610914600480360381019061090f9190613b1b565b611c83565b005b34801561092257600080fd5b5061092b611d6c565b60405161093891906137ef565b60405180910390f35b34801561094d57600080fd5b5061096860048036038101906109639190613aae565b611d92565b60405161097591906138cc565b60405180910390f35b34801561098a57600080fd5b506109a560048036038101906109a09190613b86565b611db2565b005b3480156109b357600080fd5b506109bc611ecb565b6040516109c991906139dc565b60405180910390f35b3480156109de57600080fd5b506109f960048036038101906109f49190613bd9565b611ed1565b604051610a0691906139dc565b60405180910390f35b348015610a1b57600080fd5b50610a24611f58565b005b348015610a3257600080fd5b50610a4d6004803603810190610a489190613b1b565b61209c565b005b348015610a5b57600080fd5b50610a766004803603810190610a719190613aae565b61214e565b005b348015610a8457600080fd5b50610a8d612310565b604051610a9a91906138cc565b60405180910390f35b606060018054610ab290613c48565b80601f0160208091040260200160405190810160405280929190818152602001828054610ade90613c48565b8015610b2b5780601f10610b0057610100808354040283529160200191610b2b565b820191906000526020600020905b815481529060010190602001808311610b0e57829003601f168201915b5050505050905090565b600081565b6000610b4e610b476123e8565b84846123f0565b6001905092915050565b610b606123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be490613cc6565b60405180910390fd5b801515600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7790613d32565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b610d136123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9790613cc6565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610e6d8484846125bb565b50610f2f84610e7a6123e8565b610f2a8560405180606001604052806028815260200161474260289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ee06123e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c749092919063ffffffff16565b6123f0565b600190509392505050565b61dead81565b6000610f7c610f4f60006114f9565b610f6e610f5d61dead6114f9565b600c54612cd890919063ffffffff16565b612cd890919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b601060029054906101000a900460ff1681565b610fb36123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611040576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103790613cc6565b60405180910390fd5b801515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514156110d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ca90613d32565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006111d761113b6123e8565b846111d2856005600061114c6123e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d2290919063ffffffff16565b6123f0565b6001905092915050565b6111e96123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126d90613cc6565b60405180910390fd5b80600d8190555050565b60076020528060005260406000206000915054906101000a900460ff1681565b601160159054906101000a900460ff1681565b6112bb6123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133f90613cc6565b60405180910390fd5b81600a8190555080600b819055505050565b60066020528060005260406000206000915054906101000a900460ff1681565b6113826123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140690613cc6565b60405180910390fd5b80600e8190555050565b601060009054906101000a900460ff1681565b6114346123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b890613cc6565b60405180910390fd5b6001601060016101000a81548160ff0219169083151502179055506001601060006101000a81548160ff021916908315150217905550565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61154a6123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ce90613cc6565b60405180910390fd5b80600f8190555050565b6115e96123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d90613cc6565b60405180910390fd5b6000601060016101000a81548160ff0219169083151502179055506000601060006101000a81548160ff021916908315150217905550565b600e5481565b600f5481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60606002805461176990613c48565b80601f016020809104026020016040519081016040528092919081815260200182805461179590613c48565b80156117e25780601f106117b7576101008083540402835291602001916117e2565b820191906000526020600020905b8154815290600101906020018083116117c557829003601f168201915b5050505050905090565b60006118af6117f96123e8565b846118aa8560405180606001604052806025815260200161476a60259139600560006118236123e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c749092919063ffffffff16565b6123f0565b6001905092915050565b60006118cd6118c66123e8565b84846125bb565b506001905092915050565b6118e06123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461196d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196490613cc6565b60405180910390fd5b801515600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f790613d32565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611a636123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611af0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae790613cc6565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611b3c6123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc090613cc6565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015611c7f576001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b611c8b6123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0f90613cc6565b60405180910390fd5b80601160156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051611d6191906138cc565b60405180910390a150565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b611dba6123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3e90613cc6565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401611e82929190613d52565b6020604051808303816000875af1158015611ea1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ec59190613d90565b50505050565b600d5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611f606123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe490613cc6565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405161201390613dee565b60006040518083038185875af1925050503d8060008114612050576040519150601f19603f3d011682016040523d82523d6000602084013e612055565b606091505b5050905080612099576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209090613e4f565b60405180910390fd5b50565b6120a46123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612131576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212890613cc6565b60405180910390fd5b80601060026101000a81548160ff02191690831515021790555050565b6121566123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121da90613cc6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224a90613ee1565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601060019054906101000a900460ff1681565b6000808314156123365760009050612398565b600082846123449190613f30565b90508284826123539190613fb9565b14612393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238a9061405c565b60405180910390fd5b809150505b92915050565b60006123e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d80565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612460576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612457906140ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156124d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c790614180565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125ae91906139dc565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561262c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612623906141ec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561269c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161269390614258565b60405180910390fd5b600082116126df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d6906142c4565b60405180910390fd5b601060029054906101000a900460ff166127d457600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127945750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6127d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ca90614330565b60405180910390fd5b5b601160149054906101000a900460ff16156127fb576127f4848484612de3565b9050612c6d565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561289f5750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156128b75750601060009054906101000a900460ff165b1561290257600e54821115612901576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f89061439c565b60405180910390fd5b5b600061290d306114f9565b90506000600d5482101590508080156129335750601160149054906101000a900460ff16155b80156129895750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129a15750601160159054906101000a900460ff165b156129b0576129af82612fb6565b5b612a39846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c749092919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000612a8887876130e9565b612a9c57612a97878787613254565b612a9e565b845b9050601060019054906101000a900460ff168015612b065750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612b6b57600f54612b2982612b1b896114f9565b612d2290919063ffffffff16565b1115612b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b6190614408565b60405180910390fd5b5b612bbd81600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d2290919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c5d91906139dc565b60405180910390a3600193505050505b9392505050565b6000838311158290612cbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cb3919061378c565b60405180910390fd5b5060008385612ccb9190614428565b9050809150509392505050565b6000612d1a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c74565b905092915050565b6000808284612d31919061445c565b905083811015612d76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6d906144fe565b60405180910390fd5b8091505092915050565b60008083118290612dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dbe919061378c565b60405180910390fd5b5060008385612dd69190613fb9565b9050809150509392505050565b6000612e6e826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c749092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f0382600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d2290919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612fa391906139dc565b60405180910390a3600190509392505050565b6001601160146101000a81548160ff0219169083151502179055506000811415612fdf576130cb565b6000612ff8600b54600a54612d2290919063ffffffff16565b9050600081141561300957506130cb565b600047905061301783613477565b600061302c8247612cd890919063ffffffff16565b905060008111156130c7576000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161307f90613dee565b60006040518083038185875af1925050503d80600081146130bc576040519150601f19603f3d011682016040523d82523d6000602084013e6130c1565b606091505b50509050505b5050505b6000601160146101000a81548160ff02191690831515021790555050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061318c5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561319a576001905061324e565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061323b5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15613249576000905061324e565b600090505b92915050565b600080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156132d8576132d160646132c3600a548661232390919063ffffffff16565b61239e90919063ffffffff16565b9050613356565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613355576133526064613344600b548661232390919063ffffffff16565b61239e90919063ffffffff16565b90505b5b600081111561345a576133b181600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d2290919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161345191906139dc565b60405180910390a35b61346d8184612cd890919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff8111156134945761349361451e565b5b6040519080825280602002602001820160405280156134c25781602001602082028036833780820191505090505b50905030816000815181106134da576134d961454d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135a59190614591565b816001815181106135b9576135b861454d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061362030601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846123f0565b601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016136849594939291906146b7565b600060405180830381600087803b15801561369e57600080fd5b505af11580156136b2573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516136e7929190614711565b60405180910390a15050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561372d578082015181840152602081019050613712565b8381111561373c576000848401525b50505050565b6000601f19601f8301169050919050565b600061375e826136f3565b61376881856136fe565b935061377881856020860161370f565b61378181613742565b840191505092915050565b600060208201905081810360008301526137a68184613753565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006137d9826137ae565b9050919050565b6137e9816137ce565b82525050565b600060208201905061380460008301846137e0565b92915050565b600080fd5b613818816137ce565b811461382357600080fd5b50565b6000813590506138358161380f565b92915050565b6000819050919050565b61384e8161383b565b811461385957600080fd5b50565b60008135905061386b81613845565b92915050565b600080604083850312156138885761388761380a565b5b600061389685828601613826565b92505060206138a78582860161385c565b9150509250929050565b60008115159050919050565b6138c6816138b1565b82525050565b60006020820190506138e160008301846138bd565b92915050565b6138f0816138b1565b81146138fb57600080fd5b50565b60008135905061390d816138e7565b92915050565b6000806040838503121561392a5761392961380a565b5b600061393885828601613826565b9250506020613949858286016138fe565b9150509250929050565b6000819050919050565b600061397861397361396e846137ae565b613953565b6137ae565b9050919050565b600061398a8261395d565b9050919050565b600061399c8261397f565b9050919050565b6139ac81613991565b82525050565b60006020820190506139c760008301846139a3565b92915050565b6139d68161383b565b82525050565b60006020820190506139f160008301846139cd565b92915050565b600080600060608486031215613a1057613a0f61380a565b5b6000613a1e86828701613826565b9350506020613a2f86828701613826565b9250506040613a408682870161385c565b9150509250925092565b600060ff82169050919050565b613a6081613a4a565b82525050565b6000602082019050613a7b6000830184613a57565b92915050565b600060208284031215613a9757613a9661380a565b5b6000613aa58482850161385c565b91505092915050565b600060208284031215613ac457613ac361380a565b5b6000613ad284828501613826565b91505092915050565b60008060408385031215613af257613af161380a565b5b6000613b008582860161385c565b9250506020613b118582860161385c565b9150509250929050565b600060208284031215613b3157613b3061380a565b5b6000613b3f848285016138fe565b91505092915050565b6000613b53826137ce565b9050919050565b613b6381613b48565b8114613b6e57600080fd5b50565b600081359050613b8081613b5a565b92915050565b600080600060608486031215613b9f57613b9e61380a565b5b6000613bad86828701613b71565b9350506020613bbe86828701613826565b9250506040613bcf8682870161385c565b9150509250925092565b60008060408385031215613bf057613bef61380a565b5b6000613bfe85828601613826565b9250506020613c0f85828601613826565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613c6057607f821691505b60208210811415613c7457613c73613c19565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613cb06020836136fe565b9150613cbb82613c7a565b602082019050919050565b60006020820190508181036000830152613cdf81613ca3565b9050919050565b7f4e6f74204368616e676564212100000000000000000000000000000000000000600082015250565b6000613d1c600d836136fe565b9150613d2782613ce6565b602082019050919050565b60006020820190508181036000830152613d4b81613d0f565b9050919050565b6000604082019050613d6760008301856137e0565b613d7460208301846139cd565b9392505050565b600081519050613d8a816138e7565b92915050565b600060208284031215613da657613da561380a565b5b6000613db484828501613d7b565b91505092915050565b600081905092915050565b50565b6000613dd8600083613dbd565b9150613de382613dc8565b600082019050919050565b6000613df982613dcb565b9150819050919050565b7f5472616e73616374696f6e204661696c65642121000000000000000000000000600082015250565b6000613e396014836136fe565b9150613e4482613e03565b602082019050919050565b60006020820190508181036000830152613e6881613e2c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613ecb6026836136fe565b9150613ed682613e6f565b604082019050919050565b60006020820190508181036000830152613efa81613ebe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613f3b8261383b565b9150613f468361383b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613f7f57613f7e613f01565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613fc48261383b565b9150613fcf8361383b565b925082613fdf57613fde613f8a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006140466021836136fe565b915061405182613fea565b604082019050919050565b6000602082019050818103600083015261407581614039565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006140d86024836136fe565b91506140e38261407c565b604082019050919050565b60006020820190508181036000830152614107816140cb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061416a6022836136fe565b91506141758261410e565b604082019050919050565b600060208201905081810360008301526141998161415d565b9050919050565b7f45524332303a66726f6d207a65726f0000000000000000000000000000000000600082015250565b60006141d6600f836136fe565b91506141e1826141a0565b602082019050919050565b60006020820190508181036000830152614205816141c9565b9050919050565b7f45524332303a746f207a65726f00000000000000000000000000000000000000600082015250565b6000614242600d836136fe565b915061424d8261420c565b602082019050919050565b6000602082019050818103600083015261427181614235565b9050919050565b7f496e76616c696420416d6f756e74000000000000000000000000000000000000600082015250565b60006142ae600e836136fe565b91506142b982614278565b602082019050919050565b600060208201905081810360008301526142dd816142a1565b9050919050565b7f54726164696e6720697320506175736564210000000000000000000000000000600082015250565b600061431a6012836136fe565b9150614325826142e4565b602082019050919050565b600060208201905081810360008301526143498161430d565b9050919050565b7f4d61782054780000000000000000000000000000000000000000000000000000600082015250565b60006143866006836136fe565b915061439182614350565b602082019050919050565b600060208201905081810360008301526143b581614379565b9050919050565b7f4d61782057616c6c657400000000000000000000000000000000000000000000600082015250565b60006143f2600a836136fe565b91506143fd826143bc565b602082019050919050565b60006020820190508181036000830152614421816143e5565b9050919050565b60006144338261383b565b915061443e8361383b565b92508282101561445157614450613f01565b5b828203905092915050565b60006144678261383b565b91506144728361383b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156144a7576144a6613f01565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006144e8601b836136fe565b91506144f3826144b2565b602082019050919050565b60006020820190508181036000830152614517816144db565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061458b8161380f565b92915050565b6000602082840312156145a7576145a661380a565b5b60006145b58482850161457c565b91505092915050565b6000819050919050565b60006145e36145de6145d9846145be565b613953565b61383b565b9050919050565b6145f3816145c8565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61462e816137ce565b82525050565b60006146408383614625565b60208301905092915050565b6000602082019050919050565b6000614664826145f9565b61466e8185614604565b935061467983614615565b8060005b838110156146aa5781516146918882614634565b975061469c8361464c565b92505060018101905061467d565b5085935050505092915050565b600060a0820190506146cc60008301886139cd565b6146d960208301876145ea565b81810360408301526146eb8186614659565b90506146fa60608301856137e0565b61470760808301846139cd565b9695505050505050565b600060408201905061472660008301856139cd565b81810360208301526147388184614659565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200c06b823d6a333d5393dbb607bb1b9f3a38ed9bc170c20d2c20d6a39d16323ef64736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106102815760003560e01c8063728d41c91161014f578063c0b4d199116100c1578063d2d7ad831161007a578063d2d7ad83146109a7578063dd62ed3e146109d2578063e6b2603b14610a0f578063f275f64b14610a26578063f2fde38b14610a4f578063f872858a14610a7857610288565b8063c0b4d1991461089b578063c16dd4a4146108c4578063c49b9a80146108ed578063c816841b14610916578063c867d60b14610941578063cea9d26f1461097e57610288565b80638da5cb5b116101135780638da5cb5b146107775780638f32d59b146107a257806395d89b41146107cd578063a457c2d7146107f8578063a9059cbb14610835578063af9549e01461087257610288565b8063728d41c9146106a4578063751039fc146106cd5780637d1db4a5146106e4578063807c2d9c1461070f5780638b42507f1461073a57610288565b80633187c304116101f357806352f7c988116101ac57806352f7c988146105965780635342acb4146105bf5780635c85974f146105fc5780635e42358c146106255780636902ca611461065057806370a082311461066757610288565b80633187c3041461047457806338ec0b111461049f57806339509351146104c85780633b97084a146105055780633ecad2711461052e5780634a74bb021461056b57610288565b806318160ddd1161024557806318160ddd1461037457806320365d5f1461039f57806323b872dd146103b657806327c8f835146103f35780632b112e491461041e578063313ce5671461044957610288565b806306fdde031461028d5780630930907b146102b8578063095ea7b3146102e357806313ea1d89146103205780631694505e1461034957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102a2610aa3565b6040516102af919061378c565b60405180910390f35b3480156102c457600080fd5b506102cd610b35565b6040516102da91906137ef565b60405180910390f35b3480156102ef57600080fd5b5061030a60048036038101906103059190613871565b610b3a565b60405161031791906138cc565b60405180910390f35b34801561032c57600080fd5b5061034760048036038101906103429190613913565b610b58565b005b34801561035557600080fd5b5061035e610cdb565b60405161036b91906139b2565b60405180910390f35b34801561038057600080fd5b50610389610d01565b60405161039691906139dc565b60405180910390f35b3480156103ab57600080fd5b506103b4610d0b565b005b3480156103c257600080fd5b506103dd60048036038101906103d891906139f7565b610e60565b6040516103ea91906138cc565b60405180910390f35b3480156103ff57600080fd5b50610408610f3a565b60405161041591906137ef565b60405180910390f35b34801561042a57600080fd5b50610433610f40565b60405161044091906139dc565b60405180910390f35b34801561045557600080fd5b5061045e610f81565b60405161046b9190613a66565b60405180910390f35b34801561048057600080fd5b50610489610f98565b60405161049691906138cc565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c19190613913565b610fab565b005b3480156104d457600080fd5b506104ef60048036038101906104ea9190613871565b61112e565b6040516104fc91906138cc565b60405180910390f35b34801561051157600080fd5b5061052c60048036038101906105279190613a81565b6111e1565b005b34801561053a57600080fd5b5061055560048036038101906105509190613aae565b611280565b60405161056291906138cc565b60405180910390f35b34801561057757600080fd5b506105806112a0565b60405161058d91906138cc565b60405180910390f35b3480156105a257600080fd5b506105bd60048036038101906105b89190613adb565b6112b3565b005b3480156105cb57600080fd5b506105e660048036038101906105e19190613aae565b61135a565b6040516105f391906138cc565b60405180910390f35b34801561060857600080fd5b50610623600480360381019061061e9190613a81565b61137a565b005b34801561063157600080fd5b5061063a611419565b60405161064791906138cc565b60405180910390f35b34801561065c57600080fd5b5061066561142c565b005b34801561067357600080fd5b5061068e60048036038101906106899190613aae565b6114f9565b60405161069b91906139dc565b60405180910390f35b3480156106b057600080fd5b506106cb60048036038101906106c69190613a81565b611542565b005b3480156106d957600080fd5b506106e26115e1565b005b3480156106f057600080fd5b506106f96116ae565b60405161070691906139dc565b60405180910390f35b34801561071b57600080fd5b506107246116b4565b60405161073191906139dc565b60405180910390f35b34801561074657600080fd5b50610761600480360381019061075c9190613aae565b6116ba565b60405161076e91906138cc565b60405180910390f35b34801561078357600080fd5b5061078c6116da565b60405161079991906137ef565b60405180910390f35b3480156107ae57600080fd5b506107b7611703565b6040516107c491906138cc565b60405180910390f35b3480156107d957600080fd5b506107e261175a565b6040516107ef919061378c565b60405180910390f35b34801561080457600080fd5b5061081f600480360381019061081a9190613871565b6117ec565b60405161082c91906138cc565b60405180910390f35b34801561084157600080fd5b5061085c60048036038101906108579190613871565b6118b9565b60405161086991906138cc565b60405180910390f35b34801561087e57600080fd5b5061089960048036038101906108949190613913565b6118d8565b005b3480156108a757600080fd5b506108c260048036038101906108bd9190613aae565b611a5b565b005b3480156108d057600080fd5b506108eb60048036038101906108e69190613913565b611b34565b005b3480156108f957600080fd5b50610914600480360381019061090f9190613b1b565b611c83565b005b34801561092257600080fd5b5061092b611d6c565b60405161093891906137ef565b60405180910390f35b34801561094d57600080fd5b5061096860048036038101906109639190613aae565b611d92565b60405161097591906138cc565b60405180910390f35b34801561098a57600080fd5b506109a560048036038101906109a09190613b86565b611db2565b005b3480156109b357600080fd5b506109bc611ecb565b6040516109c991906139dc565b60405180910390f35b3480156109de57600080fd5b506109f960048036038101906109f49190613bd9565b611ed1565b604051610a0691906139dc565b60405180910390f35b348015610a1b57600080fd5b50610a24611f58565b005b348015610a3257600080fd5b50610a4d6004803603810190610a489190613b1b565b61209c565b005b348015610a5b57600080fd5b50610a766004803603810190610a719190613aae565b61214e565b005b348015610a8457600080fd5b50610a8d612310565b604051610a9a91906138cc565b60405180910390f35b606060018054610ab290613c48565b80601f0160208091040260200160405190810160405280929190818152602001828054610ade90613c48565b8015610b2b5780601f10610b0057610100808354040283529160200191610b2b565b820191906000526020600020905b815481529060010190602001808311610b0e57829003601f168201915b5050505050905090565b600081565b6000610b4e610b476123e8565b84846123f0565b6001905092915050565b610b606123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be490613cc6565b60405180910390fd5b801515600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7790613d32565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b610d136123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9790613cc6565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610e6d8484846125bb565b50610f2f84610e7a6123e8565b610f2a8560405180606001604052806028815260200161474260289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ee06123e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c749092919063ffffffff16565b6123f0565b600190509392505050565b61dead81565b6000610f7c610f4f60006114f9565b610f6e610f5d61dead6114f9565b600c54612cd890919063ffffffff16565b612cd890919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b601060029054906101000a900460ff1681565b610fb36123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611040576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103790613cc6565b60405180910390fd5b801515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514156110d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ca90613d32565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006111d761113b6123e8565b846111d2856005600061114c6123e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d2290919063ffffffff16565b6123f0565b6001905092915050565b6111e96123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126d90613cc6565b60405180910390fd5b80600d8190555050565b60076020528060005260406000206000915054906101000a900460ff1681565b601160159054906101000a900460ff1681565b6112bb6123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133f90613cc6565b60405180910390fd5b81600a8190555080600b819055505050565b60066020528060005260406000206000915054906101000a900460ff1681565b6113826123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140690613cc6565b60405180910390fd5b80600e8190555050565b601060009054906101000a900460ff1681565b6114346123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b890613cc6565b60405180910390fd5b6001601060016101000a81548160ff0219169083151502179055506001601060006101000a81548160ff021916908315150217905550565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61154a6123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ce90613cc6565b60405180910390fd5b80600f8190555050565b6115e96123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d90613cc6565b60405180910390fd5b6000601060016101000a81548160ff0219169083151502179055506000601060006101000a81548160ff021916908315150217905550565b600e5481565b600f5481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60606002805461176990613c48565b80601f016020809104026020016040519081016040528092919081815260200182805461179590613c48565b80156117e25780601f106117b7576101008083540402835291602001916117e2565b820191906000526020600020905b8154815290600101906020018083116117c557829003601f168201915b5050505050905090565b60006118af6117f96123e8565b846118aa8560405180606001604052806025815260200161476a60259139600560006118236123e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c749092919063ffffffff16565b6123f0565b6001905092915050565b60006118cd6118c66123e8565b84846125bb565b506001905092915050565b6118e06123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461196d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196490613cc6565b60405180910390fd5b801515600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f790613d32565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611a636123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611af0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae790613cc6565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611b3c6123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc090613cc6565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015611c7f576001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b611c8b6123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0f90613cc6565b60405180910390fd5b80601160156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051611d6191906138cc565b60405180910390a150565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b611dba6123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3e90613cc6565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401611e82929190613d52565b6020604051808303816000875af1158015611ea1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ec59190613d90565b50505050565b600d5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611f606123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe490613cc6565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405161201390613dee565b60006040518083038185875af1925050503d8060008114612050576040519150601f19603f3d011682016040523d82523d6000602084013e612055565b606091505b5050905080612099576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209090613e4f565b60405180910390fd5b50565b6120a46123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612131576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212890613cc6565b60405180910390fd5b80601060026101000a81548160ff02191690831515021790555050565b6121566123e8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121da90613cc6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224a90613ee1565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601060019054906101000a900460ff1681565b6000808314156123365760009050612398565b600082846123449190613f30565b90508284826123539190613fb9565b14612393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238a9061405c565b60405180910390fd5b809150505b92915050565b60006123e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d80565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612460576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612457906140ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156124d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c790614180565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125ae91906139dc565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561262c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612623906141ec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561269c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161269390614258565b60405180910390fd5b600082116126df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d6906142c4565b60405180910390fd5b601060029054906101000a900460ff166127d457600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127945750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6127d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ca90614330565b60405180910390fd5b5b601160149054906101000a900460ff16156127fb576127f4848484612de3565b9050612c6d565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561289f5750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156128b75750601060009054906101000a900460ff165b1561290257600e54821115612901576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f89061439c565b60405180910390fd5b5b600061290d306114f9565b90506000600d5482101590508080156129335750601160149054906101000a900460ff16155b80156129895750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129a15750601160159054906101000a900460ff165b156129b0576129af82612fb6565b5b612a39846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c749092919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000612a8887876130e9565b612a9c57612a97878787613254565b612a9e565b845b9050601060019054906101000a900460ff168015612b065750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612b6b57600f54612b2982612b1b896114f9565b612d2290919063ffffffff16565b1115612b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b6190614408565b60405180910390fd5b5b612bbd81600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d2290919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c5d91906139dc565b60405180910390a3600193505050505b9392505050565b6000838311158290612cbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cb3919061378c565b60405180910390fd5b5060008385612ccb9190614428565b9050809150509392505050565b6000612d1a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c74565b905092915050565b6000808284612d31919061445c565b905083811015612d76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6d906144fe565b60405180910390fd5b8091505092915050565b60008083118290612dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dbe919061378c565b60405180910390fd5b5060008385612dd69190613fb9565b9050809150509392505050565b6000612e6e826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c749092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f0382600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d2290919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612fa391906139dc565b60405180910390a3600190509392505050565b6001601160146101000a81548160ff0219169083151502179055506000811415612fdf576130cb565b6000612ff8600b54600a54612d2290919063ffffffff16565b9050600081141561300957506130cb565b600047905061301783613477565b600061302c8247612cd890919063ffffffff16565b905060008111156130c7576000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161307f90613dee565b60006040518083038185875af1925050503d80600081146130bc576040519150601f19603f3d011682016040523d82523d6000602084013e6130c1565b606091505b50509050505b5050505b6000601160146101000a81548160ff02191690831515021790555050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061318c5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561319a576001905061324e565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061323b5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15613249576000905061324e565b600090505b92915050565b600080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156132d8576132d160646132c3600a548661232390919063ffffffff16565b61239e90919063ffffffff16565b9050613356565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613355576133526064613344600b548661232390919063ffffffff16565b61239e90919063ffffffff16565b90505b5b600081111561345a576133b181600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d2290919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161345191906139dc565b60405180910390a35b61346d8184612cd890919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff8111156134945761349361451e565b5b6040519080825280602002602001820160405280156134c25781602001602082028036833780820191505090505b50905030816000815181106134da576134d961454d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135a59190614591565b816001815181106135b9576135b861454d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061362030601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846123f0565b601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016136849594939291906146b7565b600060405180830381600087803b15801561369e57600080fd5b505af11580156136b2573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516136e7929190614711565b60405180910390a15050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561372d578082015181840152602081019050613712565b8381111561373c576000848401525b50505050565b6000601f19601f8301169050919050565b600061375e826136f3565b61376881856136fe565b935061377881856020860161370f565b61378181613742565b840191505092915050565b600060208201905081810360008301526137a68184613753565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006137d9826137ae565b9050919050565b6137e9816137ce565b82525050565b600060208201905061380460008301846137e0565b92915050565b600080fd5b613818816137ce565b811461382357600080fd5b50565b6000813590506138358161380f565b92915050565b6000819050919050565b61384e8161383b565b811461385957600080fd5b50565b60008135905061386b81613845565b92915050565b600080604083850312156138885761388761380a565b5b600061389685828601613826565b92505060206138a78582860161385c565b9150509250929050565b60008115159050919050565b6138c6816138b1565b82525050565b60006020820190506138e160008301846138bd565b92915050565b6138f0816138b1565b81146138fb57600080fd5b50565b60008135905061390d816138e7565b92915050565b6000806040838503121561392a5761392961380a565b5b600061393885828601613826565b9250506020613949858286016138fe565b9150509250929050565b6000819050919050565b600061397861397361396e846137ae565b613953565b6137ae565b9050919050565b600061398a8261395d565b9050919050565b600061399c8261397f565b9050919050565b6139ac81613991565b82525050565b60006020820190506139c760008301846139a3565b92915050565b6139d68161383b565b82525050565b60006020820190506139f160008301846139cd565b92915050565b600080600060608486031215613a1057613a0f61380a565b5b6000613a1e86828701613826565b9350506020613a2f86828701613826565b9250506040613a408682870161385c565b9150509250925092565b600060ff82169050919050565b613a6081613a4a565b82525050565b6000602082019050613a7b6000830184613a57565b92915050565b600060208284031215613a9757613a9661380a565b5b6000613aa58482850161385c565b91505092915050565b600060208284031215613ac457613ac361380a565b5b6000613ad284828501613826565b91505092915050565b60008060408385031215613af257613af161380a565b5b6000613b008582860161385c565b9250506020613b118582860161385c565b9150509250929050565b600060208284031215613b3157613b3061380a565b5b6000613b3f848285016138fe565b91505092915050565b6000613b53826137ce565b9050919050565b613b6381613b48565b8114613b6e57600080fd5b50565b600081359050613b8081613b5a565b92915050565b600080600060608486031215613b9f57613b9e61380a565b5b6000613bad86828701613b71565b9350506020613bbe86828701613826565b9250506040613bcf8682870161385c565b9150509250925092565b60008060408385031215613bf057613bef61380a565b5b6000613bfe85828601613826565b9250506020613c0f85828601613826565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613c6057607f821691505b60208210811415613c7457613c73613c19565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613cb06020836136fe565b9150613cbb82613c7a565b602082019050919050565b60006020820190508181036000830152613cdf81613ca3565b9050919050565b7f4e6f74204368616e676564212100000000000000000000000000000000000000600082015250565b6000613d1c600d836136fe565b9150613d2782613ce6565b602082019050919050565b60006020820190508181036000830152613d4b81613d0f565b9050919050565b6000604082019050613d6760008301856137e0565b613d7460208301846139cd565b9392505050565b600081519050613d8a816138e7565b92915050565b600060208284031215613da657613da561380a565b5b6000613db484828501613d7b565b91505092915050565b600081905092915050565b50565b6000613dd8600083613dbd565b9150613de382613dc8565b600082019050919050565b6000613df982613dcb565b9150819050919050565b7f5472616e73616374696f6e204661696c65642121000000000000000000000000600082015250565b6000613e396014836136fe565b9150613e4482613e03565b602082019050919050565b60006020820190508181036000830152613e6881613e2c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613ecb6026836136fe565b9150613ed682613e6f565b604082019050919050565b60006020820190508181036000830152613efa81613ebe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613f3b8261383b565b9150613f468361383b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613f7f57613f7e613f01565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613fc48261383b565b9150613fcf8361383b565b925082613fdf57613fde613f8a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006140466021836136fe565b915061405182613fea565b604082019050919050565b6000602082019050818103600083015261407581614039565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006140d86024836136fe565b91506140e38261407c565b604082019050919050565b60006020820190508181036000830152614107816140cb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061416a6022836136fe565b91506141758261410e565b604082019050919050565b600060208201905081810360008301526141998161415d565b9050919050565b7f45524332303a66726f6d207a65726f0000000000000000000000000000000000600082015250565b60006141d6600f836136fe565b91506141e1826141a0565b602082019050919050565b60006020820190508181036000830152614205816141c9565b9050919050565b7f45524332303a746f207a65726f00000000000000000000000000000000000000600082015250565b6000614242600d836136fe565b915061424d8261420c565b602082019050919050565b6000602082019050818103600083015261427181614235565b9050919050565b7f496e76616c696420416d6f756e74000000000000000000000000000000000000600082015250565b60006142ae600e836136fe565b91506142b982614278565b602082019050919050565b600060208201905081810360008301526142dd816142a1565b9050919050565b7f54726164696e6720697320506175736564210000000000000000000000000000600082015250565b600061431a6012836136fe565b9150614325826142e4565b602082019050919050565b600060208201905081810360008301526143498161430d565b9050919050565b7f4d61782054780000000000000000000000000000000000000000000000000000600082015250565b60006143866006836136fe565b915061439182614350565b602082019050919050565b600060208201905081810360008301526143b581614379565b9050919050565b7f4d61782057616c6c657400000000000000000000000000000000000000000000600082015250565b60006143f2600a836136fe565b91506143fd826143bc565b602082019050919050565b60006020820190508181036000830152614421816143e5565b9050919050565b60006144338261383b565b915061443e8361383b565b92508282101561445157614450613f01565b5b828203905092915050565b60006144678261383b565b91506144728361383b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156144a7576144a6613f01565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006144e8601b836136fe565b91506144f3826144b2565b602082019050919050565b60006020820190508181036000830152614517816144db565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061458b8161380f565b92915050565b6000602082840312156145a7576145a661380a565b5b60006145b58482850161457c565b91505092915050565b6000819050919050565b60006145e36145de6145d9846145be565b613953565b61383b565b9050919050565b6145f3816145c8565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61462e816137ce565b82525050565b60006146408383614625565b60208301905092915050565b6000602082019050919050565b6000614664826145f9565b61466e8185614604565b935061467983614615565b8060005b838110156146aa5781516146918882614634565b975061469c8361464c565b92505060018101905061467d565b5085935050505092915050565b600060a0820190506146cc60008301886139cd565b6146d960208301876145ea565b81810360408301526146eb8186614659565b90506146fa60608301856137e0565b61470760808301846139cd565b9695505050505050565b600060408201905061472660008301856139cd565b81810360208301526147388184614659565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200c06b823d6a333d5393dbb607bb1b9f3a38ed9bc170c20d2c20d6a39d16323ef64736f6c634300080a0033

Deployed Bytecode Sourcemap

4674:12101:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7563:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5052:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8733:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15826:188;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6034:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7840:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3177:231;;;;;;;;;;;;;:::i;:::-;;9684:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4965:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9251:156;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7749:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5994:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15618:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8230:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16022:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5329:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6149:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15140:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5272:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16268:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5913:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15013:119;;;;;;;;;;;;;:::i;:::-;;7948:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16154:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14887:118;;;;;;;;;;;;;:::i;:::-;;5749:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5832:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5440:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2852:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3077:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7654:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8456:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9509:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15415:195;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15292:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16560:210;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16377:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6082:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5381:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14643:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5673:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8079:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14425:178;;;;;;;;;;;;;:::i;:::-;;14783:96;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3416:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5952:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7563:83;7600:13;7633:5;7626:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7563:83;:::o;5052:80::-;5090:42;5052:80;:::o;8733:161::-;8808:4;8825:39;8834:12;:10;:12::i;:::-;8848:7;8857:6;8825:8;:39::i;:::-;8882:4;8875:11;;8733:161;;;;:::o;15826:188::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15940:7:::1;15915:32;;:15;:21;15931:4;15915:21;;;;;;;;;;;;;;;;;;;;;;;;;:32;;;;15907:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;15999:7;15975:15;:21;15991:4;15975:21;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;15826:188:::0;;:::o;6034:41::-;;;;;;;;;;;;;:::o;7840:100::-;7893:7;7920:12;;7913:19;;7840:100;:::o;3177:231::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3285:42:::1;3248:81;;3269:6;::::0;::::1;;;;;;;;3248:81;;;;;;;;;;;;3357:42;3340:6;::::0;:60:::1;;;;;;;;;;;;;;;;;;3177:231::o:0;9684:313::-;9782:4;9799:36;9809:6;9817:9;9828:6;9799:9;:36::i;:::-;;9846:121;9855:6;9863:12;:10;:12::i;:::-;9877:89;9915:6;9877:89;;;;;;;;;;;;;;;;;:11;:19;9889:6;9877:19;;;;;;;;;;;;;;;:33;9897:12;:10;:12::i;:::-;9877:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;9846:8;:121::i;:::-;9985:4;9978:11;;9684:313;;;;;:::o;4965:80::-;5003:42;4965:80;:::o;9251:156::-;9304:7;9331:68;9376:22;5090:42;9376:9;:22::i;:::-;9331:40;9348:22;5003:42;9348:9;:22::i;:::-;9331:12;;:16;;:40;;;;:::i;:::-;:44;;:68;;;;:::i;:::-;9324:75;;9251:156;:::o;7749:83::-;7790:5;7815:9;;;;;;;;;;;7808:16;;7749:83;:::o;5994:31::-;;;;;;;;;;;;;:::o;15618:200::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15740:7:::1;15711:36;;:19;:25;15731:4;15711:25;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;;15703:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;15803:7;15775:19;:25;15795:4;15775:25;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;15618:200:::0;;:::o;8230:218::-;8318:4;8335:83;8344:12;:10;:12::i;:::-;8358:7;8367:50;8406:10;8367:11;:25;8379:12;:10;:12::i;:::-;8367:25;;;;;;;;;;;;;;;:34;8393:7;8367:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8335:8;:83::i;:::-;8436:4;8429:11;;8230:218;;;;:::o;16022:124::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16130:8:::1;16104:23;:34;;;;16022:124:::0;:::o;5329:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;6149:40::-;;;;;;;;;;;;;:::o;15140:144::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15236:8:::1;15225;:19;;;;15267:9;15255;:21;;;;15140:144:::0;;:::o;5272:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;16268:101::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16353:8:::1;16338:12;:23;;;;16268:101:::0;:::o;5913:32::-;;;;;;;;;;;;;:::o;15013:119::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15086:4:::1;15067:16;;:23;;;;;;;;;;;;;;;;;;15117:4;15101:13;;:20;;;;;;;;;;;;;;;;;;15013:119::o:0;7948:123::-;8014:7;8040:9;:18;8050:7;8040:18;;;;;;;;;;;;;;;;8033:25;;7948:123;;;:::o;16154:106::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16244:8:::1;16231:10;:21;;;;16154:106:::0;:::o;14887:118::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14960:5:::1;14941:16;;:24;;;;;;;;;;;;;;;;;;14992:5;14976:13;;:21;;;;;;;;;;;;;;;;;;14887:118::o:0;5749:67::-;;;;:::o;5832:64::-;;;;:::o;5440:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2852:79::-;2890:7;2917:6;;;;;;;;;;;2910:13;;2852:79;:::o;3077:92::-;3117:4;3155:6;;;;;;;;;;;3141:20;;:10;:20;;;3134:27;;3077:92;:::o;7654:87::-;7693:13;7726:7;7719:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7654:87;:::o;8456:269::-;8549:4;8566:129;8575:12;:10;:12::i;:::-;8589:7;8598:96;8637:15;8598:96;;;;;;;;;;;;;;;;;:11;:25;8610:12;:10;:12::i;:::-;8598:25;;;;;;;;;;;;;;;:34;8624:7;8598:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;8566:8;:129::i;:::-;8713:4;8706:11;;8456:269;;;;:::o;9509:167::-;9587:4;9604:42;9614:12;:10;:12::i;:::-;9628:9;9639:6;9604:9;:42::i;:::-;;9664:4;9657:11;;9509:167;;;;:::o;15415:195::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15534:7:::1;15507:34;;:17;:23;15525:4;15507:23;;;;;;;;;;;;;;;;;;;;;;;;;:34;;;;15499:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;15595:7;15569:17;:23;15587:4;15569:23;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;15415:195:::0;;:::o;15292:115::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15389:10:::1;15371:15;;:28;;;;;;;;;;;;;;;;;;15292:115:::0;:::o;16560:210::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16664:7:::1;16642:12;:19;16655:5;16642:19;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;16685:7;16682:81;;;16747:4;16709:19;:35;16737:5;16709:35;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;16682:81;16560:210:::0;;:::o;16377:175::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16482:8:::1;16458:21;;:32;;;;;;;;;;;;;;;;;;16506:38;16535:8;16506:38;;;;;;:::i;:::-;;;;;;;;16377:175:::0;:::o;6082:26::-;;;;;;;;;;;;;:::o;5381:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;14643:132::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14737:3:::1;:12;;;14750:9;14760:6;14737:30;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14643:132:::0;;;:::o;5673:67::-;;;;:::o;8079:143::-;8160:7;8187:11;:18;8199:5;8187:18;;;;;;;;;;;;;;;:27;8206:7;8187:27;;;;;;;;;;;;;;;;8180:34;;8079:143;;;;:::o;14425:178::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14480:7:::1;14500:10;14492:24;;14524:21;14492:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14479:71;;;14569:2;14561:34;;;;;;;;;;;;:::i;:::-;;;;;;;;;14467:136;14425:178::o:0;14783:96::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14864:7:::1;14850:11;;:21;;;;;;;;;;;;;;;;;;14783:96:::0;:::o;3416:244::-;2996:12;:10;:12::i;:::-;2986:22;;:6;;;;;;;;;;:22;;;2978:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3525:1:::1;3505:22;;:8;:22;;;;3497:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3615:8;3586:38;;3607:6;::::0;::::1;;;;;;;;3586:38;;;;;;;;;;;;3644:8;3635:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3416:244:::0;:::o;5952:35::-;;;;;;;;;;;;;:::o;1836:250::-;1894:7;1923:1;1918;:6;1914:47;;;1948:1;1941:8;;;;1914:47;1973:9;1989:1;1985;:5;;;;:::i;:::-;1973:17;;2018:1;2013;2009;:5;;;;:::i;:::-;:10;2001:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2077:1;2070:8;;;1836:250;;;;;:::o;2094:132::-;2152:7;2179:39;2183:1;2186;2179:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2172:46;;2094:132;;;;:::o;354:115::-;407:15;450:10;435:26;;354:115;:::o;8902:337::-;9012:1;8995:19;;:5;:19;;;;8987:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9093:1;9074:21;;:7;:21;;;;9066:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9177:6;9147:11;:18;9159:5;9147:18;;;;;;;;;;;;;;;:27;9166:7;9147:27;;;;;;;;;;;;;;;:36;;;;9215:7;9199:32;;9208:5;9199:32;;;9224:6;9199:32;;;;;;:::i;:::-;;;;;;;;8902:337;;;:::o;10005:1665::-;10092:4;10137:1;10119:20;;:6;:20;;;;10111:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10199:1;10178:23;;:9;:23;;;;10170:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;10247:1;10238:6;:10;10230:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;10284:11;;;;;;;;;;;10280:130;;10319:17;:25;10337:6;10319:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;10348:17;:28;10366:9;10348:28;;;;;;;;;;;;;;;;;;;;;;;;;10319:57;10311:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;10280:130;10425:16;;;;;;;;;;;10422:1241;;;10475:41;10490:6;10498:9;10509:6;10475:14;:41::i;:::-;10468:48;;;;10422:1241;10574:15;:23;10590:6;10574:23;;;;;;;;;;;;;;;;;;;;;;;;;10573:24;:55;;;;;10602:15;:26;10618:9;10602:26;;;;;;;;;;;;;;;;;;;;;;;;;10601:27;10573:55;:72;;;;;10632:13;;;;;;;;;;;10573:72;10570:152;;;10684:12;;10674:6;:22;;10666:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;10570:152;10739:28;10770:24;10788:4;10770:9;:24::i;:::-;10739:55;;10809:28;10864:23;;10840:20;:47;;10809:78;;10920:23;:44;;;;;10948:16;;;;;;;;;;;10947:17;10920:44;:69;;;;;10969:12;:20;10982:6;10969:20;;;;;;;;;;;;;;;;;;;;;;;;;10968:21;10920:69;:94;;;;;10993:21;;;;;;;;;;;10920:94;10916:185;;;11049:36;11064:20;11049:14;:36::i;:::-;10916:185;11137:53;11159:6;11137:53;;;;;;;;;;;;;;;;;:9;:17;11147:6;11137:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;11117:9;:17;11127:6;11117:17;;;;;;;;;;;;;;;:73;;;;11207:19;11229:31;11243:6;11250:9;11229:13;:31::i;:::-;:77;;11272:34;11280:6;11288:9;11299:6;11272:7;:34::i;:::-;11229:77;;;11263:6;11229:77;11207:99;;11326:16;;;;;;;;;;;:51;;;;;11347:19;:30;11367:9;11347:30;;;;;;;;;;;;;;;;;;;;;;;;;11346:31;11326:51;11323:164;;;11447:10;;11406:37;11431:11;11406:20;11416:9;11406;:20::i;:::-;:24;;:37;;;;:::i;:::-;:51;;11398:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;11323:164;11526:37;11551:11;11526:9;:20;11536:9;11526:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;11503:9;:20;11513:9;11503:20;;;;;;;;;;;;;;;:60;;;;11602:9;11585:40;;11594:6;11585:40;;;11613:11;11585:40;;;;;;:::i;:::-;;;;;;;;11647:4;11640:11;;;;;10005:1665;;;;;;:::o;1636:192::-;1722:7;1755:1;1750;:6;;1758:12;1742:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1782:9;1798:1;1794;:5;;;;:::i;:::-;1782:17;;1819:1;1812:8;;;1636:192;;;;;:::o;1492:136::-;1550:7;1577:43;1581:1;1584;1577:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1570:50;;1492:136;;;;:::o;1303:181::-;1361:7;1381:9;1397:1;1393;:5;;;;:::i;:::-;1381:17;;1422:1;1417;:6;;1409:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1475:1;1468:8;;;1303:181;;;;:::o;2234:278::-;2320:7;2352:1;2348;:5;2355:12;2340:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2379:9;2395:1;2391;:5;;;;:::i;:::-;2379:17;;2503:1;2496:8;;;2234:278;;;;;:::o;11678:330::-;11771:4;11808:53;11830:6;11808:53;;;;;;;;;;;;;;;;;:9;:17;11818:6;11808:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;11788:9;:17;11798:6;11788:17;;;;;;;;;;;;;;;:73;;;;11895:32;11920:6;11895:9;:20;11905:9;11895:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;11872:9;:20;11882:9;11872:20;;;;;;;;;;;;;;;:55;;;;11960:9;11943:35;;11952:6;11943:35;;;11971:6;11943:35;;;;;;:::i;:::-;;;;;;;;11996:4;11989:11;;11678:330;;;;;:::o;12016:558::-;6535:4;6516:16;;:23;;;;;;;;;;;;;;;;;;12128:1:::1;12109:15;:20;12106:32;;;12131:7;;12106:32;12150:16;12169:23;12182:9;;12169:8;;:12;;:23;;;;:::i;:::-;12150:42;;12221:1;12206:11;:16;12203:28;;;12224:7;;;12203:28;12243:22;12268:21;12243:46;;12300:33;12317:15;12300:16;:33::i;:::-;12344:22;12369:41;12395:14;12369:21;:25;;:41;;;;:::i;:::-;12344:66;;12443:1;12426:14;:18;12423:144;;;12462:7;12482:15;;;;;;;;;;;12474:29;;12511:14;12474:56;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12461:69;;;12446:121;12423:144;12085:489;;;6550:1;6581:5:::0;6562:16;;:24;;;;;;;;;;;;;;;;;;12016:558;:::o;13260:366::-;13341:4;13361:17;:25;13379:6;13361:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;13390:17;:28;13408:9;13390:28;;;;;;;;;;;;;;;;;;;;;;;;;13361:57;13358:261;;;13442:4;13435:11;;;;13358:261;13477:12;:20;13490:6;13477:20;;;;;;;;;;;;;;;;;;;;;;;;;:47;;;;13501:12;:23;13514:9;13501:23;;;;;;;;;;;;;;;;;;;;;;;;;13477:47;13473:146;;;13548:5;13541:12;;;;13473:146;13602:5;13595:12;;13260:366;;;;;:::o;13634:750::-;13720:7;13750:14;13815:12;:20;13828:6;13815:20;;;;;;;;;;;;;;;;;;;;;;;;;13812:293;;;13870:37;5587:3;13870:20;13881:8;;13870:6;:10;;:20;;;;:::i;:::-;:24;;:37;;;;:::i;:::-;13858:49;;13812:293;;;13959:12;:23;13972:9;13959:23;;;;;;;;;;;;;;;;;;;;;;;;;13956:149;;;14033:38;5587:3;14033:21;14044:9;;14033:6;:10;;:21;;;;:::i;:::-;:25;;:38;;;;:::i;:::-;14021:50;;13956:149;13812:293;14141:1;14129:9;:13;14126:185;;;14190:39;14219:9;14190;:24;14208:4;14190:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;14163:9;:24;14181:4;14163:24;;;;;;;;;;;;;;;:66;;;;14278:4;14253:42;;14262:6;14253:42;;;14285:9;14253:42;;;;;;:::i;:::-;;;;;;;;14126:185;14334:21;14345:9;14334:6;:10;;:21;;;;:::i;:::-;14327:28;;;13634:750;;;;;:::o;12586:666::-;12712:21;12750:1;12736:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12712:40;;12781:4;12763;12768:1;12763:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;12807:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12797:4;12802:1;12797:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;12842:62;12859:4;12874:15;;;;;;;;;;;12892:11;12842:8;:62::i;:::-;12943:15;;;;;;;;;;;:66;;;13024:11;13050:1;13094:4;13121;13157:15;12943:240;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13209:35;13226:11;13239:4;13209:35;;;;;;;:::i;:::-;;;;;;;;12641:611;12586:666;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:126::-;1434:7;1474:42;1467:5;1463:54;1452:65;;1397:126;;;:::o;1529:96::-;1566:7;1595:24;1613:5;1595:24;:::i;:::-;1584:35;;1529:96;;;:::o;1631:118::-;1718:24;1736:5;1718:24;:::i;:::-;1713:3;1706:37;1631:118;;:::o;1755:222::-;1848:4;1886:2;1875:9;1871:18;1863:26;;1899:71;1967:1;1956:9;1952:17;1943:6;1899:71;:::i;:::-;1755:222;;;;:::o;2064:117::-;2173:1;2170;2163:12;2310:122;2383:24;2401:5;2383:24;:::i;:::-;2376:5;2373:35;2363:63;;2422:1;2419;2412:12;2363:63;2310:122;:::o;2438:139::-;2484:5;2522:6;2509:20;2500:29;;2538:33;2565:5;2538:33;:::i;:::-;2438:139;;;;:::o;2583:77::-;2620:7;2649:5;2638:16;;2583:77;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:116::-;3916:21;3931:5;3916:21;:::i;:::-;3909:5;3906:32;3896:60;;3952:1;3949;3942:12;3896:60;3846:116;:::o;3968:133::-;4011:5;4049:6;4036:20;4027:29;;4065:30;4089:5;4065:30;:::i;:::-;3968:133;;;;:::o;4107:468::-;4172:6;4180;4229:2;4217:9;4208:7;4204:23;4200:32;4197:119;;;4235:79;;:::i;:::-;4197:119;4355:1;4380:53;4425:7;4416:6;4405:9;4401:22;4380:53;:::i;:::-;4370:63;;4326:117;4482:2;4508:50;4550:7;4541:6;4530:9;4526:22;4508:50;:::i;:::-;4498:60;;4453:115;4107:468;;;;;:::o;4581:60::-;4609:3;4630:5;4623:12;;4581:60;;;:::o;4647:142::-;4697:9;4730:53;4748:34;4757:24;4775:5;4757:24;:::i;:::-;4748:34;:::i;:::-;4730:53;:::i;:::-;4717:66;;4647:142;;;:::o;4795:126::-;4845:9;4878:37;4909:5;4878:37;:::i;:::-;4865:50;;4795:126;;;:::o;4927:152::-;5003:9;5036:37;5067:5;5036:37;:::i;:::-;5023:50;;4927:152;;;:::o;5085:183::-;5198:63;5255:5;5198:63;:::i;:::-;5193:3;5186:76;5085:183;;:::o;5274:274::-;5393:4;5431:2;5420:9;5416:18;5408:26;;5444:97;5538:1;5527:9;5523:17;5514:6;5444:97;:::i;:::-;5274:274;;;;:::o;5554:118::-;5641:24;5659:5;5641:24;:::i;:::-;5636:3;5629:37;5554:118;;:::o;5678:222::-;5771:4;5809:2;5798:9;5794:18;5786:26;;5822:71;5890:1;5879:9;5875:17;5866:6;5822:71;:::i;:::-;5678:222;;;;:::o;5906:619::-;5983:6;5991;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;6429:2;6455:53;6500:7;6491:6;6480:9;6476:22;6455:53;:::i;:::-;6445:63;;6400:118;5906:619;;;;;:::o;6531:86::-;6566:7;6606:4;6599:5;6595:16;6584:27;;6531:86;;;:::o;6623:112::-;6706:22;6722:5;6706:22;:::i;:::-;6701:3;6694:35;6623:112;;:::o;6741:214::-;6830:4;6868:2;6857:9;6853:18;6845:26;;6881:67;6945:1;6934:9;6930:17;6921:6;6881:67;:::i;:::-;6741:214;;;;:::o;6961:329::-;7020:6;7069:2;7057:9;7048:7;7044:23;7040:32;7037:119;;;7075:79;;:::i;:::-;7037:119;7195:1;7220:53;7265:7;7256:6;7245:9;7241:22;7220:53;:::i;:::-;7210:63;;7166:117;6961:329;;;;:::o;7296:::-;7355:6;7404:2;7392:9;7383:7;7379:23;7375:32;7372:119;;;7410:79;;:::i;:::-;7372:119;7530:1;7555:53;7600:7;7591:6;7580:9;7576:22;7555:53;:::i;:::-;7545:63;;7501:117;7296:329;;;;:::o;7631:474::-;7699:6;7707;7756:2;7744:9;7735:7;7731:23;7727:32;7724:119;;;7762:79;;:::i;:::-;7724:119;7882:1;7907:53;7952:7;7943:6;7932:9;7928:22;7907:53;:::i;:::-;7897:63;;7853:117;8009:2;8035:53;8080:7;8071:6;8060:9;8056:22;8035:53;:::i;:::-;8025:63;;7980:118;7631:474;;;;;:::o;8111:323::-;8167:6;8216:2;8204:9;8195:7;8191:23;8187:32;8184:119;;;8222:79;;:::i;:::-;8184:119;8342:1;8367:50;8409:7;8400:6;8389:9;8385:22;8367:50;:::i;:::-;8357:60;;8313:114;8111:323;;;;:::o;8440:109::-;8490:7;8519:24;8537:5;8519:24;:::i;:::-;8508:35;;8440:109;;;:::o;8555:148::-;8641:37;8672:5;8641:37;:::i;:::-;8634:5;8631:48;8621:76;;8693:1;8690;8683:12;8621:76;8555:148;:::o;8709:165::-;8768:5;8806:6;8793:20;8784:29;;8822:46;8862:5;8822:46;:::i;:::-;8709:165;;;;:::o;8880:645::-;8970:6;8978;8986;9035:2;9023:9;9014:7;9010:23;9006:32;9003:119;;;9041:79;;:::i;:::-;9003:119;9161:1;9186:66;9244:7;9235:6;9224:9;9220:22;9186:66;:::i;:::-;9176:76;;9132:130;9301:2;9327:53;9372:7;9363:6;9352:9;9348:22;9327:53;:::i;:::-;9317:63;;9272:118;9429:2;9455:53;9500:7;9491:6;9480:9;9476:22;9455:53;:::i;:::-;9445:63;;9400:118;8880:645;;;;;:::o;9531:474::-;9599:6;9607;9656:2;9644:9;9635:7;9631:23;9627:32;9624:119;;;9662:79;;:::i;:::-;9624:119;9782:1;9807:53;9852:7;9843:6;9832:9;9828:22;9807:53;:::i;:::-;9797:63;;9753:117;9909:2;9935:53;9980:7;9971:6;9960:9;9956:22;9935:53;:::i;:::-;9925:63;;9880:118;9531:474;;;;;:::o;10011:180::-;10059:77;10056:1;10049:88;10156:4;10153:1;10146:15;10180:4;10177:1;10170:15;10197:320;10241:6;10278:1;10272:4;10268:12;10258:22;;10325:1;10319:4;10315:12;10346:18;10336:81;;10402:4;10394:6;10390:17;10380:27;;10336:81;10464:2;10456:6;10453:14;10433:18;10430:38;10427:84;;;10483:18;;:::i;:::-;10427:84;10248:269;10197:320;;;:::o;10523:182::-;10663:34;10659:1;10651:6;10647:14;10640:58;10523:182;:::o;10711:366::-;10853:3;10874:67;10938:2;10933:3;10874:67;:::i;:::-;10867:74;;10950:93;11039:3;10950:93;:::i;:::-;11068:2;11063:3;11059:12;11052:19;;10711:366;;;:::o;11083:419::-;11249:4;11287:2;11276:9;11272:18;11264:26;;11336:9;11330:4;11326:20;11322:1;11311:9;11307:17;11300:47;11364:131;11490:4;11364:131;:::i;:::-;11356:139;;11083:419;;;:::o;11508:163::-;11648:15;11644:1;11636:6;11632:14;11625:39;11508:163;:::o;11677:366::-;11819:3;11840:67;11904:2;11899:3;11840:67;:::i;:::-;11833:74;;11916:93;12005:3;11916:93;:::i;:::-;12034:2;12029:3;12025:12;12018:19;;11677:366;;;:::o;12049:419::-;12215:4;12253:2;12242:9;12238:18;12230:26;;12302:9;12296:4;12292:20;12288:1;12277:9;12273:17;12266:47;12330:131;12456:4;12330:131;:::i;:::-;12322:139;;12049:419;;;:::o;12474:332::-;12595:4;12633:2;12622:9;12618:18;12610:26;;12646:71;12714:1;12703:9;12699:17;12690:6;12646:71;:::i;:::-;12727:72;12795:2;12784:9;12780:18;12771:6;12727:72;:::i;:::-;12474:332;;;;;:::o;12812:137::-;12866:5;12897:6;12891:13;12882:22;;12913:30;12937:5;12913:30;:::i;:::-;12812:137;;;;:::o;12955:345::-;13022:6;13071:2;13059:9;13050:7;13046:23;13042:32;13039:119;;;13077:79;;:::i;:::-;13039:119;13197:1;13222:61;13275:7;13266:6;13255:9;13251:22;13222:61;:::i;:::-;13212:71;;13168:125;12955:345;;;;:::o;13306:147::-;13407:11;13444:3;13429:18;;13306:147;;;;:::o;13459:114::-;;:::o;13579:398::-;13738:3;13759:83;13840:1;13835:3;13759:83;:::i;:::-;13752:90;;13851:93;13940:3;13851:93;:::i;:::-;13969:1;13964:3;13960:11;13953:18;;13579:398;;;:::o;13983:379::-;14167:3;14189:147;14332:3;14189:147;:::i;:::-;14182:154;;14353:3;14346:10;;13983:379;;;:::o;14368:170::-;14508:22;14504:1;14496:6;14492:14;14485:46;14368:170;:::o;14544:366::-;14686:3;14707:67;14771:2;14766:3;14707:67;:::i;:::-;14700:74;;14783:93;14872:3;14783:93;:::i;:::-;14901:2;14896:3;14892:12;14885:19;;14544:366;;;:::o;14916:419::-;15082:4;15120:2;15109:9;15105:18;15097:26;;15169:9;15163:4;15159:20;15155:1;15144:9;15140:17;15133:47;15197:131;15323:4;15197:131;:::i;:::-;15189:139;;14916:419;;;:::o;15341:225::-;15481:34;15477:1;15469:6;15465:14;15458:58;15550:8;15545:2;15537:6;15533:15;15526:33;15341:225;:::o;15572:366::-;15714:3;15735:67;15799:2;15794:3;15735:67;:::i;:::-;15728:74;;15811:93;15900:3;15811:93;:::i;:::-;15929:2;15924:3;15920:12;15913:19;;15572:366;;;:::o;15944:419::-;16110:4;16148:2;16137:9;16133:18;16125:26;;16197:9;16191:4;16187:20;16183:1;16172:9;16168:17;16161:47;16225:131;16351:4;16225:131;:::i;:::-;16217:139;;15944:419;;;:::o;16369:180::-;16417:77;16414:1;16407:88;16514:4;16511:1;16504:15;16538:4;16535:1;16528:15;16555:348;16595:7;16618:20;16636:1;16618:20;:::i;:::-;16613:25;;16652:20;16670:1;16652:20;:::i;:::-;16647:25;;16840:1;16772:66;16768:74;16765:1;16762:81;16757:1;16750:9;16743:17;16739:105;16736:131;;;16847:18;;:::i;:::-;16736:131;16895:1;16892;16888:9;16877:20;;16555:348;;;;:::o;16909:180::-;16957:77;16954:1;16947:88;17054:4;17051:1;17044:15;17078:4;17075:1;17068:15;17095:185;17135:1;17152:20;17170:1;17152:20;:::i;:::-;17147:25;;17186:20;17204:1;17186:20;:::i;:::-;17181:25;;17225:1;17215:35;;17230:18;;:::i;:::-;17215:35;17272:1;17269;17265:9;17260:14;;17095:185;;;;:::o;17286:220::-;17426:34;17422:1;17414:6;17410:14;17403:58;17495:3;17490:2;17482:6;17478:15;17471:28;17286:220;:::o;17512:366::-;17654:3;17675:67;17739:2;17734:3;17675:67;:::i;:::-;17668:74;;17751:93;17840:3;17751:93;:::i;:::-;17869:2;17864:3;17860:12;17853:19;;17512:366;;;:::o;17884:419::-;18050:4;18088:2;18077:9;18073:18;18065:26;;18137:9;18131:4;18127:20;18123:1;18112:9;18108:17;18101:47;18165:131;18291:4;18165:131;:::i;:::-;18157:139;;17884:419;;;:::o;18309:223::-;18449:34;18445:1;18437:6;18433:14;18426:58;18518:6;18513:2;18505:6;18501:15;18494:31;18309:223;:::o;18538:366::-;18680:3;18701:67;18765:2;18760:3;18701:67;:::i;:::-;18694:74;;18777:93;18866:3;18777:93;:::i;:::-;18895:2;18890:3;18886:12;18879:19;;18538:366;;;:::o;18910:419::-;19076:4;19114:2;19103:9;19099:18;19091:26;;19163:9;19157:4;19153:20;19149:1;19138:9;19134:17;19127:47;19191:131;19317:4;19191:131;:::i;:::-;19183:139;;18910:419;;;:::o;19335:221::-;19475:34;19471:1;19463:6;19459:14;19452:58;19544:4;19539:2;19531:6;19527:15;19520:29;19335:221;:::o;19562:366::-;19704:3;19725:67;19789:2;19784:3;19725:67;:::i;:::-;19718:74;;19801:93;19890:3;19801:93;:::i;:::-;19919:2;19914:3;19910:12;19903:19;;19562:366;;;:::o;19934:419::-;20100:4;20138:2;20127:9;20123:18;20115:26;;20187:9;20181:4;20177:20;20173:1;20162:9;20158:17;20151:47;20215:131;20341:4;20215:131;:::i;:::-;20207:139;;19934:419;;;:::o;20359:165::-;20499:17;20495:1;20487:6;20483:14;20476:41;20359:165;:::o;20530:366::-;20672:3;20693:67;20757:2;20752:3;20693:67;:::i;:::-;20686:74;;20769:93;20858:3;20769:93;:::i;:::-;20887:2;20882:3;20878:12;20871:19;;20530:366;;;:::o;20902:419::-;21068:4;21106:2;21095:9;21091:18;21083:26;;21155:9;21149:4;21145:20;21141:1;21130:9;21126:17;21119:47;21183:131;21309:4;21183:131;:::i;:::-;21175:139;;20902:419;;;:::o;21327:163::-;21467:15;21463:1;21455:6;21451:14;21444:39;21327:163;:::o;21496:366::-;21638:3;21659:67;21723:2;21718:3;21659:67;:::i;:::-;21652:74;;21735:93;21824:3;21735:93;:::i;:::-;21853:2;21848:3;21844:12;21837:19;;21496:366;;;:::o;21868:419::-;22034:4;22072:2;22061:9;22057:18;22049:26;;22121:9;22115:4;22111:20;22107:1;22096:9;22092:17;22085:47;22149:131;22275:4;22149:131;:::i;:::-;22141:139;;21868:419;;;:::o;22293:164::-;22433:16;22429:1;22421:6;22417:14;22410:40;22293:164;:::o;22463:366::-;22605:3;22626:67;22690:2;22685:3;22626:67;:::i;:::-;22619:74;;22702:93;22791:3;22702:93;:::i;:::-;22820:2;22815:3;22811:12;22804:19;;22463:366;;;:::o;22835:419::-;23001:4;23039:2;23028:9;23024:18;23016:26;;23088:9;23082:4;23078:20;23074:1;23063:9;23059:17;23052:47;23116:131;23242:4;23116:131;:::i;:::-;23108:139;;22835:419;;;:::o;23260:168::-;23400:20;23396:1;23388:6;23384:14;23377:44;23260:168;:::o;23434:366::-;23576:3;23597:67;23661:2;23656:3;23597:67;:::i;:::-;23590:74;;23673:93;23762:3;23673:93;:::i;:::-;23791:2;23786:3;23782:12;23775:19;;23434:366;;;:::o;23806:419::-;23972:4;24010:2;23999:9;23995:18;23987:26;;24059:9;24053:4;24049:20;24045:1;24034:9;24030:17;24023:47;24087:131;24213:4;24087:131;:::i;:::-;24079:139;;23806:419;;;:::o;24231:156::-;24371:8;24367:1;24359:6;24355:14;24348:32;24231:156;:::o;24393:365::-;24535:3;24556:66;24620:1;24615:3;24556:66;:::i;:::-;24549:73;;24631:93;24720:3;24631:93;:::i;:::-;24749:2;24744:3;24740:12;24733:19;;24393:365;;;:::o;24764:419::-;24930:4;24968:2;24957:9;24953:18;24945:26;;25017:9;25011:4;25007:20;25003:1;24992:9;24988:17;24981:47;25045:131;25171:4;25045:131;:::i;:::-;25037:139;;24764:419;;;:::o;25189:160::-;25329:12;25325:1;25317:6;25313:14;25306:36;25189:160;:::o;25355:366::-;25497:3;25518:67;25582:2;25577:3;25518:67;:::i;:::-;25511:74;;25594:93;25683:3;25594:93;:::i;:::-;25712:2;25707:3;25703:12;25696:19;;25355:366;;;:::o;25727:419::-;25893:4;25931:2;25920:9;25916:18;25908:26;;25980:9;25974:4;25970:20;25966:1;25955:9;25951:17;25944:47;26008:131;26134:4;26008:131;:::i;:::-;26000:139;;25727:419;;;:::o;26152:191::-;26192:4;26212:20;26230:1;26212:20;:::i;:::-;26207:25;;26246:20;26264:1;26246:20;:::i;:::-;26241:25;;26285:1;26282;26279:8;26276:34;;;26290:18;;:::i;:::-;26276:34;26335:1;26332;26328:9;26320:17;;26152:191;;;;:::o;26349:305::-;26389:3;26408:20;26426:1;26408:20;:::i;:::-;26403:25;;26442:20;26460:1;26442:20;:::i;:::-;26437:25;;26596:1;26528:66;26524:74;26521:1;26518:81;26515:107;;;26602:18;;:::i;:::-;26515:107;26646:1;26643;26639:9;26632:16;;26349:305;;;;:::o;26660:177::-;26800:29;26796:1;26788:6;26784:14;26777:53;26660:177;:::o;26843:366::-;26985:3;27006:67;27070:2;27065:3;27006:67;:::i;:::-;26999:74;;27082:93;27171:3;27082:93;:::i;:::-;27200:2;27195:3;27191:12;27184:19;;26843:366;;;:::o;27215:419::-;27381:4;27419:2;27408:9;27404:18;27396:26;;27468:9;27462:4;27458:20;27454:1;27443:9;27439:17;27432:47;27496:131;27622:4;27496:131;:::i;:::-;27488:139;;27215:419;;;:::o;27640:180::-;27688:77;27685:1;27678:88;27785:4;27782:1;27775:15;27809:4;27806:1;27799:15;27826:180;27874:77;27871:1;27864:88;27971:4;27968:1;27961:15;27995:4;27992:1;27985:15;28012:143;28069:5;28100:6;28094:13;28085:22;;28116:33;28143:5;28116:33;:::i;:::-;28012:143;;;;:::o;28161:351::-;28231:6;28280:2;28268:9;28259:7;28255:23;28251:32;28248:119;;;28286:79;;:::i;:::-;28248:119;28406:1;28431:64;28487:7;28478:6;28467:9;28463:22;28431:64;:::i;:::-;28421:74;;28377:128;28161:351;;;;:::o;28518:85::-;28563:7;28592:5;28581:16;;28518:85;;;:::o;28609:158::-;28667:9;28700:61;28718:42;28727:32;28753:5;28727:32;:::i;:::-;28718:42;:::i;:::-;28700:61;:::i;:::-;28687:74;;28609:158;;;:::o;28773:147::-;28868:45;28907:5;28868:45;:::i;:::-;28863:3;28856:58;28773:147;;:::o;28926:114::-;28993:6;29027:5;29021:12;29011:22;;28926:114;;;:::o;29046:184::-;29145:11;29179:6;29174:3;29167:19;29219:4;29214:3;29210:14;29195:29;;29046:184;;;;:::o;29236:132::-;29303:4;29326:3;29318:11;;29356:4;29351:3;29347:14;29339:22;;29236:132;;;:::o;29374:108::-;29451:24;29469:5;29451:24;:::i;:::-;29446:3;29439:37;29374:108;;:::o;29488:179::-;29557:10;29578:46;29620:3;29612:6;29578:46;:::i;:::-;29656:4;29651:3;29647:14;29633:28;;29488:179;;;;:::o;29673:113::-;29743:4;29775;29770:3;29766:14;29758:22;;29673:113;;;:::o;29822:732::-;29941:3;29970:54;30018:5;29970:54;:::i;:::-;30040:86;30119:6;30114:3;30040:86;:::i;:::-;30033:93;;30150:56;30200:5;30150:56;:::i;:::-;30229:7;30260:1;30245:284;30270:6;30267:1;30264:13;30245:284;;;30346:6;30340:13;30373:63;30432:3;30417:13;30373:63;:::i;:::-;30366:70;;30459:60;30512:6;30459:60;:::i;:::-;30449:70;;30305:224;30292:1;30289;30285:9;30280:14;;30245:284;;;30249:14;30545:3;30538:10;;29946:608;;;29822:732;;;;:::o;30560:831::-;30823:4;30861:3;30850:9;30846:19;30838:27;;30875:71;30943:1;30932:9;30928:17;30919:6;30875:71;:::i;:::-;30956:80;31032:2;31021:9;31017:18;31008:6;30956:80;:::i;:::-;31083:9;31077:4;31073:20;31068:2;31057:9;31053:18;31046:48;31111:108;31214:4;31205:6;31111:108;:::i;:::-;31103:116;;31229:72;31297:2;31286:9;31282:18;31273:6;31229:72;:::i;:::-;31311:73;31379:3;31368:9;31364:19;31355:6;31311:73;:::i;:::-;30560:831;;;;;;;;:::o;31397:483::-;31568:4;31606:2;31595:9;31591:18;31583:26;;31619:71;31687:1;31676:9;31672:17;31663:6;31619:71;:::i;:::-;31737:9;31731:4;31727:20;31722:2;31711:9;31707:18;31700:48;31765:108;31868:4;31859:6;31765:108;:::i;:::-;31757:116;;31397:483;;;;;:::o

Swarm Source

ipfs://0c06b823d6a333d5393dbb607bb1b9f3a38ed9bc170c20d2c20d6a39d16323ef
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.