ETH Price: $3,708.45 (+1.37%)

Token

ERC-20: MoneyPowerCoin (SHEKEL)
 

Overview

Max Total Supply

77,777,777 SHEKEL

Holders

178

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,282.650021743452502011 SHEKEL

Value
$0.00
0xc829649b5df6d8ec78117a149b9549ddca1a863f
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:
SHEKELToken

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*    
        ______   __    __  ________  __    __  ________  __       
       /      \ |  \  |  \|        \|  \  /  \|        \|  \      
      |  $$$$$$\| $$  | $$| $$$$$$$$| $$ /  $$| $$$$$$$$| $$      
      | $$___\$$| $$__| $$| $$__    | $$/  $$ | $$__    | $$      
       \$$    \ | $$    $$| $$  \   | $$  $$  | $$  \   | $$      
       _\$$$$$$\| $$$$$$$$| $$$$$   | $$$$$\  | $$$$$   | $$      
      |  \__| $$| $$  | $$| $$_____ | $$ \$$\ | $$_____ | $$_____ 
       \$$    $$| $$  | $$| $$     \| $$  \$$\| $$     \| $$     \
        \$$$$$$  \$$   \$$ \$$$$$$$$ \$$   \$$ \$$$$$$$$ \$$$$$$$$

Twitter : https://twitter.com/MoneyPowerCoin
Telegram : https://t.me/MONEYPOWERCOIN

*/

// SPDX-License-Identifier:MIT

pragma solidity ^0.8.10;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        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
    );
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any _account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

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

interface IDexSwapPair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IDexSwapRouter {
    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);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

}

