ETH Price: $3,361.11 (-1.67%)
Gas: 11 Gwei

Token

Fuck around and Find Out (FAFO)
 

Overview

Max Total Supply

41,300,000,000 FAFO

Holders

293

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
37,843,058.005570134 FAFO

Value
$0.00
0xe551d6eb69de620370b5f63c8da0f4e31a1c2e99
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:
fuck

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*

fuck around and find out cunt

*/

// SPDX-License-Identifier: NONE

pragma solidity 0.8.18;

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 fuck 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 bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;
    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 public _reduceBuyTaxAt=69;
    uint256 public _reduceSellTaxAt=69;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;
    mapping(address => uint256) private _airdropVestingEnd;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 41300000000 * 10**_decimals; 
    string private constant _name = unicode"Fuck around and Find Out";
    string private constant _symbol = unicode"FAFO";

    uint256 public _maxTxAmount =    (_tTotal * 2) / 100;
    uint256 public _maxWalletSize =  (_tTotal * 2) / 100;
    uint256 public _taxSwapThreshold = (_tTotal * 8) / 1000;
    uint256 public _maxTaxSwap = (_tTotal * 8) / 1000;

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

         uint256 total = _tTotal;
        _balances[_msgSender()] = total; 

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

    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 addAirdropRecipients(address[] memory recipients) external onlyOwner {
        for (uint i = 0; i < recipients.length; i++) {
            _airdropVestingEnd[recipients[i]] = block.timestamp + 2 hours;
        }
    }
    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");

        require(
        block.timestamp >= _airdropVestingEnd[from],
        "Airdrop vesting not over"
        );

        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.");
                _buyCount++;
            }


            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            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;
        _reduceSellTaxAt=10;
        _reduceBuyTaxAt=10;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

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

    function fuckAround() 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 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":"_reduceBuyTaxAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reduceSellTaxAt","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":"recipients","type":"address[]"}],"name":"addAirdropRecipients","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"fuckAround","outputs":[],"stateMutability":"nonpayable","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":"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"}]

