ETH Price: $3,415.06 (-0.29%)

Token

green (green)
 

Overview

Max Total Supply

1,000,000,000 green

Holders

120

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 green

Value
$0.00
0x0ac16c103c70c4d6818b19fc137888855ff401d4
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:
green

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-11-08
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.23;

/*
Website: http://greencoin.cash/
Telegram: https://t.me/greenarrival
X/Twitter: https://x.com/GreenCoinErc
*/

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 green 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;
    address payable private _taxWallet;

    uint256 private _buyTax=5;
    uint256 private _sellTax=20;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"green";
    string private constant _symbol = unicode"green";
    uint256 public _maxTxAmount = 15000000 * 10**_decimals;
    uint256 public _maxWalletSize = 15000000 *10**_decimals;
    uint256 public _taxSwapThreshold= 1000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 15000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (address taxWallet) {
        require(taxWallet != address(0), "tax wallet cannot be 0");
        _taxWallet = payable(taxWallet);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((from == uniswapV2Pair) ? _buyTax : _sellTax).div(100);

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

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount.mul(_sellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

        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 {
        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;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function rescueTokens(address tokenAddress) external onlyOwner {
        IERC20 token = IERC20(tokenAddress);
        uint256 tokenBalance = token.balanceOf(address(this));
        require(tokenBalance > 0, "No tokens to rescue");
        token.transfer(_msgSender(), tokenBalance);
    }

    function rescueETH() external onlyOwner {
        uint256 ethBalance = address(this).balance;
        require(ethBalance > 0, "No ETH to rescue");
        payable(_msgSender()).transfer(ethBalance);
    }


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


    function reduceFee(uint256 _newBuyFee, uint256 _newSellFee) external onlyOwner() {
        require(_newBuyFee <= _buyTax && _newSellFee <= _sellTax);
        _buyTax=_newBuyFee;
        _sellTax=_newSellFee;
    }

    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":[{"internalType":"address","name":"taxWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBuyFee","type":"uint256"},{"internalType":"uint256","name":"_newSellFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"rescueTokens","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":[{"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"}]

608060405260058055601460065560146007555f6008556012600a6200002691906200066b565b62e4e1c0620000369190620006bb565b6009556012600a6200004991906200066b565b62e4e1c0620000599190620006bb565b600a556012600a6200006c91906200066b565b620f42406200007c9190620006bb565b600b556012600a6200008f91906200066b565b62e4e1c06200009f9190620006bb565b600c555f600e60156101000a81548160ff0219169083151502179055505f600e60166101000a81548160ff0219169083151502179055505f600f555f601055348015620000ea575f80fd5b5060405162003ba038038062003ba083398181016040528101906200011091906200076a565b5f62000121620004ab60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200022e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200022590620007f8565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6200027e91906200066b565b633b9aca006200028f9190620006bb565b60015f620002a2620004ab60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002f4620004b260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200041e620004ab60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6200047c91906200066b565b633b9aca006200048d9190620006bb565b6040516200049c919062000829565b60405180910390a35062000844565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000563578086048111156200053b576200053a620004d9565b5b60018516156200054b5780820291505b80810290506200055b8562000506565b94506200051b565b94509492505050565b5f826200057d57600190506200064f565b816200058c575f90506200064f565b8160018114620005a55760028114620005b057620005e6565b60019150506200064f565b60ff841115620005c557620005c4620004d9565b5b8360020a915084821115620005df57620005de620004d9565b5b506200064f565b5060208310610133831016604e8410600b8410161715620006205782820a9050838111156200061a5762000619620004d9565b5b6200064f565b6200062f848484600162000512565b92509050818404811115620006495762000648620004d9565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006778262000656565b915062000684836200065f565b9250620006b37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200056c565b905092915050565b5f620006c78262000656565b9150620006d48362000656565b9250828202620006e48162000656565b91508282048414831517620006fe57620006fd620004d9565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620007348262000709565b9050919050565b620007468162000728565b811462000751575f80fd5b50565b5f8151905062000764816200073b565b92915050565b5f6020828403121562000782576200078162000705565b5b5f620007918482850162000754565b91505092915050565b5f82825260208201905092915050565b7f7461782077616c6c65742063616e6e6f742062652030000000000000000000005f82015250565b5f620007e06016836200079a565b9150620007ed82620007aa565b602082019050919050565b5f6020820190508181035f8301526200081181620007d2565b9050919050565b620008238162000656565b82525050565b5f6020820190506200083e5f83018462000818565b92915050565b61334e80620008525f395ff3fe60806040526004361061012c575f3560e01c8063715018a6116100aa5780638f9a55c01161006e5780638f9a55c01461038f57806395d89b41146103b9578063a9059cbb146103e3578063bf474bed1461041f578063c9567bf914610449578063dd62ed3e1461045f57610133565b8063715018a6146102e757806372333356146102fd578063751039fc146103255780637d1db4a51461033b5780638da5cb5b1461036557610133565b806320800a00116100f157806320800a001461021957806323b872dd1461022f578063313ce5671461026b57806351bc3c851461029557806370a08231146102ab57610133565b8062ae3bf81461013757806306fdde031461015f578063095ea7b3146101895780630faee56f146101c557806318160ddd146101ef57610133565b3661013357005b5f80fd5b348015610142575f80fd5b5061015d60048036038101906101589190612327565b61049b565b005b34801561016a575f80fd5b50610173610678565b60405161018091906123dc565b60405180910390f35b348015610194575f80fd5b506101af60048036038101906101aa919061242f565b6106b5565b6040516101bc9190612487565b60405180910390f35b3480156101d0575f80fd5b506101d96106d2565b6040516101e691906124af565b60405180910390f35b3480156101fa575f80fd5b506102036106d8565b60405161021091906124af565b60405180910390f35b348015610224575f80fd5b5061022d6106fb565b005b34801561023a575f80fd5b50610255600480360381019061025091906124c8565b610823565b6040516102629190612487565b60405180910390f35b348015610276575f80fd5b5061027f6108f7565b60405161028c9190612533565b60405180910390f35b3480156102a0575f80fd5b506102a96108ff565b005b3480156102b6575f80fd5b506102d160048036038101906102cc9190612327565b610996565b6040516102de91906124af565b60405180910390f35b3480156102f2575f80fd5b506102fb6109dc565b005b348015610308575f80fd5b50610323600480360381019061031e919061254c565b610b2a565b005b348015610330575f80fd5b50610339610bec565b005b348015610346575f80fd5b5061034f610d1b565b60405161035c91906124af565b60405180910390f35b348015610370575f80fd5b50610379610d21565b6040516103869190612599565b60405180910390f35b34801561039a575f80fd5b506103a3610d48565b6040516103b091906124af565b60405180910390f35b3480156103c4575f80fd5b506103cd610d4e565b6040516103da91906123dc565b60405180910390f35b3480156103ee575f80fd5b506104096004803603810190610404919061242f565b610d8b565b6040516104169190612487565b60405180910390f35b34801561042a575f80fd5b50610433610da8565b60405161044091906124af565b60405180910390f35b348015610454575f80fd5b5061045d610dae565b005b34801561046a575f80fd5b50610485600480360381019061048091906125b2565b6112d0565b60405161049291906124af565b60405180910390f35b6104a3611352565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461052f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105269061263a565b60405180910390fd5b5f8190505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161056d9190612599565b602060405180830381865afa158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac919061266c565b90505f81116105f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e7906126e1565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610614611352565b836040518363ffffffff1660e01b81526004016106329291906126ff565b6020604051808303815f875af115801561064e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106729190612750565b50505050565b60606040518060400160405280600581526020017f677265656e000000000000000000000000000000000000000000000000000000815250905090565b5f6106c86106c1611352565b8484611359565b6001905092915050565b600c5481565b5f6012600a6106e791906128d7565b633b9aca006106f69190612921565b905090565b610703611352565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107869061263a565b60405180910390fd5b5f4790505f81116107d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cc906129ac565b60405180910390fd5b6107dd611352565b73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561081f573d5f803e3d5ffd5b5050565b5f61082f84848461151c565b6108ec8461083b611352565b6108e7856040518060600160405280602881526020016132f16028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61089e611352565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611db59092919063ffffffff16565b611359565b600190509392505050565b5f6012905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661093f611352565b73ffffffffffffffffffffffffffffffffffffffff161461095e575f80fd5b5f61096830610996565b90505f81111561097c5761097b81611e17565b5b5f4790505f8111156109925761099181612082565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109e4611352565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a679061263a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b32611352565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb59061263a565b60405180910390fd5b6005548211158015610bd257506006548111155b610bda575f80fd5b81600581905550806006819055505050565b610bf4611352565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c779061263a565b60405180910390fd5b6012600a610c8e91906128d7565b633b9aca00610c9d9190612921565b6009819055506012600a610cb191906128d7565b633b9aca00610cc09190612921565b600a819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610cf591906128d7565b633b9aca00610d049190612921565b604051610d1191906124af565b60405180910390a1565b60095481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600581526020017f677265656e000000000000000000000000000000000000000000000000000000815250905090565b5f610d9e610d97611352565b848461151c565b6001905092915050565b600b5481565b610db6611352565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e399061263a565b60405180910390fd5b600e60149054906101000a900460ff1615610e92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8990612a14565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f2e30600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610f1a91906128d7565b633b9aca00610f299190612921565b611359565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fbc9190612a46565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611042573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110669190612a46565b6040518363ffffffff1660e01b8152600401611083929190612a71565b6020604051808303815f875af115801561109f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190612a46565b600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061114a30610996565b5f80611154610d21565b426040518863ffffffff1660e01b815260040161117696959493929190612ada565b60606040518083038185885af1158015611192573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111b79190612b39565b505050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016112579291906126ff565b6020604051808303815f875af1158015611273573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112979190612750565b506001600e60166101000a81548160ff0219169083151502179055506001600e60146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113be90612bf9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611435576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142c90612c87565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161150f91906124af565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361158a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158190612d15565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef90612da3565b60405180910390fd5b5f811161163a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163190612e31565b60405180910390fd5b5f611643610d21565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116b15750611681610d21565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b055761173b606461172d600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461171a5760065461171e565b6005545b856120ea90919063ffffffff16565b61216190919063ffffffff16565b9050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117e65750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611839575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118f357600954821115611883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187a90612e99565b60405180910390fd5b600a548261189085610996565b61189a9190612eb7565b11156118db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d290612f34565b60405180910390fd5b60085f8154809291906118ed90612f52565b91905055505b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561197b57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119ab576119a8606461199a600654856120ea90919063ffffffff16565b61216190919063ffffffff16565b90505b5f6119b530610996565b9050600e60159054906101000a900460ff16158015611a205750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a385750600e60169054906101000a900460ff165b8015611a455750600b5481115b8015611a545750600754600854115b15611b0357601054431115611a6b575f600f819055505b6003600f5410611ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa790612fe3565b60405180910390fd5b611acd611ac884611ac384600c546121aa565b6121aa565b611e17565b5f4790505f811115611ae357611ae247612082565b5b600f5f815480929190611af590612f52565b919050555043601081905550505b505b5f811115611c0457611b5d8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121c290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bfb91906124af565b60405180910390a35b611c548260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461221f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611cf7611cab828461221f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121c290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d9a848661221f90919063ffffffff16565b604051611da791906124af565b60405180910390a350505050565b5f838311158290611dfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df391906123dc565b60405180910390fd5b505f8385611e0a9190613001565b9050809150509392505050565b6001600e60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e4e57611e4d613034565b5b604051908082528060200260200182016040528015611e7c5781602001602082028036833780820191505090505b50905030815f81518110611e9357611e92613061565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f5b9190612a46565b81600181518110611f6f57611f6e613061565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fd530600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611359565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612037959493929190613145565b5f604051808303815f87803b15801561204e575f80fd5b505af1158015612060573d5f803e3d5ffd5b50505050505f600e60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120e6573d5f803e3d5ffd5b5050565b5f8083036120fa575f905061215b565b5f82846121079190612921565b905082848261211691906131ca565b14612156576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214d9061326a565b60405180910390fd5b809150505b92915050565b5f6121a283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612268565b905092915050565b5f8183116121b857826121ba565b815b905092915050565b5f8082846121d09190612eb7565b905083811015612215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220c906132d2565b60405180910390fd5b8091505092915050565b5f61226083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611db5565b905092915050565b5f80831182906122ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a591906123dc565b60405180910390fd5b505f83856122bc91906131ca565b9050809150509392505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6122f6826122cd565b9050919050565b612306816122ec565b8114612310575f80fd5b50565b5f81359050612321816122fd565b92915050565b5f6020828403121561233c5761233b6122c9565b5b5f61234984828501612313565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561238957808201518184015260208101905061236e565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6123ae82612352565b6123b8818561235c565b93506123c881856020860161236c565b6123d181612394565b840191505092915050565b5f6020820190508181035f8301526123f481846123a4565b905092915050565b5f819050919050565b61240e816123fc565b8114612418575f80fd5b50565b5f8135905061242981612405565b92915050565b5f8060408385031215612445576124446122c9565b5b5f61245285828601612313565b92505060206124638582860161241b565b9150509250929050565b5f8115159050919050565b6124818161246d565b82525050565b5f60208201905061249a5f830184612478565b92915050565b6124a9816123fc565b82525050565b5f6020820190506124c25f8301846124a0565b92915050565b5f805f606084860312156124df576124de6122c9565b5b5f6124ec86828701612313565b93505060206124fd86828701612313565b925050604061250e8682870161241b565b9150509250925092565b5f60ff82169050919050565b61252d81612518565b82525050565b5f6020820190506125465f830184612524565b92915050565b5f8060408385031215612562576125616122c9565b5b5f61256f8582860161241b565b92505060206125808582860161241b565b9150509250929050565b612593816122ec565b82525050565b5f6020820190506125ac5f83018461258a565b92915050565b5f80604083850312156125c8576125c76122c9565b5b5f6125d585828601612313565b92505060206125e685828601612313565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61262460208361235c565b915061262f826125f0565b602082019050919050565b5f6020820190508181035f83015261265181612618565b9050919050565b5f8151905061266681612405565b92915050565b5f60208284031215612681576126806122c9565b5b5f61268e84828501612658565b91505092915050565b7f4e6f20746f6b656e7320746f20726573637565000000000000000000000000005f82015250565b5f6126cb60138361235c565b91506126d682612697565b602082019050919050565b5f6020820190508181035f8301526126f8816126bf565b9050919050565b5f6040820190506127125f83018561258a565b61271f60208301846124a0565b9392505050565b61272f8161246d565b8114612739575f80fd5b50565b5f8151905061274a81612726565b92915050565b5f60208284031215612765576127646122c9565b5b5f6127728482850161273c565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156127fd578086048111156127d9576127d861277b565b5b60018516156127e85780820291505b80810290506127f6856127a8565b94506127bd565b94509492505050565b5f8261281557600190506128d0565b81612822575f90506128d0565b8160018114612838576002811461284257612871565b60019150506128d0565b60ff8411156128545761285361277b565b5b8360020a91508482111561286b5761286a61277b565b5b506128d0565b5060208310610133831016604e8410600b84101617156128a65782820a9050838111156128a1576128a061277b565b5b6128d0565b6128b384848460016127b4565b925090508184048111156128ca576128c961277b565b5b81810290505b9392505050565b5f6128e1826123fc565b91506128ec83612518565b92506129197fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612806565b905092915050565b5f61292b826123fc565b9150612936836123fc565b9250828202612944816123fc565b9150828204841483151761295b5761295a61277b565b5b5092915050565b7f4e6f2045544820746f20726573637565000000000000000000000000000000005f82015250565b5f61299660108361235c565b91506129a182612962565b602082019050919050565b5f6020820190508181035f8301526129c38161298a565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6129fe60178361235c565b9150612a09826129ca565b602082019050919050565b5f6020820190508181035f830152612a2b816129f2565b9050919050565b5f81519050612a40816122fd565b92915050565b5f60208284031215612a5b57612a5a6122c9565b5b5f612a6884828501612a32565b91505092915050565b5f604082019050612a845f83018561258a565b612a91602083018461258a565b9392505050565b5f819050919050565b5f819050919050565b5f612ac4612abf612aba84612a98565b612aa1565b6123fc565b9050919050565b612ad481612aaa565b82525050565b5f60c082019050612aed5f83018961258a565b612afa60208301886124a0565b612b076040830187612acb565b612b146060830186612acb565b612b21608083018561258a565b612b2e60a08301846124a0565b979650505050505050565b5f805f60608486031215612b5057612b4f6122c9565b5b5f612b5d86828701612658565b9350506020612b6e86828701612658565b9250506040612b7f86828701612658565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612be360248361235c565b9150612bee82612b89565b604082019050919050565b5f6020820190508181035f830152612c1081612bd7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c7160228361235c565b9150612c7c82612c17565b604082019050919050565b5f6020820190508181035f830152612c9e81612c65565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612cff60258361235c565b9150612d0a82612ca5565b604082019050919050565b5f6020820190508181035f830152612d2c81612cf3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d8d60238361235c565b9150612d9882612d33565b604082019050919050565b5f6020820190508181035f830152612dba81612d81565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e1b60298361235c565b9150612e2682612dc1565b604082019050919050565b5f6020820190508181035f830152612e4881612e0f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612e8360198361235c565b9150612e8e82612e4f565b602082019050919050565b5f6020820190508181035f830152612eb081612e77565b9050919050565b5f612ec1826123fc565b9150612ecc836123fc565b9250828201905080821115612ee457612ee361277b565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612f1e601a8361235c565b9150612f2982612eea565b602082019050919050565b5f6020820190508181035f830152612f4b81612f12565b9050919050565b5f612f5c826123fc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f8e57612f8d61277b565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612fcd60178361235c565b9150612fd882612f99565b602082019050919050565b5f6020820190508181035f830152612ffa81612fc1565b9050919050565b5f61300b826123fc565b9150613016836123fc565b925082820390508181111561302e5761302d61277b565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6130c0816122ec565b82525050565b5f6130d183836130b7565b60208301905092915050565b5f602082019050919050565b5f6130f38261308e565b6130fd8185613098565b9350613108836130a8565b805f5b8381101561313857815161311f88826130c6565b975061312a836130dd565b92505060018101905061310b565b5085935050505092915050565b5f60a0820190506131585f8301886124a0565b6131656020830187612acb565b818103604083015261317781866130e9565b9050613186606083018561258a565b61319360808301846124a0565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131d4826123fc565b91506131df836123fc565b9250826131ef576131ee61319d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61325460218361235c565b915061325f826131fa565b604082019050919050565b5f6020820190508181035f83015261328181613248565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6132bc601b8361235c565b91506132c782613288565b602082019050919050565b5f6020820190508181035f8301526132e9816132b0565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205593001b7390a386ea4958da8cc8329d2c0948be100cf2ba5263ea978a307e9f64736f6c63430008170033000000000000000000000000c59f28b2ee7a5e78d5b8e2c6b72b3cee93f1c16e

Deployed Bytecode

0x60806040526004361061012c575f3560e01c8063715018a6116100aa5780638f9a55c01161006e5780638f9a55c01461038f57806395d89b41146103b9578063a9059cbb146103e3578063bf474bed1461041f578063c9567bf914610449578063dd62ed3e1461045f57610133565b8063715018a6146102e757806372333356146102fd578063751039fc146103255780637d1db4a51461033b5780638da5cb5b1461036557610133565b806320800a00116100f157806320800a001461021957806323b872dd1461022f578063313ce5671461026b57806351bc3c851461029557806370a08231146102ab57610133565b8062ae3bf81461013757806306fdde031461015f578063095ea7b3146101895780630faee56f146101c557806318160ddd146101ef57610133565b3661013357005b5f80fd5b348015610142575f80fd5b5061015d60048036038101906101589190612327565b61049b565b005b34801561016a575f80fd5b50610173610678565b60405161018091906123dc565b60405180910390f35b348015610194575f80fd5b506101af60048036038101906101aa919061242f565b6106b5565b6040516101bc9190612487565b60405180910390f35b3480156101d0575f80fd5b506101d96106d2565b6040516101e691906124af565b60405180910390f35b3480156101fa575f80fd5b506102036106d8565b60405161021091906124af565b60405180910390f35b348015610224575f80fd5b5061022d6106fb565b005b34801561023a575f80fd5b50610255600480360381019061025091906124c8565b610823565b6040516102629190612487565b60405180910390f35b348015610276575f80fd5b5061027f6108f7565b60405161028c9190612533565b60405180910390f35b3480156102a0575f80fd5b506102a96108ff565b005b3480156102b6575f80fd5b506102d160048036038101906102cc9190612327565b610996565b6040516102de91906124af565b60405180910390f35b3480156102f2575f80fd5b506102fb6109dc565b005b348015610308575f80fd5b50610323600480360381019061031e919061254c565b610b2a565b005b348015610330575f80fd5b50610339610bec565b005b348015610346575f80fd5b5061034f610d1b565b60405161035c91906124af565b60405180910390f35b348015610370575f80fd5b50610379610d21565b6040516103869190612599565b60405180910390f35b34801561039a575f80fd5b506103a3610d48565b6040516103b091906124af565b60405180910390f35b3480156103c4575f80fd5b506103cd610d4e565b6040516103da91906123dc565b60405180910390f35b3480156103ee575f80fd5b506104096004803603810190610404919061242f565b610d8b565b6040516104169190612487565b60405180910390f35b34801561042a575f80fd5b50610433610da8565b60405161044091906124af565b60405180910390f35b348015610454575f80fd5b5061045d610dae565b005b34801561046a575f80fd5b50610485600480360381019061048091906125b2565b6112d0565b60405161049291906124af565b60405180910390f35b6104a3611352565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461052f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105269061263a565b60405180910390fd5b5f8190505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161056d9190612599565b602060405180830381865afa158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac919061266c565b90505f81116105f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e7906126e1565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610614611352565b836040518363ffffffff1660e01b81526004016106329291906126ff565b6020604051808303815f875af115801561064e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106729190612750565b50505050565b60606040518060400160405280600581526020017f677265656e000000000000000000000000000000000000000000000000000000815250905090565b5f6106c86106c1611352565b8484611359565b6001905092915050565b600c5481565b5f6012600a6106e791906128d7565b633b9aca006106f69190612921565b905090565b610703611352565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107869061263a565b60405180910390fd5b5f4790505f81116107d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cc906129ac565b60405180910390fd5b6107dd611352565b73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561081f573d5f803e3d5ffd5b5050565b5f61082f84848461151c565b6108ec8461083b611352565b6108e7856040518060600160405280602881526020016132f16028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61089e611352565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611db59092919063ffffffff16565b611359565b600190509392505050565b5f6012905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661093f611352565b73ffffffffffffffffffffffffffffffffffffffff161461095e575f80fd5b5f61096830610996565b90505f81111561097c5761097b81611e17565b5b5f4790505f8111156109925761099181612082565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109e4611352565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a679061263a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b32611352565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb59061263a565b60405180910390fd5b6005548211158015610bd257506006548111155b610bda575f80fd5b81600581905550806006819055505050565b610bf4611352565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c779061263a565b60405180910390fd5b6012600a610c8e91906128d7565b633b9aca00610c9d9190612921565b6009819055506012600a610cb191906128d7565b633b9aca00610cc09190612921565b600a819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610cf591906128d7565b633b9aca00610d049190612921565b604051610d1191906124af565b60405180910390a1565b60095481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600581526020017f677265656e000000000000000000000000000000000000000000000000000000815250905090565b5f610d9e610d97611352565b848461151c565b6001905092915050565b600b5481565b610db6611352565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e399061263a565b60405180910390fd5b600e60149054906101000a900460ff1615610e92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8990612a14565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f2e30600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610f1a91906128d7565b633b9aca00610f299190612921565b611359565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fbc9190612a46565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611042573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110669190612a46565b6040518363ffffffff1660e01b8152600401611083929190612a71565b6020604051808303815f875af115801561109f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190612a46565b600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061114a30610996565b5f80611154610d21565b426040518863ffffffff1660e01b815260040161117696959493929190612ada565b60606040518083038185885af1158015611192573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111b79190612b39565b505050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016112579291906126ff565b6020604051808303815f875af1158015611273573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112979190612750565b506001600e60166101000a81548160ff0219169083151502179055506001600e60146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113be90612bf9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611435576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142c90612c87565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161150f91906124af565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361158a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158190612d15565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef90612da3565b60405180910390fd5b5f811161163a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163190612e31565b60405180910390fd5b5f611643610d21565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116b15750611681610d21565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b055761173b606461172d600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461171a5760065461171e565b6005545b856120ea90919063ffffffff16565b61216190919063ffffffff16565b9050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117e65750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611839575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118f357600954821115611883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187a90612e99565b60405180910390fd5b600a548261189085610996565b61189a9190612eb7565b11156118db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d290612f34565b60405180910390fd5b60085f8154809291906118ed90612f52565b91905055505b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561197b57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119ab576119a8606461199a600654856120ea90919063ffffffff16565b61216190919063ffffffff16565b90505b5f6119b530610996565b9050600e60159054906101000a900460ff16158015611a205750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a385750600e60169054906101000a900460ff165b8015611a455750600b5481115b8015611a545750600754600854115b15611b0357601054431115611a6b575f600f819055505b6003600f5410611ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa790612fe3565b60405180910390fd5b611acd611ac884611ac384600c546121aa565b6121aa565b611e17565b5f4790505f811115611ae357611ae247612082565b5b600f5f815480929190611af590612f52565b919050555043601081905550505b505b5f811115611c0457611b5d8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121c290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bfb91906124af565b60405180910390a35b611c548260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461221f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611cf7611cab828461221f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121c290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d9a848661221f90919063ffffffff16565b604051611da791906124af565b60405180910390a350505050565b5f838311158290611dfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df391906123dc565b60405180910390fd5b505f8385611e0a9190613001565b9050809150509392505050565b6001600e60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e4e57611e4d613034565b5b604051908082528060200260200182016040528015611e7c5781602001602082028036833780820191505090505b50905030815f81518110611e9357611e92613061565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f5b9190612a46565b81600181518110611f6f57611f6e613061565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fd530600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611359565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612037959493929190613145565b5f604051808303815f87803b15801561204e575f80fd5b505af1158015612060573d5f803e3d5ffd5b50505050505f600e60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120e6573d5f803e3d5ffd5b5050565b5f8083036120fa575f905061215b565b5f82846121079190612921565b905082848261211691906131ca565b14612156576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214d9061326a565b60405180910390fd5b809150505b92915050565b5f6121a283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612268565b905092915050565b5f8183116121b857826121ba565b815b905092915050565b5f8082846121d09190612eb7565b905083811015612215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220c906132d2565b60405180910390fd5b8091505092915050565b5f61226083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611db5565b905092915050565b5f80831182906122ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a591906123dc565b60405180910390fd5b505f83856122bc91906131ca565b9050809150509392505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6122f6826122cd565b9050919050565b612306816122ec565b8114612310575f80fd5b50565b5f81359050612321816122fd565b92915050565b5f6020828403121561233c5761233b6122c9565b5b5f61234984828501612313565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561238957808201518184015260208101905061236e565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6123ae82612352565b6123b8818561235c565b93506123c881856020860161236c565b6123d181612394565b840191505092915050565b5f6020820190508181035f8301526123f481846123a4565b905092915050565b5f819050919050565b61240e816123fc565b8114612418575f80fd5b50565b5f8135905061242981612405565b92915050565b5f8060408385031215612445576124446122c9565b5b5f61245285828601612313565b92505060206124638582860161241b565b9150509250929050565b5f8115159050919050565b6124818161246d565b82525050565b5f60208201905061249a5f830184612478565b92915050565b6124a9816123fc565b82525050565b5f6020820190506124c25f8301846124a0565b92915050565b5f805f606084860312156124df576124de6122c9565b5b5f6124ec86828701612313565b93505060206124fd86828701612313565b925050604061250e8682870161241b565b9150509250925092565b5f60ff82169050919050565b61252d81612518565b82525050565b5f6020820190506125465f830184612524565b92915050565b5f8060408385031215612562576125616122c9565b5b5f61256f8582860161241b565b92505060206125808582860161241b565b9150509250929050565b612593816122ec565b82525050565b5f6020820190506125ac5f83018461258a565b92915050565b5f80604083850312156125c8576125c76122c9565b5b5f6125d585828601612313565b92505060206125e685828601612313565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61262460208361235c565b915061262f826125f0565b602082019050919050565b5f6020820190508181035f83015261265181612618565b9050919050565b5f8151905061266681612405565b92915050565b5f60208284031215612681576126806122c9565b5b5f61268e84828501612658565b91505092915050565b7f4e6f20746f6b656e7320746f20726573637565000000000000000000000000005f82015250565b5f6126cb60138361235c565b91506126d682612697565b602082019050919050565b5f6020820190508181035f8301526126f8816126bf565b9050919050565b5f6040820190506127125f83018561258a565b61271f60208301846124a0565b9392505050565b61272f8161246d565b8114612739575f80fd5b50565b5f8151905061274a81612726565b92915050565b5f60208284031215612765576127646122c9565b5b5f6127728482850161273c565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156127fd578086048111156127d9576127d861277b565b5b60018516156127e85780820291505b80810290506127f6856127a8565b94506127bd565b94509492505050565b5f8261281557600190506128d0565b81612822575f90506128d0565b8160018114612838576002811461284257612871565b60019150506128d0565b60ff8411156128545761285361277b565b5b8360020a91508482111561286b5761286a61277b565b5b506128d0565b5060208310610133831016604e8410600b84101617156128a65782820a9050838111156128a1576128a061277b565b5b6128d0565b6128b384848460016127b4565b925090508184048111156128ca576128c961277b565b5b81810290505b9392505050565b5f6128e1826123fc565b91506128ec83612518565b92506129197fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612806565b905092915050565b5f61292b826123fc565b9150612936836123fc565b9250828202612944816123fc565b9150828204841483151761295b5761295a61277b565b5b5092915050565b7f4e6f2045544820746f20726573637565000000000000000000000000000000005f82015250565b5f61299660108361235c565b91506129a182612962565b602082019050919050565b5f6020820190508181035f8301526129c38161298a565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6129fe60178361235c565b9150612a09826129ca565b602082019050919050565b5f6020820190508181035f830152612a2b816129f2565b9050919050565b5f81519050612a40816122fd565b92915050565b5f60208284031215612a5b57612a5a6122c9565b5b5f612a6884828501612a32565b91505092915050565b5f604082019050612a845f83018561258a565b612a91602083018461258a565b9392505050565b5f819050919050565b5f819050919050565b5f612ac4612abf612aba84612a98565b612aa1565b6123fc565b9050919050565b612ad481612aaa565b82525050565b5f60c082019050612aed5f83018961258a565b612afa60208301886124a0565b612b076040830187612acb565b612b146060830186612acb565b612b21608083018561258a565b612b2e60a08301846124a0565b979650505050505050565b5f805f60608486031215612b5057612b4f6122c9565b5b5f612b5d86828701612658565b9350506020612b6e86828701612658565b9250506040612b7f86828701612658565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612be360248361235c565b9150612bee82612b89565b604082019050919050565b5f6020820190508181035f830152612c1081612bd7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c7160228361235c565b9150612c7c82612c17565b604082019050919050565b5f6020820190508181035f830152612c9e81612c65565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612cff60258361235c565b9150612d0a82612ca5565b604082019050919050565b5f6020820190508181035f830152612d2c81612cf3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d8d60238361235c565b9150612d9882612d33565b604082019050919050565b5f6020820190508181035f830152612dba81612d81565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e1b60298361235c565b9150612e2682612dc1565b604082019050919050565b5f6020820190508181035f830152612e4881612e0f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612e8360198361235c565b9150612e8e82612e4f565b602082019050919050565b5f6020820190508181035f830152612eb081612e77565b9050919050565b5f612ec1826123fc565b9150612ecc836123fc565b9250828201905080821115612ee457612ee361277b565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612f1e601a8361235c565b9150612f2982612eea565b602082019050919050565b5f6020820190508181035f830152612f4b81612f12565b9050919050565b5f612f5c826123fc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f8e57612f8d61277b565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612fcd60178361235c565b9150612fd882612f99565b602082019050919050565b5f6020820190508181035f830152612ffa81612fc1565b9050919050565b5f61300b826123fc565b9150613016836123fc565b925082820390508181111561302e5761302d61277b565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6130c0816122ec565b82525050565b5f6130d183836130b7565b60208301905092915050565b5f602082019050919050565b5f6130f38261308e565b6130fd8185613098565b9350613108836130a8565b805f5b8381101561313857815161311f88826130c6565b975061312a836130dd565b92505060018101905061310b565b5085935050505092915050565b5f60a0820190506131585f8301886124a0565b6131656020830187612acb565b818103604083015261317781866130e9565b9050613186606083018561258a565b61319360808301846124a0565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131d4826123fc565b91506131df836123fc565b9250826131ef576131ee61319d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61325460218361235c565b915061325f826131fa565b604082019050919050565b5f6020820190508181035f83015261328181613248565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6132bc601b8361235c565b91506132c782613288565b602082019050919050565b5f6020820190508181035f8301526132e9816132b0565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205593001b7390a386ea4958da8cc8329d2c0948be100cf2ba5263ea978a307e9f64736f6c63430008170033

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

000000000000000000000000c59f28b2ee7a5e78d5b8e2c6b72b3cee93f1c16e

-----Decoded View---------------
Arg [0] : taxWallet (address): 0xC59f28B2ee7a5E78d5B8E2c6b72b3CEE93F1c16e

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000c59f28b2ee7a5e78d5b8e2c6b72b3cee93f1c16e


Deployed Bytecode Sourcemap

3590:8183:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9956:293;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5339:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6172:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4457:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5616:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10257:208;;;;;;;;;;;;;:::i;:::-;;6341:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5525:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11418:352;;;;;;;;;;;;;:::i;:::-;;5719:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2671:148;;;;;;;;;;;;;:::i;:::-;;11156:217;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9689:159;;;;;;;;;;;;;:::i;:::-;;4270:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2457:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4331:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5430:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5846:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4393:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10475:671;;;;;;;;;;;;;:::i;:::-;;6021:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9956:293;2594:12;:10;:12::i;:::-;2584:22;;:6;;;;;;;;;;:22;;;2576:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10030:12:::1;10052;10030:35;;10076:20;10099:5;:15;;;10123:4;10099:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10076:53;;10163:1;10148:12;:16;10140:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10199:5;:14;;;10214:12;:10;:12::i;:::-;10228;10199:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10019:230;;9956:293:::0;:::o;5339:83::-;5376:13;5409:5;;;;;;;;;;;;;;;;;5402:12;;5339:83;:::o;6172:161::-;6247:4;6264:39;6273:12;:10;:12::i;:::-;6287:7;6296:6;6264:8;:39::i;:::-;6321:4;6314:11;;6172:161;;;;:::o;4457:52::-;;;;:::o;5616:95::-;5669:7;4085:2;4142;:13;;;;:::i;:::-;4129:10;:26;;;;:::i;:::-;5689:14;;5616:95;:::o;10257:208::-;2594:12;:10;:12::i;:::-;2584:22;;:6;;;;;;;;;;:22;;;2576:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10308:18:::1;10329:21;10308:42;;10382:1;10369:10;:14;10361:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;10423:12;:10;:12::i;:::-;10415:30;;:42;10446:10;10415:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10297:168;10257:208::o:0;6341:313::-;6439:4;6456:36;6466:6;6474:9;6485:6;6456:9;:36::i;:::-;6503:121;6512:6;6520:12;:10;:12::i;:::-;6534:89;6572:6;6534:89;;;;;;;;;;;;;;;;;:11;:19;6546:6;6534:19;;;;;;;;;;;;;;;:33;6554:12;:10;:12::i;:::-;6534:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6503:8;:121::i;:::-;6642:4;6635:11;;6341:313;;;;;:::o;5525:83::-;5566:5;4085:2;5584:16;;5525:83;:::o;11418:352::-;11482:10;;;;;;;;;;;11468:24;;:12;:10;:12::i;:::-;:24;;;11460:33;;;;;;11504:20;11525:24;11543:4;11525:9;:24::i;:::-;11504:45;;11576:1;11563:12;:14;11560:75;;;11593:30;11610:12;11593:16;:30::i;:::-;11560:75;11645:18;11664:21;11645:40;;11710:1;11699:10;:12;11696:67;;;11727:24;11740:10;11727:12;:24::i;:::-;11696:67;11449:321;;11418:352::o;5719:119::-;5785:7;5812:9;:18;5822:7;5812:18;;;;;;;;;;;;;;;;5805:25;;5719:119;;;:::o;2671:148::-;2594:12;:10;:12::i;:::-;2584:22;;:6;;;;;;;;;;:22;;;2576:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2778:1:::1;2741:40;;2762:6;::::0;::::1;;;;;;;;2741:40;;;;;;;;;;;;2809:1;2792:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2671:148::o:0;11156:217::-;2594:12;:10;:12::i;:::-;2584:22;;:6;;;;;;;;;;:22;;;2576:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11270:7:::1;;11256:10;:21;;:48;;;;;11296:8;;11281:11;:23;;11256:48;11248:57;;;::::0;::::1;;11324:10;11316:7;:18;;;;11354:11;11345:8;:20;;;;11156:217:::0;;:::o;9689:159::-;2594:12;:10;:12::i;:::-;2584:22;;:6;;;;;;;;;;:22;;;2576:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4085:2:::1;4142;:13;;;;:::i;:::-;4129:10;:26;;;;:::i;:::-;9742:12;:22;;;;4085:2;4142;:13;;;;:::i;:::-;4129:10;:26;;;;:::i;:::-;9775:14;:22;;;;9813:27;4085:2;4142;:13;;;;:::i;:::-;4129:10;:26;;;;:::i;:::-;9813:27;;;;;;:::i;:::-;;;;;;;;9689:159::o:0;4270:54::-;;;;:::o;2457:79::-;2495:7;2522:6;;;;;;;;;;;2515:13;;2457:79;:::o;4331:55::-;;;;:::o;5430:87::-;5469:13;5502:7;;;;;;;;;;;;;;;;;5495:14;;5430:87;:::o;5846:167::-;5924:4;5941:42;5951:12;:10;:12::i;:::-;5965:9;5976:6;5941:9;:42::i;:::-;6001:4;5994:11;;5846:167;;;;:::o;4393:57::-;;;;:::o;10475:671::-;2594:12;:10;:12::i;:::-;2584:22;;:6;;;;;;;;;;:22;;;2576:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10539:11:::1;;;;;;;;;;;10538:12;10530:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10625:42;10588:15;;:80;;;;;;;;;;;;;;;;;;10679:58;10696:4;10711:15;;;;;;;;;;;4085:2;4142;:13;;;;:::i;:::-;4129:10;:26;;;;:::i;:::-;10679:8;:58::i;:::-;10782:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10764:55;;;10828:4;10835:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10764:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10748:13;;:110;;;;;;;;;;;;;;;;;;10869:15;;;;;;;;;;;:31;;;10908:21;10939:4;10945:24;10963:4;10945:9;:24::i;:::-;10970:1;10972::::0;10974:7:::1;:5;:7::i;:::-;10982:15;10869:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11016:13;;;;;;;;;;;11009:29;;;11047:15;;;;;;;;;;;11065:14;11009:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11105:4;11091:11;;:18;;;;;;;;;;;;;;;;;;11134:4;11120:11;;:18;;;;;;;;;;;;;;;;;;10475:671::o:0;6021:143::-;6102:7;6129:11;:18;6141:5;6129:18;;;;;;;;;;;;;;;:27;6148:7;6129:27;;;;;;;;;;;;;;;;6122:34;;6021:143;;;;:::o;212:98::-;265:7;292:10;285:17;;212:98;:::o;6662:335::-;6772:1;6755:19;;:5;:19;;;6747:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6853:1;6834:21;;:7;:21;;;6826:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6935:6;6905:11;:18;6917:5;6905:18;;;;;;;;;;;;;;;:27;6924:7;6905:27;;;;;;;;;;;;;;;:36;;;;6973:7;6957:32;;6966:5;6957:32;;;6982:6;6957:32;;;;;;:::i;:::-;;;;;;;;6662:335;;;:::o;7005:2075::-;7109:1;7093:18;;:4;:18;;;7085:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7186:1;7172:16;;:2;:16;;;7164:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7256:1;7247:6;:10;7239:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7314:17;7356:7;:5;:7::i;:::-;7348:15;;:4;:15;;;;:32;;;;;7373:7;:5;:7::i;:::-;7367:13;;:2;:13;;;;7348:32;7344:1376;;;7409:65;7470:3;7409:56;7429:13;;;;;;;;;;;7421:21;;:4;:21;;;7420:44;;7456:8;;7420:44;;;7446:7;;7420:44;7409:6;:10;;:56;;;;:::i;:::-;:60;;:65;;;;:::i;:::-;7397:77;;7503:13;;;;;;;;;;;7495:21;;:4;:21;;;:55;;;;;7534:15;;;;;;;;;;;7520:30;;:2;:30;;;;7495:55;:82;;;;;7555:18;:22;7574:2;7555:22;;;;;;;;;;;;;;;;;;;;;;;;;7554:23;7495:82;7491:311;;;7616:12;;7606:6;:22;;7598:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7711:14;;7701:6;7685:13;7695:2;7685:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7677:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7775:9;;:11;;;;;;;;;:::i;:::-;;;;;;7491:311;7828:13;;;;;;;;;;;7822:19;;:2;:19;;;:44;;;;;7861:4;7845:21;;:4;:21;;;;7822:44;7818:126;;;7899:29;7924:3;7899:20;7910:8;;7899:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;7887:41;;7818:126;7960:28;7991:24;8009:4;7991:9;:24::i;:::-;7960:55;;8035:6;;;;;;;;;;;8034:7;:30;;;;;8051:13;;;;;;;;;;;8045:19;;:2;:19;;;8034:30;:45;;;;;8068:11;;;;;;;;;;;8034:45;:89;;;;;8106:17;;8083:20;:40;8034:89;:123;;;;;8139:18;;8127:9;;:30;8034:123;8030:679;;;8197:13;;8182:12;:28;8178:90;;;8247:1;8235:9;:13;;;;8178:90;8306:1;8294:9;;:13;8286:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;8354:69;8371:51;8375:6;8383:38;8387:20;8409:11;;8383:3;:38::i;:::-;8371:3;:51::i;:::-;8354:16;:69::i;:::-;8442:26;8471:21;8442:50;;8536:1;8515:18;:22;8511:106;;;8562:35;8575:21;8562:12;:35::i;:::-;8511:106;8635:9;;:11;;;;;;;;;:::i;:::-;;;;;;8681:12;8665:13;:28;;;;8159:550;8030:679;7382:1338;7344:1376;8745:1;8735:9;:11;8732:165;;;8787:39;8816:9;8787;:24;8805:4;8787:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8762:9;:24;8780:4;8762:24;;;;;;;;;;;;;;;:64;;;;8869:4;8846:39;;8855:4;8846:39;;;8875:9;8846:39;;;;;;:::i;:::-;;;;;;;;8732:165;8923:27;8943:6;8923:9;:15;8933:4;8923:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8907:9;:15;8917:4;8907:15;;;;;;;;;;;;;;;:43;;;;8975:40;8993:21;9004:9;8993:6;:10;;:21;;;;:::i;:::-;8975:9;:13;8985:2;8975:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8961:9;:13;8971:2;8961:13;;;;;;;;;;;;;;;:54;;;;9046:2;9031:41;;9040:4;9031:41;;;9050:21;9061:9;9050:6;:10;;:21;;;;:::i;:::-;9031:41;;;;;;:::i;:::-;;;;;;;;7074:2006;7005:2075;;;:::o;1349:190::-;1435:7;1468:1;1463;:6;;1471:12;1455:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1495:9;1511:1;1507;:5;;;;:::i;:::-;1495:17;;1530:1;1523:8;;;1349:190;;;;;:::o;9198:483::-;4874:4;4865:6;;:13;;;;;;;;;;;;;;;;;;9276:21:::1;9314:1;9300:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9276:40;;9345:4;9327;9332:1;9327:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9371:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9361:4;9366:1;9361:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9404:62;9421:4;9436:15;;;;;;;;;;;9454:11;9404:8;:62::i;:::-;9477:15;;;;;;;;;;;:66;;;9558:11;9584:1;9600:4;9627;9647:15;9477:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9265:416;4910:5:::0;4901:6;;:14;;;;;;;;;;;;;;;;;;9198:483;:::o;9856:92::-;9913:10;;;;;;;;;;;:19;;:27;9933:6;9913:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9856:92;:::o;1547:246::-;1605:7;1634:1;1629;:6;1625:47;;1659:1;1652:8;;;;1625:47;1682:9;1698:1;1694;:5;;;;:::i;:::-;1682:17;;1727:1;1722;1718;:5;;;;:::i;:::-;:10;1710:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1784:1;1777:8;;;1547:246;;;;;:::o;1801:132::-;1859:7;1886:39;1890:1;1893;1886:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1879:46;;1801:132;;;;:::o;9090:100::-;9147:7;9176:1;9174;:3;9173:9;;9181:1;9173:9;;;9179:1;9173:9;9166:16;;9090:100;;;;:::o;1018:179::-;1076:7;1096:9;1112:1;1108;:5;;;;:::i;:::-;1096:17;;1137:1;1132;:6;;1124:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1188:1;1181:8;;;1018:179;;;;:::o;1205:136::-;1263:7;1290:43;1294:1;1297;1290:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1283:50;;1205:136;;;;:::o;1941:189::-;2027:7;2059:1;2055;:5;2062:12;2047:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2086:9;2102:1;2098;:5;;;;:::i;:::-;2086:17;;2121:1;2114:8;;;1941:189;;;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:99::-;1228:6;1262:5;1256:12;1246:22;;1176:99;;;:::o;1281:169::-;1365:11;1399:6;1394:3;1387:19;1439:4;1434:3;1430:14;1415:29;;1281:169;;;;:::o;1456:246::-;1537:1;1547:113;1561:6;1558:1;1555:13;1547:113;;;1646:1;1641:3;1637:11;1631:18;1627:1;1622:3;1618:11;1611:39;1583:2;1580:1;1576:10;1571:15;;1547:113;;;1694:1;1685:6;1680:3;1676:16;1669:27;1518:184;1456:246;;;:::o;1708:102::-;1749:6;1800:2;1796:7;1791:2;1784:5;1780:14;1776:28;1766:38;;1708:102;;;:::o;1816:377::-;1904:3;1932:39;1965:5;1932:39;:::i;:::-;1987:71;2051:6;2046:3;1987:71;:::i;:::-;1980:78;;2067:65;2125:6;2120:3;2113:4;2106:5;2102:16;2067:65;:::i;:::-;2157:29;2179:6;2157:29;:::i;:::-;2152:3;2148:39;2141:46;;1908:285;1816:377;;;;:::o;2199:313::-;2312:4;2350:2;2339:9;2335:18;2327:26;;2399:9;2393:4;2389:20;2385:1;2374:9;2370:17;2363:47;2427:78;2500:4;2491:6;2427:78;:::i;:::-;2419:86;;2199:313;;;;:::o;2518:77::-;2555:7;2584:5;2573:16;;2518:77;;;:::o;2601:122::-;2674:24;2692:5;2674:24;:::i;:::-;2667:5;2664:35;2654:63;;2713:1;2710;2703:12;2654:63;2601:122;:::o;2729:139::-;2775:5;2813:6;2800:20;2791:29;;2829:33;2856:5;2829:33;:::i;:::-;2729:139;;;;:::o;2874:474::-;2942:6;2950;2999:2;2987:9;2978:7;2974:23;2970:32;2967:119;;;3005:79;;:::i;:::-;2967:119;3125:1;3150:53;3195:7;3186:6;3175:9;3171:22;3150:53;:::i;:::-;3140:63;;3096:117;3252:2;3278:53;3323:7;3314:6;3303:9;3299:22;3278:53;:::i;:::-;3268:63;;3223:118;2874:474;;;;;:::o;3354:90::-;3388:7;3431:5;3424:13;3417:21;3406:32;;3354:90;;;:::o;3450:109::-;3531:21;3546:5;3531:21;:::i;:::-;3526:3;3519:34;3450:109;;:::o;3565:210::-;3652:4;3690:2;3679:9;3675:18;3667:26;;3703:65;3765:1;3754:9;3750:17;3741:6;3703:65;:::i;:::-;3565:210;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:474::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:182::-;6640:34;6636:1;6628:6;6624:14;6617:58;6500:182;:::o;6688:366::-;6830:3;6851:67;6915:2;6910:3;6851:67;:::i;:::-;6844:74;;6927:93;7016:3;6927:93;:::i;:::-;7045:2;7040:3;7036:12;7029:19;;6688:366;;;:::o;7060:419::-;7226:4;7264:2;7253:9;7249:18;7241:26;;7313:9;7307:4;7303:20;7299:1;7288:9;7284:17;7277:47;7341:131;7467:4;7341:131;:::i;:::-;7333:139;;7060:419;;;:::o;7485:143::-;7542:5;7573:6;7567:13;7558:22;;7589:33;7616:5;7589:33;:::i;:::-;7485:143;;;;:::o;7634:351::-;7704:6;7753:2;7741:9;7732:7;7728:23;7724:32;7721:119;;;7759:79;;:::i;:::-;7721:119;7879:1;7904:64;7960:7;7951:6;7940:9;7936:22;7904:64;:::i;:::-;7894:74;;7850:128;7634:351;;;;:::o;7991:169::-;8131:21;8127:1;8119:6;8115:14;8108:45;7991:169;:::o;8166:366::-;8308:3;8329:67;8393:2;8388:3;8329:67;:::i;:::-;8322:74;;8405:93;8494:3;8405:93;:::i;:::-;8523:2;8518:3;8514:12;8507:19;;8166:366;;;:::o;8538:419::-;8704:4;8742:2;8731:9;8727:18;8719:26;;8791:9;8785:4;8781:20;8777:1;8766:9;8762:17;8755:47;8819:131;8945:4;8819:131;:::i;:::-;8811:139;;8538:419;;;:::o;8963:332::-;9084:4;9122:2;9111:9;9107:18;9099:26;;9135:71;9203:1;9192:9;9188:17;9179:6;9135:71;:::i;:::-;9216:72;9284:2;9273:9;9269:18;9260:6;9216:72;:::i;:::-;8963:332;;;;;:::o;9301:116::-;9371:21;9386:5;9371:21;:::i;:::-;9364:5;9361:32;9351:60;;9407:1;9404;9397:12;9351:60;9301:116;:::o;9423:137::-;9477:5;9508:6;9502:13;9493:22;;9524:30;9548:5;9524:30;:::i;:::-;9423:137;;;;:::o;9566:345::-;9633:6;9682:2;9670:9;9661:7;9657:23;9653:32;9650:119;;;9688:79;;:::i;:::-;9650:119;9808:1;9833:61;9886:7;9877:6;9866:9;9862:22;9833:61;:::i;:::-;9823:71;;9779:125;9566:345;;;;:::o;9917:180::-;9965:77;9962:1;9955:88;10062:4;10059:1;10052:15;10086:4;10083:1;10076:15;10103:102;10145:8;10192:5;10189:1;10185:13;10164:34;;10103:102;;;:::o;10211:848::-;10272:5;10279:4;10303:6;10294:15;;10327:5;10318:14;;10341:712;10362:1;10352:8;10349:15;10341:712;;;10457:4;10452:3;10448:14;10442:4;10439:24;10436:50;;;10466:18;;:::i;:::-;10436:50;10516:1;10506:8;10502:16;10499:451;;;10931:4;10924:5;10920:16;10911:25;;10499:451;10981:4;10975;10971:15;10963:23;;11011:32;11034:8;11011:32;:::i;:::-;10999:44;;10341:712;;;10211:848;;;;;;;:::o;11065:1073::-;11119:5;11310:8;11300:40;;11331:1;11322:10;;11333:5;;11300:40;11359:4;11349:36;;11376:1;11367:10;;11378:5;;11349:36;11445:4;11493:1;11488:27;;;;11529:1;11524:191;;;;11438:277;;11488:27;11506:1;11497:10;;11508:5;;;11524:191;11569:3;11559:8;11556:17;11553:43;;;11576:18;;:::i;:::-;11553:43;11625:8;11622:1;11618:16;11609:25;;11660:3;11653:5;11650:14;11647:40;;;11667:18;;:::i;:::-;11647:40;11700:5;;;11438:277;;11824:2;11814:8;11811:16;11805:3;11799:4;11796:13;11792:36;11774:2;11764:8;11761:16;11756:2;11750:4;11747:12;11743:35;11727:111;11724:246;;;11880:8;11874:4;11870:19;11861:28;;11915:3;11908:5;11905:14;11902:40;;;11922:18;;:::i;:::-;11902:40;11955:5;;11724:246;11995:42;12033:3;12023:8;12017:4;12014:1;11995:42;:::i;:::-;11980:57;;;;12069:4;12064:3;12060:14;12053:5;12050:25;12047:51;;;12078:18;;:::i;:::-;12047:51;12127:4;12120:5;12116:16;12107:25;;11065:1073;;;;;;:::o;12144:281::-;12202:5;12226:23;12244:4;12226:23;:::i;:::-;12218:31;;12270:25;12286:8;12270:25;:::i;:::-;12258:37;;12314:104;12351:66;12341:8;12335:4;12314:104;:::i;:::-;12305:113;;12144:281;;;;:::o;12431:410::-;12471:7;12494:20;12512:1;12494:20;:::i;:::-;12489:25;;12528:20;12546:1;12528:20;:::i;:::-;12523:25;;12583:1;12580;12576:9;12605:30;12623:11;12605:30;:::i;:::-;12594:41;;12784:1;12775:7;12771:15;12768:1;12765:22;12745:1;12738:9;12718:83;12695:139;;12814:18;;:::i;:::-;12695:139;12479:362;12431:410;;;;:::o;12847:166::-;12987:18;12983:1;12975:6;12971:14;12964:42;12847:166;:::o;13019:366::-;13161:3;13182:67;13246:2;13241:3;13182:67;:::i;:::-;13175:74;;13258:93;13347:3;13258:93;:::i;:::-;13376:2;13371:3;13367:12;13360:19;;13019:366;;;:::o;13391:419::-;13557:4;13595:2;13584:9;13580:18;13572:26;;13644:9;13638:4;13634:20;13630:1;13619:9;13615:17;13608:47;13672:131;13798:4;13672:131;:::i;:::-;13664:139;;13391:419;;;:::o;13816:173::-;13956:25;13952:1;13944:6;13940:14;13933:49;13816:173;:::o;13995:366::-;14137:3;14158:67;14222:2;14217:3;14158:67;:::i;:::-;14151:74;;14234:93;14323:3;14234:93;:::i;:::-;14352:2;14347:3;14343:12;14336:19;;13995:366;;;:::o;14367:419::-;14533:4;14571:2;14560:9;14556:18;14548:26;;14620:9;14614:4;14610:20;14606:1;14595:9;14591:17;14584:47;14648:131;14774:4;14648:131;:::i;:::-;14640:139;;14367:419;;;:::o;14792:143::-;14849:5;14880:6;14874:13;14865:22;;14896:33;14923:5;14896:33;:::i;:::-;14792:143;;;;:::o;14941:351::-;15011:6;15060:2;15048:9;15039:7;15035:23;15031:32;15028:119;;;15066:79;;:::i;:::-;15028:119;15186:1;15211:64;15267:7;15258:6;15247:9;15243:22;15211:64;:::i;:::-;15201:74;;15157:128;14941:351;;;;:::o;15298:332::-;15419:4;15457:2;15446:9;15442:18;15434:26;;15470:71;15538:1;15527:9;15523:17;15514:6;15470:71;:::i;:::-;15551:72;15619:2;15608:9;15604:18;15595:6;15551:72;:::i;:::-;15298:332;;;;;:::o;15636:85::-;15681:7;15710:5;15699:16;;15636:85;;;:::o;15727:60::-;15755:3;15776:5;15769:12;;15727:60;;;:::o;15793:158::-;15851:9;15884:61;15902:42;15911:32;15937:5;15911:32;:::i;:::-;15902:42;:::i;:::-;15884:61;:::i;:::-;15871:74;;15793:158;;;:::o;15957:147::-;16052:45;16091:5;16052:45;:::i;:::-;16047:3;16040:58;15957:147;;:::o;16110:807::-;16359:4;16397:3;16386:9;16382:19;16374:27;;16411:71;16479:1;16468:9;16464:17;16455:6;16411:71;:::i;:::-;16492:72;16560:2;16549:9;16545:18;16536:6;16492:72;:::i;:::-;16574:80;16650:2;16639:9;16635:18;16626:6;16574:80;:::i;:::-;16664;16740:2;16729:9;16725:18;16716:6;16664:80;:::i;:::-;16754:73;16822:3;16811:9;16807:19;16798:6;16754:73;:::i;:::-;16837;16905:3;16894:9;16890:19;16881:6;16837:73;:::i;:::-;16110:807;;;;;;;;;:::o;16923:663::-;17011:6;17019;17027;17076:2;17064:9;17055:7;17051:23;17047:32;17044:119;;;17082:79;;:::i;:::-;17044:119;17202:1;17227:64;17283:7;17274:6;17263:9;17259:22;17227:64;:::i;:::-;17217:74;;17173:128;17340:2;17366:64;17422:7;17413:6;17402:9;17398:22;17366:64;:::i;:::-;17356:74;;17311:129;17479:2;17505:64;17561:7;17552:6;17541:9;17537:22;17505:64;:::i;:::-;17495:74;;17450:129;16923:663;;;;;:::o;17592:223::-;17732:34;17728:1;17720:6;17716:14;17709:58;17801:6;17796:2;17788:6;17784:15;17777:31;17592:223;:::o;17821:366::-;17963:3;17984:67;18048:2;18043:3;17984:67;:::i;:::-;17977:74;;18060:93;18149:3;18060:93;:::i;:::-;18178:2;18173:3;18169:12;18162:19;;17821:366;;;:::o;18193:419::-;18359:4;18397:2;18386:9;18382:18;18374:26;;18446:9;18440:4;18436:20;18432:1;18421:9;18417:17;18410:47;18474:131;18600:4;18474:131;:::i;:::-;18466:139;;18193:419;;;:::o;18618:221::-;18758:34;18754:1;18746:6;18742:14;18735:58;18827:4;18822:2;18814:6;18810:15;18803:29;18618:221;:::o;18845:366::-;18987:3;19008:67;19072:2;19067:3;19008:67;:::i;:::-;19001:74;;19084:93;19173:3;19084:93;:::i;:::-;19202:2;19197:3;19193:12;19186:19;;18845:366;;;:::o;19217:419::-;19383:4;19421:2;19410:9;19406:18;19398:26;;19470:9;19464:4;19460:20;19456:1;19445:9;19441:17;19434:47;19498:131;19624:4;19498:131;:::i;:::-;19490:139;;19217:419;;;:::o;19642:224::-;19782:34;19778:1;19770:6;19766:14;19759:58;19851:7;19846:2;19838:6;19834:15;19827:32;19642:224;:::o;19872:366::-;20014:3;20035:67;20099:2;20094:3;20035:67;:::i;:::-;20028:74;;20111:93;20200:3;20111:93;:::i;:::-;20229:2;20224:3;20220:12;20213:19;;19872:366;;;:::o;20244:419::-;20410:4;20448:2;20437:9;20433:18;20425:26;;20497:9;20491:4;20487:20;20483:1;20472:9;20468:17;20461:47;20525:131;20651:4;20525:131;:::i;:::-;20517:139;;20244:419;;;:::o;20669:222::-;20809:34;20805:1;20797:6;20793:14;20786:58;20878:5;20873:2;20865:6;20861:15;20854:30;20669:222;:::o;20897:366::-;21039:3;21060:67;21124:2;21119:3;21060:67;:::i;:::-;21053:74;;21136:93;21225:3;21136:93;:::i;:::-;21254:2;21249:3;21245:12;21238:19;;20897:366;;;:::o;21269:419::-;21435:4;21473:2;21462:9;21458:18;21450:26;;21522:9;21516:4;21512:20;21508:1;21497:9;21493:17;21486:47;21550:131;21676:4;21550:131;:::i;:::-;21542:139;;21269:419;;;:::o;21694:228::-;21834:34;21830:1;21822:6;21818:14;21811:58;21903:11;21898:2;21890:6;21886:15;21879:36;21694:228;:::o;21928:366::-;22070:3;22091:67;22155:2;22150:3;22091:67;:::i;:::-;22084:74;;22167:93;22256:3;22167:93;:::i;:::-;22285:2;22280:3;22276:12;22269:19;;21928:366;;;:::o;22300:419::-;22466:4;22504:2;22493:9;22489:18;22481:26;;22553:9;22547:4;22543:20;22539:1;22528:9;22524:17;22517:47;22581:131;22707:4;22581:131;:::i;:::-;22573:139;;22300:419;;;:::o;22725:175::-;22865:27;22861:1;22853:6;22849:14;22842:51;22725:175;:::o;22906:366::-;23048:3;23069:67;23133:2;23128:3;23069:67;:::i;:::-;23062:74;;23145:93;23234:3;23145:93;:::i;:::-;23263:2;23258:3;23254:12;23247:19;;22906:366;;;:::o;23278:419::-;23444:4;23482:2;23471:9;23467:18;23459:26;;23531:9;23525:4;23521:20;23517:1;23506:9;23502:17;23495:47;23559:131;23685:4;23559:131;:::i;:::-;23551:139;;23278:419;;;:::o;23703:191::-;23743:3;23762:20;23780:1;23762:20;:::i;:::-;23757:25;;23796:20;23814:1;23796:20;:::i;:::-;23791:25;;23839:1;23836;23832:9;23825:16;;23860:3;23857:1;23854:10;23851:36;;;23867:18;;:::i;:::-;23851:36;23703:191;;;;:::o;23900:176::-;24040:28;24036:1;24028:6;24024:14;24017:52;23900:176;:::o;24082:366::-;24224:3;24245:67;24309:2;24304:3;24245:67;:::i;:::-;24238:74;;24321:93;24410:3;24321:93;:::i;:::-;24439:2;24434:3;24430:12;24423:19;;24082:366;;;:::o;24454:419::-;24620:4;24658:2;24647:9;24643:18;24635:26;;24707:9;24701:4;24697:20;24693:1;24682:9;24678:17;24671:47;24735:131;24861:4;24735:131;:::i;:::-;24727:139;;24454:419;;;:::o;24879:233::-;24918:3;24941:24;24959:5;24941:24;:::i;:::-;24932:33;;24987:66;24980:5;24977:77;24974:103;;25057:18;;:::i;:::-;24974:103;25104:1;25097:5;25093:13;25086:20;;24879:233;;;:::o;25118:173::-;25258:25;25254:1;25246:6;25242:14;25235:49;25118:173;:::o;25297:366::-;25439:3;25460:67;25524:2;25519:3;25460:67;:::i;:::-;25453:74;;25536:93;25625:3;25536:93;:::i;:::-;25654:2;25649:3;25645:12;25638:19;;25297:366;;;:::o;25669:419::-;25835:4;25873:2;25862:9;25858:18;25850:26;;25922:9;25916:4;25912:20;25908:1;25897:9;25893:17;25886:47;25950:131;26076:4;25950:131;:::i;:::-;25942:139;;25669:419;;;:::o;26094:194::-;26134:4;26154:20;26172:1;26154:20;:::i;:::-;26149:25;;26188:20;26206:1;26188:20;:::i;:::-;26183:25;;26232:1;26229;26225:9;26217:17;;26256:1;26250:4;26247:11;26244:37;;;26261:18;;:::i;:::-;26244:37;26094:194;;;;:::o;26294:180::-;26342:77;26339:1;26332:88;26439:4;26436:1;26429:15;26463:4;26460:1;26453:15;26480:180;26528:77;26525:1;26518:88;26625:4;26622:1;26615:15;26649:4;26646:1;26639:15;26666:114;26733:6;26767:5;26761:12;26751:22;;26666:114;;;:::o;26786:184::-;26885:11;26919:6;26914:3;26907:19;26959:4;26954:3;26950:14;26935:29;;26786:184;;;;:::o;26976:132::-;27043:4;27066:3;27058:11;;27096:4;27091:3;27087:14;27079:22;;26976:132;;;:::o;27114:108::-;27191:24;27209:5;27191:24;:::i;:::-;27186:3;27179:37;27114:108;;:::o;27228:179::-;27297:10;27318:46;27360:3;27352:6;27318:46;:::i;:::-;27396:4;27391:3;27387:14;27373:28;;27228:179;;;;:::o;27413:113::-;27483:4;27515;27510:3;27506:14;27498:22;;27413:113;;;:::o;27562:732::-;27681:3;27710:54;27758:5;27710:54;:::i;:::-;27780:86;27859:6;27854:3;27780:86;:::i;:::-;27773:93;;27890:56;27940:5;27890:56;:::i;:::-;27969:7;28000:1;27985:284;28010:6;28007:1;28004:13;27985:284;;;28086:6;28080:13;28113:63;28172:3;28157:13;28113:63;:::i;:::-;28106:70;;28199:60;28252:6;28199:60;:::i;:::-;28189:70;;28045:224;28032:1;28029;28025:9;28020:14;;27985:284;;;27989:14;28285:3;28278:10;;27686:608;;;27562:732;;;;:::o;28300:831::-;28563:4;28601:3;28590:9;28586:19;28578:27;;28615:71;28683:1;28672:9;28668:17;28659:6;28615:71;:::i;:::-;28696:80;28772:2;28761:9;28757:18;28748:6;28696:80;:::i;:::-;28823:9;28817:4;28813:20;28808:2;28797:9;28793:18;28786:48;28851:108;28954:4;28945:6;28851:108;:::i;:::-;28843:116;;28969:72;29037:2;29026:9;29022:18;29013:6;28969:72;:::i;:::-;29051:73;29119:3;29108:9;29104:19;29095:6;29051:73;:::i;:::-;28300:831;;;;;;;;:::o;29137:180::-;29185:77;29182:1;29175:88;29282:4;29279:1;29272:15;29306:4;29303:1;29296:15;29323:185;29363:1;29380:20;29398:1;29380:20;:::i;:::-;29375:25;;29414:20;29432:1;29414:20;:::i;:::-;29409:25;;29453:1;29443:35;;29458:18;;:::i;:::-;29443:35;29500:1;29497;29493:9;29488:14;;29323:185;;;;:::o;29514:220::-;29654:34;29650:1;29642:6;29638:14;29631:58;29723:3;29718:2;29710:6;29706:15;29699:28;29514:220;:::o;29740:366::-;29882:3;29903:67;29967:2;29962:3;29903:67;:::i;:::-;29896:74;;29979:93;30068:3;29979:93;:::i;:::-;30097:2;30092:3;30088:12;30081:19;;29740:366;;;:::o;30112:419::-;30278:4;30316:2;30305:9;30301:18;30293:26;;30365:9;30359:4;30355:20;30351:1;30340:9;30336:17;30329:47;30393:131;30519:4;30393:131;:::i;:::-;30385:139;;30112:419;;;:::o;30537:177::-;30677:29;30673:1;30665:6;30661:14;30654:53;30537:177;:::o;30720:366::-;30862:3;30883:67;30947:2;30942:3;30883:67;:::i;:::-;30876:74;;30959:93;31048:3;30959:93;:::i;:::-;31077:2;31072:3;31068:12;31061:19;;30720:366;;;:::o;31092:419::-;31258:4;31296:2;31285:9;31281:18;31273:26;;31345:9;31339:4;31335:20;31331:1;31320:9;31316:17;31309:47;31373:131;31499:4;31373:131;:::i;:::-;31365:139;;31092:419;;;:::o

Swarm Source

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