contract SHEKELToken is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private _name = "MoneyPowerCoin";
    string private _symbol = "SHEKEL";
    uint8 private _decimals = 18; 

    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    address public immutable zeroAddress = 0x0000000000000000000000000000000000000000;

    uint256 public _buyMarketingFee = 3;
    uint256 public _sellMarketingFee = 3;

    address public Marketing = address(0x2ab9085d1482EfAf61e367b8C4723f927C336899);
    
    uint256 feedenominator = 100;

    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 private _totalSupply = 77_777_777 * 10**_decimals;

    uint256 public _maxTxAmount =  _totalSupply.mul(3).div(100);     // 3%
    uint256 public _walletMax = _totalSupply.mul(3).div(100);        // 3%

    uint256 public swapThreshold = 77_000 * 10**_decimals;

    bool public swapEnabled = true;
    bool public swapbylimit = true;
    bool public EnableTxLimit = true;
    bool public checkWalletLimit = true;

    IDexSwapRouter public dexRouter;
    address public dexPair;

    bool inSwap;

    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    constructor() {

        address _owner = address(0x81914e9327cA2F52D7f80e82D97E3071b4F41b68);

        IDexSwapRouter _dexRouter = IDexSwapRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        dexPair = IDexSwapFactory(_dexRouter.factory()).createPair(
            address(this),
            _dexRouter.WETH()
        );

        dexRouter = _dexRouter;

        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[_owner] = true;
        isExcludedFromFee[address(dexRouter)] = true;

        isWalletLimitExempt[_owner] = true;
        isWalletLimitExempt[address(dexPair)] = true;
        isWalletLimitExempt[address(dexRouter)] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[deadAddress] = true;
        isWalletLimitExempt[zeroAddress] = true;
        
        isTxLimitExempt[deadAddress] = true;
        isTxLimitExempt[zeroAddress] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[address(dexRouter)] = true;

        isMarketPair[address(dexPair)] = true;

        _allowances[address(this)][address(dexRouter)] = ~uint256(0);
        _allowances[address(this)][address(dexPair)] = ~uint256(0);

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _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 getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress));
    }

    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);
    }

     //to recieve ETH from Router 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: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
    
        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }
        else {

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= swapThreshold;

            if (overMinimumTokenBalance && !inSwap && !isMarketPair[sender] && swapEnabled) {
                swapBack(contractTokenBalance);
            }

            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            } 
            
            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

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

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

            _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 shouldNotTakeFee(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(_buyMarketingFee).div(feedenominator);
            } 
            else if(isMarketPair[recipient]) { 
                feeAmount = amount.mul(_sellMarketingFee).div(feedenominator);
            }

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

            return amount.sub(feeAmount);
        }
        
    }

    function swapBack(uint contractBalance) internal swapping {

        if(swapbylimit) contractBalance = swapThreshold;

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

       if(amountReceived > 0) payable(Marketing).transfer(amountReceived);

    }

    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] = dexRouter.WETH();

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

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

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

    function rescueTokens(address _token,address recipient,uint _amount) external onlyOwner {
        (bool success, ) = address(_token).call(abi.encodeWithSignature('transfer(address,uint256)',  recipient, _amount));
        require(success, 'Token payment failed');
    }

    function setFee(uint _buyFee, uint _sellFee) external onlyOwner {    
        _buyMarketingFee = _buyFee;
        _sellMarketingFee = _sellFee;
    }

    function enableTxLimit(bool _status) external onlyOwner {
        EnableTxLimit = _status;
    }

    function enableWalletLimit(bool _status) external onlyOwner {
        checkWalletLimit = _status;
    }

    function excludeFromFee(address _adr,bool _status) external onlyOwner {
        isExcludedFromFee[_adr] = _status;
    }

    function excludeWalletLimit(address _adr,bool _status) external onlyOwner {
        isWalletLimitExempt[_adr] = _status;
    }

    function excludeTxLimit(address _adr,bool _status) external onlyOwner {
        isTxLimitExempt[_adr] = _status;
    }

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

    function setTxLimit(uint256 newLimit) external onlyOwner() {
        _maxTxAmount = newLimit;
    }
    
    function setMarketingWallet(address _newWallet) external onlyOwner {
        Marketing = _newWallet;
    }

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

    function setSwapBackSettings(bool _enabled, bool _limited)
        external
        onlyOwner
    {
        swapEnabled = _enabled;
        swapbylimit = _limited;
    }

    function setSwapthreshold(uint _threshold) external onlyOwner {
        swapThreshold = _threshold;
    }

    function setManualRouter(address _router) external onlyOwner {
        dexRouter = IDexSwapRouter(_router);
    }

    function setManualPair(address _pair) external onlyOwner {
        dexPair = _pair;
    }


}

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":"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":"EnableTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Marketing","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","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":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","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":"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":[{"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":"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setManualPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"setManualRouter","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":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"bool","name":"_limited","type":"bool"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"setSwapthreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapbylimit","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":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526040518060400160405280600e81526020017f4d6f6e6579506f776572436f696e000000000000000000000000000000000000815250600190816200004a9190620010e1565b506040518060400160405280600681526020017f5348454b454c000000000000000000000000000000000000000000000000000081525060029081620000919190620010e1565b50601260035f6101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152505f73ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff1681525060036004556003600555732ab9085d1482efaf61e367b8c4723f927c33689960065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606460075560035f9054906101000a900460ff16600a6200019591906200134e565b6304a2cb71620001a691906200139e565b600e55620001d66064620001c76003600e5462000c7e60201b90919060201c565b62000cfe60201b90919060201c565b600f55620002066064620001f76003600e5462000c7e60201b90919060201c565b62000cfe60201b90919060201c565b60105560035f9054906101000a900460ff16600a6200022691906200134e565b62012cc86200023691906200139e565b601155600160125f6101000a81548160ff0219169083151502179055506001601260016101000a81548160ff0219169083151502179055506001601260026101000a81548160ff0219169083151502179055506001601260036101000a81548160ff021916908315150217905550348015620002b0575f80fd5b50620002d1620002c562000d4f60201b60201c565b62000d5660201b60201c565b5f7381914e9327ca2f52d7f80e82d97e3071b4f41b6890505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200034b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200037191906200144d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003d7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003fd91906200144d565b6040518363ffffffff1660e01b81526004016200041c9291906200148e565b6020604051808303815f875af115801562000439573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200045f91906200144d565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f60805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f60a05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f60805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f60a05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f1960095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f1960095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600e5460085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600e5460405162000c6e9190620014ca565b60405180910390a3505062001689565b5f80830362000c90575f905062000cf8565b5f828462000c9f91906200139e565b905082848262000cb0919062001512565b1462000cf3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cea90620015cd565b60405180910390fd5b809150505b92915050565b5f62000d4783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000e1760201b60201c565b905092915050565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808311829062000e60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e57919062001667565b60405180910390fd5b505f838562000e70919062001512565b9050809150509392505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000ef957607f821691505b60208210810362000f0f5762000f0e62000eb4565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000f737fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000f36565b62000f7f868362000f36565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000fc962000fc362000fbd8462000f97565b62000fa0565b62000f97565b9050919050565b5f819050919050565b62000fe48362000fa9565b62000ffc62000ff38262000fd0565b84845462000f42565b825550505050565b5f90565b6200101262001004565b6200101f81848462000fd9565b505050565b5b8181101562001046576200103a5f8262001008565b60018101905062001025565b5050565b601f82111562001095576200105f8162000f15565b6200106a8462000f27565b810160208510156200107a578190505b62001092620010898562000f27565b83018262001024565b50505b505050565b5f82821c905092915050565b5f620010b75f19846008026200109a565b1980831691505092915050565b5f620010d18383620010a6565b9150826002028217905092915050565b620010ec8262000e7d565b67ffffffffffffffff81111562001108576200110762000e87565b5b62001114825462000ee1565b620011218282856200104a565b5f60209050601f83116001811462001157575f841562001142578287015190505b6200114e8582620010c4565b865550620011bd565b601f198416620011678662000f15565b5f5b82811015620011905784890151825560018201915060208501945060208101905062001169565b86831015620011b05784890151620011ac601f891682620010a6565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200124f57808604811115620012275762001226620011c5565b5b6001851615620012375780820291505b80810290506200124785620011f2565b945062001207565b94509492505050565b5f826200126957600190506200133b565b8162001278575f90506200133b565b81600181146200129157600281146200129c57620012d2565b60019150506200133b565b60ff841115620012b157620012b0620011c5565b5b8360020a915084821115620012cb57620012ca620011c5565b5b506200133b565b5060208310610133831016604e8410600b84101617156200130c5782820a905083811115620013065762001305620011c5565b5b6200133b565b6200131b8484846001620011fe565b92509050818404811115620013355762001334620011c5565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6200135a8262000f97565b9150620013678362001342565b9250620013967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462001258565b905092915050565b5f620013aa8262000f97565b9150620013b78362000f97565b9250828202620013c78162000f97565b91508282048414831517620013e157620013e0620011c5565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200141782620013ec565b9050919050565b62001429816200140b565b811462001434575f80fd5b50565b5f8151905062001447816200141e565b92915050565b5f60208284031215620014655762001464620013e8565b5b5f620014748482850162001437565b91505092915050565b62001488816200140b565b82525050565b5f604082019050620014a35f8301856200147d565b620014b260208301846200147d565b9392505050565b620014c48162000f97565b82525050565b5f602082019050620014df5f830184620014b9565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200151e8262000f97565b91506200152b8362000f97565b9250826200153e576200153d620014e5565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f620015b560218362001549565b9150620015c28262001559565b604082019050919050565b5f6020820190508181035f830152620015e681620015a7565b9050919050565b5f5b838110156200160c578082015181840152602081019050620015ef565b5f8484015250505050565b5f601f19601f8301169050919050565b5f620016338262000e7d565b6200163f818562001549565b935062001651818560208601620015ed565b6200165c8162001617565b840191505092915050565b5f6020820190508181035f83015262001681818462001627565b905092915050565b60805160a05161432d620016b95f395f8181610c020152610d4c01525f8181610d210152610d78015261432d5ff3fe6080604052600436106102b1575f3560e01c80637d1db4a511610174578063c867d60b116100db578063e6b2603b11610094578063f242ab411161006e578063f242ab4114610aa0578063f2fde38b14610aca578063f71b9bbf14610af2578063f872858a14610b1a576102b8565b8063e6b2603b14610a38578063e9fd339414610a4e578063ee828db314610a78576102b8565b8063c867d60b1461091e578063cea9d26f1461095a578063d4e43fb314610982578063db886f23146109aa578063dd62ed3e146109d4578063df8408fe14610a10576102b8565b8063a9059cbb1161012d578063a9059cbb14610816578063adc0d09214610852578063ae85ade61461087a578063c16dd4a4146108a2578063c5d24189146108ca578063c8607952146108f4576102b8565b80637d1db4a5146106f6578063807c2d9c146107205780638b42507f1461074a5780638da5cb5b1461078657806395d89b41146107b0578063a457c2d7146107da576102b8565b80634974d88f116102185780635e42358c116101d15780635e42358c14610600578063651a89871461062a5780636ddd17131461065257806370a082311461067c578063715018a6146106b8578063728d41c9146106ce576102b8565b80634974d88f146104fc57806352f7c988146105245780635342acb41461054c57806359fac517146105885780635c85974f146105b05780635d098b38146105d8576102b8565b806323b872dd1161026a57806323b872dd146103ca57806327c8f835146104065780632b112e4914610430578063313ce5671461045a57806339509351146104845780633ecad271146104c0576102b8565b80630445b667146102bc57806306fdde03146102e65780630758d924146103105780630930907b1461033a578063095ea7b31461036457806318160ddd146103a0576102b8565b366102b857005b5f80fd5b3480156102c7575f80fd5b506102d0610b44565b6040516102dd919061335e565b60405180910390f35b3480156102f1575f80fd5b506102fa610b4a565b6040516103079190613401565b60405180910390f35b34801561031b575f80fd5b50610324610bda565b604051610331919061349b565b60405180910390f35b348015610345575f80fd5b5061034e610c00565b60405161035b91906134d4565b60405180910390f35b34801561036f575f80fd5b5061038a60048036038101906103859190613545565b610c24565b604051610397919061359d565b60405180910390f35b3480156103ab575f80fd5b506103b4610c41565b6040516103c1919061335e565b60405180910390f35b3480156103d5575f80fd5b506103f060048036038101906103eb91906135b6565b610c4a565b6040516103fd919061359d565b60405180910390f35b348015610411575f80fd5b5061041a610d1f565b60405161042791906134d4565b60405180910390f35b34801561043b575f80fd5b50610444610d43565b604051610451919061335e565b60405180910390f35b348015610465575f80fd5b5061046e610dc0565b60405161047b9190613621565b60405180910390f35b34801561048f575f80fd5b506104aa60048036038101906104a59190613545565b610dd5565b6040516104b7919061359d565b60405180910390f35b3480156104cb575f80fd5b506104e660048036038101906104e1919061363a565b610e83565b6040516104f3919061359d565b60405180910390f35b348015610507575f80fd5b50610522600480360381019061051d919061368f565b610ea0565b005b34801561052f575f80fd5b5061054a600480360381019061054591906136ba565b610f39565b005b348015610557575f80fd5b50610572600480360381019061056d919061363a565b610fc7565b60405161057f919061359d565b60405180910390f35b348015610593575f80fd5b506105ae60048036038101906105a9919061363a565b610fe4565b005b3480156105bb575f80fd5b506105d660048036038101906105d191906136f8565b6110a4565b005b3480156105e3575f80fd5b506105fe60048036038101906105f9919061363a565b61112a565b005b34801561060b575f80fd5b506106146111e9565b604051610621919061359d565b60405180910390f35b348015610635575f80fd5b50610650600480360381019061064b9190613723565b6111fc565b005b34801561065d575f80fd5b506106666112d0565b604051610673919061359d565b60405180910390f35b348015610687575f80fd5b506106a2600480360381019061069d919061363a565b6112e2565b6040516106af919061335e565b60405180910390f35b3480156106c3575f80fd5b506106cc611328565b005b3480156106d9575f80fd5b506106f460048036038101906106ef91906136f8565b6113af565b005b348015610701575f80fd5b5061070a611435565b604051610717919061335e565b60405180910390f35b34801561072b575f80fd5b5061073461143b565b604051610741919061335e565b60405180910390f35b348015610755575f80fd5b50610770600480360381019061076b919061363a565b611441565b60405161077d919061359d565b60405180910390f35b348015610791575f80fd5b5061079a61145e565b6040516107a791906134d4565b60405180910390f35b3480156107bb575f80fd5b506107c4611485565b6040516107d19190613401565b60405180910390f35b3480156107e5575f80fd5b5061080060048036038101906107fb9190613545565b611515565b60405161080d919061359d565b60405180910390f35b348015610821575f80fd5b5061083c60048036038101906108379190613545565b6115dd565b604051610849919061359d565b60405180910390f35b34801561085d575f80fd5b50610878600480360381019061087391906136f8565b6115fb565b005b348015610885575f80fd5b506108a0600480360381019061089b9190613723565b611681565b005b3480156108ad575f80fd5b506108c860048036038101906108c39190613723565b611755565b005b3480156108d5575f80fd5b506108de611884565b6040516108eb919061335e565b60405180910390f35b3480156108ff575f80fd5b5061090861188a565b604051610915919061335e565b60405180910390f35b348015610929575f80fd5b50610944600480360381019061093f919061363a565b611890565b604051610951919061359d565b60405180910390f35b348015610965575f80fd5b50610980600480360381019061097b91906135b6565b6118ad565b005b34801561098d575f80fd5b506109a860048036038101906109a39190613761565b611a66565b005b3480156109b5575f80fd5b506109be611b19565b6040516109cb91906134d4565b60405180910390f35b3480156109df575f80fd5b506109fa60048036038101906109f5919061379f565b611b3e565b604051610a07919061335e565b60405180910390f35b348015610a1b575f80fd5b50610a366004803603810190610a319190613723565b611bc0565b005b348015610a43575f80fd5b50610a4c611c94565b005b348015610a59575f80fd5b50610a62611dbb565b604051610a6f919061359d565b60405180910390f35b348015610a83575f80fd5b50610a9e6004803603810190610a99919061368f565b611dce565b005b348015610aab575f80fd5b50610ab4611e67565b604051610ac191906134d4565b60405180910390f35b348015610ad5575f80fd5b50610af06004803603810190610aeb919061363a565b611e8c565b005b348015610afd575f80fd5b50610b186004803603810190610b13919061363a565b611f82565b005b348015610b25575f80fd5b50610b2e612041565b604051610b3b919061359d565b60405180910390f35b60115481565b606060018054610b599061380a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b859061380a565b8015610bd05780601f10610ba757610100808354040283529160200191610bd0565b820191905f5260205f20905b815481529060010190602001808311610bb357829003601f168201915b5050505050905090565b601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610c37610c30612054565b848461205b565b6001905092915050565b5f600e54905090565b5f610c5684848461221e565b50610d1484610c63612054565b610d0f856040518060600160405280602881526020016142ab6028913960095f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610cc6612054565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127c59092919063ffffffff16565b61205b565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610dbb610d707f00000000000000000000000000000000000000000000000000000000000000006112e2565b610dad610d9c7f00000000000000000000000000000000000000000000000000000000000000006112e2565b600e5461282790919063ffffffff16565b61282790919063ffffffff16565b905090565b5f60035f9054906101000a900460ff16905090565b5f610e79610de1612054565b84610e748560095f610df1612054565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461287090919063ffffffff16565b61205b565b6001905092915050565b600b602052805f5260405f205f915054906101000a900460ff1681565b610ea8612054565b73ffffffffffffffffffffffffffffffffffffffff16610ec661145e565b73ffffffffffffffffffffffffffffffffffffffff1614610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390613884565b60405180910390fd5b80601260036101000a81548160ff02191690831515021790555050565b610f41612054565b73ffffffffffffffffffffffffffffffffffffffff16610f5f61145e565b73ffffffffffffffffffffffffffffffffffffffff1614610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac90613884565b60405180910390fd5b81600481905550806005819055505050565b600a602052805f5260405f205f915054906101000a900460ff1681565b610fec612054565b73ffffffffffffffffffffffffffffffffffffffff1661100a61145e565b73ffffffffffffffffffffffffffffffffffffffff1614611060576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105790613884565b60405180910390fd5b80601260046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6110ac612054565b73ffffffffffffffffffffffffffffffffffffffff166110ca61145e565b73ffffffffffffffffffffffffffffffffffffffff1614611120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111790613884565b60405180910390fd5b80600f8190555050565b611132612054565b73ffffffffffffffffffffffffffffffffffffffff1661115061145e565b73ffffffffffffffffffffffffffffffffffffffff16146111a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119d90613884565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601260029054906101000a900460ff1681565b611204612054565b73ffffffffffffffffffffffffffffffffffffffff1661122261145e565b73ffffffffffffffffffffffffffffffffffffffff1614611278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126f90613884565b60405180910390fd5b80600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60125f9054906101000a900460ff1681565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611330612054565b73ffffffffffffffffffffffffffffffffffffffff1661134e61145e565b73ffffffffffffffffffffffffffffffffffffffff16146113a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139b90613884565b60405180910390fd5b6113ad5f6128cd565b565b6113b7612054565b73ffffffffffffffffffffffffffffffffffffffff166113d561145e565b73ffffffffffffffffffffffffffffffffffffffff161461142b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142290613884565b60405180910390fd5b8060108190555050565b600f5481565b60105481565b600d602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546114949061380a565b80601f01602080910402602001604051908101604052809291908181526020018280546114c09061380a565b801561150b5780601f106114e25761010080835404028352916020019161150b565b820191905f5260205f20905b8154815290600101906020018083116114ee57829003601f168201915b5050505050905090565b5f6115d3611521612054565b846115ce856040518060600160405280602581526020016142d36025913960095f61154a612054565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127c59092919063ffffffff16565b61205b565b6001905092915050565b5f6115f06115e9612054565b848461221e565b506001905092915050565b611603612054565b73ffffffffffffffffffffffffffffffffffffffff1661162161145e565b73ffffffffffffffffffffffffffffffffffffffff1614611677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166e90613884565b60405180910390fd5b8060118190555050565b611689612054565b73ffffffffffffffffffffffffffffffffffffffff166116a761145e565b73ffffffffffffffffffffffffffffffffffffffff16146116fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f490613884565b60405180910390fd5b80600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b61175d612054565b73ffffffffffffffffffffffffffffffffffffffff1661177b61145e565b73ffffffffffffffffffffffffffffffffffffffff16146117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c890613884565b60405180910390fd5b80600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080156118805780600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b5050565b60045481565b60055481565b600c602052805f5260405f205f915054906101000a900460ff1681565b6118b5612054565b73ffffffffffffffffffffffffffffffffffffffff166118d361145e565b73ffffffffffffffffffffffffffffffffffffffff1614611929576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192090613884565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff1683836040516024016119549291906138a2565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516119de919061390d565b5f604051808303815f865af19150503d805f8114611a17576040519150601f19603f3d011682016040523d82523d5f602084013e611a1c565b606091505b5050905080611a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a579061396d565b60405180910390fd5b50505050565b611a6e612054565b73ffffffffffffffffffffffffffffffffffffffff16611a8c61145e565b73ffffffffffffffffffffffffffffffffffffffff1614611ae2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad990613884565b60405180910390fd5b8160125f6101000a81548160ff02191690831515021790555080601260016101000a81548160ff0219169083151502179055505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611bc8612054565b73ffffffffffffffffffffffffffffffffffffffff16611be661145e565b73ffffffffffffffffffffffffffffffffffffffff1614611c3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3390613884565b60405180910390fd5b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b611c9c612054565b73ffffffffffffffffffffffffffffffffffffffff16611cba61145e565b73ffffffffffffffffffffffffffffffffffffffff1614611d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0790613884565b60405180910390fd5b5f3373ffffffffffffffffffffffffffffffffffffffff1647604051611d35906139ae565b5f6040518083038185875af1925050503d805f8114611d6f576040519150601f19603f3d011682016040523d82523d5f602084013e611d74565b606091505b5050905080611db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611daf90613a0c565b60405180910390fd5b50565b601260019054906101000a900460ff1681565b611dd6612054565b73ffffffffffffffffffffffffffffffffffffffff16611df461145e565b73ffffffffffffffffffffffffffffffffffffffff1614611e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4190613884565b60405180910390fd5b80601260026101000a81548160ff02191690831515021790555050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611e94612054565b73ffffffffffffffffffffffffffffffffffffffff16611eb261145e565b73ffffffffffffffffffffffffffffffffffffffff1614611f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eff90613884565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6d90613a9a565b60405180910390fd5b611f7f816128cd565b50565b611f8a612054565b73ffffffffffffffffffffffffffffffffffffffff16611fa861145e565b73ffffffffffffffffffffffffffffffffffffffff1614611ffe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff590613884565b60405180910390fd5b8060135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601260039054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c090613b28565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212e90613bb6565b60405180910390fd5b8060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612211919061335e565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361228d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228490613c44565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f290613cd2565b60405180910390fd5b5f821161233d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233490613d60565b60405180910390fd5b601360149054906101000a900460ff16156123645761235d84848461298e565b90506127be565b5f61236e306112e2565b90505f60115482101590508080156123935750601360149054906101000a900460ff16155b80156123e65750600b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156123fd575060125f9054906101000a900460ff165b1561240c5761240b82612b58565b5b600d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156124aa5750600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156124c25750601260029054906101000a900460ff165b1561250d57600f5484111561250c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250390613dee565b60405180910390fd5b5b612594846040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060085f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127c59092919063ffffffff16565b60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f6125e08787612c3e565b6125f4576125ef878787612d9a565b6125f6565b845b9050601260039054906101000a900460ff16801561265b5750600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156126c05760105461267e82612670896112e2565b61287090919063ffffffff16565b11156126bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b690613e56565b60405180910390fd5b5b6127108160085f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461287090919063ffffffff16565b60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127ae919061335e565b60405180910390a3600193505050505b9392505050565b5f83831115829061280c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128039190613401565b60405180910390fd5b505f838561281a9190613ea1565b9050809150509392505050565b5f61286883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506127c5565b905092915050565b5f80828461287e9190613ed4565b9050838110156128c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ba90613f51565b60405180910390fd5b8091505092915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f612a16826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127c59092919063ffffffff16565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612aa78260085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461287090919063ffffffff16565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b45919061335e565b60405180910390a3600190509392505050565b6001601360146101000a81548160ff021916908315150217905550601260019054906101000a900460ff1615612b8e5760115490505b5f479050612b9b82612fb3565b5f612baf824761282790919063ffffffff16565b90505f811115612c1f5760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612c1d573d5f803e3d5ffd5b505b50505f601360146101000a81548160ff02191690831515021790555050565b5f600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612cda5750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612ce85760019050612d94565b600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612d835750600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612d90575f9050612d94565b5f90505b92915050565b5f80600b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612e1b57612e14600754612e066004548661322590919063ffffffff16565b61329c90919063ffffffff16565b9050612e97565b600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612e9657612e93600754612e856005548661322590919063ffffffff16565b61329c90919063ffffffff16565b90505b5b5f811115612f9657612eef8160085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461287090919063ffffffff16565b60085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612f8d919061335e565b60405180910390a35b612fa9818461282790919063ffffffff16565b9150509392505050565b5f600267ffffffffffffffff811115612fcf57612fce613f6f565b5b604051908082528060200260200182016040528015612ffd5781602001602082028036833780820191505090505b50905030815f8151811061301457613013613f9c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130dd9190613fdd565b816001815181106130f1576130f0613f9c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061315830601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461205b565b601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016131bb9594939291906140f8565b5f604051808303815f87803b1580156131d2575f80fd5b505af11580156131e4573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051613219929190614150565b60405180910390a15050565b5f808303613235575f9050613296565b5f8284613242919061417e565b905082848261325191906141ec565b14613291576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132889061428c565b60405180910390fd5b809150505b92915050565b5f6132dd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506132e5565b905092915050565b5f808311829061332b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133229190613401565b60405180910390fd5b505f838561333991906141ec565b9050809150509392505050565b5f819050919050565b61335881613346565b82525050565b5f6020820190506133715f83018461334f565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156133ae578082015181840152602081019050613393565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6133d382613377565b6133dd8185613381565b93506133ed818560208601613391565b6133f6816133b9565b840191505092915050565b5f6020820190508181035f83015261341981846133c9565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61346361345e61345984613421565b613440565b613421565b9050919050565b5f61347482613449565b9050919050565b5f6134858261346a565b9050919050565b6134958161347b565b82525050565b5f6020820190506134ae5f83018461348c565b92915050565b5f6134be82613421565b9050919050565b6134ce816134b4565b82525050565b5f6020820190506134e75f8301846134c5565b92915050565b5f80fd5b6134fa816134b4565b8114613504575f80fd5b50565b5f81359050613515816134f1565b92915050565b61352481613346565b811461352e575f80fd5b50565b5f8135905061353f8161351b565b92915050565b5f806040838503121561355b5761355a6134ed565b5b5f61356885828601613507565b925050602061357985828601613531565b9150509250929050565b5f8115159050919050565b61359781613583565b82525050565b5f6020820190506135b05f83018461358e565b92915050565b5f805f606084860312156135cd576135cc6134ed565b5b5f6135da86828701613507565b93505060206135eb86828701613507565b92505060406135fc86828701613531565b9150509250925092565b5f60ff82169050919050565b61361b81613606565b82525050565b5f6020820190506136345f830184613612565b92915050565b5f6020828403121561364f5761364e6134ed565b5b5f61365c84828501613507565b91505092915050565b61366e81613583565b8114613678575f80fd5b50565b5f8135905061368981613665565b92915050565b5f602082840312156136a4576136a36134ed565b5b5f6136b18482850161367b565b91505092915050565b5f80604083850312156136d0576136cf6134ed565b5b5f6136dd85828601613531565b92505060206136ee85828601613531565b9150509250929050565b5f6020828403121561370d5761370c6134ed565b5b5f61371a84828501613531565b91505092915050565b5f8060408385031215613739576137386134ed565b5b5f61374685828601613507565b92505060206137578582860161367b565b9150509250929050565b5f8060408385031215613777576137766134ed565b5b5f6137848582860161367b565b92505060206137958582860161367b565b9150509250929050565b5f80604083850312156137b5576137b46134ed565b5b5f6137c285828601613507565b92505060206137d385828601613507565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061382157607f821691505b602082108103613834576138336137dd565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61386e602083613381565b91506138798261383a565b602082019050919050565b5f6020820190508181035f83015261389b81613862565b9050919050565b5f6040820190506138b55f8301856134c5565b6138c2602083018461334f565b9392505050565b5f81519050919050565b5f81905092915050565b5f6138e7826138c9565b6138f181856138d3565b9350613901818560208601613391565b80840191505092915050565b5f61391882846138dd565b915081905092915050565b7f546f6b656e207061796d656e74206661696c65640000000000000000000000005f82015250565b5f613957601483613381565b915061396282613923565b602082019050919050565b5f6020820190508181035f8301526139848161394b565b9050919050565b50565b5f6139995f836138d3565b91506139a48261398b565b5f82019050919050565b5f6139b88261398e565b9150819050919050565b7f5472616e73616374696f6e204661696c656421210000000000000000000000005f82015250565b5f6139f6601483613381565b9150613a01826139c2565b602082019050919050565b5f6020820190508181035f830152613a23816139ea565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613a84602683613381565b9150613a8f82613a2a565b604082019050919050565b5f6020820190508181035f830152613ab181613a78565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613b12602483613381565b9150613b1d82613ab8565b604082019050919050565b5f6020820190508181035f830152613b3f81613b06565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ba0602283613381565b9150613bab82613b46565b604082019050919050565b5f6020820190508181035f830152613bcd81613b94565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613c2e602583613381565b9150613c3982613bd4565b604082019050919050565b5f6020820190508181035f830152613c5b81613c22565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613cbc602383613381565b9150613cc782613c62565b604082019050919050565b5f6020820190508181035f830152613ce981613cb0565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613d4a602983613381565b9150613d5582613cf0565b604082019050919050565b5f6020820190508181035f830152613d7781613d3e565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d6178545f8201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b5f613dd8602883613381565b9150613de382613d7e565b604082019050919050565b5f6020820190508181035f830152613e0581613dcc565b9050919050565b7f4d61782057616c6c6574204c696d6974204578636565646564212100000000005f82015250565b5f613e40601b83613381565b9150613e4b82613e0c565b602082019050919050565b5f6020820190508181035f830152613e6d81613e34565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613eab82613346565b9150613eb683613346565b9250828203905081811115613ece57613ecd613e74565b5b92915050565b5f613ede82613346565b9150613ee983613346565b9250828201905080821115613f0157613f00613e74565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613f3b601b83613381565b9150613f4682613f07565b602082019050919050565b5f6020820190508181035f830152613f6881613f2f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613fd7816134f1565b92915050565b5f60208284031215613ff257613ff16134ed565b5b5f613fff84828501613fc9565b91505092915050565b5f819050919050565b5f61402b61402661402184614008565b613440565b613346565b9050919050565b61403b81614011565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b614073816134b4565b82525050565b5f614084838361406a565b60208301905092915050565b5f602082019050919050565b5f6140a682614041565b6140b0818561404b565b93506140bb8361405b565b805f5b838110156140eb5781516140d28882614079565b97506140dd83614090565b9250506001810190506140be565b5085935050505092915050565b5f60a08201905061410b5f83018861334f565b6141186020830187614032565b818103604083015261412a818661409c565b905061413960608301856134c5565b614146608083018461334f565b9695505050505050565b5f6040820190506141635f83018561334f565b8181036020830152614175818461409c565b90509392505050565b5f61418882613346565b915061419383613346565b92508282026141a181613346565b915082820484148315176141b8576141b7613e74565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6141f682613346565b915061420183613346565b925082614211576142106141bf565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f614276602183613381565b91506142818261421c565b604082019050919050565b5f6020820190508181035f8301526142a38161426a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b4bb92883eba5c4efbc9f6fae03ab4a260725d10917171a626562dcc821f5d7d64736f6c63430008140033

Deployed Bytecode

0x6080604052600436106102b1575f3560e01c80637d1db4a511610174578063c867d60b116100db578063e6b2603b11610094578063f242ab411161006e578063f242ab4114610aa0578063f2fde38b14610aca578063f71b9bbf14610af2578063f872858a14610b1a576102b8565b8063e6b2603b14610a38578063e9fd339414610a4e578063ee828db314610a78576102b8565b8063c867d60b1461091e578063cea9d26f1461095a578063d4e43fb314610982578063db886f23146109aa578063dd62ed3e146109d4578063df8408fe14610a10576102b8565b8063a9059cbb1161012d578063a9059cbb14610816578063adc0d09214610852578063ae85ade61461087a578063c16dd4a4146108a2578063c5d24189146108ca578063c8607952146108f4576102b8565b80637d1db4a5146106f6578063807c2d9c146107205780638b42507f1461074a5780638da5cb5b1461078657806395d89b41146107b0578063a457c2d7146107da576102b8565b80634974d88f116102185780635e42358c116101d15780635e42358c14610600578063651a89871461062a5780636ddd17131461065257806370a082311461067c578063715018a6146106b8578063728d41c9146106ce576102b8565b80634974d88f146104fc57806352f7c988146105245780635342acb41461054c57806359fac517146105885780635c85974f146105b05780635d098b38146105d8576102b8565b806323b872dd1161026a57806323b872dd146103ca57806327c8f835146104065780632b112e4914610430578063313ce5671461045a57806339509351146104845780633ecad271146104c0576102b8565b80630445b667146102bc57806306fdde03146102e65780630758d924146103105780630930907b1461033a578063095ea7b31461036457806318160ddd146103a0576102b8565b366102b857005b5f80fd5b3480156102c7575f80fd5b506102d0610b44565b6040516102dd919061335e565b60405180910390f35b3480156102f1575f80fd5b506102fa610b4a565b6040516103079190613401565b60405180910390f35b34801561031b575f80fd5b50610324610bda565b604051610331919061349b565b60405180910390f35b348015610345575f80fd5b5061034e610c00565b60405161035b91906134d4565b60405180910390f35b34801561036f575f80fd5b5061038a60048036038101906103859190613545565b610c24565b604051610397919061359d565b60405180910390f35b3480156103ab575f80fd5b506103b4610c41565b6040516103c1919061335e565b60405180910390f35b3480156103d5575f80fd5b506103f060048036038101906103eb91906135b6565b610c4a565b6040516103fd919061359d565b60405180910390f35b348015610411575f80fd5b5061041a610d1f565b60405161042791906134d4565b60405180910390f35b34801561043b575f80fd5b50610444610d43565b604051610451919061335e565b60405180910390f35b348015610465575f80fd5b5061046e610dc0565b60405161047b9190613621565b60405180910390f35b34801561048f575f80fd5b506104aa60048036038101906104a59190613545565b610dd5565b6040516104b7919061359d565b60405180910390f35b3480156104cb575f80fd5b506104e660048036038101906104e1919061363a565b610e83565b6040516104f3919061359d565b60405180910390f35b348015610507575f80fd5b50610522600480360381019061051d919061368f565b610ea0565b005b34801561052f575f80fd5b5061054a600480360381019061054591906136ba565b610f39565b005b348015610557575f80fd5b50610572600480360381019061056d919061363a565b610fc7565b60405161057f919061359d565b60405180910390f35b348015610593575f80fd5b506105ae60048036038101906105a9919061363a565b610fe4565b005b3480156105bb575f80fd5b506105d660048036038101906105d191906136f8565b6110a4565b005b3480156105e3575f80fd5b506105fe60048036038101906105f9919061363a565b61112a565b005b34801561060b575f80fd5b506106146111e9565b604051610621919061359d565b60405180910390f35b348015610635575f80fd5b50610650600480360381019061064b9190613723565b6111fc565b005b34801561065d575f80fd5b506106666112d0565b604051610673919061359d565b60405180910390f35b348015610687575f80fd5b506106a2600480360381019061069d919061363a565b6112e2565b6040516106af919061335e565b60405180910390f35b3480156106c3575f80fd5b506106cc611328565b005b3480156106d9575f80fd5b506106f460048036038101906106ef91906136f8565b6113af565b005b348015610701575f80fd5b5061070a611435565b604051610717919061335e565b60405180910390f35b34801561072b575f80fd5b5061073461143b565b604051610741919061335e565b60405180910390f35b348015610755575f80fd5b50610770600480360381019061076b919061363a565b611441565b60405161077d919061359d565b60405180910390f35b348015610791575f80fd5b5061079a61145e565b6040516107a791906134d4565b60405180910390f35b3480156107bb575f80fd5b506107c4611485565b6040516107d19190613401565b60405180910390f35b3480156107e5575f80fd5b5061080060048036038101906107fb9190613545565b611515565b60405161080d919061359d565b60405180910390f35b348015610821575f80fd5b5061083c60048036038101906108379190613545565b6115dd565b604051610849919061359d565b60405180910390f35b34801561085d575f80fd5b50610878600480360381019061087391906136f8565b6115fb565b005b348015610885575f80fd5b506108a0600480360381019061089b9190613723565b611681565b005b3480156108ad575f80fd5b506108c860048036038101906108c39190613723565b611755565b005b3480156108d5575f80fd5b506108de611884565b6040516108eb919061335e565b60405180910390f35b3480156108ff575f80fd5b5061090861188a565b604051610915919061335e565b60405180910390f35b348015610929575f80fd5b50610944600480360381019061093f919061363a565b611890565b604051610951919061359d565b60405180910390f35b348015610965575f80fd5b50610980600480360381019061097b91906135b6565b6118ad565b005b34801561098d575f80fd5b506109a860048036038101906109a39190613761565b611a66565b005b3480156109b5575f80fd5b506109be611b19565b6040516109cb91906134d4565b60405180910390f35b3480156109df575f80fd5b506109fa60048036038101906109f5919061379f565b611b3e565b604051610a07919061335e565b60405180910390f35b348015610a1b575f80fd5b50610a366004803603810190610a319190613723565b611bc0565b005b348015610a43575f80fd5b50610a4c611c94565b005b348015610a59575f80fd5b50610a62611dbb565b604051610a6f919061359d565b60405180910390f35b348015610a83575f80fd5b50610a9e6004803603810190610a99919061368f565b611dce565b005b348015610aab575f80fd5b50610ab4611e67565b604051610ac191906134d4565b60405180910390f35b348015610ad5575f80fd5b50610af06004803603810190610aeb919061363a565b611e8c565b005b348015610afd575f80fd5b50610b186004803603810190610b13919061363a565b611f82565b005b348015610b25575f80fd5b50610b2e612041565b604051610b3b919061359d565b60405180910390f35b60115481565b606060018054610b599061380a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b859061380a565b8015610bd05780601f10610ba757610100808354040283529160200191610bd0565b820191905f5260205f20905b815481529060010190602001808311610bb357829003601f168201915b5050505050905090565b601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610c37610c30612054565b848461205b565b6001905092915050565b5f600e54905090565b5f610c5684848461221e565b50610d1484610c63612054565b610d0f856040518060600160405280602881526020016142ab6028913960095f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610cc6612054565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127c59092919063ffffffff16565b61205b565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b5f610dbb610d707f00000000000000000000000000000000000000000000000000000000000000006112e2565b610dad610d9c7f000000000000000000000000000000000000000000000000000000000000dead6112e2565b600e5461282790919063ffffffff16565b61282790919063ffffffff16565b905090565b5f60035f9054906101000a900460ff16905090565b5f610e79610de1612054565b84610e748560095f610df1612054565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461287090919063ffffffff16565b61205b565b6001905092915050565b600b602052805f5260405f205f915054906101000a900460ff1681565b610ea8612054565b73ffffffffffffffffffffffffffffffffffffffff16610ec661145e565b73ffffffffffffffffffffffffffffffffffffffff1614610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390613884565b60405180910390fd5b80601260036101000a81548160ff02191690831515021790555050565b610f41612054565b73ffffffffffffffffffffffffffffffffffffffff16610f5f61145e565b73ffffffffffffffffffffffffffffffffffffffff1614610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac90613884565b60405180910390fd5b81600481905550806005819055505050565b600a602052805f5260405f205f915054906101000a900460ff1681565b610fec612054565b73ffffffffffffffffffffffffffffffffffffffff1661100a61145e565b73ffffffffffffffffffffffffffffffffffffffff1614611060576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105790613884565b60405180910390fd5b80601260046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6110ac612054565b73ffffffffffffffffffffffffffffffffffffffff166110ca61145e565b73ffffffffffffffffffffffffffffffffffffffff1614611120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111790613884565b60405180910390fd5b80600f8190555050565b611132612054565b73ffffffffffffffffffffffffffffffffffffffff1661115061145e565b73ffffffffffffffffffffffffffffffffffffffff16146111a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119d90613884565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601260029054906101000a900460ff1681565b611204612054565b73ffffffffffffffffffffffffffffffffffffffff1661122261145e565b73ffffffffffffffffffffffffffffffffffffffff1614611278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126f90613884565b60405180910390fd5b80600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60125f9054906101000a900460ff1681565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611330612054565b73ffffffffffffffffffffffffffffffffffffffff1661134e61145e565b73ffffffffffffffffffffffffffffffffffffffff16146113a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139b90613884565b60405180910390fd5b6113ad5f6128cd565b565b6113b7612054565b73ffffffffffffffffffffffffffffffffffffffff166113d561145e565b73ffffffffffffffffffffffffffffffffffffffff161461142b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142290613884565b60405180910390fd5b8060108190555050565b600f5481565b60105481565b600d602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546114949061380a565b80601f01602080910402602001604051908101604052809291908181526020018280546114c09061380a565b801561150b5780601f106114e25761010080835404028352916020019161150b565b820191905f5260205f20905b8154815290600101906020018083116114ee57829003601f168201915b5050505050905090565b5f6115d3611521612054565b846115ce856040518060600160405280602581526020016142d36025913960095f61154a612054565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127c59092919063ffffffff16565b61205b565b6001905092915050565b5f6115f06115e9612054565b848461221e565b506001905092915050565b611603612054565b73ffffffffffffffffffffffffffffffffffffffff1661162161145e565b73ffffffffffffffffffffffffffffffffffffffff1614611677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166e90613884565b60405180910390fd5b8060118190555050565b611689612054565b73ffffffffffffffffffffffffffffffffffffffff166116a761145e565b73ffffffffffffffffffffffffffffffffffffffff16146116fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f490613884565b60405180910390fd5b80600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b61175d612054565b73ffffffffffffffffffffffffffffffffffffffff1661177b61145e565b73ffffffffffffffffffffffffffffffffffffffff16146117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c890613884565b60405180910390fd5b80600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080156118805780600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b5050565b60045481565b60055481565b600c602052805f5260405f205f915054906101000a900460ff1681565b6118b5612054565b73ffffffffffffffffffffffffffffffffffffffff166118d361145e565b73ffffffffffffffffffffffffffffffffffffffff1614611929576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192090613884565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff1683836040516024016119549291906138a2565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516119de919061390d565b5f604051808303815f865af19150503d805f8114611a17576040519150601f19603f3d011682016040523d82523d5f602084013e611a1c565b606091505b5050905080611a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a579061396d565b60405180910390fd5b50505050565b611a6e612054565b73ffffffffffffffffffffffffffffffffffffffff16611a8c61145e565b73ffffffffffffffffffffffffffffffffffffffff1614611ae2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad990613884565b60405180910390fd5b8160125f6101000a81548160ff02191690831515021790555080601260016101000a81548160ff0219169083151502179055505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611bc8612054565b73ffffffffffffffffffffffffffffffffffffffff16611be661145e565b73ffffffffffffffffffffffffffffffffffffffff1614611c3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3390613884565b60405180910390fd5b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b611c9c612054565b73ffffffffffffffffffffffffffffffffffffffff16611cba61145e565b73ffffffffffffffffffffffffffffffffffffffff1614611d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0790613884565b60405180910390fd5b5f3373ffffffffffffffffffffffffffffffffffffffff1647604051611d35906139ae565b5f6040518083038185875af1925050503d805f8114611d6f576040519150601f19603f3d011682016040523d82523d5f602084013e611d74565b606091505b5050905080611db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611daf90613a0c565b60405180910390fd5b50565b601260019054906101000a900460ff1681565b611dd6612054565b73ffffffffffffffffffffffffffffffffffffffff16611df461145e565b73ffffffffffffffffffffffffffffffffffffffff1614611e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4190613884565b60405180910390fd5b80601260026101000a81548160ff02191690831515021790555050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611e94612054565b73ffffffffffffffffffffffffffffffffffffffff16611eb261145e565b73ffffffffffffffffffffffffffffffffffffffff1614611f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eff90613884565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6d90613a9a565b60405180910390fd5b611f7f816128cd565b50565b611f8a612054565b73ffffffffffffffffffffffffffffffffffffffff16611fa861145e565b73ffffffffffffffffffffffffffffffffffffffff1614611ffe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff590613884565b60405180910390fd5b8060135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601260039054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c090613b28565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212e90613bb6565b60405180910390fd5b8060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612211919061335e565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361228d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228490613c44565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f290613cd2565b60405180910390fd5b5f821161233d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233490613d60565b60405180910390fd5b601360149054906101000a900460ff16156123645761235d84848461298e565b90506127be565b5f61236e306112e2565b90505f60115482101590508080156123935750601360149054906101000a900460ff16155b80156123e65750600b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156123fd575060125f9054906101000a900460ff165b1561240c5761240b82612b58565b5b600d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156124aa5750600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156124c25750601260029054906101000a900460ff165b1561250d57600f5484111561250c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250390613dee565b60405180910390fd5b5b612594846040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060085f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127c59092919063ffffffff16565b60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f6125e08787612c3e565b6125f4576125ef878787612d9a565b6125f6565b845b9050601260039054906101000a900460ff16801561265b5750600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156126c05760105461267e82612670896112e2565b61287090919063ffffffff16565b11156126bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b690613e56565b60405180910390fd5b5b6127108160085f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461287090919063ffffffff16565b60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127ae919061335e565b60405180910390a3600193505050505b9392505050565b5f83831115829061280c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128039190613401565b60405180910390fd5b505f838561281a9190613ea1565b9050809150509392505050565b5f61286883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506127c5565b905092915050565b5f80828461287e9190613ed4565b9050838110156128c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ba90613f51565b60405180910390fd5b8091505092915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f612a16826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127c59092919063ffffffff16565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612aa78260085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461287090919063ffffffff16565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b45919061335e565b60405180910390a3600190509392505050565b6001601360146101000a81548160ff021916908315150217905550601260019054906101000a900460ff1615612b8e5760115490505b5f479050612b9b82612fb3565b5f612baf824761282790919063ffffffff16565b90505f811115612c1f5760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612c1d573d5f803e3d5ffd5b505b50505f601360146101000a81548160ff02191690831515021790555050565b5f600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612cda5750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612ce85760019050612d94565b600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612d835750600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612d90575f9050612d94565b5f90505b92915050565b5f80600b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612e1b57612e14600754612e066004548661322590919063ffffffff16565b61329c90919063ffffffff16565b9050612e97565b600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612e9657612e93600754612e856005548661322590919063ffffffff16565b61329c90919063ffffffff16565b90505b5b5f811115612f9657612eef8160085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461287090919063ffffffff16565b60085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612f8d919061335e565b60405180910390a35b612fa9818461282790919063ffffffff16565b9150509392505050565b5f600267ffffffffffffffff811115612fcf57612fce613f6f565b5b604051908082528060200260200182016040528015612ffd5781602001602082028036833780820191505090505b50905030815f8151811061301457613013613f9c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130dd9190613fdd565b816001815181106130f1576130f0613f9c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061315830601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461205b565b601260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016131bb9594939291906140f8565b5f604051808303815f87803b1580156131d2575f80fd5b505af11580156131e4573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051613219929190614150565b60405180910390a15050565b5f808303613235575f9050613296565b5f8284613242919061417e565b905082848261325191906141ec565b14613291576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132889061428c565b60405180910390fd5b809150505b92915050565b5f6132dd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506132e5565b905092915050565b5f808311829061332b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133229190613401565b60405180910390fd5b505f838561333991906141ec565b9050809150509392505050565b5f819050919050565b61335881613346565b82525050565b5f6020820190506133715f83018461334f565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156133ae578082015181840152602081019050613393565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6133d382613377565b6133dd8185613381565b93506133ed818560208601613391565b6133f6816133b9565b840191505092915050565b5f6020820190508181035f83015261341981846133c9565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61346361345e61345984613421565b613440565b613421565b9050919050565b5f61347482613449565b9050919050565b5f6134858261346a565b9050919050565b6134958161347b565b82525050565b5f6020820190506134ae5f83018461348c565b92915050565b5f6134be82613421565b9050919050565b6134ce816134b4565b82525050565b5f6020820190506134e75f8301846134c5565b92915050565b5f80fd5b6134fa816134b4565b8114613504575f80fd5b50565b5f81359050613515816134f1565b92915050565b61352481613346565b811461352e575f80fd5b50565b5f8135905061353f8161351b565b92915050565b5f806040838503121561355b5761355a6134ed565b5b5f61356885828601613507565b925050602061357985828601613531565b9150509250929050565b5f8115159050919050565b61359781613583565b82525050565b5f6020820190506135b05f83018461358e565b92915050565b5f805f606084860312156135cd576135cc6134ed565b5b5f6135da86828701613507565b93505060206135eb86828701613507565b92505060406135fc86828701613531565b9150509250925092565b5f60ff82169050919050565b61361b81613606565b82525050565b5f6020820190506136345f830184613612565b92915050565b5f6020828403121561364f5761364e6134ed565b5b5f61365c84828501613507565b91505092915050565b61366e81613583565b8114613678575f80fd5b50565b5f8135905061368981613665565b92915050565b5f602082840312156136a4576136a36134ed565b5b5f6136b18482850161367b565b91505092915050565b5f80604083850312156136d0576136cf6134ed565b5b5f6136dd85828601613531565b92505060206136ee85828601613531565b9150509250929050565b5f6020828403121561370d5761370c6134ed565b5b5f61371a84828501613531565b91505092915050565b5f8060408385031215613739576137386134ed565b5b5f61374685828601613507565b92505060206137578582860161367b565b9150509250929050565b5f8060408385031215613777576137766134ed565b5b5f6137848582860161367b565b92505060206137958582860161367b565b9150509250929050565b5f80604083850312156137b5576137b46134ed565b5b5f6137c285828601613507565b92505060206137d385828601613507565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061382157607f821691505b602082108103613834576138336137dd565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61386e602083613381565b91506138798261383a565b602082019050919050565b5f6020820190508181035f83015261389b81613862565b9050919050565b5f6040820190506138b55f8301856134c5565b6138c2602083018461334f565b9392505050565b5f81519050919050565b5f81905092915050565b5f6138e7826138c9565b6138f181856138d3565b9350613901818560208601613391565b80840191505092915050565b5f61391882846138dd565b915081905092915050565b7f546f6b656e207061796d656e74206661696c65640000000000000000000000005f82015250565b5f613957601483613381565b915061396282613923565b602082019050919050565b5f6020820190508181035f8301526139848161394b565b9050919050565b50565b5f6139995f836138d3565b91506139a48261398b565b5f82019050919050565b5f6139b88261398e565b9150819050919050565b7f5472616e73616374696f6e204661696c656421210000000000000000000000005f82015250565b5f6139f6601483613381565b9150613a01826139c2565b602082019050919050565b5f6020820190508181035f830152613a23816139ea565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613a84602683613381565b9150613a8f82613a2a565b604082019050919050565b5f6020820190508181035f830152613ab181613a78565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613b12602483613381565b9150613b1d82613ab8565b604082019050919050565b5f6020820190508181035f830152613b3f81613b06565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ba0602283613381565b9150613bab82613b46565b604082019050919050565b5f6020820190508181035f830152613bcd81613b94565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613c2e602583613381565b9150613c3982613bd4565b604082019050919050565b5f6020820190508181035f830152613c5b81613c22565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613cbc602383613381565b9150613cc782613c62565b604082019050919050565b5f6020820190508181035f830152613ce981613cb0565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613d4a602983613381565b9150613d5582613cf0565b604082019050919050565b5f6020820190508181035f830152613d7781613d3e565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d6178545f8201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b5f613dd8602883613381565b9150613de382613d7e565b604082019050919050565b5f6020820190508181035f830152613e0581613dcc565b9050919050565b7f4d61782057616c6c6574204c696d6974204578636565646564212100000000005f82015250565b5f613e40601b83613381565b9150613e4b82613e0c565b602082019050919050565b5f6020820190508181035f830152613e6d81613e34565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613eab82613346565b9150613eb683613346565b9250828203905081811115613ece57613ecd613e74565b5b92915050565b5f613ede82613346565b9150613ee983613346565b9250828201905080821115613f0157613f00613e74565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613f3b601b83613381565b9150613f4682613f07565b602082019050919050565b5f6020820190508181035f830152613f6881613f2f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613fd7816134f1565b92915050565b5f60208284031215613ff257613ff16134ed565b5b5f613fff84828501613fc9565b91505092915050565b5f819050919050565b5f61402b61402661402184614008565b613440565b613346565b9050919050565b61403b81614011565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b614073816134b4565b82525050565b5f614084838361406a565b60208301905092915050565b5f602082019050919050565b5f6140a682614041565b6140b0818561404b565b93506140bb8361405b565b805f5b838110156140eb5781516140d28882614079565b97506140dd83614090565b9250506001810190506140be565b5085935050505092915050565b5f60a08201905061410b5f83018861334f565b6141186020830187614032565b818103604083015261412a818661409c565b905061413960608301856134c5565b614146608083018461334f565b9695505050505050565b5f6040820190506141635f83018561334f565b8181036020830152614175818461409c565b90509392505050565b5f61418882613346565b915061419383613346565b92508282026141a181613346565b915082820484148315176141b8576141b7613e74565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6141f682613346565b915061420183613346565b925082614211576142106141bf565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f614276602183613381565b91506142818261421c565b604082019050919050565b5f6020820190508181035f8301526142a38161426a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b4bb92883eba5c4efbc9f6fae03ab4a260725d10917171a626562dcc821f5d7d64736f6c63430008140033

Deployed Bytecode Sourcemap

7793:11907:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8971:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10881:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9190:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8098:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12219:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11158:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12993:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8010:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11552:156;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11067:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11716:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8583:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18119:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17853:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8526:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19479:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18740:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18853:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9107:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18362:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9033:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11266:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2553:94;;;;;;;;;;;;;:::i;:::-;;18626:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8817:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8893:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8694:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2244:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10972;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11942:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12818:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19364:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18498:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18969:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8188:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8230:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8635:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17573:272;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19181:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8275:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11397:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18232:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17387:178;;;;;;;;;;;;;:::i;:::-;;9070:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18013:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9228:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2655:229;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19602:91;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9146:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8971:53;;;;:::o;10881:83::-;10918:13;10951:5;10944:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10881:83;:::o;9190:31::-;;;;;;;;;;;;;:::o;8098:81::-;;;:::o;12219:161::-;12294:4;12311:39;12320:12;:10;:12::i;:::-;12334:7;12343:6;12311:8;:39::i;:::-;12368:4;12361:11;;12219:161;;;;:::o;11158:100::-;11211:7;11238:12;;11231:19;;11158:100;:::o;12993:313::-;13091:4;13108:36;13118:6;13126:9;13137:6;13108:9;:36::i;:::-;;13155:121;13164:6;13172:12;:10;:12::i;:::-;13186:89;13224:6;13186:89;;;;;;;;;;;;;;;;;:11;:19;13198:6;13186:19;;;;;;;;;;;;;;;:33;13206:12;:10;:12::i;:::-;13186:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;13155:8;:121::i;:::-;13294:4;13287:11;;12993:313;;;;;:::o;8010:81::-;;;:::o;11552:156::-;11605:7;11632:68;11677:22;11687:11;11677:9;:22::i;:::-;11632:40;11649:22;11659:11;11649:9;:22::i;:::-;11632:12;;:16;;:40;;;;:::i;:::-;:44;;:68;;;;:::i;:::-;11625:75;;11552:156;:::o;11067:83::-;11108:5;11133:9;;;;;;;;;;;11126:16;;11067:83;:::o;11716:218::-;11804:4;11821:83;11830:12;:10;:12::i;:::-;11844:7;11853:50;11892:10;11853:11;:25;11865:12;:10;:12::i;:::-;11853:25;;;;;;;;;;;;;;;:34;11879:7;11853:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;11821:8;:83::i;:::-;11922:4;11915:11;;11716:218;;;;:::o;8583:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;18119:105::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18209:7:::1;18190:16;;:26;;;;;;;;;;;;;;;;;;18119:105:::0;:::o;17853:152::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17951:7:::1;17932:16;:26;;;;17989:8;17969:17;:28;;;;17853:152:::0;;:::o;8526:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;19479:115::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19578:7:::1;19551:9;;:35;;;;;;;;;;;;;;;;;;19479:115:::0;:::o;18740:101::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18825:8:::1;18810:12;:23;;;;18740:101:::0;:::o;18853:108::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18943:10:::1;18931:9;;:22;;;;;;;;;;;;;;;;;;18853:108:::0;:::o;9107:32::-;;;;;;;;;;;;;:::o;18362:128::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18475:7:::1;18447:19;:25;18467:4;18447:25;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;18362:128:::0;;:::o;9033:30::-;;;;;;;;;;;;;:::o;11266:123::-;11332:7;11358:9;:18;11368:7;11358:18;;;;;;;;;;;;;;;;11351:25;;11266:123;;;:::o;2553:94::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2618:21:::1;2636:1;2618:9;:21::i;:::-;2553:94::o:0;18626:106::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18716:8:::1;18703:10;:21;;;;18626:106:::0;:::o;8817:59::-;;;;:::o;8893:56::-;;;;:::o;8694:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2244:87::-;2290:7;2317:6;;;;;;;;;;;2310:13;;2244:87;:::o;10972:::-;11011:13;11044:7;11037:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10972:87;:::o;11942:269::-;12035:4;12052:129;12061:12;:10;:12::i;:::-;12075:7;12084:96;12123:15;12084:96;;;;;;;;;;;;;;;;;:11;:25;12096:12;:10;:12::i;:::-;12084:25;;;;;;;;;;;;;;;:34;12110:7;12084:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;12052:8;:129::i;:::-;12199:4;12192:11;;11942:269;;;;:::o;12818:167::-;12896:4;12913:42;12923:12;:10;:12::i;:::-;12937:9;12948:6;12913:9;:42::i;:::-;;12973:4;12966:11;;12818:167;;;;:::o;19364:107::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19453:10:::1;19437:13;:26;;;;19364:107:::0;:::o;18498:120::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18603:7:::1;18579:15;:21;18595:4;18579:21;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;18498:120:::0;;:::o;18969:204::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19073:7:::1;19051:12;:19;19064:5;19051:19;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;19094:7;19091:75;;;19147:7;19118:19;:26;19138:5;19118:26;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;19091:75;18969:204:::0;;:::o;8188:35::-;;;;:::o;8230:36::-;;;;:::o;8635:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;17573:272::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17673:12:::1;17699:6;17691:20;;17766:9;17777:7;17712:73;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17691:95;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17672:114;;;17805:7;17797:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;17661:184;17573:272:::0;;;:::o;19181:175::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19307:8:::1;19293:11;;:22;;;;;;;;;;;;;;;;;;19340:8;19326:11;;:22;;;;;;;;;;;;;;;;;;19181:175:::0;;:::o;8275:78::-;;;;;;;;;;;;;:::o;11397:143::-;11478:7;11505:11;:18;11517:5;11505:18;;;;;;;;;;;;;;;:27;11524:7;11505:27;;;;;;;;;;;;;;;;11498:34;;11397:143;;;;:::o;18232:122::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18339:7:::1;18313:17;:23;18331:4;18313:23;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;18232:122:::0;;:::o;17387:178::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17442:7:::1;17462:10;17454:24;;17486:21;17454:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17441:71;;;17531:2;17523:34;;;;;;;;;;;;:::i;:::-;;;;;;;;;17429:136;17387:178::o:0;9070:30::-;;;;;;;;;;;;;:::o;18013:98::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18096:7:::1;18080:13;;:23;;;;;;;;;;;;;;;;;;18013:98:::0;:::o;9228:22::-;;;;;;;;;;;;;:::o;2655:229::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2778:1:::1;2758:22;;:8;:22;;::::0;2736:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2857:19;2867:8;2857:9;:19::i;:::-;2655:229:::0;:::o;19602:91::-;2476:12;:10;:12::i;:::-;2465:23;;:7;:5;:7::i;:::-;:23;;;2457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19680:5:::1;19670:7;;:15;;;;;;;;;;;;;;;;;;19602:91:::0;:::o;9146:35::-;;;;;;;;;;;;;:::o;811:98::-;864:7;891:10;884:17;;811:98;:::o;12388:337::-;12498:1;12481:19;;:5;:19;;;12473:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12579:1;12560:21;;:7;:21;;;12552:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12663:6;12633:11;:18;12645:5;12633:18;;;;;;;;;;;;;;;:27;12652:7;12633:27;;;;;;;;;;;;;;;:36;;;;12701:7;12685:32;;12694:5;12685:32;;;12710:6;12685:32;;;;;;:::i;:::-;;;;;;;;12388:337;;;:::o;13314:1578::-;13401:4;13446:1;13428:20;;:6;:20;;;13420:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13530:1;13509:23;;:9;:23;;;13501:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13600:1;13591:6;:10;13583:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13668:6;;;;;;;;;;;13664:1219;;;13698:41;13713:6;13721:9;13732:6;13698:14;:41::i;:::-;13691:48;;;;13664:1219;13783:28;13814:24;13832:4;13814:9;:24::i;:::-;13783:55;;13853:28;13908:13;;13884:20;:37;;13853:68;;13942:23;:34;;;;;13970:6;;;;;;;;;;;13969:7;13942:34;:59;;;;;13981:12;:20;13994:6;13981:20;;;;;;;;;;;;;;;;;;;;;;;;;13980:21;13942:59;:74;;;;;14005:11;;;;;;;;;;;13942:74;13938:145;;;14037:30;14046:20;14037:8;:30::i;:::-;13938:145;14103:15;:23;14119:6;14103:23;;;;;;;;;;;;;;;;;;;;;;;;;14102:24;:55;;;;;14131:15;:26;14147:9;14131:26;;;;;;;;;;;;;;;;;;;;;;;;;14130:27;14102:55;:72;;;;;14161:13;;;;;;;;;;;14102:72;14099:187;;;14213:12;;14203:6;:22;;14195:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;14099:187;14335:53;14357:6;14335:53;;;;;;;;;;;;;;;;;:9;:17;14345:6;14335:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;14315:9;:17;14325:6;14315:17;;;;;;;;;;;;;;;:73;;;;14405:19;14427:34;14444:6;14451:9;14427:16;:34::i;:::-;:80;;14473:34;14481:6;14489:9;14500:6;14473:7;:34::i;:::-;14427:80;;;14464:6;14427:80;14405:102;;14527:16;;;;;;;;;;;:51;;;;;14548:19;:30;14568:9;14548:30;;;;;;;;;;;;;;;;;;;;;;;;;14547:31;14527:51;14524:181;;;14648:10;;14607:37;14632:11;14607:20;14617:9;14607;:20::i;:::-;:24;;:37;;;;:::i;:::-;:51;;14599:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;14524:181;14744:37;14769:11;14744:9;:20;14754:9;14744:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;14721:9;:20;14731:9;14721:20;;;;;;;;;;;;;;;:60;;;;14820:9;14803:40;;14812:6;14803:40;;;14831:11;14803:40;;;;;;:::i;:::-;;;;;;;;14865:4;14858:11;;;;;13314:1578;;;;;;:::o;3431:192::-;3517:7;3550:1;3545;:6;;3553:12;3537:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3577:9;3593:1;3589;:5;;;;:::i;:::-;3577:17;;3614:1;3607:8;;;3431:192;;;;;:::o;3287:136::-;3345:7;3372:43;3376:1;3379;3372:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3365:50;;3287:136;;;;:::o;3098:181::-;3156:7;3176:9;3192:1;3188;:5;;;;:::i;:::-;3176:17;;3217:1;3212;:6;;3204:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3270:1;3263:8;;;3098:181;;;;:::o;2892:173::-;2948:16;2967:6;;;;;;;;;;;2948:25;;2993:8;2984:6;;:17;;;;;;;;;;;;;;;;;;3048:8;3017:40;;3038:8;3017:40;;;;;;;;;;;;2937:128;2892:173;:::o;14900:330::-;14993:4;15030:53;15052:6;15030:53;;;;;;;;;;;;;;;;;:9;:17;15040:6;15030:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;15010:9;:17;15020:6;15010:17;;;;;;;;;;;;;;;:73;;;;15117:32;15142:6;15117:9;:20;15127:9;15117:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;15094:9;:20;15104:9;15094:20;;;;;;;;;;;;;;;:55;;;;15182:9;15165:35;;15174:6;15165:35;;;15193:6;15165:35;;;;;;:::i;:::-;;;;;;;;15218:4;15211:11;;14900:330;;;;;:::o;16337:386::-;9319:4;9310:6;;:13;;;;;;;;;;;;;;;;;;16411:11:::1;;;;;;;;;;;16408:47;;;16442:13;;16424:31;;16408:47;16468:22;16493:21;16468:46;;16525:33;16542:15;16525:16;:33::i;:::-;16569:22;16594:41;16620:14;16594:21;:25;;:41;;;;:::i;:::-;16569:66;;16667:1;16650:14;:18;16647:66;;;16678:9;;;;;;;;;;;16670:27;;:43;16698:14;16670:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;16647:66;16395:328;;9355:5:::0;9346:6;;:14;;;;;;;;;;;;;;;;;;16337:386;:::o;15242:369::-;15326:4;15346:17;:25;15364:6;15346:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;15375:17;:28;15393:9;15375:28;;;;;;;;;;;;;;;;;;;;;;;;;15346:57;15343:261;;;15427:4;15420:11;;;;15343:261;15462:12;:20;15475:6;15462:20;;;;;;;;;;;;;;;;;;;;;;;;;:47;;;;15486:12;:23;15499:9;15486:23;;;;;;;;;;;;;;;;;;;;;;;;;15462:47;15458:146;;;15533:5;15526:12;;;;15458:146;15587:5;15580:12;;15242:369;;;;;:::o;15619:710::-;15705:7;15735:14;15792:12;:20;15805:6;15792:20;;;;;;;;;;;;;;;;;;;;;;;;;15789:266;;;15846:48;15879:14;;15846:28;15857:16;;15846:6;:10;;:28;;;;:::i;:::-;:32;;:48;;;;:::i;:::-;15834:60;;15789:266;;;15933:12;:23;15946:9;15933:23;;;;;;;;;;;;;;;;;;;;;;;;;15930:125;;;15990:49;16024:14;;15990:29;16001:17;;15990:6;:10;;:29;;;;:::i;:::-;:33;;:49;;;;:::i;:::-;15978:61;;15930:125;15789:266;16086:1;16074:9;:13;16071:185;;;16135:39;16164:9;16135;:24;16153:4;16135:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;16108:9;:24;16126:4;16108:24;;;;;;;;;;;;;;;:66;;;;16223:4;16198:42;;16207:6;16198:42;;;16230:9;16198:42;;;;;;:::i;:::-;;;;;;;;16071:185;16279:21;16290:9;16279:6;:10;;:21;;;;:::i;:::-;16272:28;;;15619:710;;;;;:::o;16731:648::-;16857:21;16895:1;16881:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16857:40;;16926:4;16908;16913:1;16908:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16952:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16942:4;16947:1;16942:7;;;;;;;;:::i;:::-;;;;;;;:26;;;;;;;;;;;16981:56;16998:4;17013:9;;;;;;;;;;;17025:11;16981:8;:56::i;:::-;17076:9;;;;;;;;;;;:60;;;17151:11;17177:1;17221:4;17248;17284:15;17076:234;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17336:35;17353:11;17366:4;17336:35;;;;;;;:::i;:::-;;;;;;;;16786:593;16731:648;:::o;3631:250::-;3689:7;3718:1;3713;:6;3709:47;;3743:1;3736:8;;;;3709:47;3768:9;3784:1;3780;:5;;;;:::i;:::-;3768:17;;3813:1;3808;3804;:5;;;;:::i;:::-;:10;3796:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3872:1;3865:8;;;3631:250;;;;;:::o;3889:132::-;3947:7;3974:39;3978:1;3981;3974:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3967:46;;3889:132;;;;:::o;4029:278::-;4115:7;4147:1;4143;:5;4150:12;4135:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4174:9;4190:1;4186;:5;;;;:::i;:::-;4174:17;;4298:1;4291:8;;;4029:278;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1784:126::-;1821:7;1861:42;1854:5;1850:54;1839:65;;1784:126;;;:::o;1916:60::-;1944:3;1965:5;1958:12;;1916:60;;;:::o;1982:142::-;2032:9;2065:53;2083:34;2092:24;2110:5;2092:24;:::i;:::-;2083:34;:::i;:::-;2065:53;:::i;:::-;2052:66;;1982:142;;;:::o;2130:126::-;2180:9;2213:37;2244:5;2213:37;:::i;:::-;2200:50;;2130:126;;;:::o;2262:148::-;2334:9;2367:37;2398:5;2367:37;:::i;:::-;2354:50;;2262:148;;;:::o;2416:175::-;2525:59;2578:5;2525:59;:::i;:::-;2520:3;2513:72;2416:175;;:::o;2597:266::-;2712:4;2750:2;2739:9;2735:18;2727:26;;2763:93;2853:1;2842:9;2838:17;2829:6;2763:93;:::i;:::-;2597:266;;;;:::o;2869:96::-;2906:7;2935:24;2953:5;2935:24;:::i;:::-;2924:35;;2869:96;;;:::o;2971:118::-;3058:24;3076:5;3058:24;:::i;:::-;3053:3;3046:37;2971:118;;:::o;3095:222::-;3188:4;3226:2;3215:9;3211:18;3203:26;;3239:71;3307:1;3296:9;3292:17;3283:6;3239:71;:::i;:::-;3095:222;;;;:::o;3404:117::-;3513:1;3510;3503:12;3650:122;3723:24;3741:5;3723:24;:::i;:::-;3716:5;3713:35;3703:63;;3762:1;3759;3752:12;3703:63;3650:122;:::o;3778:139::-;3824:5;3862:6;3849:20;3840:29;;3878:33;3905:5;3878:33;:::i;:::-;3778:139;;;;:::o;3923:122::-;3996:24;4014:5;3996:24;:::i;:::-;3989:5;3986:35;3976:63;;4035:1;4032;4025:12;3976:63;3923:122;:::o;4051:139::-;4097:5;4135:6;4122:20;4113:29;;4151:33;4178:5;4151:33;:::i;:::-;4051:139;;;;:::o;4196:474::-;4264:6;4272;4321:2;4309:9;4300:7;4296:23;4292:32;4289:119;;;4327:79;;:::i;:::-;4289:119;4447:1;4472:53;4517:7;4508:6;4497:9;4493:22;4472:53;:::i;:::-;4462:63;;4418:117;4574:2;4600:53;4645:7;4636:6;4625:9;4621:22;4600:53;:::i;:::-;4590:63;;4545:118;4196:474;;;;;:::o;4676:90::-;4710:7;4753:5;4746:13;4739:21;4728:32;;4676:90;;;:::o;4772:109::-;4853:21;4868:5;4853:21;:::i;:::-;4848:3;4841:34;4772:109;;:::o;4887:210::-;4974:4;5012:2;5001:9;4997:18;4989:26;;5025:65;5087:1;5076:9;5072:17;5063:6;5025:65;:::i;:::-;4887:210;;;;:::o;5103:619::-;5180:6;5188;5196;5245:2;5233:9;5224:7;5220:23;5216:32;5213:119;;;5251:79;;:::i;:::-;5213:119;5371:1;5396:53;5441:7;5432:6;5421:9;5417:22;5396:53;:::i;:::-;5386:63;;5342:117;5498:2;5524:53;5569:7;5560:6;5549:9;5545:22;5524:53;:::i;:::-;5514:63;;5469:118;5626:2;5652:53;5697:7;5688:6;5677:9;5673:22;5652:53;:::i;:::-;5642:63;;5597:118;5103:619;;;;;:::o;5728:86::-;5763:7;5803:4;5796:5;5792:16;5781:27;;5728:86;;;:::o;5820:112::-;5903:22;5919:5;5903:22;:::i;:::-;5898:3;5891:35;5820:112;;:::o;5938:214::-;6027:4;6065:2;6054:9;6050:18;6042:26;;6078:67;6142:1;6131:9;6127:17;6118:6;6078:67;:::i;:::-;5938:214;;;;:::o;6158:329::-;6217:6;6266:2;6254:9;6245:7;6241:23;6237:32;6234:119;;;6272:79;;:::i;:::-;6234:119;6392:1;6417:53;6462:7;6453:6;6442:9;6438:22;6417:53;:::i;:::-;6407:63;;6363:117;6158:329;;;;:::o;6493:116::-;6563:21;6578:5;6563:21;:::i;:::-;6556:5;6553:32;6543:60;;6599:1;6596;6589:12;6543:60;6493:116;:::o;6615:133::-;6658:5;6696:6;6683:20;6674:29;;6712:30;6736:5;6712:30;:::i;:::-;6615:133;;;;:::o;6754:323::-;6810:6;6859:2;6847:9;6838:7;6834:23;6830:32;6827:119;;;6865:79;;:::i;:::-;6827:119;6985:1;7010:50;7052:7;7043:6;7032:9;7028:22;7010:50;:::i;:::-;7000:60;;6956:114;6754:323;;;;:::o;7083:474::-;7151:6;7159;7208:2;7196:9;7187:7;7183:23;7179:32;7176:119;;;7214:79;;:::i;:::-;7176:119;7334:1;7359:53;7404:7;7395:6;7384:9;7380:22;7359:53;:::i;:::-;7349:63;;7305:117;7461:2;7487:53;7532:7;7523:6;7512:9;7508:22;7487:53;:::i;:::-;7477:63;;7432:118;7083:474;;;;;:::o;7563:329::-;7622:6;7671:2;7659:9;7650:7;7646:23;7642:32;7639:119;;;7677:79;;:::i;:::-;7639:119;7797:1;7822:53;7867:7;7858:6;7847:9;7843:22;7822:53;:::i;:::-;7812:63;;7768:117;7563:329;;;;:::o;7898:468::-;7963:6;7971;8020:2;8008:9;7999:7;7995:23;7991:32;7988:119;;;8026:79;;:::i;:::-;7988:119;8146:1;8171:53;8216:7;8207:6;8196:9;8192:22;8171:53;:::i;:::-;8161:63;;8117:117;8273:2;8299:50;8341:7;8332:6;8321:9;8317:22;8299:50;:::i;:::-;8289:60;;8244:115;7898:468;;;;;:::o;8372:462::-;8434:6;8442;8491:2;8479:9;8470:7;8466:23;8462:32;8459:119;;;8497:79;;:::i;:::-;8459:119;8617:1;8642:50;8684:7;8675:6;8664:9;8660:22;8642:50;:::i;:::-;8632:60;;8588:114;8741:2;8767:50;8809:7;8800:6;8789:9;8785:22;8767:50;:::i;:::-;8757:60;;8712:115;8372:462;;;;;:::o;8840:474::-;8908:6;8916;8965:2;8953:9;8944:7;8940:23;8936:32;8933:119;;;8971:79;;:::i;:::-;8933:119;9091:1;9116:53;9161:7;9152:6;9141:9;9137:22;9116:53;:::i;:::-;9106:63;;9062:117;9218:2;9244:53;9289:7;9280:6;9269:9;9265:22;9244:53;:::i;:::-;9234:63;;9189:118;8840:474;;;;;:::o;9320:180::-;9368:77;9365:1;9358:88;9465:4;9462:1;9455:15;9489:4;9486:1;9479:15;9506:320;9550:6;9587:1;9581:4;9577:12;9567:22;;9634:1;9628:4;9624:12;9655:18;9645:81;;9711:4;9703:6;9699:17;9689:27;;9645:81;9773:2;9765:6;9762:14;9742:18;9739:38;9736:84;;9792:18;;:::i;:::-;9736:84;9557:269;9506:320;;;:::o;9832:182::-;9972:34;9968:1;9960:6;9956:14;9949:58;9832:182;:::o;10020:366::-;10162:3;10183:67;10247:2;10242:3;10183:67;:::i;:::-;10176:74;;10259:93;10348:3;10259:93;:::i;:::-;10377:2;10372:3;10368:12;10361:19;;10020:366;;;:::o;10392:419::-;10558:4;10596:2;10585:9;10581:18;10573:26;;10645:9;10639:4;10635:20;10631:1;10620:9;10616:17;10609:47;10673:131;10799:4;10673:131;:::i;:::-;10665:139;;10392:419;;;:::o;10817:332::-;10938:4;10976:2;10965:9;10961:18;10953:26;;10989:71;11057:1;11046:9;11042:17;11033:6;10989:71;:::i;:::-;11070:72;11138:2;11127:9;11123:18;11114:6;11070:72;:::i;:::-;10817:332;;;;;:::o;11155:98::-;11206:6;11240:5;11234:12;11224:22;;11155:98;;;:::o;11259:147::-;11360:11;11397:3;11382:18;;11259:147;;;;:::o;11412:386::-;11516:3;11544:38;11576:5;11544:38;:::i;:::-;11598:88;11679:6;11674:3;11598:88;:::i;:::-;11591:95;;11695:65;11753:6;11748:3;11741:4;11734:5;11730:16;11695:65;:::i;:::-;11785:6;11780:3;11776:16;11769:23;;11520:278;11412:386;;;;:::o;11804:271::-;11934:3;11956:93;12045:3;12036:6;11956:93;:::i;:::-;11949:100;;12066:3;12059:10;;11804:271;;;;:::o;12081:170::-;12221:22;12217:1;12209:6;12205:14;12198:46;12081:170;:::o;12257:366::-;12399:3;12420:67;12484:2;12479:3;12420:67;:::i;:::-;12413:74;;12496:93;12585:3;12496:93;:::i;:::-;12614:2;12609:3;12605:12;12598:19;;12257:366;;;:::o;12629:419::-;12795:4;12833:2;12822:9;12818:18;12810:26;;12882:9;12876:4;12872:20;12868:1;12857:9;12853:17;12846:47;12910:131;13036:4;12910:131;:::i;:::-;12902:139;;12629:419;;;:::o;13054:114::-;;:::o;13174:398::-;13333:3;13354:83;13435:1;13430:3;13354:83;:::i;:::-;13347:90;;13446:93;13535:3;13446:93;:::i;:::-;13564:1;13559:3;13555:11;13548:18;;13174:398;;;:::o;13578:379::-;13762:3;13784:147;13927:3;13784:147;:::i;:::-;13777:154;;13948:3;13941:10;;13578:379;;;:::o;13963:170::-;14103:22;14099:1;14091:6;14087:14;14080:46;13963:170;:::o;14139:366::-;14281:3;14302:67;14366:2;14361:3;14302:67;:::i;:::-;14295:74;;14378:93;14467:3;14378:93;:::i;:::-;14496:2;14491:3;14487:12;14480:19;;14139:366;;;:::o;14511:419::-;14677:4;14715:2;14704:9;14700:18;14692:26;;14764:9;14758:4;14754:20;14750:1;14739:9;14735:17;14728:47;14792:131;14918:4;14792:131;:::i;:::-;14784:139;;14511:419;;;:::o;14936:225::-;15076:34;15072:1;15064:6;15060:14;15053:58;15145:8;15140:2;15132:6;15128:15;15121:33;14936:225;:::o;15167:366::-;15309:3;15330:67;15394:2;15389:3;15330:67;:::i;:::-;15323:74;;15406:93;15495:3;15406:93;:::i;:::-;15524:2;15519:3;15515:12;15508:19;;15167:366;;;:::o;15539:419::-;15705:4;15743:2;15732:9;15728:18;15720:26;;15792:9;15786:4;15782:20;15778:1;15767:9;15763:17;15756:47;15820:131;15946:4;15820:131;:::i;:::-;15812:139;;15539:419;;;:::o;15964:223::-;16104:34;16100:1;16092:6;16088:14;16081:58;16173:6;16168:2;16160:6;16156:15;16149:31;15964:223;:::o;16193:366::-;16335:3;16356:67;16420:2;16415:3;16356:67;:::i;:::-;16349:74;;16432:93;16521:3;16432:93;:::i;:::-;16550:2;16545:3;16541:12;16534:19;;16193:366;;;:::o;16565:419::-;16731:4;16769:2;16758:9;16754:18;16746:26;;16818:9;16812:4;16808:20;16804:1;16793:9;16789:17;16782:47;16846:131;16972:4;16846:131;:::i;:::-;16838:139;;16565:419;;;:::o;16990:221::-;17130:34;17126:1;17118:6;17114:14;17107:58;17199:4;17194:2;17186:6;17182:15;17175:29;16990:221;:::o;17217:366::-;17359:3;17380:67;17444:2;17439:3;17380:67;:::i;:::-;17373:74;;17456:93;17545:3;17456:93;:::i;:::-;17574:2;17569:3;17565:12;17558:19;;17217:366;;;:::o;17589:419::-;17755:4;17793:2;17782:9;17778:18;17770:26;;17842:9;17836:4;17832:20;17828:1;17817:9;17813:17;17806:47;17870:131;17996:4;17870:131;:::i;:::-;17862:139;;17589:419;;;:::o;18014:224::-;18154:34;18150:1;18142:6;18138:14;18131:58;18223:7;18218:2;18210:6;18206:15;18199:32;18014:224;:::o;18244:366::-;18386:3;18407:67;18471:2;18466:3;18407:67;:::i;:::-;18400:74;;18483:93;18572:3;18483:93;:::i;:::-;18601:2;18596:3;18592:12;18585:19;;18244:366;;;:::o;18616:419::-;18782:4;18820:2;18809:9;18805:18;18797:26;;18869:9;18863:4;18859:20;18855:1;18844:9;18840:17;18833:47;18897:131;19023:4;18897:131;:::i;:::-;18889:139;;18616:419;;;:::o;19041:222::-;19181:34;19177:1;19169:6;19165:14;19158:58;19250:5;19245:2;19237:6;19233:15;19226:30;19041:222;:::o;19269:366::-;19411:3;19432:67;19496:2;19491:3;19432:67;:::i;:::-;19425:74;;19508:93;19597:3;19508:93;:::i;:::-;19626:2;19621:3;19617:12;19610:19;;19269:366;;;:::o;19641:419::-;19807:4;19845:2;19834:9;19830:18;19822:26;;19894:9;19888:4;19884:20;19880:1;19869:9;19865:17;19858:47;19922:131;20048:4;19922:131;:::i;:::-;19914:139;;19641:419;;;:::o;20066:228::-;20206:34;20202:1;20194:6;20190:14;20183:58;20275:11;20270:2;20262:6;20258:15;20251:36;20066:228;:::o;20300:366::-;20442:3;20463:67;20527:2;20522:3;20463:67;:::i;:::-;20456:74;;20539:93;20628:3;20539:93;:::i;:::-;20657:2;20652:3;20648:12;20641:19;;20300:366;;;:::o;20672:419::-;20838:4;20876:2;20865:9;20861:18;20853:26;;20925:9;20919:4;20915:20;20911:1;20900:9;20896:17;20889:47;20953:131;21079:4;20953:131;:::i;:::-;20945:139;;20672:419;;;:::o;21097:227::-;21237:34;21233:1;21225:6;21221:14;21214:58;21306:10;21301:2;21293:6;21289:15;21282:35;21097:227;:::o;21330:366::-;21472:3;21493:67;21557:2;21552:3;21493:67;:::i;:::-;21486:74;;21569:93;21658:3;21569:93;:::i;:::-;21687:2;21682:3;21678:12;21671:19;;21330:366;;;:::o;21702:419::-;21868:4;21906:2;21895:9;21891:18;21883:26;;21955:9;21949:4;21945:20;21941:1;21930:9;21926:17;21919:47;21983:131;22109:4;21983:131;:::i;:::-;21975:139;;21702:419;;;:::o;22127:177::-;22267:29;22263:1;22255:6;22251:14;22244:53;22127:177;:::o;22310:366::-;22452:3;22473:67;22537:2;22532:3;22473:67;:::i;:::-;22466:74;;22549:93;22638:3;22549:93;:::i;:::-;22667:2;22662:3;22658:12;22651:19;;22310:366;;;:::o;22682:419::-;22848:4;22886:2;22875:9;22871:18;22863:26;;22935:9;22929:4;22925:20;22921:1;22910:9;22906:17;22899:47;22963:131;23089:4;22963:131;:::i;:::-;22955:139;;22682:419;;;:::o;23107:180::-;23155:77;23152:1;23145:88;23252:4;23249:1;23242:15;23276:4;23273:1;23266:15;23293:194;23333:4;23353:20;23371:1;23353:20;:::i;:::-;23348:25;;23387:20;23405:1;23387:20;:::i;:::-;23382:25;;23431:1;23428;23424:9;23416:17;;23455:1;23449:4;23446:11;23443:37;;;23460:18;;:::i;:::-;23443:37;23293:194;;;;:::o;23493:191::-;23533:3;23552:20;23570:1;23552:20;:::i;:::-;23547:25;;23586:20;23604:1;23586:20;:::i;:::-;23581:25;;23629:1;23626;23622:9;23615:16;;23650:3;23647:1;23644:10;23641:36;;;23657:18;;:::i;:::-;23641:36;23493:191;;;;:::o;23690:177::-;23830:29;23826:1;23818:6;23814:14;23807:53;23690:177;:::o;23873:366::-;24015:3;24036:67;24100:2;24095:3;24036:67;:::i;:::-;24029:74;;24112:93;24201:3;24112:93;:::i;:::-;24230:2;24225:3;24221:12;24214:19;;23873:366;;;:::o;24245:419::-;24411:4;24449:2;24438:9;24434:18;24426:26;;24498:9;24492:4;24488:20;24484:1;24473:9;24469:17;24462:47;24526:131;24652:4;24526:131;:::i;:::-;24518:139;;24245:419;;;:::o;24670:180::-;24718:77;24715:1;24708:88;24815:4;24812:1;24805:15;24839:4;24836:1;24829:15;24856:180;24904:77;24901:1;24894:88;25001:4;24998:1;24991:15;25025:4;25022:1;25015:15;25042:143;25099:5;25130:6;25124:13;25115:22;;25146:33;25173:5;25146:33;:::i;:::-;25042:143;;;;:::o;25191:351::-;25261:6;25310:2;25298:9;25289:7;25285:23;25281:32;25278:119;;;25316:79;;:::i;:::-;25278:119;25436:1;25461:64;25517:7;25508:6;25497:9;25493:22;25461:64;:::i;:::-;25451:74;;25407:128;25191:351;;;;:::o;25548:85::-;25593:7;25622:5;25611:16;;25548:85;;;:::o;25639:158::-;25697:9;25730:61;25748:42;25757:32;25783:5;25757:32;:::i;:::-;25748:42;:::i;:::-;25730:61;:::i;:::-;25717:74;;25639:158;;;:::o;25803:147::-;25898:45;25937:5;25898:45;:::i;:::-;25893:3;25886:58;25803:147;;:::o;25956:114::-;26023:6;26057:5;26051:12;26041:22;;25956:114;;;:::o;26076:184::-;26175:11;26209:6;26204:3;26197:19;26249:4;26244:3;26240:14;26225:29;;26076:184;;;;:::o;26266:132::-;26333:4;26356:3;26348:11;;26386:4;26381:3;26377:14;26369:22;;26266:132;;;:::o;26404:108::-;26481:24;26499:5;26481:24;:::i;:::-;26476:3;26469:37;26404:108;;:::o;26518:179::-;26587:10;26608:46;26650:3;26642:6;26608:46;:::i;:::-;26686:4;26681:3;26677:14;26663:28;;26518:179;;;;:::o;26703:113::-;26773:4;26805;26800:3;26796:14;26788:22;;26703:113;;;:::o;26852:732::-;26971:3;27000:54;27048:5;27000:54;:::i;:::-;27070:86;27149:6;27144:3;27070:86;:::i;:::-;27063:93;;27180:56;27230:5;27180:56;:::i;:::-;27259:7;27290:1;27275:284;27300:6;27297:1;27294:13;27275:284;;;27376:6;27370:13;27403:63;27462:3;27447:13;27403:63;:::i;:::-;27396:70;;27489:60;27542:6;27489:60;:::i;:::-;27479:70;;27335:224;27322:1;27319;27315:9;27310:14;;27275:284;;;27279:14;27575:3;27568:10;;26976:608;;;26852:732;;;;:::o;27590:831::-;27853:4;27891:3;27880:9;27876:19;27868:27;;27905:71;27973:1;27962:9;27958:17;27949:6;27905:71;:::i;:::-;27986:80;28062:2;28051:9;28047:18;28038:6;27986:80;:::i;:::-;28113:9;28107:4;28103:20;28098:2;28087:9;28083:18;28076:48;28141:108;28244:4;28235:6;28141:108;:::i;:::-;28133:116;;28259:72;28327:2;28316:9;28312:18;28303:6;28259:72;:::i;:::-;28341:73;28409:3;28398:9;28394:19;28385:6;28341:73;:::i;:::-;27590:831;;;;;;;;:::o;28427:483::-;28598:4;28636:2;28625:9;28621:18;28613:26;;28649:71;28717:1;28706:9;28702:17;28693:6;28649:71;:::i;:::-;28767:9;28761:4;28757:20;28752:2;28741:9;28737:18;28730:48;28795:108;28898:4;28889:6;28795:108;:::i;:::-;28787:116;;28427:483;;;;;:::o;28916:410::-;28956:7;28979:20;28997:1;28979:20;:::i;:::-;28974:25;;29013:20;29031:1;29013:20;:::i;:::-;29008:25;;29068:1;29065;29061:9;29090:30;29108:11;29090:30;:::i;:::-;29079:41;;29269:1;29260:7;29256:15;29253:1;29250:22;29230:1;29223:9;29203:83;29180:139;;29299:18;;:::i;:::-;29180:139;28964:362;28916:410;;;;:::o;29332:180::-;29380:77;29377:1;29370:88;29477:4;29474:1;29467:15;29501:4;29498:1;29491:15;29518:185;29558:1;29575:20;29593:1;29575:20;:::i;:::-;29570:25;;29609:20;29627:1;29609:20;:::i;:::-;29604:25;;29648:1;29638:35;;29653:18;;:::i;:::-;29638:35;29695:1;29692;29688:9;29683:14;;29518:185;;;;:::o;29709:220::-;29849:34;29845:1;29837:6;29833:14;29826:58;29918:3;29913:2;29905:6;29901:15;29894:28;29709:220;:::o;29935:366::-;30077:3;30098:67;30162:2;30157:3;30098:67;:::i;:::-;30091:74;;30174:93;30263:3;30174:93;:::i;:::-;30292:2;30287:3;30283:12;30276:19;;29935:366;;;:::o;30307:419::-;30473:4;30511:2;30500:9;30496:18;30488:26;;30560:9;30554:4;30550:20;30546:1;30535:9;30531:17;30524:47;30588:131;30714:4;30588:131;:::i;:::-;30580:139;;30307:419;;;:::o

Swarm Source

ipfs://b4bb92883eba5c4efbc9f6fae03ab4a260725d10917171a626562dcc821f5d7d
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.