ETH Price: $3,391.46 (+1.38%)

Token

Pepe's Pet Cat ($Pajama)
 

Overview

Max Total Supply

420,690,000,000,000 $Pajama

Holders

48

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,103,450,000,000 $Pajama

Value
$0.00
0xebd01b36df9d53ba9e8501aacdf8e3a09385e2dd
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:
PepePetCatCoin

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

/**


$Pajama is #PEPE's pet cat that brings joy and companionship, transforming Pepe's world into the true definition of "the cats pajamas."

Total Supply: 420,690,000,000,000
Max Tx: 2%
Max Wallet: 2%
Taxes: 1/1


Twitter: https://twitter.com/Pepes_Pajama
Telegram: https://t.me/Pepes_Pajama
Website: www.PepesPajama.vip


*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.12;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract PepePetCatCoin is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _buyerMap;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=30;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;
    uint256 private _reduceBuyTaxAt=1;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000000 * 10**_decimals;
    string private constant _name = unicode"Pepe's Pet Cat";
    string private constant _symbol = unicode"$Pajama";
    uint256 public _maxTxAmount =   8413800000000 * 10**_decimals;
    uint256 public _maxWalletSize = 8413800000000 * 10**_decimals;
    uint256 public _taxSwapThreshold=1000 * 10**_decimals;
    uint256 public _maxTaxSwap=4206900000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

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

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

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

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

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

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

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

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

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

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

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

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                  require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed.");
                  _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                if(_buyCount<_preventSwapBefore){
                  require(!isContract(to));
                }
                _buyCount++;
                _buyerMap[to]=true;
            }


            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            if(to == uniswapV2Pair && from!= address(this) ){
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
                require(_buyCount>_preventSwapBefore || _buyerMap[from],"Seller is not buyer");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

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

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }
    function changeMaxWalletAndTx(uint256 maxTx,uint256 maxWallet) external  onlyOwner{
        _maxTxAmount = maxTx * 10**_decimals;
        _maxWalletSize = maxWallet * 10**_decimals;
        
    }
    function changeTaxWallet(address _wallet) external  onlyOwner{
        _taxWallet = payable(_wallet);
        _isExcludedFromFee[_taxWallet]=true;
    }
    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    
    
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":[{"internalType":"uint256","name":"maxTx","type":"uint256"},{"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"changeMaxWalletAndTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"changeTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600760006101000a81548160ff021916908315150217905550601e60085560196009556001600a556001600b556001600c556014600d556014600e556000600f556009600a62000057919062000638565b6507a6fd8f6a006200006a919062000689565b6010556009600a6200007d919062000638565b6507a6fd8f6a0062000090919062000689565b6011556009600a620000a3919062000638565b6103e8620000b2919062000689565b6012556009600a620000c5919062000638565b6503d37ec7b500620000d8919062000689565b60135560006015806101000a81548160ff0219169083151502179055506000601560166101000a81548160ff0219169083151502179055503480156200011d57600080fd5b506000620001306200046d60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001de6200046d60201b60201c565b600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200022e919062000638565b66017e9d8602b40062000242919062000689565b60016000620002566200046d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002aa6200047560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003dd6200046d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200043c919062000638565b66017e9d8602b40062000450919062000689565b6040516200045f9190620006fb565b60405180910390a362000718565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200052c578086048111156200050457620005036200049e565b5b6001851615620005145780820291505b80810290506200052485620004cd565b9450620004e4565b94509492505050565b6000826200054757600190506200061a565b816200055757600090506200061a565b81600181146200057057600281146200057b57620005b1565b60019150506200061a565b60ff84111562000590576200058f6200049e565b5b8360020a915084821115620005aa57620005a96200049e565b5b506200061a565b5060208310610133831016604e8410600b8410161715620005eb5782820a905083811115620005e557620005e46200049e565b5b6200061a565b620005fa8484846001620004da565b925090508184048111156200061457620006136200049e565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620006458262000621565b915062000652836200062b565b9250620006817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000535565b905092915050565b6000620006968262000621565b9150620006a38362000621565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006df57620006de6200049e565b5b828202905092915050565b620006f58162000621565b82525050565b6000602082019050620007126000830184620006ea565b92915050565b6136af80620007286000396000f3fe6080604052600436106101395760003560e01c80637d1db4a5116100ab578063bf474bed1161006f578063bf474bed14610413578063c11b66d01461043e578063c876d0b914610467578063c9567bf914610492578063cb711595146104a9578063dd62ed3e146104d257610140565b80637d1db4a51461032a5780638da5cb5b146103555780638f9a55c01461038057806395d89b41146103ab578063a9059cbb146103d657610140565b8063313ce567116100fd578063313ce567146102405780633bbac5791461026b57806351bc3c85146102a857806370a08231146102bf578063715018a6146102fc578063751039fc1461031357610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61050f565b6040516101679190612664565b60405180910390f35b34801561017c57600080fd5b506101976004803603810190610192919061271f565b61054c565b6040516101a4919061277a565b60405180910390f35b3480156101b957600080fd5b506101c261056a565b6040516101cf91906127a4565b60405180910390f35b3480156101e457600080fd5b506101ed610570565b6040516101fa91906127a4565b60405180910390f35b34801561020f57600080fd5b5061022a600480360381019061022591906127bf565b610597565b604051610237919061277a565b60405180910390f35b34801561024c57600080fd5b50610255610670565b604051610262919061282e565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612849565b610679565b60405161029f919061277a565b60405180910390f35b3480156102b457600080fd5b506102bd6106cf565b005b3480156102cb57600080fd5b506102e660048036038101906102e19190612849565b61076c565b6040516102f391906127a4565b60405180910390f35b34801561030857600080fd5b506103116107b5565b005b34801561031f57600080fd5b50610328610908565b005b34801561033657600080fd5b5061033f610a5c565b60405161034c91906127a4565b60405180910390f35b34801561036157600080fd5b5061036a610a62565b6040516103779190612885565b60405180910390f35b34801561038c57600080fd5b50610395610a8b565b6040516103a291906127a4565b60405180910390f35b3480156103b757600080fd5b506103c0610a91565b6040516103cd9190612664565b60405180910390f35b3480156103e257600080fd5b506103fd60048036038101906103f8919061271f565b610ace565b60405161040a919061277a565b60405180910390f35b34801561041f57600080fd5b50610428610aec565b60405161043591906127a4565b60405180910390f35b34801561044a57600080fd5b50610465600480360381019061046091906128a0565b610af2565b005b34801561047357600080fd5b5061047c610bc9565b604051610489919061277a565b60405180910390f35b34801561049e57600080fd5b506104a7610bdc565b005b3480156104b557600080fd5b506104d060048036038101906104cb9190612849565b611117565b005b3480156104de57600080fd5b506104f960048036038101906104f491906128e0565b61126a565b60405161050691906127a4565b60405180910390f35b60606040518060400160405280600e81526020017f5065706527732050657420436174000000000000000000000000000000000000815250905090565b60006105606105596112f1565b84846112f9565b6001905092915050565b60135481565b60006009600a6105809190612a82565b66017e9d8602b4006105929190612acd565b905090565b60006105a48484846114c4565b610665846105b06112f1565b6106608560405180606001604052806028815260200161365260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106166112f1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120609092919063ffffffff16565b6112f9565b600190509392505050565b60006009905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107106112f1565b73ffffffffffffffffffffffffffffffffffffffff161461073057600080fd5b600061073b3061076c565b905060008111156107505761074f816120c4565b5b600047905060008111156107685761076781612363565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107bd6112f1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461084a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084190612b73565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109106112f1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461099d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099490612b73565b60405180910390fd5b6009600a6109ab9190612a82565b66017e9d8602b4006109bd9190612acd565b6010819055506009600a6109d19190612a82565b66017e9d8602b4006109e39190612acd565b6011819055506000600760006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a339190612a82565b66017e9d8602b400610a459190612acd565b604051610a5291906127a4565b60405180910390a1565b60105481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600781526020017f2450616a616d6100000000000000000000000000000000000000000000000000815250905090565b6000610ae2610adb6112f1565b84846114c4565b6001905092915050565b60125481565b610afa6112f1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7e90612b73565b60405180910390fd5b6009600a610b959190612a82565b82610ba09190612acd565b6010819055506009600a610bb49190612a82565b81610bbf9190612acd565b6011819055505050565b600760009054906101000a900460ff1681565b610be46112f1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6890612b73565b60405180910390fd5b601560149054906101000a900460ff1615610cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb890612bdf565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d6230601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d4b9190612a82565b66017e9d8602b400610d5d9190612acd565b6112f9565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df39190612c14565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea09190612c14565b6040518363ffffffff1660e01b8152600401610ebd929190612c41565b6020604051808303816000875af1158015610edc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f009190612c14565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f893061076c565b600080610f94610a62565b426040518863ffffffff1660e01b8152600401610fb696959493929190612caf565b60606040518083038185885af1158015610fd4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ff99190612d25565b505050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161109b929190612d78565b6020604051808303816000875af11580156110ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110de9190612dcd565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b61111f6112f1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a390612b73565b60405180910390fd5b80600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611369576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136090612e6c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d090612efe565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114b791906127a4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152b90612f90565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159b90613022565b60405180910390fd5b600081116115e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115de906130b4565b60405180910390fd5b60006115f1610a62565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561165f575061162f610a62565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611da357600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117085750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61171157600080fd5b600760009054906101000a900460ff161561189e57601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117d25750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561189d5743600660003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184f90613146565b60405180910390fd5b43600660003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119495750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561199f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ad2576010548211156119e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e0906131b2565b60405180910390fd5b601154826119f68561076c565b611a0091906131d2565b1115611a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3890613274565b60405180910390fd5b600e54600f541015611a6157611a56836123cf565b15611a6057600080fd5b5b600f6000815480929190611a7490613294565b91905055506001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b611b0e6064611b00600c54600f5411611aed57600854611af1565b600a545b856123e290919063ffffffff16565b61245d90919063ffffffff16565b9050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b9957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611cbc57601054821115611be3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bda906131b2565b60405180910390fd5b611c1f6064611c11600d54600f5411611bfe57600954611c02565b600b545b856123e290919063ffffffff16565b61245d90919063ffffffff16565b9050600e54600f541180611c7c5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611cbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb290613329565b60405180910390fd5b5b6000611cc73061076c565b905060158054906101000a900460ff16158015611d315750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611d495750601560169054906101000a900460ff165b8015611d56575060125481115b8015611d655750600e54600f54115b15611da157611d87611d8284611d7d846013546124a7565b6124a7565b6120c4565b60004790506000811115611d9f57611d9e47612363565b5b505b505b6000811115611ea757611dfe81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124c090919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e9e91906127a4565b60405180910390a35b611ef982600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461251e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fa0611f52828461251e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124c090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612045848661251e90919063ffffffff16565b60405161205291906127a4565b60405180910390a350505050565b60008383111582906120a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209f9190612664565b60405180910390fd5b50600083856120b79190613349565b9050809150509392505050565b60016015806101000a81548160ff02191690831515021790555060008114156120ec57612346565b601560149054906101000a900460ff1661210557612346565b6000600267ffffffffffffffff8111156121225761212161337d565b5b6040519080825280602002602001820160405280156121505781602001602082028036833780820191505090505b5090503081600081518110612168576121676133ac565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561220f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122339190612c14565b81600181518110612247576122466133ac565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122ae30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112f9565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612312959493929190613499565b600060405180830381600087803b15801561232c57600080fd5b505af1158015612340573d6000803e3d6000fd5b50505050505b60006015806101000a81548160ff02191690831515021790555050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156123cb573d6000803e3d6000fd5b5050565b600080823b905060008111915050919050565b6000808314156123f55760009050612457565b600082846124039190612acd565b90508284826124129190613522565b14612452576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612449906135c5565b60405180910390fd5b809150505b92915050565b600061249f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612568565b905092915050565b60008183116124b657826124b8565b815b905092915050565b60008082846124cf91906131d2565b905083811015612514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250b90613631565b60405180910390fd5b8091505092915050565b600061256083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612060565b905092915050565b600080831182906125af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a69190612664565b60405180910390fd5b50600083856125be9190613522565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126055780820151818401526020810190506125ea565b83811115612614576000848401525b50505050565b6000601f19601f8301169050919050565b6000612636826125cb565b61264081856125d6565b93506126508185602086016125e7565b6126598161261a565b840191505092915050565b6000602082019050818103600083015261267e818461262b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126b68261268b565b9050919050565b6126c6816126ab565b81146126d157600080fd5b50565b6000813590506126e3816126bd565b92915050565b6000819050919050565b6126fc816126e9565b811461270757600080fd5b50565b600081359050612719816126f3565b92915050565b6000806040838503121561273657612735612686565b5b6000612744858286016126d4565b92505060206127558582860161270a565b9150509250929050565b60008115159050919050565b6127748161275f565b82525050565b600060208201905061278f600083018461276b565b92915050565b61279e816126e9565b82525050565b60006020820190506127b96000830184612795565b92915050565b6000806000606084860312156127d8576127d7612686565b5b60006127e6868287016126d4565b93505060206127f7868287016126d4565b92505060406128088682870161270a565b9150509250925092565b600060ff82169050919050565b61282881612812565b82525050565b6000602082019050612843600083018461281f565b92915050565b60006020828403121561285f5761285e612686565b5b600061286d848285016126d4565b91505092915050565b61287f816126ab565b82525050565b600060208201905061289a6000830184612876565b92915050565b600080604083850312156128b7576128b6612686565b5b60006128c58582860161270a565b92505060206128d68582860161270a565b9150509250929050565b600080604083850312156128f7576128f6612686565b5b6000612905858286016126d4565b9250506020612916858286016126d4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156129a65780860481111561298257612981612920565b5b60018516156129915780820291505b808102905061299f8561294f565b9450612966565b94509492505050565b6000826129bf5760019050612a7b565b816129cd5760009050612a7b565b81600181146129e357600281146129ed57612a1c565b6001915050612a7b565b60ff8411156129ff576129fe612920565b5b8360020a915084821115612a1657612a15612920565b5b50612a7b565b5060208310610133831016604e8410600b8410161715612a515782820a905083811115612a4c57612a4b612920565b5b612a7b565b612a5e848484600161295c565b92509050818404811115612a7557612a74612920565b5b81810290505b9392505050565b6000612a8d826126e9565b9150612a9883612812565b9250612ac57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846129af565b905092915050565b6000612ad8826126e9565b9150612ae3836126e9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b1c57612b1b612920565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b5d6020836125d6565b9150612b6882612b27565b602082019050919050565b60006020820190508181036000830152612b8c81612b50565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612bc96017836125d6565b9150612bd482612b93565b602082019050919050565b60006020820190508181036000830152612bf881612bbc565b9050919050565b600081519050612c0e816126bd565b92915050565b600060208284031215612c2a57612c29612686565b5b6000612c3884828501612bff565b91505092915050565b6000604082019050612c566000830185612876565b612c636020830184612876565b9392505050565b6000819050919050565b6000819050919050565b6000612c99612c94612c8f84612c6a565b612c74565b6126e9565b9050919050565b612ca981612c7e565b82525050565b600060c082019050612cc46000830189612876565b612cd16020830188612795565b612cde6040830187612ca0565b612ceb6060830186612ca0565b612cf86080830185612876565b612d0560a0830184612795565b979650505050505050565b600081519050612d1f816126f3565b92915050565b600080600060608486031215612d3e57612d3d612686565b5b6000612d4c86828701612d10565b9350506020612d5d86828701612d10565b9250506040612d6e86828701612d10565b9150509250925092565b6000604082019050612d8d6000830185612876565b612d9a6020830184612795565b9392505050565b612daa8161275f565b8114612db557600080fd5b50565b600081519050612dc781612da1565b92915050565b600060208284031215612de357612de2612686565b5b6000612df184828501612db8565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612e566024836125d6565b9150612e6182612dfa565b604082019050919050565b60006020820190508181036000830152612e8581612e49565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ee86022836125d6565b9150612ef382612e8c565b604082019050919050565b60006020820190508181036000830152612f1781612edb565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612f7a6025836125d6565b9150612f8582612f1e565b604082019050919050565b60006020820190508181036000830152612fa981612f6d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061300c6023836125d6565b915061301782612fb0565b604082019050919050565b6000602082019050818103600083015261303b81612fff565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061309e6029836125d6565b91506130a982613042565b604082019050919050565b600060208201905081810360008301526130cd81613091565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b60006131306024836125d6565b915061313b826130d4565b604082019050919050565b6000602082019050818103600083015261315f81613123565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061319c6019836125d6565b91506131a782613166565b602082019050919050565b600060208201905081810360008301526131cb8161318f565b9050919050565b60006131dd826126e9565b91506131e8836126e9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561321d5761321c612920565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061325e601a836125d6565b915061326982613228565b602082019050919050565b6000602082019050818103600083015261328d81613251565b9050919050565b600061329f826126e9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156132d2576132d1612920565b5b600182019050919050565b7f53656c6c6572206973206e6f7420627579657200000000000000000000000000600082015250565b60006133136013836125d6565b915061331e826132dd565b602082019050919050565b6000602082019050818103600083015261334281613306565b9050919050565b6000613354826126e9565b915061335f836126e9565b92508282101561337257613371612920565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613410816126ab565b82525050565b60006134228383613407565b60208301905092915050565b6000602082019050919050565b6000613446826133db565b61345081856133e6565b935061345b836133f7565b8060005b8381101561348c5781516134738882613416565b975061347e8361342e565b92505060018101905061345f565b5085935050505092915050565b600060a0820190506134ae6000830188612795565b6134bb6020830187612ca0565b81810360408301526134cd818661343b565b90506134dc6060830185612876565b6134e96080830184612795565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061352d826126e9565b9150613538836126e9565b925082613548576135476134f3565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006135af6021836125d6565b91506135ba82613553565b604082019050919050565b600060208201905081810360008301526135de816135a2565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061361b601b836125d6565b9150613626826135e5565b602082019050919050565b6000602082019050818103600083015261364a8161360e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d824446b694f9d62d97f68b90b911b58f257f08338d01fa49bfc4d91e779831164736f6c634300080c0033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80637d1db4a5116100ab578063bf474bed1161006f578063bf474bed14610413578063c11b66d01461043e578063c876d0b914610467578063c9567bf914610492578063cb711595146104a9578063dd62ed3e146104d257610140565b80637d1db4a51461032a5780638da5cb5b146103555780638f9a55c01461038057806395d89b41146103ab578063a9059cbb146103d657610140565b8063313ce567116100fd578063313ce567146102405780633bbac5791461026b57806351bc3c85146102a857806370a08231146102bf578063715018a6146102fc578063751039fc1461031357610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61050f565b6040516101679190612664565b60405180910390f35b34801561017c57600080fd5b506101976004803603810190610192919061271f565b61054c565b6040516101a4919061277a565b60405180910390f35b3480156101b957600080fd5b506101c261056a565b6040516101cf91906127a4565b60405180910390f35b3480156101e457600080fd5b506101ed610570565b6040516101fa91906127a4565b60405180910390f35b34801561020f57600080fd5b5061022a600480360381019061022591906127bf565b610597565b604051610237919061277a565b60405180910390f35b34801561024c57600080fd5b50610255610670565b604051610262919061282e565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612849565b610679565b60405161029f919061277a565b60405180910390f35b3480156102b457600080fd5b506102bd6106cf565b005b3480156102cb57600080fd5b506102e660048036038101906102e19190612849565b61076c565b6040516102f391906127a4565b60405180910390f35b34801561030857600080fd5b506103116107b5565b005b34801561031f57600080fd5b50610328610908565b005b34801561033657600080fd5b5061033f610a5c565b60405161034c91906127a4565b60405180910390f35b34801561036157600080fd5b5061036a610a62565b6040516103779190612885565b60405180910390f35b34801561038c57600080fd5b50610395610a8b565b6040516103a291906127a4565b60405180910390f35b3480156103b757600080fd5b506103c0610a91565b6040516103cd9190612664565b60405180910390f35b3480156103e257600080fd5b506103fd60048036038101906103f8919061271f565b610ace565b60405161040a919061277a565b60405180910390f35b34801561041f57600080fd5b50610428610aec565b60405161043591906127a4565b60405180910390f35b34801561044a57600080fd5b50610465600480360381019061046091906128a0565b610af2565b005b34801561047357600080fd5b5061047c610bc9565b604051610489919061277a565b60405180910390f35b34801561049e57600080fd5b506104a7610bdc565b005b3480156104b557600080fd5b506104d060048036038101906104cb9190612849565b611117565b005b3480156104de57600080fd5b506104f960048036038101906104f491906128e0565b61126a565b60405161050691906127a4565b60405180910390f35b60606040518060400160405280600e81526020017f5065706527732050657420436174000000000000000000000000000000000000815250905090565b60006105606105596112f1565b84846112f9565b6001905092915050565b60135481565b60006009600a6105809190612a82565b66017e9d8602b4006105929190612acd565b905090565b60006105a48484846114c4565b610665846105b06112f1565b6106608560405180606001604052806028815260200161365260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106166112f1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120609092919063ffffffff16565b6112f9565b600190509392505050565b60006009905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107106112f1565b73ffffffffffffffffffffffffffffffffffffffff161461073057600080fd5b600061073b3061076c565b905060008111156107505761074f816120c4565b5b600047905060008111156107685761076781612363565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107bd6112f1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461084a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084190612b73565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109106112f1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461099d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099490612b73565b60405180910390fd5b6009600a6109ab9190612a82565b66017e9d8602b4006109bd9190612acd565b6010819055506009600a6109d19190612a82565b66017e9d8602b4006109e39190612acd565b6011819055506000600760006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a339190612a82565b66017e9d8602b400610a459190612acd565b604051610a5291906127a4565b60405180910390a1565b60105481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600781526020017f2450616a616d6100000000000000000000000000000000000000000000000000815250905090565b6000610ae2610adb6112f1565b84846114c4565b6001905092915050565b60125481565b610afa6112f1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7e90612b73565b60405180910390fd5b6009600a610b959190612a82565b82610ba09190612acd565b6010819055506009600a610bb49190612a82565b81610bbf9190612acd565b6011819055505050565b600760009054906101000a900460ff1681565b610be46112f1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6890612b73565b60405180910390fd5b601560149054906101000a900460ff1615610cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb890612bdf565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d6230601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d4b9190612a82565b66017e9d8602b400610d5d9190612acd565b6112f9565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df39190612c14565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea09190612c14565b6040518363ffffffff1660e01b8152600401610ebd929190612c41565b6020604051808303816000875af1158015610edc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f009190612c14565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f893061076c565b600080610f94610a62565b426040518863ffffffff1660e01b8152600401610fb696959493929190612caf565b60606040518083038185885af1158015610fd4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ff99190612d25565b505050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161109b929190612d78565b6020604051808303816000875af11580156110ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110de9190612dcd565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b61111f6112f1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a390612b73565b60405180910390fd5b80600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611369576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136090612e6c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d090612efe565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114b791906127a4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152b90612f90565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159b90613022565b60405180910390fd5b600081116115e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115de906130b4565b60405180910390fd5b60006115f1610a62565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561165f575061162f610a62565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611da357600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117085750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61171157600080fd5b600760009054906101000a900460ff161561189e57601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117d25750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561189d5743600660003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184f90613146565b60405180910390fd5b43600660003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119495750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561199f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ad2576010548211156119e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e0906131b2565b60405180910390fd5b601154826119f68561076c565b611a0091906131d2565b1115611a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3890613274565b60405180910390fd5b600e54600f541015611a6157611a56836123cf565b15611a6057600080fd5b5b600f6000815480929190611a7490613294565b91905055506001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b611b0e6064611b00600c54600f5411611aed57600854611af1565b600a545b856123e290919063ffffffff16565b61245d90919063ffffffff16565b9050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b9957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611cbc57601054821115611be3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bda906131b2565b60405180910390fd5b611c1f6064611c11600d54600f5411611bfe57600954611c02565b600b545b856123e290919063ffffffff16565b61245d90919063ffffffff16565b9050600e54600f541180611c7c5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611cbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb290613329565b60405180910390fd5b5b6000611cc73061076c565b905060158054906101000a900460ff16158015611d315750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611d495750601560169054906101000a900460ff165b8015611d56575060125481115b8015611d655750600e54600f54115b15611da157611d87611d8284611d7d846013546124a7565b6124a7565b6120c4565b60004790506000811115611d9f57611d9e47612363565b5b505b505b6000811115611ea757611dfe81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124c090919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e9e91906127a4565b60405180910390a35b611ef982600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461251e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fa0611f52828461251e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124c090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612045848661251e90919063ffffffff16565b60405161205291906127a4565b60405180910390a350505050565b60008383111582906120a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209f9190612664565b60405180910390fd5b50600083856120b79190613349565b9050809150509392505050565b60016015806101000a81548160ff02191690831515021790555060008114156120ec57612346565b601560149054906101000a900460ff1661210557612346565b6000600267ffffffffffffffff8111156121225761212161337d565b5b6040519080825280602002602001820160405280156121505781602001602082028036833780820191505090505b5090503081600081518110612168576121676133ac565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561220f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122339190612c14565b81600181518110612247576122466133ac565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122ae30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112f9565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612312959493929190613499565b600060405180830381600087803b15801561232c57600080fd5b505af1158015612340573d6000803e3d6000fd5b50505050505b60006015806101000a81548160ff02191690831515021790555050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156123cb573d6000803e3d6000fd5b5050565b600080823b905060008111915050919050565b6000808314156123f55760009050612457565b600082846124039190612acd565b90508284826124129190613522565b14612452576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612449906135c5565b60405180910390fd5b809150505b92915050565b600061249f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612568565b905092915050565b60008183116124b657826124b8565b815b905092915050565b60008082846124cf91906131d2565b905083811015612514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250b90613631565b60405180910390fd5b8091505092915050565b600061256083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612060565b905092915050565b600080831182906125af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a69190612664565b60405180910390fd5b50600083856125be9190613522565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126055780820151818401526020810190506125ea565b83811115612614576000848401525b50505050565b6000601f19601f8301169050919050565b6000612636826125cb565b61264081856125d6565b93506126508185602086016125e7565b6126598161261a565b840191505092915050565b6000602082019050818103600083015261267e818461262b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126b68261268b565b9050919050565b6126c6816126ab565b81146126d157600080fd5b50565b6000813590506126e3816126bd565b92915050565b6000819050919050565b6126fc816126e9565b811461270757600080fd5b50565b600081359050612719816126f3565b92915050565b6000806040838503121561273657612735612686565b5b6000612744858286016126d4565b92505060206127558582860161270a565b9150509250929050565b60008115159050919050565b6127748161275f565b82525050565b600060208201905061278f600083018461276b565b92915050565b61279e816126e9565b82525050565b60006020820190506127b96000830184612795565b92915050565b6000806000606084860312156127d8576127d7612686565b5b60006127e6868287016126d4565b93505060206127f7868287016126d4565b92505060406128088682870161270a565b9150509250925092565b600060ff82169050919050565b61282881612812565b82525050565b6000602082019050612843600083018461281f565b92915050565b60006020828403121561285f5761285e612686565b5b600061286d848285016126d4565b91505092915050565b61287f816126ab565b82525050565b600060208201905061289a6000830184612876565b92915050565b600080604083850312156128b7576128b6612686565b5b60006128c58582860161270a565b92505060206128d68582860161270a565b9150509250929050565b600080604083850312156128f7576128f6612686565b5b6000612905858286016126d4565b9250506020612916858286016126d4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156129a65780860481111561298257612981612920565b5b60018516156129915780820291505b808102905061299f8561294f565b9450612966565b94509492505050565b6000826129bf5760019050612a7b565b816129cd5760009050612a7b565b81600181146129e357600281146129ed57612a1c565b6001915050612a7b565b60ff8411156129ff576129fe612920565b5b8360020a915084821115612a1657612a15612920565b5b50612a7b565b5060208310610133831016604e8410600b8410161715612a515782820a905083811115612a4c57612a4b612920565b5b612a7b565b612a5e848484600161295c565b92509050818404811115612a7557612a74612920565b5b81810290505b9392505050565b6000612a8d826126e9565b9150612a9883612812565b9250612ac57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846129af565b905092915050565b6000612ad8826126e9565b9150612ae3836126e9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b1c57612b1b612920565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b5d6020836125d6565b9150612b6882612b27565b602082019050919050565b60006020820190508181036000830152612b8c81612b50565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612bc96017836125d6565b9150612bd482612b93565b602082019050919050565b60006020820190508181036000830152612bf881612bbc565b9050919050565b600081519050612c0e816126bd565b92915050565b600060208284031215612c2a57612c29612686565b5b6000612c3884828501612bff565b91505092915050565b6000604082019050612c566000830185612876565b612c636020830184612876565b9392505050565b6000819050919050565b6000819050919050565b6000612c99612c94612c8f84612c6a565b612c74565b6126e9565b9050919050565b612ca981612c7e565b82525050565b600060c082019050612cc46000830189612876565b612cd16020830188612795565b612cde6040830187612ca0565b612ceb6060830186612ca0565b612cf86080830185612876565b612d0560a0830184612795565b979650505050505050565b600081519050612d1f816126f3565b92915050565b600080600060608486031215612d3e57612d3d612686565b5b6000612d4c86828701612d10565b9350506020612d5d86828701612d10565b9250506040612d6e86828701612d10565b9150509250925092565b6000604082019050612d8d6000830185612876565b612d9a6020830184612795565b9392505050565b612daa8161275f565b8114612db557600080fd5b50565b600081519050612dc781612da1565b92915050565b600060208284031215612de357612de2612686565b5b6000612df184828501612db8565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612e566024836125d6565b9150612e6182612dfa565b604082019050919050565b60006020820190508181036000830152612e8581612e49565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ee86022836125d6565b9150612ef382612e8c565b604082019050919050565b60006020820190508181036000830152612f1781612edb565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612f7a6025836125d6565b9150612f8582612f1e565b604082019050919050565b60006020820190508181036000830152612fa981612f6d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061300c6023836125d6565b915061301782612fb0565b604082019050919050565b6000602082019050818103600083015261303b81612fff565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061309e6029836125d6565b91506130a982613042565b604082019050919050565b600060208201905081810360008301526130cd81613091565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b60006131306024836125d6565b915061313b826130d4565b604082019050919050565b6000602082019050818103600083015261315f81613123565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061319c6019836125d6565b91506131a782613166565b602082019050919050565b600060208201905081810360008301526131cb8161318f565b9050919050565b60006131dd826126e9565b91506131e8836126e9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561321d5761321c612920565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061325e601a836125d6565b915061326982613228565b602082019050919050565b6000602082019050818103600083015261328d81613251565b9050919050565b600061329f826126e9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156132d2576132d1612920565b5b600182019050919050565b7f53656c6c6572206973206e6f7420627579657200000000000000000000000000600082015250565b60006133136013836125d6565b915061331e826132dd565b602082019050919050565b6000602082019050818103600083015261334281613306565b9050919050565b6000613354826126e9565b915061335f836126e9565b92508282101561337257613371612920565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613410816126ab565b82525050565b60006134228383613407565b60208301905092915050565b6000602082019050919050565b6000613446826133db565b61345081856133e6565b935061345b836133f7565b8060005b8381101561348c5781516134738882613416565b975061347e8361342e565b92505060018101905061345f565b5085935050505092915050565b600060a0820190506134ae6000830188612795565b6134bb6020830187612ca0565b81810360408301526134cd818661343b565b90506134dc6060830185612876565b6134e96080830184612795565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061352d826126e9565b9150613538836126e9565b925082613548576135476134f3565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006135af6021836125d6565b91506135ba82613553565b604082019050919050565b600060208201905081810360008301526135de816135a2565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061361b601b836125d6565b9150613626826135e5565b602082019050919050565b6000602082019050818103600083015261364a8161360e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d824446b694f9d62d97f68b90b911b58f257f08338d01fa49bfc4d91e779831164736f6c634300080c0033

Deployed Bytecode Sourcemap

3814:9021:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5828:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6661:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5099:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6105:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6830:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6014:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11454;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12464:348;;;;;;;;;;;;;:::i;:::-;;6208:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2895:148;;;;;;;;;;;;;:::i;:::-;;10785:196;;;;;;;;;;;;;:::i;:::-;;4903:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2681:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4971:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5919:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6335:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5039:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10987:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4260:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11545:671;;;;;;;;;;;;;:::i;:::-;;11193:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6510:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5828:83;5865:13;5898:5;;;;;;;;;;;;;;;;;5891:12;;5828:83;:::o;6661:161::-;6736:4;6753:39;6762:12;:10;:12::i;:::-;6776:7;6785:6;6753:8;:39::i;:::-;6810:4;6803:11;;6661:161;;;;:::o;5099:56::-;;;;:::o;6105:95::-;6158:7;4703:1;4764:2;:13;;;;:::i;:::-;4746:15;:31;;;;:::i;:::-;6178:14;;6105:95;:::o;6830:313::-;6928:4;6945:36;6955:6;6963:9;6974:6;6945:9;:36::i;:::-;6992:121;7001:6;7009:12;:10;:12::i;:::-;7023:89;7061:6;7023:89;;;;;;;;;;;;;;;;;:11;:19;7035:6;7023:19;;;;;;;;;;;;;;;:33;7043:12;:10;:12::i;:::-;7023:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6992:8;:121::i;:::-;7131:4;7124:11;;6830:313;;;;;:::o;6014:83::-;6055:5;4703:1;6073:16;;6014:83;:::o;11454:::-;11501:4;11522;:7;11527:1;11522:7;;;;;;;;;;;;;;;;;;;;;;;;;11515:14;;11454:83;;;:::o;12464:348::-;12528:10;;;;;;;;;;;12514:24;;:12;:10;:12::i;:::-;:24;;;12506:33;;;;;;12550:20;12571:24;12589:4;12571:9;:24::i;:::-;12550:45;;12622:1;12609:12;:14;12606:73;;;12637:30;12654:12;12637:16;:30::i;:::-;12606:73;12689:18;12708:21;12689:40;;12754:1;12743:10;:12;12740:65;;;12769:24;12782:10;12769:12;:24::i;:::-;12740:65;12495:317;;12464:348::o;6208:119::-;6274:7;6301:9;:18;6311:7;6301:18;;;;;;;;;;;;;;;;6294:25;;6208:119;;;:::o;2895:148::-;2818:12;:10;:12::i;:::-;2808:22;;:6;;;;;;;;;;:22;;;2800:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3002:1:::1;2965:40;;2986:6;::::0;::::1;;;;;;;;2965:40;;;;;;;;;;;;3033:1;3016:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2895:148::o:0;10785:196::-;2818:12;:10;:12::i;:::-;2808:22;;:6;;;;;;;;;;:22;;;2800:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4703:1:::1;4764:2;:13;;;;:::i;:::-;4746:15;:31;;;;:::i;:::-;10838:12;:22;;;;4703:1;4764:2;:13;;;;:::i;:::-;4746:15;:31;;;;:::i;:::-;10871:14;:22;;;;10925:5;10904:20;;:26;;;;;;;;;;;;;;;;;;10946:27;4703:1;4764:2;:13;;;;:::i;:::-;4746:15;:31;;;;:::i;:::-;10946:27;;;;;;:::i;:::-;;;;;;;;10785:196::o:0;4903:61::-;;;;:::o;2681:79::-;2719:7;2746:6;;;;;;;;;;;2739:13;;2681:79;:::o;4971:61::-;;;;:::o;5919:87::-;5958:13;5991:7;;;;;;;;;;;;;;;;;5984:14;;5919:87;:::o;6335:167::-;6413:4;6430:42;6440:12;:10;:12::i;:::-;6454:9;6465:6;6430:9;:42::i;:::-;6490:4;6483:11;;6335:167;;;;:::o;5039:53::-;;;;:::o;10987:200::-;2818:12;:10;:12::i;:::-;2808:22;;:6;;;;;;;;;;:22;;;2800:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4703:1:::1;11103:2;:13;;;;:::i;:::-;11095:5;:21;;;;:::i;:::-;11080:12;:36;;;;4703:1;11156:2;:13;;;;:::i;:::-;11144:9;:25;;;;:::i;:::-;11127:14;:42;;;;10987:200:::0;;:::o;4260:40::-;;;;;;;;;;;;;:::o;11545:671::-;2818:12;:10;:12::i;:::-;2808:22;;:6;;;;;;;;;;:22;;;2800:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11609:11:::1;;;;;;;;;;;11608:12;11600:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11695:42;11658:15;;:80;;;;;;;;;;;;;;;;;;11749:58;11766:4;11781:15;;;;;;;;;;;4703:1;4764:2;:13;;;;:::i;:::-;4746:15;:31;;;;:::i;:::-;11749:8;:58::i;:::-;11852:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11834:55;;;11898:4;11905:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11834:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11818:13;;:110;;;;;;;;;;;;;;;;;;11939:15;;;;;;;;;;;:31;;;11978:21;12009:4;12015:24;12033:4;12015:9;:24::i;:::-;12040:1;12042::::0;12044:7:::1;:5;:7::i;:::-;12052:15;11939:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12086:13;;;;;;;;;;;12079:29;;;12117:15;;;;;;;;;;;12135:14;12079:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12175:4;12161:11;;:18;;;;;;;;;;;;;;;;;;12204:4;12190:11;;:18;;;;;;;;;;;;;;;;;;11545:671::o:0;11193:155::-;2818:12;:10;:12::i;:::-;2808:22;;:6;;;;;;;;;;:22;;;2800:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11286:7:::1;11265:10;;:29;;;;;;;;;;;;;;;;;;11336:4;11305:18;:30;11324:10;;;;;;;;;;;11305:30;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;11193:155:::0;:::o;6510:143::-;6591:7;6618:11;:18;6630:5;6618:18;;;;;;;;;;;;;;;:27;6637:7;6618:27;;;;;;;;;;;;;;;;6611:34;;6510:143;;;;:::o;436:98::-;489:7;516:10;509:17;;436:98;:::o;7151:335::-;7261:1;7244:19;;:5;:19;;;;7236:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7342:1;7323:21;;:7;:21;;;;7315:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7424:6;7394:11;:18;7406:5;7394:18;;;;;;;;;;;;;;;:27;7413:7;7394:27;;;;;;;;;;;;;;;:36;;;;7462:7;7446:32;;7455:5;7446:32;;;7471:6;7446:32;;;;;;:::i;:::-;;;;;;;;7151:335;;;:::o;7494:2612::-;7598:1;7582:18;;:4;:18;;;;7574:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7675:1;7661:16;;:2;:16;;;;7653:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7745:1;7736:6;:10;7728:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7803:17;7845:7;:5;:7::i;:::-;7837:15;;:4;:15;;;;:32;;;;;7862:7;:5;:7::i;:::-;7856:13;;:2;:13;;;;7837:32;7833:1917;;;7895:4;:10;7900:4;7895:10;;;;;;;;;;;;;;;;;;;;;;;;;7894:11;:24;;;;;7910:4;:8;7915:2;7910:8;;;;;;;;;;;;;;;;;;;;;;;;;7909:9;7894:24;7886:33;;;;;;7940:20;;;;;;;;;;;7936:346;;;7999:15;;;;;;;;;;;7985:30;;:2;:30;;;;:62;;;;;8033:13;;;;;;;;;;;8019:28;;:2;:28;;;;7985:62;7981:286;;;8120:12;8078:28;:39;8107:9;8078:39;;;;;;;;;;;;;;;;:54;8070:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;8235:12;8193:28;:39;8222:9;8193:39;;;;;;;;;;;;;;;:54;;;;7981:286;7936:346;8310:13;;;;;;;;;;;8302:21;;:4;:21;;;:55;;;;;8341:15;;;;;;;;;;;8327:30;;:2;:30;;;;8302:55;:83;;;;;8363:18;:22;8382:2;8363:22;;;;;;;;;;;;;;;;;;;;;;;;;8361:24;8302:83;8298:465;;;8425:12;;8415:6;:22;;8407:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8520:14;;8510:6;8494:13;8504:2;8494:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8486:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8597:18;;8587:9;;:28;8584:97;;;8646:14;8657:2;8646:10;:14::i;:::-;8645:15;8637:24;;;;;;8584:97;8699:9;;:11;;;;;;;;;:::i;:::-;;;;;;8743:4;8729:9;:13;8739:2;8729:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;;;;;;;;8298:465;8793:76;8865:3;8793:67;8815:15;;8805:9;;:25;8804:55;;8845:14;;8804:55;;;8832:12;;8804:55;8793:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8781:88;;8893:13;;;;;;;;;;;8887:19;;:2;:19;;;:43;;;;;8925:4;8910:20;;:4;:20;;;;8887:43;8884:350;;;8969:12;;8959:6;:22;;8951:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9042:79;9117:3;9042:70;9064:16;;9054:9;;:26;9053:58;;9096:15;;9053:58;;;9082:13;;9053:58;9042:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;9030:91;;9158:18;;9148:9;;:28;:47;;;;9180:9;:15;9190:4;9180:15;;;;;;;;;;;;;;;;;;;;;;;;;9148:47;9140:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;8884:350;9250:28;9281:24;9299:4;9281:9;:24::i;:::-;9250:55;;9325:6;;;;;;;;;;9324:7;:30;;;;;9341:13;;;;;;;;;;;9335:19;;:2;:19;;;9324:30;:45;;;;;9358:11;;;;;;;;;;;9324:45;:87;;;;;9394:17;;9373:20;:38;9324:87;:119;;;;;9425:18;;9415:9;;:28;9324:119;9320:419;;;9464:67;9481:49;9485:6;9492:37;9496:20;9517:11;;9492:3;:37::i;:::-;9481:3;:49::i;:::-;9464:16;:67::i;:::-;9550:26;9579:21;9550:50;;9643:1;9622:18;:22;9619:105;;;9669:35;9682:21;9669:12;:35::i;:::-;9619:105;9445:294;9320:419;7871:1879;7833:1917;9775:1;9765:9;:11;9762:161;;;9815:39;9844:9;9815;:24;9833:4;9815:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9790:9;:24;9808:4;9790:24;;;;;;;;;;;;;;;:64;;;;9895:4;9872:39;;9881:4;9872:39;;;9901:9;9872:39;;;;;;:::i;:::-;;;;;;;;9762:161;9949:27;9969:6;9949:9;:15;9959:4;9949:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9933:9;:15;9943:4;9933:15;;;;;;;;;;;;;;;:43;;;;10001:40;10019:21;10030:9;10019:6;:10;;:21;;;;:::i;:::-;10001:9;:13;10011:2;10001:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9987:9;:13;9997:2;9987:13;;;;;;;;;;;;;;;:54;;;;10072:2;10057:41;;10066:4;10057:41;;;10076:21;10087:9;10076:6;:10;;:21;;;;:::i;:::-;10057:41;;;;;;:::i;:::-;;;;;;;;7563:2543;7494:2612;;;:::o;1573:190::-;1659:7;1692:1;1687;:6;;1695:12;1679:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1719:9;1735:1;1731;:5;;;;:::i;:::-;1719:17;;1754:1;1747:8;;;1573:190;;;;;:::o;10222:555::-;5446:4;5437:6;;:13;;;;;;;;;;;;;;;;;;10316:1:::1;10303:11;:14;10300:27;;;10319:7;;10300:27;10341:11;;;;;;;;;;;10337:25;;10354:7;;10337:25;10372:21;10410:1;10396:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10372:40;;10441:4;10423;10428:1;10423:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10467:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10457:4;10462:1;10457:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10500:62;10517:4;10532:15;;;;;;;;;;;10550:11;10500:8;:62::i;:::-;10573:15;;;;;;;;;;;:66;;;10654:11;10680:1;10696:4;10723;10743:15;10573:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10289:488;5461:1;5482:5:::0;5473:6;;:14;;;;;;;;;;;;;;;;;;10222:555;:::o;11354:92::-;11411:10;;;;;;;;;;;:19;;:27;11431:6;11411:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11354:92;:::o;12261:195::-;12320:4;12337:12;12404:7;12392:20;12384:28;;12447:1;12440:4;:8;12433:15;;;12261:195;;;:::o;1771:246::-;1829:7;1858:1;1853;:6;1849:47;;;1883:1;1876:8;;;;1849:47;1906:9;1922:1;1918;:5;;;;:::i;:::-;1906:17;;1951:1;1946;1942;:5;;;;:::i;:::-;:10;1934:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2008:1;2001:8;;;1771:246;;;;;:::o;2025:132::-;2083:7;2110:39;2114:1;2117;2110:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2103:46;;2025:132;;;;:::o;10116:98::-;10173:7;10200:1;10198;:3;10197:9;;10205:1;10197:9;;;10203:1;10197:9;10190:16;;10116:98;;;;:::o;1242:179::-;1300:7;1320:9;1336:1;1332;:5;;;;:::i;:::-;1320:17;;1361:1;1356;:6;;1348:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1412:1;1405:8;;;1242:179;;;;:::o;1429:136::-;1487:7;1514:43;1518:1;1521;1514:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1507:50;;1429:136;;;;:::o;2165:189::-;2251:7;2283:1;2279;:5;2286:12;2271:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2310:9;2326:1;2322;:5;;;;:::i;:::-;2310:17;;2345:1;2338:8;;;2165:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:118::-;5323:24;5341:5;5323:24;:::i;:::-;5318:3;5311:37;5236:118;;:::o;5360:222::-;5453:4;5491:2;5480:9;5476:18;5468:26;;5504:71;5572:1;5561:9;5557:17;5548:6;5504:71;:::i;:::-;5360:222;;;;:::o;5588:474::-;5656:6;5664;5713:2;5701:9;5692:7;5688:23;5684:32;5681:119;;;5719:79;;:::i;:::-;5681:119;5839:1;5864:53;5909:7;5900:6;5889:9;5885:22;5864:53;:::i;:::-;5854:63;;5810:117;5966:2;5992:53;6037:7;6028:6;6017:9;6013:22;5992:53;:::i;:::-;5982:63;;5937:118;5588:474;;;;;:::o;6068:::-;6136:6;6144;6193:2;6181:9;6172:7;6168:23;6164:32;6161:119;;;6199:79;;:::i;:::-;6161:119;6319:1;6344:53;6389:7;6380:6;6369:9;6365:22;6344:53;:::i;:::-;6334:63;;6290:117;6446:2;6472:53;6517:7;6508:6;6497:9;6493:22;6472:53;:::i;:::-;6462:63;;6417:118;6068:474;;;;;:::o;6548:180::-;6596:77;6593:1;6586:88;6693:4;6690:1;6683:15;6717:4;6714:1;6707:15;6734:102;6776:8;6823:5;6820:1;6816:13;6795:34;;6734:102;;;:::o;6842:848::-;6903:5;6910:4;6934:6;6925:15;;6958:5;6949:14;;6972:712;6993:1;6983:8;6980:15;6972:712;;;7088:4;7083:3;7079:14;7073:4;7070:24;7067:50;;;7097:18;;:::i;:::-;7067:50;7147:1;7137:8;7133:16;7130:451;;;7562:4;7555:5;7551:16;7542:25;;7130:451;7612:4;7606;7602:15;7594:23;;7642:32;7665:8;7642:32;:::i;:::-;7630:44;;6972:712;;;6842:848;;;;;;;:::o;7696:1073::-;7750:5;7941:8;7931:40;;7962:1;7953:10;;7964:5;;7931:40;7990:4;7980:36;;8007:1;7998:10;;8009:5;;7980:36;8076:4;8124:1;8119:27;;;;8160:1;8155:191;;;;8069:277;;8119:27;8137:1;8128:10;;8139:5;;;8155:191;8200:3;8190:8;8187:17;8184:43;;;8207:18;;:::i;:::-;8184:43;8256:8;8253:1;8249:16;8240:25;;8291:3;8284:5;8281:14;8278:40;;;8298:18;;:::i;:::-;8278:40;8331:5;;;8069:277;;8455:2;8445:8;8442:16;8436:3;8430:4;8427:13;8423:36;8405:2;8395:8;8392:16;8387:2;8381:4;8378:12;8374:35;8358:111;8355:246;;;8511:8;8505:4;8501:19;8492:28;;8546:3;8539:5;8536:14;8533:40;;;8553:18;;:::i;:::-;8533:40;8586:5;;8355:246;8626:42;8664:3;8654:8;8648:4;8645:1;8626:42;:::i;:::-;8611:57;;;;8700:4;8695:3;8691:14;8684:5;8681:25;8678:51;;;8709:18;;:::i;:::-;8678:51;8758:4;8751:5;8747:16;8738:25;;7696:1073;;;;;;:::o;8775:281::-;8833:5;8857:23;8875:4;8857:23;:::i;:::-;8849:31;;8901:25;8917:8;8901:25;:::i;:::-;8889:37;;8945:104;8982:66;8972:8;8966:4;8945:104;:::i;:::-;8936:113;;8775:281;;;;:::o;9062:348::-;9102:7;9125:20;9143:1;9125:20;:::i;:::-;9120:25;;9159:20;9177:1;9159:20;:::i;:::-;9154:25;;9347:1;9279:66;9275:74;9272:1;9269:81;9264:1;9257:9;9250:17;9246:105;9243:131;;;9354:18;;:::i;:::-;9243:131;9402:1;9399;9395:9;9384:20;;9062:348;;;;:::o;9416:182::-;9556:34;9552:1;9544:6;9540:14;9533:58;9416:182;:::o;9604:366::-;9746:3;9767:67;9831:2;9826:3;9767:67;:::i;:::-;9760:74;;9843:93;9932:3;9843:93;:::i;:::-;9961:2;9956:3;9952:12;9945:19;;9604:366;;;:::o;9976:419::-;10142:4;10180:2;10169:9;10165:18;10157:26;;10229:9;10223:4;10219:20;10215:1;10204:9;10200:17;10193:47;10257:131;10383:4;10257:131;:::i;:::-;10249:139;;9976:419;;;:::o;10401:173::-;10541:25;10537:1;10529:6;10525:14;10518:49;10401:173;:::o;10580:366::-;10722:3;10743:67;10807:2;10802:3;10743:67;:::i;:::-;10736:74;;10819:93;10908:3;10819:93;:::i;:::-;10937:2;10932:3;10928:12;10921:19;;10580:366;;;:::o;10952:419::-;11118:4;11156:2;11145:9;11141:18;11133:26;;11205:9;11199:4;11195:20;11191:1;11180:9;11176:17;11169:47;11233:131;11359:4;11233:131;:::i;:::-;11225:139;;10952:419;;;:::o;11377:143::-;11434:5;11465:6;11459:13;11450:22;;11481:33;11508:5;11481:33;:::i;:::-;11377:143;;;;:::o;11526:351::-;11596:6;11645:2;11633:9;11624:7;11620:23;11616:32;11613:119;;;11651:79;;:::i;:::-;11613:119;11771:1;11796:64;11852:7;11843:6;11832:9;11828:22;11796:64;:::i;:::-;11786:74;;11742:128;11526:351;;;;:::o;11883:332::-;12004:4;12042:2;12031:9;12027:18;12019:26;;12055:71;12123:1;12112:9;12108:17;12099:6;12055:71;:::i;:::-;12136:72;12204:2;12193:9;12189:18;12180:6;12136:72;:::i;:::-;11883:332;;;;;:::o;12221:85::-;12266:7;12295:5;12284:16;;12221:85;;;:::o;12312:60::-;12340:3;12361:5;12354:12;;12312:60;;;:::o;12378:158::-;12436:9;12469:61;12487:42;12496:32;12522:5;12496:32;:::i;:::-;12487:42;:::i;:::-;12469:61;:::i;:::-;12456:74;;12378:158;;;:::o;12542:147::-;12637:45;12676:5;12637:45;:::i;:::-;12632:3;12625:58;12542:147;;:::o;12695:807::-;12944:4;12982:3;12971:9;12967:19;12959:27;;12996:71;13064:1;13053:9;13049:17;13040:6;12996:71;:::i;:::-;13077:72;13145:2;13134:9;13130:18;13121:6;13077:72;:::i;:::-;13159:80;13235:2;13224:9;13220:18;13211:6;13159:80;:::i;:::-;13249;13325:2;13314:9;13310:18;13301:6;13249:80;:::i;:::-;13339:73;13407:3;13396:9;13392:19;13383:6;13339:73;:::i;:::-;13422;13490:3;13479:9;13475:19;13466:6;13422:73;:::i;:::-;12695:807;;;;;;;;;:::o;13508:143::-;13565:5;13596:6;13590:13;13581:22;;13612:33;13639:5;13612:33;:::i;:::-;13508:143;;;;:::o;13657:663::-;13745:6;13753;13761;13810:2;13798:9;13789:7;13785:23;13781:32;13778:119;;;13816:79;;:::i;:::-;13778:119;13936:1;13961:64;14017:7;14008:6;13997:9;13993:22;13961:64;:::i;:::-;13951:74;;13907:128;14074:2;14100:64;14156:7;14147:6;14136:9;14132:22;14100:64;:::i;:::-;14090:74;;14045:129;14213:2;14239:64;14295:7;14286:6;14275:9;14271:22;14239:64;:::i;:::-;14229:74;;14184:129;13657:663;;;;;:::o;14326:332::-;14447:4;14485:2;14474:9;14470:18;14462:26;;14498:71;14566:1;14555:9;14551:17;14542:6;14498:71;:::i;:::-;14579:72;14647:2;14636:9;14632:18;14623:6;14579:72;:::i;:::-;14326:332;;;;;:::o;14664:116::-;14734:21;14749:5;14734:21;:::i;:::-;14727:5;14724:32;14714:60;;14770:1;14767;14760:12;14714:60;14664:116;:::o;14786:137::-;14840:5;14871:6;14865:13;14856:22;;14887:30;14911:5;14887:30;:::i;:::-;14786:137;;;;:::o;14929:345::-;14996:6;15045:2;15033:9;15024:7;15020:23;15016:32;15013:119;;;15051:79;;:::i;:::-;15013:119;15171:1;15196:61;15249:7;15240:6;15229:9;15225:22;15196:61;:::i;:::-;15186:71;;15142:125;14929:345;;;;:::o;15280:223::-;15420:34;15416:1;15408:6;15404:14;15397:58;15489:6;15484:2;15476:6;15472:15;15465:31;15280:223;:::o;15509:366::-;15651:3;15672:67;15736:2;15731:3;15672:67;:::i;:::-;15665:74;;15748:93;15837:3;15748:93;:::i;:::-;15866:2;15861:3;15857:12;15850:19;;15509:366;;;:::o;15881:419::-;16047:4;16085:2;16074:9;16070:18;16062:26;;16134:9;16128:4;16124:20;16120:1;16109:9;16105:17;16098:47;16162:131;16288:4;16162:131;:::i;:::-;16154:139;;15881:419;;;:::o;16306:221::-;16446:34;16442:1;16434:6;16430:14;16423:58;16515:4;16510:2;16502:6;16498:15;16491:29;16306:221;:::o;16533:366::-;16675:3;16696:67;16760:2;16755:3;16696:67;:::i;:::-;16689:74;;16772:93;16861:3;16772:93;:::i;:::-;16890:2;16885:3;16881:12;16874:19;;16533:366;;;:::o;16905:419::-;17071:4;17109:2;17098:9;17094:18;17086:26;;17158:9;17152:4;17148:20;17144:1;17133:9;17129:17;17122:47;17186:131;17312:4;17186:131;:::i;:::-;17178:139;;16905:419;;;:::o;17330:224::-;17470:34;17466:1;17458:6;17454:14;17447:58;17539:7;17534:2;17526:6;17522:15;17515:32;17330:224;:::o;17560:366::-;17702:3;17723:67;17787:2;17782:3;17723:67;:::i;:::-;17716:74;;17799:93;17888:3;17799:93;:::i;:::-;17917:2;17912:3;17908:12;17901:19;;17560:366;;;:::o;17932:419::-;18098:4;18136:2;18125:9;18121:18;18113:26;;18185:9;18179:4;18175:20;18171:1;18160:9;18156:17;18149:47;18213:131;18339:4;18213:131;:::i;:::-;18205:139;;17932:419;;;:::o;18357:222::-;18497:34;18493:1;18485:6;18481:14;18474:58;18566:5;18561:2;18553:6;18549:15;18542:30;18357:222;:::o;18585:366::-;18727:3;18748:67;18812:2;18807:3;18748:67;:::i;:::-;18741:74;;18824:93;18913:3;18824:93;:::i;:::-;18942:2;18937:3;18933:12;18926:19;;18585:366;;;:::o;18957:419::-;19123:4;19161:2;19150:9;19146:18;19138:26;;19210:9;19204:4;19200:20;19196:1;19185:9;19181:17;19174:47;19238:131;19364:4;19238:131;:::i;:::-;19230:139;;18957:419;;;:::o;19382:228::-;19522:34;19518:1;19510:6;19506:14;19499:58;19591:11;19586:2;19578:6;19574:15;19567:36;19382:228;:::o;19616:366::-;19758:3;19779:67;19843:2;19838:3;19779:67;:::i;:::-;19772:74;;19855:93;19944:3;19855:93;:::i;:::-;19973:2;19968:3;19964:12;19957:19;;19616:366;;;:::o;19988:419::-;20154:4;20192:2;20181:9;20177:18;20169:26;;20241:9;20235:4;20231:20;20227:1;20216:9;20212:17;20205:47;20269:131;20395:4;20269:131;:::i;:::-;20261:139;;19988:419;;;:::o;20413:223::-;20553:34;20549:1;20541:6;20537:14;20530:58;20622:6;20617:2;20609:6;20605:15;20598:31;20413:223;:::o;20642:366::-;20784:3;20805:67;20869:2;20864:3;20805:67;:::i;:::-;20798:74;;20881:93;20970:3;20881:93;:::i;:::-;20999:2;20994:3;20990:12;20983:19;;20642:366;;;:::o;21014:419::-;21180:4;21218:2;21207:9;21203:18;21195:26;;21267:9;21261:4;21257:20;21253:1;21242:9;21238:17;21231:47;21295:131;21421:4;21295:131;:::i;:::-;21287:139;;21014:419;;;:::o;21439:175::-;21579:27;21575:1;21567:6;21563:14;21556:51;21439:175;:::o;21620:366::-;21762:3;21783:67;21847:2;21842:3;21783:67;:::i;:::-;21776:74;;21859:93;21948:3;21859:93;:::i;:::-;21977:2;21972:3;21968:12;21961:19;;21620:366;;;:::o;21992:419::-;22158:4;22196:2;22185:9;22181:18;22173:26;;22245:9;22239:4;22235:20;22231:1;22220:9;22216:17;22209:47;22273:131;22399:4;22273:131;:::i;:::-;22265:139;;21992:419;;;:::o;22417:305::-;22457:3;22476:20;22494:1;22476:20;:::i;:::-;22471:25;;22510:20;22528:1;22510:20;:::i;:::-;22505:25;;22664:1;22596:66;22592:74;22589:1;22586:81;22583:107;;;22670:18;;:::i;:::-;22583:107;22714:1;22711;22707:9;22700:16;;22417:305;;;;:::o;22728:176::-;22868:28;22864:1;22856:6;22852:14;22845:52;22728:176;:::o;22910:366::-;23052:3;23073:67;23137:2;23132:3;23073:67;:::i;:::-;23066:74;;23149:93;23238:3;23149:93;:::i;:::-;23267:2;23262:3;23258:12;23251:19;;22910:366;;;:::o;23282:419::-;23448:4;23486:2;23475:9;23471:18;23463:26;;23535:9;23529:4;23525:20;23521:1;23510:9;23506:17;23499:47;23563:131;23689:4;23563:131;:::i;:::-;23555:139;;23282:419;;;:::o;23707:233::-;23746:3;23769:24;23787:5;23769:24;:::i;:::-;23760:33;;23815:66;23808:5;23805:77;23802:103;;;23885:18;;:::i;:::-;23802:103;23932:1;23925:5;23921:13;23914:20;;23707:233;;;:::o;23946:169::-;24086:21;24082:1;24074:6;24070:14;24063:45;23946:169;:::o;24121:366::-;24263:3;24284:67;24348:2;24343:3;24284:67;:::i;:::-;24277:74;;24360:93;24449:3;24360:93;:::i;:::-;24478:2;24473:3;24469:12;24462:19;;24121:366;;;:::o;24493:419::-;24659:4;24697:2;24686:9;24682:18;24674:26;;24746:9;24740:4;24736:20;24732:1;24721:9;24717:17;24710:47;24774:131;24900:4;24774:131;:::i;:::-;24766:139;;24493:419;;;:::o;24918:191::-;24958:4;24978:20;24996:1;24978:20;:::i;:::-;24973:25;;25012:20;25030:1;25012:20;:::i;:::-;25007:25;;25051:1;25048;25045:8;25042:34;;;25056:18;;:::i;:::-;25042:34;25101:1;25098;25094:9;25086:17;;24918:191;;;;:::o;25115:180::-;25163:77;25160:1;25153:88;25260:4;25257:1;25250:15;25284:4;25281:1;25274:15;25301:180;25349:77;25346:1;25339:88;25446:4;25443:1;25436:15;25470:4;25467:1;25460:15;25487:114;25554:6;25588:5;25582:12;25572:22;;25487:114;;;:::o;25607:184::-;25706:11;25740:6;25735:3;25728:19;25780:4;25775:3;25771:14;25756:29;;25607:184;;;;:::o;25797:132::-;25864:4;25887:3;25879:11;;25917:4;25912:3;25908:14;25900:22;;25797:132;;;:::o;25935:108::-;26012:24;26030:5;26012:24;:::i;:::-;26007:3;26000:37;25935:108;;:::o;26049:179::-;26118:10;26139:46;26181:3;26173:6;26139:46;:::i;:::-;26217:4;26212:3;26208:14;26194:28;;26049:179;;;;:::o;26234:113::-;26304:4;26336;26331:3;26327:14;26319:22;;26234:113;;;:::o;26383:732::-;26502:3;26531:54;26579:5;26531:54;:::i;:::-;26601:86;26680:6;26675:3;26601:86;:::i;:::-;26594:93;;26711:56;26761:5;26711:56;:::i;:::-;26790:7;26821:1;26806:284;26831:6;26828:1;26825:13;26806:284;;;26907:6;26901:13;26934:63;26993:3;26978:13;26934:63;:::i;:::-;26927:70;;27020:60;27073:6;27020:60;:::i;:::-;27010:70;;26866:224;26853:1;26850;26846:9;26841:14;;26806:284;;;26810:14;27106:3;27099:10;;26507:608;;;26383:732;;;;:::o;27121:831::-;27384:4;27422:3;27411:9;27407:19;27399:27;;27436:71;27504:1;27493:9;27489:17;27480:6;27436:71;:::i;:::-;27517:80;27593:2;27582:9;27578:18;27569:6;27517:80;:::i;:::-;27644:9;27638:4;27634:20;27629:2;27618:9;27614:18;27607:48;27672:108;27775:4;27766:6;27672:108;:::i;:::-;27664:116;;27790:72;27858:2;27847:9;27843:18;27834:6;27790:72;:::i;:::-;27872:73;27940:3;27929:9;27925:19;27916:6;27872:73;:::i;:::-;27121:831;;;;;;;;:::o;27958:180::-;28006:77;28003:1;27996:88;28103:4;28100:1;28093:15;28127:4;28124:1;28117:15;28144:185;28184:1;28201:20;28219:1;28201:20;:::i;:::-;28196:25;;28235:20;28253:1;28235:20;:::i;:::-;28230:25;;28274:1;28264:35;;28279:18;;:::i;:::-;28264:35;28321:1;28318;28314:9;28309:14;;28144:185;;;;:::o;28335:220::-;28475:34;28471:1;28463:6;28459:14;28452:58;28544:3;28539:2;28531:6;28527:15;28520:28;28335:220;:::o;28561:366::-;28703:3;28724:67;28788:2;28783:3;28724:67;:::i;:::-;28717:74;;28800:93;28889:3;28800:93;:::i;:::-;28918:2;28913:3;28909:12;28902:19;;28561:366;;;:::o;28933:419::-;29099:4;29137:2;29126:9;29122:18;29114:26;;29186:9;29180:4;29176:20;29172:1;29161:9;29157:17;29150:47;29214:131;29340:4;29214:131;:::i;:::-;29206:139;;28933:419;;;:::o;29358:177::-;29498:29;29494:1;29486:6;29482:14;29475:53;29358:177;:::o;29541:366::-;29683:3;29704:67;29768:2;29763:3;29704:67;:::i;:::-;29697:74;;29780:93;29869:3;29780:93;:::i;:::-;29898:2;29893:3;29889:12;29882:19;;29541:366;;;:::o;29913:419::-;30079:4;30117:2;30106:9;30102:18;30094:26;;30166:9;30160:4;30156:20;30152:1;30141:9;30137:17;30130:47;30194:131;30320:4;30194:131;:::i;:::-;30186:139;;29913:419;;;:::o

Swarm Source

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