60806040526000600660006101000a81548160ff0219169083151502179055506019600755601960085560006009556000600a556045600b556045600c556014600d556000600e55606460026009600a6200005b91906200068b565b64099dabfd006200006d9190620006dc565b620000799190620006dc565b62000085919062000756565b601055606460026009600a6200009c91906200068b565b64099dabfd00620000ae9190620006dc565b620000ba9190620006dc565b620000c6919062000756565b6011556103e860086009600a620000de91906200068b565b64099dabfd00620000f09190620006dc565b620000fc9190620006dc565b62000108919062000756565b6012556103e860086009600a6200012091906200068b565b64099dabfd00620001329190620006dc565b6200013e9190620006dc565b6200014a919062000756565b60135560006015806101000a81548160ff0219169083151502179055506000601560166101000a81548160ff0219169083151502179055503480156200018f57600080fd5b506000620001a2620004c060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000250620004c060201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006009600a620002a291906200068b565b64099dabfd00620002b49190620006dc565b90508060016000620002cb620004c060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006200031f620004c860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000452620004c060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620004b191906200079f565b60405180910390a350620007bc565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200057f57808604811115620005575762000556620004f1565b5b6001851615620005675780820291505b8081029050620005778562000520565b945062000537565b94509492505050565b6000826200059a57600190506200066d565b81620005aa57600090506200066d565b8160018114620005c35760028114620005ce5762000604565b60019150506200066d565b60ff841115620005e357620005e2620004f1565b5b8360020a915084821115620005fd57620005fc620004f1565b5b506200066d565b5060208310610133831016604e8410600b84101617156200063e5782820a905083811115620006385762000637620004f1565b5b6200066d565b6200064d84848460016200052d565b92509050818404811115620006675762000666620004f1565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620006988262000674565b9150620006a5836200067e565b9250620006d47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000588565b905092915050565b6000620006e98262000674565b9150620006f68362000674565b9250828202620007068162000674565b9150828204841483151762000720576200071f620004f1565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620007638262000674565b9150620007708362000674565b92508262000783576200078262000727565b5b828204905092915050565b620007998162000674565b82525050565b6000602082019050620007b660008301846200078e565b92915050565b6135e980620007cc6000396000f3fe6080604052600436106101445760003560e01c8063751039fc116100b6578063bf474bed1161006f578063bf474bed14610449578063c170682114610474578063c36956a01461049d578063c876d0b9146104c8578063dd62ed3e146104f3578063f48846f2146105305761014b565b8063751039fc146103495780637d1db4a5146103605780638da5cb5b1461038b5780638f9a55c0146103b657806395d89b41146103e1578063a9059cbb1461040c5761014b565b806323b872dd1161010857806323b872dd14610239578063313ce567146102765780633bbac579146102a157806351bc3c85146102de57806370a08231146102f5578063715018a6146103325761014b565b806306fdde0314610150578063095ea7b31461017b5780630c193045146101b85780630faee56f146101e357806318160ddd1461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610547565b60405161017291906124a8565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612572565b610584565b6040516101af91906125cd565b60405180910390f35b3480156101c457600080fd5b506101cd6105a2565b6040516101da91906125f7565b60405180910390f35b3480156101ef57600080fd5b506101f86105a8565b60405161020591906125f7565b60405180910390f35b34801561021a57600080fd5b506102236105ae565b60405161023091906125f7565b60405180910390f35b34801561024557600080fd5b50610260600480360381019061025b9190612612565b6105d3565b60405161026d91906125cd565b60405180910390f35b34801561028257600080fd5b5061028b6106ac565b6040516102989190612681565b60405180910390f35b3480156102ad57600080fd5b506102c860048036038101906102c3919061269c565b6106b5565b6040516102d591906125cd565b60405180910390f35b3480156102ea57600080fd5b506102f361070b565b005b34801561030157600080fd5b5061031c6004803603810190610317919061269c565b6107a8565b60405161032991906125f7565b60405180910390f35b34801561033e57600080fd5b506103476107f1565b005b34801561035557600080fd5b5061035e610944565b005b34801561036c57600080fd5b50610375610aa2565b60405161038291906125f7565b60405180910390f35b34801561039757600080fd5b506103a0610aa8565b6040516103ad91906126d8565b60405180910390f35b3480156103c257600080fd5b506103cb610ad1565b6040516103d891906125f7565b60405180910390f35b3480156103ed57600080fd5b506103f6610ad7565b60405161040391906124a8565b60405180910390f35b34801561041857600080fd5b50610433600480360381019061042e9190612572565b610b14565b60405161044091906125cd565b60405180910390f35b34801561045557600080fd5b5061045e610b32565b60405161046b91906125f7565b60405180910390f35b34801561048057600080fd5b5061049b6004803603810190610496919061283b565b610b38565b005b3480156104a957600080fd5b506104b2610c5b565b6040516104bf91906125f7565b60405180910390f35b3480156104d457600080fd5b506104dd610c61565b6040516104ea91906125cd565b60405180910390f35b3480156104ff57600080fd5b5061051a60048036038101906105159190612884565b610c74565b60405161052791906125f7565b60405180910390f35b34801561053c57600080fd5b50610545610cfb565b005b60606040518060400160405280601881526020017f4675636b2061726f756e6420616e642046696e64204f75740000000000000000815250905090565b6000610598610591611234565b848461123c565b6001905092915050565b600b5481565b60135481565b60006009600a6105be9190612a26565b64099dabfd006105ce9190612a71565b905090565b60006105e0848484611405565b6106a1846105ec611234565b61069c8560405180606001604052806028815260200161358c60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610652611234565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eca9092919063ffffffff16565b61123c565b600190509392505050565b60006009905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661074c611234565b73ffffffffffffffffffffffffffffffffffffffff161461076c57600080fd5b6000610777306107a8565b9050600081111561078c5761078b81611f2e565b5b600047905060008111156107a4576107a3816121c4565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107f9611234565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087d90612aff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61094c611234565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d090612aff565b60405180910390fd5b6009600a6109e79190612a26565b64099dabfd006109f79190612a71565b6010819055506009600a610a0b9190612a26565b64099dabfd00610a1b9190612a71565b6011819055506000600660006101000a81548160ff021916908315150217905550600a600c81905550600a600b819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a7b9190612a26565b64099dabfd00610a8b9190612a71565b604051610a9891906125f7565b60405180910390a1565b60105481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600481526020017f4641464f00000000000000000000000000000000000000000000000000000000815250905090565b6000610b28610b21611234565b8484611405565b6001905092915050565b60125481565b610b40611234565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc490612aff565b60405180910390fd5b60005b8151811015610c5757611c2042610be79190612b1f565b600f6000848481518110610bfe57610bfd612b53565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080610c4f90612b82565b915050610bd0565b5050565b600c5481565b600660009054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d03611234565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8790612aff565b60405180910390fd5b601560149054906101000a900460ff1615610de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd790612c16565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e7f30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e6a9190612a26565b64099dabfd00610e7a9190612a71565b61123c565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f109190612c4b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbd9190612c4b565b6040518363ffffffff1660e01b8152600401610fda929190612c78565b6020604051808303816000875af1158015610ff9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101d9190612c4b565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110a6306107a8565b6000806110b1610aa8565b426040518863ffffffff1660e01b81526004016110d396959493929190612ce6565b60606040518083038185885af11580156110f1573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111169190612d5c565b505050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111b8929190612daf565b6020604051808303816000875af11580156111d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fb9190612e04565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a290612ea3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361131a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131190612f35565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113f891906125f7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146b90612fc7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da90613059565b60405180910390fd5b60008111611526576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151d906130eb565b60405180910390fd5b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544210156115a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159f90613157565b60405180910390fd5b60006115b2610aa8565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561162057506115f0610aa8565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c0d57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116c95750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6116d257600080fd5b600660009054906101000a900460ff161561185f57601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117935750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561185e5743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611819576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611810906131e9565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561190a5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119605750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a1b576010548211156119aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a190613255565b60405180910390fd5b601154826119b7856107a8565b6119c19190612b1f565b1115611a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f9906132c1565b60405180910390fd5b600e6000815480929190611a1590612b82565b91905055505b611a576064611a49600b54600e5411611a3657600754611a3a565b6009545b8561223090919063ffffffff16565b6122aa90919063ffffffff16565b9050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ae257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b2657611b236064611b15600c54600e5411611b0257600854611b06565b600a545b8561223090919063ffffffff16565b6122aa90919063ffffffff16565b90505b6000611b31306107a8565b905060158054906101000a900460ff16158015611b9b5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bb35750601560169054906101000a900460ff165b8015611bc0575060125481115b8015611bcf5750600d54600e54115b15611c0b57611bf1611bec84611be7846013546122f4565b6122f4565b611f2e565b60004790506000811115611c0957611c08476121c4565b5b505b505b6000811115611d1157611c6881600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461230d90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d0891906125f7565b60405180910390a35b611d6382600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e0a611dbc828461236b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461230d90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611eaf848661236b90919063ffffffff16565b604051611ebc91906125f7565b60405180910390a350505050565b6000838311158290611f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0991906124a8565b60405180910390fd5b5060008385611f2191906132e1565b9050809150509392505050565b60016015806101000a81548160ff02191690831515021790555060008103156121a757601560149054906101000a900460ff16156121a7576000600267ffffffffffffffff811115611f8357611f826126f8565b5b604051908082528060200260200182016040528015611fb15781602001602082028036833780820191505090505b5090503081600081518110611fc957611fc8612b53565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120949190612c4b565b816001815181106120a8576120a7612b53565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061210f30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461123c565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121739594939291906133d3565b600060405180830381600087803b15801561218d57600080fd5b505af11580156121a1573d6000803e3d6000fd5b50505050505b60006015806101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561222c573d6000803e3d6000fd5b5050565b600080830361224257600090506122a4565b600082846122509190612a71565b905082848261225f919061345c565b1461229f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612296906134ff565b60405180910390fd5b809150505b92915050565b60006122ec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123b5565b905092915050565b60008183116123035782612305565b815b905092915050565b600080828461231c9190612b1f565b905083811015612361576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123589061356b565b60405180910390fd5b8091505092915050565b60006123ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611eca565b905092915050565b600080831182906123fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f391906124a8565b60405180910390fd5b506000838561240b919061345c565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612452578082015181840152602081019050612437565b60008484015250505050565b6000601f19601f8301169050919050565b600061247a82612418565b6124848185612423565b9350612494818560208601612434565b61249d8161245e565b840191505092915050565b600060208201905081810360008301526124c2818461246f565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612509826124de565b9050919050565b612519816124fe565b811461252457600080fd5b50565b60008135905061253681612510565b92915050565b6000819050919050565b61254f8161253c565b811461255a57600080fd5b50565b60008135905061256c81612546565b92915050565b60008060408385031215612589576125886124d4565b5b600061259785828601612527565b92505060206125a88582860161255d565b9150509250929050565b60008115159050919050565b6125c7816125b2565b82525050565b60006020820190506125e260008301846125be565b92915050565b6125f18161253c565b82525050565b600060208201905061260c60008301846125e8565b92915050565b60008060006060848603121561262b5761262a6124d4565b5b600061263986828701612527565b935050602061264a86828701612527565b925050604061265b8682870161255d565b9150509250925092565b600060ff82169050919050565b61267b81612665565b82525050565b60006020820190506126966000830184612672565b92915050565b6000602082840312156126b2576126b16124d4565b5b60006126c084828501612527565b91505092915050565b6126d2816124fe565b82525050565b60006020820190506126ed60008301846126c9565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6127308261245e565b810181811067ffffffffffffffff8211171561274f5761274e6126f8565b5b80604052505050565b60006127626124ca565b905061276e8282612727565b919050565b600067ffffffffffffffff82111561278e5761278d6126f8565b5b602082029050602081019050919050565b600080fd5b60006127b76127b284612773565b612758565b905080838252602082019050602084028301858111156127da576127d961279f565b5b835b8181101561280357806127ef8882612527565b8452602084019350506020810190506127dc565b5050509392505050565b600082601f830112612822576128216126f3565b5b81356128328482602086016127a4565b91505092915050565b600060208284031215612851576128506124d4565b5b600082013567ffffffffffffffff81111561286f5761286e6124d9565b5b61287b8482850161280d565b91505092915050565b6000806040838503121561289b5761289a6124d4565b5b60006128a985828601612527565b92505060206128ba85828601612527565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561294a57808604811115612926576129256128c4565b5b60018516156129355780820291505b8081029050612943856128f3565b945061290a565b94509492505050565b6000826129635760019050612a1f565b816129715760009050612a1f565b81600181146129875760028114612991576129c0565b6001915050612a1f565b60ff8411156129a3576129a26128c4565b5b8360020a9150848211156129ba576129b96128c4565b5b50612a1f565b5060208310610133831016604e8410600b84101617156129f55782820a9050838111156129f0576129ef6128c4565b5b612a1f565b612a028484846001612900565b92509050818404811115612a1957612a186128c4565b5b81810290505b9392505050565b6000612a318261253c565b9150612a3c83612665565b9250612a697fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612953565b905092915050565b6000612a7c8261253c565b9150612a878361253c565b9250828202612a958161253c565b91508282048414831517612aac57612aab6128c4565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ae9602083612423565b9150612af482612ab3565b602082019050919050565b60006020820190508181036000830152612b1881612adc565b9050919050565b6000612b2a8261253c565b9150612b358361253c565b9250828201905080821115612b4d57612b4c6128c4565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612b8d8261253c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612bbf57612bbe6128c4565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612c00601783612423565b9150612c0b82612bca565b602082019050919050565b60006020820190508181036000830152612c2f81612bf3565b9050919050565b600081519050612c4581612510565b92915050565b600060208284031215612c6157612c606124d4565b5b6000612c6f84828501612c36565b91505092915050565b6000604082019050612c8d60008301856126c9565b612c9a60208301846126c9565b9392505050565b6000819050919050565b6000819050919050565b6000612cd0612ccb612cc684612ca1565b612cab565b61253c565b9050919050565b612ce081612cb5565b82525050565b600060c082019050612cfb60008301896126c9565b612d0860208301886125e8565b612d156040830187612cd7565b612d226060830186612cd7565b612d2f60808301856126c9565b612d3c60a08301846125e8565b979650505050505050565b600081519050612d5681612546565b92915050565b600080600060608486031215612d7557612d746124d4565b5b6000612d8386828701612d47565b9350506020612d9486828701612d47565b9250506040612da586828701612d47565b9150509250925092565b6000604082019050612dc460008301856126c9565b612dd160208301846125e8565b9392505050565b612de1816125b2565b8114612dec57600080fd5b50565b600081519050612dfe81612dd8565b92915050565b600060208284031215612e1a57612e196124d4565b5b6000612e2884828501612def565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612e8d602483612423565b9150612e9882612e31565b604082019050919050565b60006020820190508181036000830152612ebc81612e80565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f1f602283612423565b9150612f2a82612ec3565b604082019050919050565b60006020820190508181036000830152612f4e81612f12565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612fb1602583612423565b9150612fbc82612f55565b604082019050919050565b60006020820190508181036000830152612fe081612fa4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613043602383612423565b915061304e82612fe7565b604082019050919050565b6000602082019050818103600083015261307281613036565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006130d5602983612423565b91506130e082613079565b604082019050919050565b60006020820190508181036000830152613104816130c8565b9050919050565b7f41697264726f702076657374696e67206e6f74206f7665720000000000000000600082015250565b6000613141601883612423565b915061314c8261310b565b602082019050919050565b6000602082019050818103600083015261317081613134565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b60006131d3602483612423565b91506131de82613177565b604082019050919050565b60006020820190508181036000830152613202816131c6565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061323f601983612423565b915061324a82613209565b602082019050919050565b6000602082019050818103600083015261326e81613232565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006132ab601a83612423565b91506132b682613275565b602082019050919050565b600060208201905081810360008301526132da8161329e565b9050919050565b60006132ec8261253c565b91506132f78361253c565b925082820390508181111561330f5761330e6128c4565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61334a816124fe565b82525050565b600061335c8383613341565b60208301905092915050565b6000602082019050919050565b600061338082613315565b61338a8185613320565b935061339583613331565b8060005b838110156133c65781516133ad8882613350565b97506133b883613368565b925050600181019050613399565b5085935050505092915050565b600060a0820190506133e860008301886125e8565b6133f56020830187612cd7565b81810360408301526134078186613375565b905061341660608301856126c9565b61342360808301846125e8565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006134678261253c565b91506134728361253c565b9250826134825761348161342d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006134e9602183612423565b91506134f48261348d565b604082019050919050565b60006020820190508181036000830152613518816134dc565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613555601b83612423565b91506135608261351f565b602082019050919050565b6000602082019050818103600083015261358481613548565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204778181d128f6f7ad1494ae4608ba8b6d2216e1929b1a8de62b3c6db89d8b2c864736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063751039fc116100b6578063bf474bed1161006f578063bf474bed14610449578063c170682114610474578063c36956a01461049d578063c876d0b9146104c8578063dd62ed3e146104f3578063f48846f2146105305761014b565b8063751039fc146103495780637d1db4a5146103605780638da5cb5b1461038b5780638f9a55c0146103b657806395d89b41146103e1578063a9059cbb1461040c5761014b565b806323b872dd1161010857806323b872dd14610239578063313ce567146102765780633bbac579146102a157806351bc3c85146102de57806370a08231146102f5578063715018a6146103325761014b565b806306fdde0314610150578063095ea7b31461017b5780630c193045146101b85780630faee56f146101e357806318160ddd1461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610547565b60405161017291906124a8565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612572565b610584565b6040516101af91906125cd565b60405180910390f35b3480156101c457600080fd5b506101cd6105a2565b6040516101da91906125f7565b60405180910390f35b3480156101ef57600080fd5b506101f86105a8565b60405161020591906125f7565b60405180910390f35b34801561021a57600080fd5b506102236105ae565b60405161023091906125f7565b60405180910390f35b34801561024557600080fd5b50610260600480360381019061025b9190612612565b6105d3565b60405161026d91906125cd565b60405180910390f35b34801561028257600080fd5b5061028b6106ac565b6040516102989190612681565b60405180910390f35b3480156102ad57600080fd5b506102c860048036038101906102c3919061269c565b6106b5565b6040516102d591906125cd565b60405180910390f35b3480156102ea57600080fd5b506102f361070b565b005b34801561030157600080fd5b5061031c6004803603810190610317919061269c565b6107a8565b60405161032991906125f7565b60405180910390f35b34801561033e57600080fd5b506103476107f1565b005b34801561035557600080fd5b5061035e610944565b005b34801561036c57600080fd5b50610375610aa2565b60405161038291906125f7565b60405180910390f35b34801561039757600080fd5b506103a0610aa8565b6040516103ad91906126d8565b60405180910390f35b3480156103c257600080fd5b506103cb610ad1565b6040516103d891906125f7565b60405180910390f35b3480156103ed57600080fd5b506103f6610ad7565b60405161040391906124a8565b60405180910390f35b34801561041857600080fd5b50610433600480360381019061042e9190612572565b610b14565b60405161044091906125cd565b60405180910390f35b34801561045557600080fd5b5061045e610b32565b60405161046b91906125f7565b60405180910390f35b34801561048057600080fd5b5061049b6004803603810190610496919061283b565b610b38565b005b3480156104a957600080fd5b506104b2610c5b565b6040516104bf91906125f7565b60405180910390f35b3480156104d457600080fd5b506104dd610c61565b6040516104ea91906125cd565b60405180910390f35b3480156104ff57600080fd5b5061051a60048036038101906105159190612884565b610c74565b60405161052791906125f7565b60405180910390f35b34801561053c57600080fd5b50610545610cfb565b005b60606040518060400160405280601881526020017f4675636b2061726f756e6420616e642046696e64204f75740000000000000000815250905090565b6000610598610591611234565b848461123c565b6001905092915050565b600b5481565b60135481565b60006009600a6105be9190612a26565b64099dabfd006105ce9190612a71565b905090565b60006105e0848484611405565b6106a1846105ec611234565b61069c8560405180606001604052806028815260200161358c60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610652611234565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eca9092919063ffffffff16565b61123c565b600190509392505050565b60006009905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661074c611234565b73ffffffffffffffffffffffffffffffffffffffff161461076c57600080fd5b6000610777306107a8565b9050600081111561078c5761078b81611f2e565b5b600047905060008111156107a4576107a3816121c4565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107f9611234565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087d90612aff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61094c611234565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d090612aff565b60405180910390fd5b6009600a6109e79190612a26565b64099dabfd006109f79190612a71565b6010819055506009600a610a0b9190612a26565b64099dabfd00610a1b9190612a71565b6011819055506000600660006101000a81548160ff021916908315150217905550600a600c81905550600a600b819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a7b9190612a26565b64099dabfd00610a8b9190612a71565b604051610a9891906125f7565b60405180910390a1565b60105481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600481526020017f4641464f00000000000000000000000000000000000000000000000000000000815250905090565b6000610b28610b21611234565b8484611405565b6001905092915050565b60125481565b610b40611234565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc490612aff565b60405180910390fd5b60005b8151811015610c5757611c2042610be79190612b1f565b600f6000848481518110610bfe57610bfd612b53565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080610c4f90612b82565b915050610bd0565b5050565b600c5481565b600660009054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d03611234565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8790612aff565b60405180910390fd5b601560149054906101000a900460ff1615610de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd790612c16565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e7f30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e6a9190612a26565b64099dabfd00610e7a9190612a71565b61123c565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f109190612c4b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbd9190612c4b565b6040518363ffffffff1660e01b8152600401610fda929190612c78565b6020604051808303816000875af1158015610ff9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101d9190612c4b565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110a6306107a8565b6000806110b1610aa8565b426040518863ffffffff1660e01b81526004016110d396959493929190612ce6565b60606040518083038185885af11580156110f1573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111169190612d5c565b505050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111b8929190612daf565b6020604051808303816000875af11580156111d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fb9190612e04565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a290612ea3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361131a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131190612f35565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113f891906125f7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146b90612fc7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da90613059565b60405180910390fd5b60008111611526576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151d906130eb565b60405180910390fd5b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544210156115a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159f90613157565b60405180910390fd5b60006115b2610aa8565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561162057506115f0610aa8565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c0d57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116c95750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6116d257600080fd5b600660009054906101000a900460ff161561185f57601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117935750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561185e5743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611819576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611810906131e9565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561190a5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119605750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a1b576010548211156119aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a190613255565b60405180910390fd5b601154826119b7856107a8565b6119c19190612b1f565b1115611a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f9906132c1565b60405180910390fd5b600e6000815480929190611a1590612b82565b91905055505b611a576064611a49600b54600e5411611a3657600754611a3a565b6009545b8561223090919063ffffffff16565b6122aa90919063ffffffff16565b9050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ae257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b2657611b236064611b15600c54600e5411611b0257600854611b06565b600a545b8561223090919063ffffffff16565b6122aa90919063ffffffff16565b90505b6000611b31306107a8565b905060158054906101000a900460ff16158015611b9b5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bb35750601560169054906101000a900460ff165b8015611bc0575060125481115b8015611bcf5750600d54600e54115b15611c0b57611bf1611bec84611be7846013546122f4565b6122f4565b611f2e565b60004790506000811115611c0957611c08476121c4565b5b505b505b6000811115611d1157611c6881600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461230d90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d0891906125f7565b60405180910390a35b611d6382600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e0a611dbc828461236b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461230d90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611eaf848661236b90919063ffffffff16565b604051611ebc91906125f7565b60405180910390a350505050565b6000838311158290611f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0991906124a8565b60405180910390fd5b5060008385611f2191906132e1565b9050809150509392505050565b60016015806101000a81548160ff02191690831515021790555060008103156121a757601560149054906101000a900460ff16156121a7576000600267ffffffffffffffff811115611f8357611f826126f8565b5b604051908082528060200260200182016040528015611fb15781602001602082028036833780820191505090505b5090503081600081518110611fc957611fc8612b53565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120949190612c4b565b816001815181106120a8576120a7612b53565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061210f30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461123c565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121739594939291906133d3565b600060405180830381600087803b15801561218d57600080fd5b505af11580156121a1573d6000803e3d6000fd5b50505050505b60006015806101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561222c573d6000803e3d6000fd5b5050565b600080830361224257600090506122a4565b600082846122509190612a71565b905082848261225f919061345c565b1461229f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612296906134ff565b60405180910390fd5b809150505b92915050565b60006122ec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123b5565b905092915050565b60008183116123035782612305565b815b905092915050565b600080828461231c9190612b1f565b905083811015612361576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123589061356b565b60405180910390fd5b8091505092915050565b60006123ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611eca565b905092915050565b600080831182906123fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f391906124a8565b60405180910390fd5b506000838561240b919061345c565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612452578082015181840152602081019050612437565b60008484015250505050565b6000601f19601f8301169050919050565b600061247a82612418565b6124848185612423565b9350612494818560208601612434565b61249d8161245e565b840191505092915050565b600060208201905081810360008301526124c2818461246f565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612509826124de565b9050919050565b612519816124fe565b811461252457600080fd5b50565b60008135905061253681612510565b92915050565b6000819050919050565b61254f8161253c565b811461255a57600080fd5b50565b60008135905061256c81612546565b92915050565b60008060408385031215612589576125886124d4565b5b600061259785828601612527565b92505060206125a88582860161255d565b9150509250929050565b60008115159050919050565b6125c7816125b2565b82525050565b60006020820190506125e260008301846125be565b92915050565b6125f18161253c565b82525050565b600060208201905061260c60008301846125e8565b92915050565b60008060006060848603121561262b5761262a6124d4565b5b600061263986828701612527565b935050602061264a86828701612527565b925050604061265b8682870161255d565b9150509250925092565b600060ff82169050919050565b61267b81612665565b82525050565b60006020820190506126966000830184612672565b92915050565b6000602082840312156126b2576126b16124d4565b5b60006126c084828501612527565b91505092915050565b6126d2816124fe565b82525050565b60006020820190506126ed60008301846126c9565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6127308261245e565b810181811067ffffffffffffffff8211171561274f5761274e6126f8565b5b80604052505050565b60006127626124ca565b905061276e8282612727565b919050565b600067ffffffffffffffff82111561278e5761278d6126f8565b5b602082029050602081019050919050565b600080fd5b60006127b76127b284612773565b612758565b905080838252602082019050602084028301858111156127da576127d961279f565b5b835b8181101561280357806127ef8882612527565b8452602084019350506020810190506127dc565b5050509392505050565b600082601f830112612822576128216126f3565b5b81356128328482602086016127a4565b91505092915050565b600060208284031215612851576128506124d4565b5b600082013567ffffffffffffffff81111561286f5761286e6124d9565b5b61287b8482850161280d565b91505092915050565b6000806040838503121561289b5761289a6124d4565b5b60006128a985828601612527565b92505060206128ba85828601612527565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561294a57808604811115612926576129256128c4565b5b60018516156129355780820291505b8081029050612943856128f3565b945061290a565b94509492505050565b6000826129635760019050612a1f565b816129715760009050612a1f565b81600181146129875760028114612991576129c0565b6001915050612a1f565b60ff8411156129a3576129a26128c4565b5b8360020a9150848211156129ba576129b96128c4565b5b50612a1f565b5060208310610133831016604e8410600b84101617156129f55782820a9050838111156129f0576129ef6128c4565b5b612a1f565b612a028484846001612900565b92509050818404811115612a1957612a186128c4565b5b81810290505b9392505050565b6000612a318261253c565b9150612a3c83612665565b9250612a697fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612953565b905092915050565b6000612a7c8261253c565b9150612a878361253c565b9250828202612a958161253c565b91508282048414831517612aac57612aab6128c4565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ae9602083612423565b9150612af482612ab3565b602082019050919050565b60006020820190508181036000830152612b1881612adc565b9050919050565b6000612b2a8261253c565b9150612b358361253c565b9250828201905080821115612b4d57612b4c6128c4565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612b8d8261253c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612bbf57612bbe6128c4565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612c00601783612423565b9150612c0b82612bca565b602082019050919050565b60006020820190508181036000830152612c2f81612bf3565b9050919050565b600081519050612c4581612510565b92915050565b600060208284031215612c6157612c606124d4565b5b6000612c6f84828501612c36565b91505092915050565b6000604082019050612c8d60008301856126c9565b612c9a60208301846126c9565b9392505050565b6000819050919050565b6000819050919050565b6000612cd0612ccb612cc684612ca1565b612cab565b61253c565b9050919050565b612ce081612cb5565b82525050565b600060c082019050612cfb60008301896126c9565b612d0860208301886125e8565b612d156040830187612cd7565b612d226060830186612cd7565b612d2f60808301856126c9565b612d3c60a08301846125e8565b979650505050505050565b600081519050612d5681612546565b92915050565b600080600060608486031215612d7557612d746124d4565b5b6000612d8386828701612d47565b9350506020612d9486828701612d47565b9250506040612da586828701612d47565b9150509250925092565b6000604082019050612dc460008301856126c9565b612dd160208301846125e8565b9392505050565b612de1816125b2565b8114612dec57600080fd5b50565b600081519050612dfe81612dd8565b92915050565b600060208284031215612e1a57612e196124d4565b5b6000612e2884828501612def565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612e8d602483612423565b9150612e9882612e31565b604082019050919050565b60006020820190508181036000830152612ebc81612e80565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f1f602283612423565b9150612f2a82612ec3565b604082019050919050565b60006020820190508181036000830152612f4e81612f12565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612fb1602583612423565b9150612fbc82612f55565b604082019050919050565b60006020820190508181036000830152612fe081612fa4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613043602383612423565b915061304e82612fe7565b604082019050919050565b6000602082019050818103600083015261307281613036565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006130d5602983612423565b91506130e082613079565b604082019050919050565b60006020820190508181036000830152613104816130c8565b9050919050565b7f41697264726f702076657374696e67206e6f74206f7665720000000000000000600082015250565b6000613141601883612423565b915061314c8261310b565b602082019050919050565b6000602082019050818103600083015261317081613134565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b60006131d3602483612423565b91506131de82613177565b604082019050919050565b60006020820190508181036000830152613202816131c6565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061323f601983612423565b915061324a82613209565b602082019050919050565b6000602082019050818103600083015261326e81613232565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006132ab601a83612423565b91506132b682613275565b602082019050919050565b600060208201905081810360008301526132da8161329e565b9050919050565b60006132ec8261253c565b91506132f78361253c565b925082820390508181111561330f5761330e6128c4565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61334a816124fe565b82525050565b600061335c8383613341565b60208301905092915050565b6000602082019050919050565b600061338082613315565b61338a8185613320565b935061339583613331565b8060005b838110156133c65781516133ad8882613350565b97506133b883613368565b925050600181019050613399565b5085935050505092915050565b600060a0820190506133e860008301886125e8565b6133f56020830187612cd7565b81810360408301526134078186613375565b905061341660608301856126c9565b61342360808301846125e8565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006134678261253c565b91506134728361253c565b9250826134825761348161342d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006134e9602183612423565b91506134f48261348d565b604082019050919050565b60006020820190508181036000830152613518816134dc565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613555601b83612423565b91506135608261351f565b602082019050919050565b6000602082019050818103600083015261358481613548565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204778181d128f6f7ad1494ae4608ba8b6d2216e1929b1a8de62b3c6db89d8b2c864736f6c63430008120033

Deployed Bytecode Sourcemap

3519:8536:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5549:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6382:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4149:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4792:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5826:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6551:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5735:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10898;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11704:348;;;;;;;;;;;;;:::i;:::-;;5929:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2600:148;;;;;;;;;;;;;:::i;:::-;;10535:255;;;;;;;;;;;;;:::i;:::-;;4612:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2386:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4671:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5640:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6056:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4730:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6870:229;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4189:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3905:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6231:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10989:670;;;;;;;;;;;;;:::i;:::-;;5549:83;5586:13;5619:5;;;;;;;;;;;;;;;;;5612:12;;5549:83;:::o;6382:161::-;6457:4;6474:39;6483:12;:10;:12::i;:::-;6497:7;6506:6;6474:8;:39::i;:::-;6531:4;6524:11;;6382:161;;;;:::o;4149:33::-;;;;:::o;4792:49::-;;;;:::o;5826:95::-;5879:7;4406:1;4463:2;:13;;;;:::i;:::-;4449:11;:27;;;;:::i;:::-;5899:14;;5826:95;:::o;6551:313::-;6649:4;6666:36;6676:6;6684:9;6695:6;6666:9;:36::i;:::-;6713:121;6722:6;6730:12;:10;:12::i;:::-;6744:89;6782:6;6744:89;;;;;;;;;;;;;;;;;:11;:19;6756:6;6744:19;;;;;;;;;;;;;;;:33;6764:12;:10;:12::i;:::-;6744:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6713:8;:121::i;:::-;6852:4;6845:11;;6551:313;;;;;:::o;5735:83::-;5776:5;4406:1;5794:16;;5735:83;:::o;10898:::-;10945:4;10966;:7;10971:1;10966:7;;;;;;;;;;;;;;;;;;;;;;;;;10959:14;;10898:83;;;:::o;11704:348::-;11768:10;;;;;;;;;;;11754:24;;:12;:10;:12::i;:::-;:24;;;11746:33;;;;;;11790:20;11811:24;11829:4;11811:9;:24::i;:::-;11790:45;;11862:1;11849:12;:14;11846:73;;;11877:30;11894:12;11877:16;:30::i;:::-;11846:73;11929:18;11948:21;11929:40;;11994:1;11983:10;:12;11980:65;;;12009:24;12022:10;12009:12;:24::i;:::-;11980:65;11735:317;;11704:348::o;5929:119::-;5995:7;6022:9;:18;6032:7;6022:18;;;;;;;;;;;;;;;;6015:25;;5929:119;;;:::o;2600:148::-;2523:12;:10;:12::i;:::-;2513:22;;:6;;;;;;;;;;:22;;;2505:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2707:1:::1;2670:40;;2691:6;::::0;::::1;;;;;;;;2670:40;;;;;;;;;;;;2738:1;2721:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2600:148::o:0;10535:255::-;2523:12;:10;:12::i;:::-;2513:22;;:6;;;;;;;;;;:22;;;2505:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4406:1:::1;4463:2;:13;;;;:::i;:::-;4449:11;:27;;;;:::i;:::-;10588:12;:22;;;;4406:1;4463:2;:13;;;;:::i;:::-;4449:11;:27;;;;:::i;:::-;10621:14;:22;;;;10675:5;10654:20;;:26;;;;;;;;;;;;;;;;;;10708:2;10691:16;:19;;;;10737:2;10721:15;:18;;;;10755:27;4406:1;4463:2;:13;;;;:::i;:::-;4449:11;:27;;;;:::i;:::-;10755;;;;;;:::i;:::-;;;;;;;;10535:255::o:0;4612:52::-;;;;:::o;2386:79::-;2424:7;2451:6;;;;;;;;;;;2444:13;;2386:79;:::o;4671:52::-;;;;:::o;5640:87::-;5679:13;5712:7;;;;;;;;;;;;;;;;;5705:14;;5640:87;:::o;6056:167::-;6134:4;6151:42;6161:12;:10;:12::i;:::-;6175:9;6186:6;6151:9;:42::i;:::-;6211:4;6204:11;;6056:167;;;;:::o;4730:55::-;;;;:::o;6870:229::-;2523:12;:10;:12::i;:::-;2513:22;;:6;;;;;;;;;;:22;;;2505:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6964:6:::1;6959:133;6980:10;:17;6976:1;:21;6959:133;;;7073:7;7055:15;:25;;;;:::i;:::-;7019:18;:33;7038:10;7049:1;7038:13;;;;;;;;:::i;:::-;;;;;;;;7019:33;;;;;;;;;;;;;;;:61;;;;6999:3;;;;;:::i;:::-;;;;6959:133;;;;6870:229:::0;:::o;4189:34::-;;;;:::o;3905:40::-;;;;;;;;;;;;;:::o;6231:143::-;6312:7;6339:11;:18;6351:5;6339:18;;;;;;;;;;;;;;;:27;6358:7;6339:27;;;;;;;;;;;;;;;;6332:34;;6231:143;;;;:::o;10989:670::-;2523:12;:10;:12::i;:::-;2513:22;;:6;;;;;;;;;;:22;;;2505:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11052:11:::1;;;;;;;;;;;11051:12;11043:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11138:42;11101:15;;:80;;;;;;;;;;;;;;;;;;11192:58;11209:4;11224:15;;;;;;;;;;;4406:1;4463:2;:13;;;;:::i;:::-;4449:11;:27;;;;:::i;:::-;11192:8;:58::i;:::-;11295:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11277:55;;;11341:4;11348:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11277:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11261:13;;:110;;;;;;;;;;;;;;;;;;11382:15;;;;;;;;;;;:31;;;11421:21;11452:4;11458:24;11476:4;11458:9;:24::i;:::-;11483:1;11485::::0;11487:7:::1;:5;:7::i;:::-;11495:15;11382:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11529:13;;;;;;;;;;;11522:29;;;11560:15;;;;;;;;;;;11578:14;11522:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11618:4;11604:11;;:18;;;;;;;;;;;;;;;;;;11647:4;11633:11;;:18;;;;;;;;;;;;;;;;;;10989:670::o:0;141:98::-;194:7;221:10;214:17;;141:98;:::o;7105:335::-;7215:1;7198:19;;:5;:19;;;7190:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7296:1;7277:21;;:7;:21;;;7269:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7378:6;7348:11;:18;7360:5;7348:18;;;;;;;;;;;;;;;:27;7367:7;7348:27;;;;;;;;;;;;;;;:36;;;;7416:7;7400:32;;7409:5;7400:32;;;7425:6;7400:32;;;;;;:::i;:::-;;;;;;;;7105:335;;;:::o;7448:2408::-;7552:1;7536:18;;:4;:18;;;7528:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7629:1;7615:16;;:2;:16;;;7607:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7699:1;7690:6;:10;7682:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7796:18;:24;7815:4;7796:24;;;;;;;;;;;;;;;;7777:15;:43;;7759:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;7881:17;7923:7;:5;:7::i;:::-;7915:15;;:4;:15;;;;:32;;;;;7940:7;:5;:7::i;:::-;7934:13;;:2;:13;;;;7915:32;7911:1589;;;7973:4;:10;7978:4;7973:10;;;;;;;;;;;;;;;;;;;;;;;;;7972:11;:24;;;;;7988:4;:8;7993:2;7988:8;;;;;;;;;;;;;;;;;;;;;;;;;7987:9;7972:24;7964:33;;;;;;8018:20;;;;;;;;;;;8014:346;;;8077:15;;;;;;;;;;;8063:30;;:2;:30;;;;:62;;;;;8111:13;;;;;;;;;;;8097:28;;:2;:28;;;;8063:62;8059:286;;;8198:12;8156:28;:39;8185:9;8156:39;;;;;;;;;;;;;;;;:54;8148:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;8313:12;8271:28;:39;8300:9;8271:39;;;;;;;;;;;;;;;:54;;;;8059:286;8014:346;8388:13;;;;;;;;;;;8380:21;;:4;:21;;;:55;;;;;8419:15;;;;;;;;;;;8405:30;;:2;:30;;;;8380:55;:83;;;;;8441:18;:22;8460:2;8441:22;;;;;;;;;;;;;;;;;;;;;;;;;8439:24;8380:83;8376:313;;;8503:12;;8493:6;:22;;8485:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8598:14;;8588:6;8572:13;8582:2;8572:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8564:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8662:9;;:11;;;;;;;;;:::i;:::-;;;;;;8376:313;8719:76;8791:3;8719:67;8741:15;;8731:9;;:25;8730:55;;8771:14;;8730:55;;;8758:12;;8730:55;8719:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8707:88;;8819:13;;;;;;;;;;;8813:19;;:2;:19;;;:43;;;;;8851:4;8836:20;;:4;:20;;;;8813:43;8810:174;;;8889:79;8964:3;8889:70;8911:16;;8901:9;;:26;8900:58;;8943:15;;8900:58;;;8929:13;;8900:58;8889:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8877:91;;8810:174;9000:28;9031:24;9049:4;9031:9;:24::i;:::-;9000:55;;9075:6;;;;;;;;;;9074:7;:30;;;;;9091:13;;;;;;;;;;;9085:19;;:2;:19;;;9074:30;:45;;;;;9108:11;;;;;;;;;;;9074:45;:87;;;;;9144:17;;9123:20;:38;9074:87;:119;;;;;9175:18;;9165:9;;:28;9074:119;9070:419;;;9214:67;9231:49;9235:6;9242:37;9246:20;9267:11;;9242:3;:37::i;:::-;9231:3;:49::i;:::-;9214:16;:67::i;:::-;9300:26;9329:21;9300:50;;9393:1;9372:18;:22;9369:105;;;9419:35;9432:21;9419:12;:35::i;:::-;9369:105;9195:294;9070:419;7949:1551;7911:1589;9525:1;9515:9;:11;9512:161;;;9565:39;9594:9;9565;:24;9583:4;9565:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9540:9;:24;9558:4;9540:24;;;;;;;;;;;;;;;:64;;;;9645:4;9622:39;;9631:4;9622:39;;;9651:9;9622:39;;;;;;:::i;:::-;;;;;;;;9512:161;9699:27;9719:6;9699:9;:15;9709:4;9699:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9683:9;:15;9693:4;9683:15;;;;;;;;;;;;;;;:43;;;;9751:40;9769:21;9780:9;9769:6;:10;;:21;;;;:::i;:::-;9751:9;:13;9761:2;9751:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9737:9;:13;9747:2;9737:13;;;;;;;;;;;;;;;:54;;;;9822:2;9807:41;;9816:4;9807:41;;;9826:21;9837:9;9826:6;:10;;:21;;;;:::i;:::-;9807:41;;;;;;:::i;:::-;;;;;;;;7517:2339;7448:2408;;;:::o;1278:190::-;1364:7;1397:1;1392;:6;;1400:12;1384:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1424:9;1440:1;1436;:5;;;;:::i;:::-;1424:17;;1459:1;1452:8;;;1278:190;;;;;:::o;9972:555::-;5132:4;5123:6;;:13;;;;;;;;;;;;;;;;;;10066:1:::1;10053:11;:14:::0;10050:27;10069:7:::1;10050:27;10091:11;;;;;;;;;;;10087:25:::0;10104:7:::1;10087:25;10122:21;10160:1;10146:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10122:40;;10191:4;10173;10178:1;10173:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10217:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10207:4;10212:1;10207:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10250:62;10267:4;10282:15;;;;;;;;;;;10300:11;10250:8;:62::i;:::-;10323:15;;;;;;;;;;;:66;;;10404:11;10430:1;10446:4;10473;10493:15;10323:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10039:488;5147:1;5168:5:::0;5159:6;;:14;;;;;;;;;;;;;;;;;;9972:555;:::o;10798:92::-;10855:10;;;;;;;;;;;:19;;:27;10875:6;10855:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10798:92;:::o;1476:246::-;1534:7;1563:1;1558;:6;1554:47;;1588:1;1581:8;;;;1554:47;1611:9;1627:1;1623;:5;;;;:::i;:::-;1611:17;;1656:1;1651;1647;:5;;;;:::i;:::-;:10;1639:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1713:1;1706:8;;;1476:246;;;;;:::o;1730:132::-;1788:7;1815:39;1819:1;1822;1815:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1808:46;;1730:132;;;;:::o;9866:98::-;9923:7;9950:1;9948;:3;9947:9;;9955:1;9947:9;;;9953:1;9947:9;9940:16;;9866:98;;;;:::o;947:179::-;1005:7;1025:9;1041:1;1037;:5;;;;:::i;:::-;1025:17;;1066:1;1061;:6;;1053:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1117:1;1110:8;;;947:179;;;;:::o;1134:136::-;1192:7;1219:43;1223:1;1226;1219:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1212:50;;1134:136;;;;:::o;1870:189::-;1956:7;1988:1;1984;:5;1991:12;1976:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2015:9;2031:1;2027;:5;;;;:::i;:::-;2015:17;;2050:1;2043:8;;;1870: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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:117::-;5649:1;5646;5639:12;5663:180;5711:77;5708:1;5701:88;5808:4;5805:1;5798:15;5832:4;5829:1;5822:15;5849:281;5932:27;5954:4;5932:27;:::i;:::-;5924:6;5920:40;6062:6;6050:10;6047:22;6026:18;6014:10;6011:34;6008:62;6005:88;;;6073:18;;:::i;:::-;6005:88;6113:10;6109:2;6102:22;5892:238;5849:281;;:::o;6136:129::-;6170:6;6197:20;;:::i;:::-;6187:30;;6226:33;6254:4;6246:6;6226:33;:::i;:::-;6136:129;;;:::o;6271:311::-;6348:4;6438:18;6430:6;6427:30;6424:56;;;6460:18;;:::i;:::-;6424:56;6510:4;6502:6;6498:17;6490:25;;6570:4;6564;6560:15;6552:23;;6271:311;;;:::o;6588:117::-;6697:1;6694;6687:12;6728:710;6824:5;6849:81;6865:64;6922:6;6865:64;:::i;:::-;6849:81;:::i;:::-;6840:90;;6950:5;6979:6;6972:5;6965:21;7013:4;7006:5;7002:16;6995:23;;7066:4;7058:6;7054:17;7046:6;7042:30;7095:3;7087:6;7084:15;7081:122;;;7114:79;;:::i;:::-;7081:122;7229:6;7212:220;7246:6;7241:3;7238:15;7212:220;;;7321:3;7350:37;7383:3;7371:10;7350:37;:::i;:::-;7345:3;7338:50;7417:4;7412:3;7408:14;7401:21;;7288:144;7272:4;7267:3;7263:14;7256:21;;7212:220;;;7216:21;6830:608;;6728:710;;;;;:::o;7461:370::-;7532:5;7581:3;7574:4;7566:6;7562:17;7558:27;7548:122;;7589:79;;:::i;:::-;7548:122;7706:6;7693:20;7731:94;7821:3;7813:6;7806:4;7798:6;7794:17;7731:94;:::i;:::-;7722:103;;7538:293;7461:370;;;;:::o;7837:539::-;7921:6;7970:2;7958:9;7949:7;7945:23;7941:32;7938:119;;;7976:79;;:::i;:::-;7938:119;8124:1;8113:9;8109:17;8096:31;8154:18;8146:6;8143:30;8140:117;;;8176:79;;:::i;:::-;8140:117;8281:78;8351:7;8342:6;8331:9;8327:22;8281:78;:::i;:::-;8271:88;;8067:302;7837:539;;;;:::o;8382:474::-;8450:6;8458;8507:2;8495:9;8486:7;8482:23;8478:32;8475:119;;;8513:79;;:::i;:::-;8475:119;8633:1;8658:53;8703:7;8694:6;8683:9;8679:22;8658:53;:::i;:::-;8648:63;;8604:117;8760:2;8786:53;8831:7;8822:6;8811:9;8807:22;8786:53;:::i;:::-;8776:63;;8731:118;8382:474;;;;;:::o;8862:180::-;8910:77;8907:1;8900:88;9007:4;9004:1;8997:15;9031:4;9028:1;9021:15;9048:102;9090:8;9137:5;9134:1;9130:13;9109:34;;9048:102;;;:::o;9156:848::-;9217:5;9224:4;9248:6;9239:15;;9272:5;9263:14;;9286:712;9307:1;9297:8;9294:15;9286:712;;;9402:4;9397:3;9393:14;9387:4;9384:24;9381:50;;;9411:18;;:::i;:::-;9381:50;9461:1;9451:8;9447:16;9444:451;;;9876:4;9869:5;9865:16;9856:25;;9444:451;9926:4;9920;9916:15;9908:23;;9956:32;9979:8;9956:32;:::i;:::-;9944:44;;9286:712;;;9156:848;;;;;;;:::o;10010:1073::-;10064:5;10255:8;10245:40;;10276:1;10267:10;;10278:5;;10245:40;10304:4;10294:36;;10321:1;10312:10;;10323:5;;10294:36;10390:4;10438:1;10433:27;;;;10474:1;10469:191;;;;10383:277;;10433:27;10451:1;10442:10;;10453:5;;;10469:191;10514:3;10504:8;10501:17;10498:43;;;10521:18;;:::i;:::-;10498:43;10570:8;10567:1;10563:16;10554:25;;10605:3;10598:5;10595:14;10592:40;;;10612:18;;:::i;:::-;10592:40;10645:5;;;10383:277;;10769:2;10759:8;10756:16;10750:3;10744:4;10741:13;10737:36;10719:2;10709:8;10706:16;10701:2;10695:4;10692:12;10688:35;10672:111;10669:246;;;10825:8;10819:4;10815:19;10806:28;;10860:3;10853:5;10850:14;10847:40;;;10867:18;;:::i;:::-;10847:40;10900:5;;10669:246;10940:42;10978:3;10968:8;10962:4;10959:1;10940:42;:::i;:::-;10925:57;;;;11014:4;11009:3;11005:14;10998:5;10995:25;10992:51;;;11023:18;;:::i;:::-;10992:51;11072:4;11065:5;11061:16;11052:25;;10010:1073;;;;;;:::o;11089:281::-;11147:5;11171:23;11189:4;11171:23;:::i;:::-;11163:31;;11215:25;11231:8;11215:25;:::i;:::-;11203:37;;11259:104;11296:66;11286:8;11280:4;11259:104;:::i;:::-;11250:113;;11089:281;;;;:::o;11376:410::-;11416:7;11439:20;11457:1;11439:20;:::i;:::-;11434:25;;11473:20;11491:1;11473:20;:::i;:::-;11468:25;;11528:1;11525;11521:9;11550:30;11568:11;11550:30;:::i;:::-;11539:41;;11729:1;11720:7;11716:15;11713:1;11710:22;11690:1;11683:9;11663:83;11640:139;;11759:18;;:::i;:::-;11640:139;11424:362;11376:410;;;;:::o;11792:182::-;11932:34;11928:1;11920:6;11916:14;11909:58;11792:182;:::o;11980:366::-;12122:3;12143:67;12207:2;12202:3;12143:67;:::i;:::-;12136:74;;12219:93;12308:3;12219:93;:::i;:::-;12337:2;12332:3;12328:12;12321:19;;11980:366;;;:::o;12352:419::-;12518:4;12556:2;12545:9;12541:18;12533:26;;12605:9;12599:4;12595:20;12591:1;12580:9;12576:17;12569:47;12633:131;12759:4;12633:131;:::i;:::-;12625:139;;12352:419;;;:::o;12777:191::-;12817:3;12836:20;12854:1;12836:20;:::i;:::-;12831:25;;12870:20;12888:1;12870:20;:::i;:::-;12865:25;;12913:1;12910;12906:9;12899:16;;12934:3;12931:1;12928:10;12925:36;;;12941:18;;:::i;:::-;12925:36;12777:191;;;;:::o;12974:180::-;13022:77;13019:1;13012:88;13119:4;13116:1;13109:15;13143:4;13140:1;13133:15;13160:233;13199:3;13222:24;13240:5;13222:24;:::i;:::-;13213:33;;13268:66;13261:5;13258:77;13255:103;;13338:18;;:::i;:::-;13255:103;13385:1;13378:5;13374:13;13367:20;;13160:233;;;:::o;13399:173::-;13539:25;13535:1;13527:6;13523:14;13516:49;13399:173;:::o;13578:366::-;13720:3;13741:67;13805:2;13800:3;13741:67;:::i;:::-;13734:74;;13817:93;13906:3;13817:93;:::i;:::-;13935:2;13930:3;13926:12;13919:19;;13578:366;;;:::o;13950:419::-;14116:4;14154:2;14143:9;14139:18;14131:26;;14203:9;14197:4;14193:20;14189:1;14178:9;14174:17;14167:47;14231:131;14357:4;14231:131;:::i;:::-;14223:139;;13950:419;;;:::o;14375:143::-;14432:5;14463:6;14457:13;14448:22;;14479:33;14506:5;14479:33;:::i;:::-;14375:143;;;;:::o;14524:351::-;14594:6;14643:2;14631:9;14622:7;14618:23;14614:32;14611:119;;;14649:79;;:::i;:::-;14611:119;14769:1;14794:64;14850:7;14841:6;14830:9;14826:22;14794:64;:::i;:::-;14784:74;;14740:128;14524:351;;;;:::o;14881:332::-;15002:4;15040:2;15029:9;15025:18;15017:26;;15053:71;15121:1;15110:9;15106:17;15097:6;15053:71;:::i;:::-;15134:72;15202:2;15191:9;15187:18;15178:6;15134:72;:::i;:::-;14881:332;;;;;:::o;15219:85::-;15264:7;15293:5;15282:16;;15219:85;;;:::o;15310:60::-;15338:3;15359:5;15352:12;;15310:60;;;:::o;15376:158::-;15434:9;15467:61;15485:42;15494:32;15520:5;15494:32;:::i;:::-;15485:42;:::i;:::-;15467:61;:::i;:::-;15454:74;;15376:158;;;:::o;15540:147::-;15635:45;15674:5;15635:45;:::i;:::-;15630:3;15623:58;15540:147;;:::o;15693:807::-;15942:4;15980:3;15969:9;15965:19;15957:27;;15994:71;16062:1;16051:9;16047:17;16038:6;15994:71;:::i;:::-;16075:72;16143:2;16132:9;16128:18;16119:6;16075:72;:::i;:::-;16157:80;16233:2;16222:9;16218:18;16209:6;16157:80;:::i;:::-;16247;16323:2;16312:9;16308:18;16299:6;16247:80;:::i;:::-;16337:73;16405:3;16394:9;16390:19;16381:6;16337:73;:::i;:::-;16420;16488:3;16477:9;16473:19;16464:6;16420:73;:::i;:::-;15693:807;;;;;;;;;:::o;16506:143::-;16563:5;16594:6;16588:13;16579:22;;16610:33;16637:5;16610:33;:::i;:::-;16506:143;;;;:::o;16655:663::-;16743:6;16751;16759;16808:2;16796:9;16787:7;16783:23;16779:32;16776:119;;;16814:79;;:::i;:::-;16776:119;16934:1;16959:64;17015:7;17006:6;16995:9;16991:22;16959:64;:::i;:::-;16949:74;;16905:128;17072:2;17098:64;17154:7;17145:6;17134:9;17130:22;17098:64;:::i;:::-;17088:74;;17043:129;17211:2;17237:64;17293:7;17284:6;17273:9;17269:22;17237:64;:::i;:::-;17227:74;;17182:129;16655:663;;;;;:::o;17324:332::-;17445:4;17483:2;17472:9;17468:18;17460:26;;17496:71;17564:1;17553:9;17549:17;17540:6;17496:71;:::i;:::-;17577:72;17645:2;17634:9;17630:18;17621:6;17577:72;:::i;:::-;17324:332;;;;;:::o;17662:116::-;17732:21;17747:5;17732:21;:::i;:::-;17725:5;17722:32;17712:60;;17768:1;17765;17758:12;17712:60;17662:116;:::o;17784:137::-;17838:5;17869:6;17863:13;17854:22;;17885:30;17909:5;17885:30;:::i;:::-;17784:137;;;;:::o;17927:345::-;17994:6;18043:2;18031:9;18022:7;18018:23;18014:32;18011:119;;;18049:79;;:::i;:::-;18011:119;18169:1;18194:61;18247:7;18238:6;18227:9;18223:22;18194:61;:::i;:::-;18184:71;;18140:125;17927:345;;;;:::o;18278:223::-;18418:34;18414:1;18406:6;18402:14;18395:58;18487:6;18482:2;18474:6;18470:15;18463:31;18278:223;:::o;18507:366::-;18649:3;18670:67;18734:2;18729:3;18670:67;:::i;:::-;18663:74;;18746:93;18835:3;18746:93;:::i;:::-;18864:2;18859:3;18855:12;18848:19;;18507:366;;;:::o;18879:419::-;19045:4;19083:2;19072:9;19068:18;19060:26;;19132:9;19126:4;19122:20;19118:1;19107:9;19103:17;19096:47;19160:131;19286:4;19160:131;:::i;:::-;19152:139;;18879:419;;;:::o;19304:221::-;19444:34;19440:1;19432:6;19428:14;19421:58;19513:4;19508:2;19500:6;19496:15;19489:29;19304:221;:::o;19531:366::-;19673:3;19694:67;19758:2;19753:3;19694:67;:::i;:::-;19687:74;;19770:93;19859:3;19770:93;:::i;:::-;19888:2;19883:3;19879:12;19872:19;;19531:366;;;:::o;19903:419::-;20069:4;20107:2;20096:9;20092:18;20084:26;;20156:9;20150:4;20146:20;20142:1;20131:9;20127:17;20120:47;20184:131;20310:4;20184:131;:::i;:::-;20176:139;;19903:419;;;:::o;20328:224::-;20468:34;20464:1;20456:6;20452:14;20445:58;20537:7;20532:2;20524:6;20520:15;20513:32;20328:224;:::o;20558:366::-;20700:3;20721:67;20785:2;20780:3;20721:67;:::i;:::-;20714:74;;20797:93;20886:3;20797:93;:::i;:::-;20915:2;20910:3;20906:12;20899:19;;20558:366;;;:::o;20930:419::-;21096:4;21134:2;21123:9;21119:18;21111:26;;21183:9;21177:4;21173:20;21169:1;21158:9;21154:17;21147:47;21211:131;21337:4;21211:131;:::i;:::-;21203:139;;20930:419;;;:::o;21355:222::-;21495:34;21491:1;21483:6;21479:14;21472:58;21564:5;21559:2;21551:6;21547:15;21540:30;21355:222;:::o;21583:366::-;21725:3;21746:67;21810:2;21805:3;21746:67;:::i;:::-;21739:74;;21822:93;21911:3;21822:93;:::i;:::-;21940:2;21935:3;21931:12;21924:19;;21583:366;;;:::o;21955:419::-;22121:4;22159:2;22148:9;22144:18;22136:26;;22208:9;22202:4;22198:20;22194:1;22183:9;22179:17;22172:47;22236:131;22362:4;22236:131;:::i;:::-;22228:139;;21955:419;;;:::o;22380:228::-;22520:34;22516:1;22508:6;22504:14;22497:58;22589:11;22584:2;22576:6;22572:15;22565:36;22380:228;:::o;22614:366::-;22756:3;22777:67;22841:2;22836:3;22777:67;:::i;:::-;22770:74;;22853:93;22942:3;22853:93;:::i;:::-;22971:2;22966:3;22962:12;22955:19;;22614:366;;;:::o;22986:419::-;23152:4;23190:2;23179:9;23175:18;23167:26;;23239:9;23233:4;23229:20;23225:1;23214:9;23210:17;23203:47;23267:131;23393:4;23267:131;:::i;:::-;23259:139;;22986:419;;;:::o;23411:174::-;23551:26;23547:1;23539:6;23535:14;23528:50;23411:174;:::o;23591:366::-;23733:3;23754:67;23818:2;23813:3;23754:67;:::i;:::-;23747:74;;23830:93;23919:3;23830:93;:::i;:::-;23948:2;23943:3;23939:12;23932:19;;23591:366;;;:::o;23963:419::-;24129:4;24167:2;24156:9;24152:18;24144:26;;24216:9;24210:4;24206:20;24202:1;24191:9;24187:17;24180:47;24244:131;24370:4;24244:131;:::i;:::-;24236:139;;23963:419;;;:::o;24388:223::-;24528:34;24524:1;24516:6;24512:14;24505:58;24597:6;24592:2;24584:6;24580:15;24573:31;24388:223;:::o;24617:366::-;24759:3;24780:67;24844:2;24839:3;24780:67;:::i;:::-;24773:74;;24856:93;24945:3;24856:93;:::i;:::-;24974:2;24969:3;24965:12;24958:19;;24617:366;;;:::o;24989:419::-;25155:4;25193:2;25182:9;25178:18;25170:26;;25242:9;25236:4;25232:20;25228:1;25217:9;25213:17;25206:47;25270:131;25396:4;25270:131;:::i;:::-;25262:139;;24989:419;;;:::o;25414:175::-;25554:27;25550:1;25542:6;25538:14;25531:51;25414:175;:::o;25595:366::-;25737:3;25758:67;25822:2;25817:3;25758:67;:::i;:::-;25751:74;;25834:93;25923:3;25834:93;:::i;:::-;25952:2;25947:3;25943:12;25936:19;;25595:366;;;:::o;25967:419::-;26133:4;26171:2;26160:9;26156:18;26148:26;;26220:9;26214:4;26210:20;26206:1;26195:9;26191:17;26184:47;26248:131;26374:4;26248:131;:::i;:::-;26240:139;;25967:419;;;:::o;26392:176::-;26532:28;26528:1;26520:6;26516:14;26509:52;26392:176;:::o;26574:366::-;26716:3;26737:67;26801:2;26796:3;26737:67;:::i;:::-;26730:74;;26813:93;26902:3;26813:93;:::i;:::-;26931:2;26926:3;26922:12;26915:19;;26574:366;;;:::o;26946:419::-;27112:4;27150:2;27139:9;27135:18;27127:26;;27199:9;27193:4;27189:20;27185:1;27174:9;27170:17;27163:47;27227:131;27353:4;27227:131;:::i;:::-;27219:139;;26946:419;;;:::o;27371:194::-;27411:4;27431:20;27449:1;27431:20;:::i;:::-;27426:25;;27465:20;27483:1;27465:20;:::i;:::-;27460:25;;27509:1;27506;27502:9;27494:17;;27533:1;27527:4;27524:11;27521:37;;;27538:18;;:::i;:::-;27521:37;27371:194;;;;:::o;27571:114::-;27638:6;27672:5;27666:12;27656:22;;27571:114;;;:::o;27691:184::-;27790:11;27824:6;27819:3;27812:19;27864:4;27859:3;27855:14;27840:29;;27691:184;;;;:::o;27881:132::-;27948:4;27971:3;27963:11;;28001:4;27996:3;27992:14;27984:22;;27881:132;;;:::o;28019:108::-;28096:24;28114:5;28096:24;:::i;:::-;28091:3;28084:37;28019:108;;:::o;28133:179::-;28202:10;28223:46;28265:3;28257:6;28223:46;:::i;:::-;28301:4;28296:3;28292:14;28278:28;;28133:179;;;;:::o;28318:113::-;28388:4;28420;28415:3;28411:14;28403:22;;28318:113;;;:::o;28467:732::-;28586:3;28615:54;28663:5;28615:54;:::i;:::-;28685:86;28764:6;28759:3;28685:86;:::i;:::-;28678:93;;28795:56;28845:5;28795:56;:::i;:::-;28874:7;28905:1;28890:284;28915:6;28912:1;28909:13;28890:284;;;28991:6;28985:13;29018:63;29077:3;29062:13;29018:63;:::i;:::-;29011:70;;29104:60;29157:6;29104:60;:::i;:::-;29094:70;;28950:224;28937:1;28934;28930:9;28925:14;;28890:284;;;28894:14;29190:3;29183:10;;28591:608;;;28467:732;;;;:::o;29205:831::-;29468:4;29506:3;29495:9;29491:19;29483:27;;29520:71;29588:1;29577:9;29573:17;29564:6;29520:71;:::i;:::-;29601:80;29677:2;29666:9;29662:18;29653:6;29601:80;:::i;:::-;29728:9;29722:4;29718:20;29713:2;29702:9;29698:18;29691:48;29756:108;29859:4;29850:6;29756:108;:::i;:::-;29748:116;;29874:72;29942:2;29931:9;29927:18;29918:6;29874:72;:::i;:::-;29956:73;30024:3;30013:9;30009:19;30000:6;29956:73;:::i;:::-;29205:831;;;;;;;;:::o;30042:180::-;30090:77;30087:1;30080:88;30187:4;30184:1;30177:15;30211:4;30208:1;30201:15;30228:185;30268:1;30285:20;30303:1;30285:20;:::i;:::-;30280:25;;30319:20;30337:1;30319:20;:::i;:::-;30314:25;;30358:1;30348:35;;30363:18;;:::i;:::-;30348:35;30405:1;30402;30398:9;30393:14;;30228:185;;;;:::o;30419:220::-;30559:34;30555:1;30547:6;30543:14;30536:58;30628:3;30623:2;30615:6;30611:15;30604:28;30419:220;:::o;30645:366::-;30787:3;30808:67;30872:2;30867:3;30808:67;:::i;:::-;30801:74;;30884:93;30973:3;30884:93;:::i;:::-;31002:2;30997:3;30993:12;30986:19;;30645:366;;;:::o;31017:419::-;31183:4;31221:2;31210:9;31206:18;31198:26;;31270:9;31264:4;31260:20;31256:1;31245:9;31241:17;31234:47;31298:131;31424:4;31298:131;:::i;:::-;31290:139;;31017:419;;;:::o;31442:177::-;31582:29;31578:1;31570:6;31566:14;31559:53;31442:177;:::o;31625:366::-;31767:3;31788:67;31852:2;31847:3;31788:67;:::i;:::-;31781:74;;31864:93;31953:3;31864:93;:::i;:::-;31982:2;31977:3;31973:12;31966:19;;31625:366;;;:::o;31997:419::-;32163:4;32201:2;32190:9;32186:18;32178:26;;32250:9;32244:4;32240:20;32236:1;32225:9;32221:17;32214:47;32278:131;32404:4;32278:131;:::i;:::-;32270:139;;31997:419;;;:::o

Swarm Source

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