ETH Price: $3,465.64 (-1.45%)
Gas: 3 Gwei

Token

Avabot (AVB)
 

Overview

Max Total Supply

10,000,000 AVB

Holders

88

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.330113761015902496 AVB

Value
$0.00
0xD93F2Ba0328633cA07A07201c70B1AeB4c7F43C2
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:
AVABOT

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-09
*/

// SPDX-License-Identifier: MIT

/**

 _(\    |@@|
(__/\__ \--/ __
   \___|----|  |   __
       \ }{ /\ )_ / _\
       /\__/\ \__O (__  _AVAX_❤_AVB_
      (--/\--)    \__/
      _)(  )(_
     `---''---`

TG: https://t.me/avabot_portal
Twitter: https://twitter.com/avaboterc
*/

pragma solidity >=0.6.0 <0.9.0;

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 AVABOT 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 = 20;
    uint256 private _sellTax = 20;
    uint256 private _preventSwapBefore = 20;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 10_000_000 * 10 ** _decimals;
    string private constant _name = unicode"Avabot";
    string private constant _symbol = unicode"AVB";
    uint256 public _maxTxAmount = 100_000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 100_000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 100_000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 100_000 * 10 ** _decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private limitSwap = false;

    modifier lockifySwap() {
        limitSwap = true;
        _;
        limitSwap = false;
    }

    constructor() {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;

        _isExcludedFromFee[_msgSender()] = true;
        _isExcludedFromFee[address(this)] = 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 (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");

            if (from == uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul(_buyTax).div(100);
                _buyCount++;
            } else if (to == uniswapV2Pair) {
                taxAmount = amount.mul(_sellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!limitSwap && to == uniswapV2Pair && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
            }

            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 lockifySwap {
        if (tokenAmount == 0) {
            return;
        }

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            _taxWallet.transfer(ethBalance);
        }
    }

    function setFinalNumbers() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        _buyTax = 5;
        _sellTax = 5;
    }

    function setExcludeFromFees(address excluded, bool value) external onlyOwner {
        _isExcludedFromFee[excluded] = value;
    }

    function setTaxSwapThreshold(uint256 newTax) external onlyOwner {
        _taxSwapThreshold = newTax;
    }

    function setMaxTaxSwap(uint256 newTax) external onlyOwner {
        _maxTaxSwap = newTax;
    }

    function withdrawStuckToken() external onlyOwner {
        uint256 _contractBalance = balanceOf(address(this));
        _transfer(address(this), address(_taxWallet), _contractBalance);
    }

    function withdrawStuckETH() external onlyOwner {
        _taxWallet.transfer(address(this).balance);
    }

    function updateTaxWallet(address newAddress) external onlyOwner {
        require(newAddress != address(0), "Address cannot be zero");
        _taxWallet = payable(newAddress);
        _isExcludedFromFee[newAddress] = true;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"excluded","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setFinalNumbers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTax","type":"uint256"}],"name":"setMaxTaxSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTax","type":"uint256"}],"name":"setTaxSwapThreshold","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"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260146005556014600655601460075560006008556012600a6200002891906200077a565b620186a0620000389190620007cb565b6009556012600a6200004b91906200077a565b620186a06200005b9190620007cb565b600a556012600a6200006e91906200077a565b620186a06200007e9190620007cb565b600b556012600a6200009191906200077a565b620186a0620000a19190620007cb565b600c556000600e60146101000a81548160ff021916908315150217905550348015620000cc57600080fd5b506000620000df620005d860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000240573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000266919062000880565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000316919062000880565b6040518363ffffffff1660e01b815260040162000335929190620008c3565b6020604051808303816000875af115801562000355573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037b919062000880565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003cb620005d860201b60201c565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6200041b91906200077a565b629896806200042b9190620007cb565b600160006200043f620005d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016003600062000493620005d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200054c620005d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620005ab91906200077a565b62989680620005bb9190620007cb565b604051620005ca919062000901565b60405180910390a36200091e565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200066e57808604811115620006465762000645620005e0565b5b6001851615620006565780820291505b808102905062000666856200060f565b945062000626565b94509492505050565b6000826200068957600190506200075c565b816200069957600090506200075c565b8160018114620006b25760028114620006bd57620006f3565b60019150506200075c565b60ff841115620006d257620006d1620005e0565b5b8360020a915084821115620006ec57620006eb620005e0565b5b506200075c565b5060208310610133831016604e8410600b84101617156200072d5782820a905083811115620007275762000726620005e0565b5b6200075c565b6200073c84848460016200061c565b92509050818404811115620007565762000755620005e0565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007878262000763565b915062000794836200076d565b9250620007c37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000677565b905092915050565b6000620007d88262000763565b9150620007e58362000763565b9250828202620007f58162000763565b915082820484148315176200080f576200080e620005e0565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000848826200081b565b9050919050565b6200085a816200083b565b81146200086657600080fd5b50565b6000815190506200087a816200084f565b92915050565b60006020828403121562000899576200089862000816565b5b6000620008a98482850162000869565b91505092915050565b620008bd816200083b565b82525050565b6000604082019050620008da6000830185620008b2565b620008e96020830184620008b2565b9392505050565b620008fb8162000763565b82525050565b6000602082019050620009186000830184620008f0565b92915050565b612c3d806200092e6000396000f3fe6080604052600436106101395760003560e01c80638bdb8794116100ab578063b9d0f1af1161006f578063b9d0f1af146103ff578063bf474bed14610428578063d63cad2214610453578063dd62ed3e1461047c578063de2aa57d146104b9578063f5648a4f146104e257610140565b80638bdb87941461032a5780638da5cb5b146103415780638f9a55c01461036c57806395d89b4114610397578063a9059cbb146103c257610140565b8063313ce567116100fd578063313ce5671461024057806370a082311461026b578063715018a6146102a857806374c9f603146102bf5780637d1db4a5146102e857806384dd44521461031357610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104f9565b6040516101679190611e46565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190611f01565b610536565b6040516101a49190611f5c565b60405180910390f35b3480156101b957600080fd5b506101c2610554565b6040516101cf9190611f86565b60405180910390f35b3480156101e457600080fd5b506101ed61055a565b6040516101fa9190611f86565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190611fa1565b61057d565b6040516102379190611f5c565b60405180910390f35b34801561024c57600080fd5b50610255610656565b6040516102629190612010565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d919061202b565b61065f565b60405161029f9190611f86565b60405180910390f35b3480156102b457600080fd5b506102bd6106a8565b005b3480156102cb57600080fd5b506102e660048036038101906102e1919061202b565b6107fb565b005b3480156102f457600080fd5b506102fd61099b565b60405161030a9190611f86565b60405180910390f35b34801561031f57600080fd5b506103286109a1565b005b34801561033657600080fd5b5061033f610a73565b005b34801561034d57600080fd5b50610356610b5d565b6040516103639190612067565b60405180910390f35b34801561037857600080fd5b50610381610b86565b60405161038e9190611f86565b60405180910390f35b3480156103a357600080fd5b506103ac610b8c565b6040516103b99190611e46565b60405180910390f35b3480156103ce57600080fd5b506103e960048036038101906103e49190611f01565b610bc9565b6040516103f69190611f5c565b60405180910390f35b34801561040b57600080fd5b5061042660048036038101906104219190612082565b610be7565b005b34801561043457600080fd5b5061043d610c86565b60405161044a9190611f86565b60405180910390f35b34801561045f57600080fd5b5061047a600480360381019061047591906120db565b610c8c565b005b34801561048857600080fd5b506104a3600480360381019061049e919061211b565b610d7c565b6040516104b09190611f86565b60405180910390f35b3480156104c557600080fd5b506104e060048036038101906104db9190612082565b610e03565b005b3480156104ee57600080fd5b506104f7610ea2565b005b60606040518060400160405280600681526020017f417661626f740000000000000000000000000000000000000000000000000000815250905090565b600061054a610543610fa2565b8484610faa565b6001905092915050565b600c5481565b60006012600a61056a91906122bd565b629896806105789190612308565b905090565b600061058a848484611173565b61064b84610596610fa2565b61064685604051806060016040528060288152602001612be060289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105fc610fa2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461186e9092919063ffffffff16565b610faa565b600190509392505050565b60006012905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106b0610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461073d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073490612396565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610803610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088790612396565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f690612402565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60095481565b6109a9610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2d90612396565b60405180910390fd5b6000610a413061065f565b9050610a7030600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611173565b50565b610a7b610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aff90612396565b60405180910390fd5b6012600a610b1691906122bd565b62989680610b249190612308565b6009819055506012600a610b3891906122bd565b62989680610b469190612308565b600a81905550600580819055506005600681905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600381526020017f4156420000000000000000000000000000000000000000000000000000000000815250905090565b6000610bdd610bd6610fa2565b8484611173565b6001905092915050565b610bef610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7390612396565b60405180910390fd5b80600c8190555050565b600b5481565b610c94610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1890612396565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e0b610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8f90612396565b60405180910390fd5b80600b8190555050565b610eaa610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2e90612396565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610f9f573d6000803e3d6000fd5b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611019576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101090612494565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611088576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107f90612526565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111669190611f86565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d9906125b8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112489061264a565b60405180910390fd5b60008111611294576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128b906126dc565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561133a5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116b557600954821115611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b90612748565b60405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361147857600a54826113e68561065f565b6113f09190612768565b1115611431576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611428906127e8565b60405180910390fd5b611459606461144b600554856118d290919063ffffffff16565b61194c90919063ffffffff16565b90506008600081548092919061146e90612808565b91905055506114f9565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114f8576114f560646114e7600654856118d290919063ffffffff16565b61194c90919063ffffffff16565b90505b5b60006115043061065f565b9050600e60149054906101000a900460ff161580156115705750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561157d5750600b5481115b801561158c5750600754600854115b156115af576115ae6115a9846115a484600c54611996565b611996565b6119af565b5b60008211156116b35761160a82600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cab90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116aa9190611f86565b60405180910390a35b505b61170782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d0990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117ae6117608284611d0990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cab90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118538486611d0990919063ffffffff16565b6040516118609190611f86565b60405180910390a350505050565b60008383111582906118b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ad9190611e46565b60405180910390fd5b50600083856118c59190612850565b9050809150509392505050565b60008083036118e45760009050611946565b600082846118f29190612308565b905082848261190191906128b3565b14611941576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193890612956565b60405180910390fd5b809150505b92915050565b600061198e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d53565b905092915050565b60008183116119a557826119a7565b815b905092915050565b6001600e60146101000a81548160ff0219169083151502179055506000810315611c8d576000600267ffffffffffffffff8111156119f0576119ef612976565b5b604051908082528060200260200182016040528015611a1e5781602001602082028036833780820191505090505b5090503081600081518110611a3657611a356129a5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0191906129e9565b81600181518110611b1557611b146129a5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b7c30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610faa565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611be0959493929190612b19565b600060405180830381600087803b158015611bfa57600080fd5b505af1158015611c0e573d6000803e3d6000fd5b5050505060004790506000811115611c8a57600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611c88573d6000803e3d6000fd5b505b50505b6000600e60146101000a81548160ff02191690831515021790555050565b6000808284611cba9190612768565b905083811015611cff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf690612bbf565b60405180910390fd5b8091505092915050565b6000611d4b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061186e565b905092915050565b60008083118290611d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d919190611e46565b60405180910390fd5b5060008385611da991906128b3565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611df0578082015181840152602081019050611dd5565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e1882611db6565b611e228185611dc1565b9350611e32818560208601611dd2565b611e3b81611dfc565b840191505092915050565b60006020820190508181036000830152611e608184611e0d565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e9882611e6d565b9050919050565b611ea881611e8d565b8114611eb357600080fd5b50565b600081359050611ec581611e9f565b92915050565b6000819050919050565b611ede81611ecb565b8114611ee957600080fd5b50565b600081359050611efb81611ed5565b92915050565b60008060408385031215611f1857611f17611e68565b5b6000611f2685828601611eb6565b9250506020611f3785828601611eec565b9150509250929050565b60008115159050919050565b611f5681611f41565b82525050565b6000602082019050611f716000830184611f4d565b92915050565b611f8081611ecb565b82525050565b6000602082019050611f9b6000830184611f77565b92915050565b600080600060608486031215611fba57611fb9611e68565b5b6000611fc886828701611eb6565b9350506020611fd986828701611eb6565b9250506040611fea86828701611eec565b9150509250925092565b600060ff82169050919050565b61200a81611ff4565b82525050565b60006020820190506120256000830184612001565b92915050565b60006020828403121561204157612040611e68565b5b600061204f84828501611eb6565b91505092915050565b61206181611e8d565b82525050565b600060208201905061207c6000830184612058565b92915050565b60006020828403121561209857612097611e68565b5b60006120a684828501611eec565b91505092915050565b6120b881611f41565b81146120c357600080fd5b50565b6000813590506120d5816120af565b92915050565b600080604083850312156120f2576120f1611e68565b5b600061210085828601611eb6565b9250506020612111858286016120c6565b9150509250929050565b6000806040838503121561213257612131611e68565b5b600061214085828601611eb6565b925050602061215185828601611eb6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156121e1578086048111156121bd576121bc61215b565b5b60018516156121cc5780820291505b80810290506121da8561218a565b94506121a1565b94509492505050565b6000826121fa57600190506122b6565b8161220857600090506122b6565b816001811461221e576002811461222857612257565b60019150506122b6565b60ff84111561223a5761223961215b565b5b8360020a9150848211156122515761225061215b565b5b506122b6565b5060208310610133831016604e8410600b841016171561228c5782820a9050838111156122875761228661215b565b5b6122b6565b6122998484846001612197565b925090508184048111156122b0576122af61215b565b5b81810290505b9392505050565b60006122c882611ecb565b91506122d383611ff4565b92506123007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846121ea565b905092915050565b600061231382611ecb565b915061231e83611ecb565b925082820261232c81611ecb565b915082820484148315176123435761234261215b565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612380602083611dc1565b915061238b8261234a565b602082019050919050565b600060208201905081810360008301526123af81612373565b9050919050565b7f416464726573732063616e6e6f74206265207a65726f00000000000000000000600082015250565b60006123ec601683611dc1565b91506123f7826123b6565b602082019050919050565b6000602082019050818103600083015261241b816123df565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061247e602483611dc1565b915061248982612422565b604082019050919050565b600060208201905081810360008301526124ad81612471565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612510602283611dc1565b915061251b826124b4565b604082019050919050565b6000602082019050818103600083015261253f81612503565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006125a2602583611dc1565b91506125ad82612546565b604082019050919050565b600060208201905081810360008301526125d181612595565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612634602383611dc1565b915061263f826125d8565b604082019050919050565b6000602082019050818103600083015261266381612627565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006126c6602983611dc1565b91506126d18261266a565b604082019050919050565b600060208201905081810360008301526126f5816126b9565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612732601983611dc1565b915061273d826126fc565b602082019050919050565b6000602082019050818103600083015261276181612725565b9050919050565b600061277382611ecb565b915061277e83611ecb565b92508282019050808211156127965761279561215b565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006127d2601a83611dc1565b91506127dd8261279c565b602082019050919050565b60006020820190508181036000830152612801816127c5565b9050919050565b600061281382611ecb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128455761284461215b565b5b600182019050919050565b600061285b82611ecb565b915061286683611ecb565b925082820390508181111561287e5761287d61215b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006128be82611ecb565b91506128c983611ecb565b9250826128d9576128d8612884565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612940602183611dc1565b915061294b826128e4565b604082019050919050565b6000602082019050818103600083015261296f81612933565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506129e381611e9f565b92915050565b6000602082840312156129ff576129fe611e68565b5b6000612a0d848285016129d4565b91505092915050565b6000819050919050565b6000819050919050565b6000612a45612a40612a3b84612a16565b612a20565b611ecb565b9050919050565b612a5581612a2a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a9081611e8d565b82525050565b6000612aa28383612a87565b60208301905092915050565b6000602082019050919050565b6000612ac682612a5b565b612ad08185612a66565b9350612adb83612a77565b8060005b83811015612b0c578151612af38882612a96565b9750612afe83612aae565b925050600181019050612adf565b5085935050505092915050565b600060a082019050612b2e6000830188611f77565b612b3b6020830187612a4c565b8181036040830152612b4d8186612abb565b9050612b5c6060830185612058565b612b696080830184611f77565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612ba9601b83611dc1565b9150612bb482612b73565b602082019050919050565b60006020820190508181036000830152612bd881612b9c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208996aa4306c480bb4caadd145e1ac0ef753bfc2a063a96ff4a142f3ae1561c8c64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80638bdb8794116100ab578063b9d0f1af1161006f578063b9d0f1af146103ff578063bf474bed14610428578063d63cad2214610453578063dd62ed3e1461047c578063de2aa57d146104b9578063f5648a4f146104e257610140565b80638bdb87941461032a5780638da5cb5b146103415780638f9a55c01461036c57806395d89b4114610397578063a9059cbb146103c257610140565b8063313ce567116100fd578063313ce5671461024057806370a082311461026b578063715018a6146102a857806374c9f603146102bf5780637d1db4a5146102e857806384dd44521461031357610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104f9565b6040516101679190611e46565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190611f01565b610536565b6040516101a49190611f5c565b60405180910390f35b3480156101b957600080fd5b506101c2610554565b6040516101cf9190611f86565b60405180910390f35b3480156101e457600080fd5b506101ed61055a565b6040516101fa9190611f86565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190611fa1565b61057d565b6040516102379190611f5c565b60405180910390f35b34801561024c57600080fd5b50610255610656565b6040516102629190612010565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d919061202b565b61065f565b60405161029f9190611f86565b60405180910390f35b3480156102b457600080fd5b506102bd6106a8565b005b3480156102cb57600080fd5b506102e660048036038101906102e1919061202b565b6107fb565b005b3480156102f457600080fd5b506102fd61099b565b60405161030a9190611f86565b60405180910390f35b34801561031f57600080fd5b506103286109a1565b005b34801561033657600080fd5b5061033f610a73565b005b34801561034d57600080fd5b50610356610b5d565b6040516103639190612067565b60405180910390f35b34801561037857600080fd5b50610381610b86565b60405161038e9190611f86565b60405180910390f35b3480156103a357600080fd5b506103ac610b8c565b6040516103b99190611e46565b60405180910390f35b3480156103ce57600080fd5b506103e960048036038101906103e49190611f01565b610bc9565b6040516103f69190611f5c565b60405180910390f35b34801561040b57600080fd5b5061042660048036038101906104219190612082565b610be7565b005b34801561043457600080fd5b5061043d610c86565b60405161044a9190611f86565b60405180910390f35b34801561045f57600080fd5b5061047a600480360381019061047591906120db565b610c8c565b005b34801561048857600080fd5b506104a3600480360381019061049e919061211b565b610d7c565b6040516104b09190611f86565b60405180910390f35b3480156104c557600080fd5b506104e060048036038101906104db9190612082565b610e03565b005b3480156104ee57600080fd5b506104f7610ea2565b005b60606040518060400160405280600681526020017f417661626f740000000000000000000000000000000000000000000000000000815250905090565b600061054a610543610fa2565b8484610faa565b6001905092915050565b600c5481565b60006012600a61056a91906122bd565b629896806105789190612308565b905090565b600061058a848484611173565b61064b84610596610fa2565b61064685604051806060016040528060288152602001612be060289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105fc610fa2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461186e9092919063ffffffff16565b610faa565b600190509392505050565b60006012905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106b0610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461073d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073490612396565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610803610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088790612396565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f690612402565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60095481565b6109a9610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2d90612396565b60405180910390fd5b6000610a413061065f565b9050610a7030600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611173565b50565b610a7b610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aff90612396565b60405180910390fd5b6012600a610b1691906122bd565b62989680610b249190612308565b6009819055506012600a610b3891906122bd565b62989680610b469190612308565b600a81905550600580819055506005600681905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600381526020017f4156420000000000000000000000000000000000000000000000000000000000815250905090565b6000610bdd610bd6610fa2565b8484611173565b6001905092915050565b610bef610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7390612396565b60405180910390fd5b80600c8190555050565b600b5481565b610c94610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1890612396565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e0b610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8f90612396565b60405180910390fd5b80600b8190555050565b610eaa610fa2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2e90612396565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610f9f573d6000803e3d6000fd5b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611019576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101090612494565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611088576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107f90612526565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111669190611f86565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d9906125b8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112489061264a565b60405180910390fd5b60008111611294576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128b906126dc565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561133a5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116b557600954821115611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b90612748565b60405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361147857600a54826113e68561065f565b6113f09190612768565b1115611431576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611428906127e8565b60405180910390fd5b611459606461144b600554856118d290919063ffffffff16565b61194c90919063ffffffff16565b90506008600081548092919061146e90612808565b91905055506114f9565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114f8576114f560646114e7600654856118d290919063ffffffff16565b61194c90919063ffffffff16565b90505b5b60006115043061065f565b9050600e60149054906101000a900460ff161580156115705750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561157d5750600b5481115b801561158c5750600754600854115b156115af576115ae6115a9846115a484600c54611996565b611996565b6119af565b5b60008211156116b35761160a82600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cab90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116aa9190611f86565b60405180910390a35b505b61170782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d0990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117ae6117608284611d0990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cab90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118538486611d0990919063ffffffff16565b6040516118609190611f86565b60405180910390a350505050565b60008383111582906118b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ad9190611e46565b60405180910390fd5b50600083856118c59190612850565b9050809150509392505050565b60008083036118e45760009050611946565b600082846118f29190612308565b905082848261190191906128b3565b14611941576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193890612956565b60405180910390fd5b809150505b92915050565b600061198e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d53565b905092915050565b60008183116119a557826119a7565b815b905092915050565b6001600e60146101000a81548160ff0219169083151502179055506000810315611c8d576000600267ffffffffffffffff8111156119f0576119ef612976565b5b604051908082528060200260200182016040528015611a1e5781602001602082028036833780820191505090505b5090503081600081518110611a3657611a356129a5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0191906129e9565b81600181518110611b1557611b146129a5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b7c30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610faa565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611be0959493929190612b19565b600060405180830381600087803b158015611bfa57600080fd5b505af1158015611c0e573d6000803e3d6000fd5b5050505060004790506000811115611c8a57600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611c88573d6000803e3d6000fd5b505b50505b6000600e60146101000a81548160ff02191690831515021790555050565b6000808284611cba9190612768565b905083811015611cff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf690612bbf565b60405180910390fd5b8091505092915050565b6000611d4b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061186e565b905092915050565b60008083118290611d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d919190611e46565b60405180910390fd5b5060008385611da991906128b3565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611df0578082015181840152602081019050611dd5565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e1882611db6565b611e228185611dc1565b9350611e32818560208601611dd2565b611e3b81611dfc565b840191505092915050565b60006020820190508181036000830152611e608184611e0d565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e9882611e6d565b9050919050565b611ea881611e8d565b8114611eb357600080fd5b50565b600081359050611ec581611e9f565b92915050565b6000819050919050565b611ede81611ecb565b8114611ee957600080fd5b50565b600081359050611efb81611ed5565b92915050565b60008060408385031215611f1857611f17611e68565b5b6000611f2685828601611eb6565b9250506020611f3785828601611eec565b9150509250929050565b60008115159050919050565b611f5681611f41565b82525050565b6000602082019050611f716000830184611f4d565b92915050565b611f8081611ecb565b82525050565b6000602082019050611f9b6000830184611f77565b92915050565b600080600060608486031215611fba57611fb9611e68565b5b6000611fc886828701611eb6565b9350506020611fd986828701611eb6565b9250506040611fea86828701611eec565b9150509250925092565b600060ff82169050919050565b61200a81611ff4565b82525050565b60006020820190506120256000830184612001565b92915050565b60006020828403121561204157612040611e68565b5b600061204f84828501611eb6565b91505092915050565b61206181611e8d565b82525050565b600060208201905061207c6000830184612058565b92915050565b60006020828403121561209857612097611e68565b5b60006120a684828501611eec565b91505092915050565b6120b881611f41565b81146120c357600080fd5b50565b6000813590506120d5816120af565b92915050565b600080604083850312156120f2576120f1611e68565b5b600061210085828601611eb6565b9250506020612111858286016120c6565b9150509250929050565b6000806040838503121561213257612131611e68565b5b600061214085828601611eb6565b925050602061215185828601611eb6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156121e1578086048111156121bd576121bc61215b565b5b60018516156121cc5780820291505b80810290506121da8561218a565b94506121a1565b94509492505050565b6000826121fa57600190506122b6565b8161220857600090506122b6565b816001811461221e576002811461222857612257565b60019150506122b6565b60ff84111561223a5761223961215b565b5b8360020a9150848211156122515761225061215b565b5b506122b6565b5060208310610133831016604e8410600b841016171561228c5782820a9050838111156122875761228661215b565b5b6122b6565b6122998484846001612197565b925090508184048111156122b0576122af61215b565b5b81810290505b9392505050565b60006122c882611ecb565b91506122d383611ff4565b92506123007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846121ea565b905092915050565b600061231382611ecb565b915061231e83611ecb565b925082820261232c81611ecb565b915082820484148315176123435761234261215b565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612380602083611dc1565b915061238b8261234a565b602082019050919050565b600060208201905081810360008301526123af81612373565b9050919050565b7f416464726573732063616e6e6f74206265207a65726f00000000000000000000600082015250565b60006123ec601683611dc1565b91506123f7826123b6565b602082019050919050565b6000602082019050818103600083015261241b816123df565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061247e602483611dc1565b915061248982612422565b604082019050919050565b600060208201905081810360008301526124ad81612471565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612510602283611dc1565b915061251b826124b4565b604082019050919050565b6000602082019050818103600083015261253f81612503565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006125a2602583611dc1565b91506125ad82612546565b604082019050919050565b600060208201905081810360008301526125d181612595565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612634602383611dc1565b915061263f826125d8565b604082019050919050565b6000602082019050818103600083015261266381612627565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006126c6602983611dc1565b91506126d18261266a565b604082019050919050565b600060208201905081810360008301526126f5816126b9565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612732601983611dc1565b915061273d826126fc565b602082019050919050565b6000602082019050818103600083015261276181612725565b9050919050565b600061277382611ecb565b915061277e83611ecb565b92508282019050808211156127965761279561215b565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006127d2601a83611dc1565b91506127dd8261279c565b602082019050919050565b60006020820190508181036000830152612801816127c5565b9050919050565b600061281382611ecb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128455761284461215b565b5b600182019050919050565b600061285b82611ecb565b915061286683611ecb565b925082820390508181111561287e5761287d61215b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006128be82611ecb565b91506128c983611ecb565b9250826128d9576128d8612884565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612940602183611dc1565b915061294b826128e4565b604082019050919050565b6000602082019050818103600083015261296f81612933565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506129e381611e9f565b92915050565b6000602082840312156129ff576129fe611e68565b5b6000612a0d848285016129d4565b91505092915050565b6000819050919050565b6000819050919050565b6000612a45612a40612a3b84612a16565b612a20565b611ecb565b9050919050565b612a5581612a2a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a9081611e8d565b82525050565b6000612aa28383612a87565b60208301905092915050565b6000602082019050919050565b6000612ac682612a5b565b612ad08185612a66565b9350612adb83612a77565b8060005b83811015612b0c578151612af38882612a96565b9750612afe83612aae565b925050600181019050612adf565b5085935050505092915050565b600060a082019050612b2e6000830188611f77565b612b3b6020830187612a4c565b8181036040830152612b4d8186612abb565b9050612b5c6060830185612058565b612b696080830184611f77565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612ba9601b83611dc1565b9150612bb482612b73565b602082019050919050565b60006020820190508181036000830152612bd881612b9c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208996aa4306c480bb4caadd145e1ac0ef753bfc2a063a96ff4a142f3ae1561c8c64736f6c63430008110033

Deployed Bytecode Sourcemap

4019:6929:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5695:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6528:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4907:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5972:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6697:412;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5881:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6075:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3044:148;;;;;;;;;;;;;:::i;:::-;;10675:233;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4714:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10358:193;;;;;;;;;;;;;:::i;:::-;;9821:167;;;;;;;;;;;;;:::i;:::-;;2830:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4776:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5786:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6202:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10253:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4840:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9996:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6377:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10136:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10559:108;;;;;;;;;;;;;:::i;:::-;;5695:83;5732:13;5765:5;;;;;;;;;;;;;;;;;5758:12;;5695:83;:::o;6528:161::-;6603:4;6620:39;6629:12;:10;:12::i;:::-;6643:7;6652:6;6620:8;:39::i;:::-;6677:4;6670:11;;6528:161;;;;:::o;4907:54::-;;;;:::o;5972:95::-;6025:7;4528:2;4585;:15;;;;:::i;:::-;4572:10;:28;;;;:::i;:::-;6045:14;;5972:95;:::o;6697:412::-;6795:4;6812:36;6822:6;6830:9;6841:6;6812:9;:36::i;:::-;6859:220;6882:6;6903:12;:10;:12::i;:::-;6930:138;6986:6;6930:138;;;;;;;;;;;;;;;;;:11;:19;6942:6;6930:19;;;;;;;;;;;;;;;:33;6950:12;:10;:12::i;:::-;6930:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;6859:8;:220::i;:::-;7097:4;7090:11;;6697:412;;;;;:::o;5881:83::-;5922:5;4528:2;5940:16;;5881:83;:::o;6075:119::-;6141:7;6168:9;:18;6178:7;6168:18;;;;;;;;;;;;;;;;6161:25;;6075:119;;;:::o;3044:148::-;2967:12;:10;:12::i;:::-;2957:22;;:6;;;;;;;;;;:22;;;2949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3151:1:::1;3114:40;;3135:6;::::0;::::1;;;;;;;;3114:40;;;;;;;;;;;;3182:1;3165:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3044:148::o:0;10675:233::-;2967:12;:10;:12::i;:::-;2957:22;;:6;;;;;;;;;;:22;;;2949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10780:1:::1;10758:24;;:10;:24;;::::0;10750:59:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10841:10;10820;;:32;;;;;;;;;;;;;;;;;;10896:4;10863:18;:30;10882:10;10863:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;10675:233:::0;:::o;4714:55::-;;;;:::o;10358:193::-;2967:12;:10;:12::i;:::-;2957:22;;:6;;;;;;;;;;:22;;;2949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10418:24:::1;10445;10463:4;10445:9;:24::i;:::-;10418:51;;10480:63;10498:4;10513:10;;;;;;;;;;;10526:16;10480:9;:63::i;:::-;10407:144;10358:193::o:0;9821:167::-;2967:12;:10;:12::i;:::-;2957:22;;:6;;;;;;;;;;:22;;;2949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4528:2:::1;4585;:15;;;;:::i;:::-;4572:10;:28;;;;:::i;:::-;9878:12;:22;;;;4528:2;4585;:15;;;;:::i;:::-;4572:10;:28;;;;:::i;:::-;9911:14;:24;;;;9956:1;9946:7:::0;:11:::1;;;;9979:1;9968:8;:12;;;;9821:167::o:0;2830:79::-;2868:7;2895:6;;;;;;;;;;;2888:13;;2830:79;:::o;4776:57::-;;;;:::o;5786:87::-;5825:13;5858:7;;;;;;;;;;;;;;;;;5851:14;;5786:87;:::o;6202:167::-;6280:4;6297:42;6307:12;:10;:12::i;:::-;6321:9;6332:6;6297:9;:42::i;:::-;6357:4;6350:11;;6202:167;;;;:::o;10253:97::-;2967:12;:10;:12::i;:::-;2957:22;;:6;;;;;;;;;;:22;;;2949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10336:6:::1;10322:11;:20;;;;10253:97:::0;:::o;4840:60::-;;;;:::o;9996:132::-;2967:12;:10;:12::i;:::-;2957:22;;:6;;;;;;;;;;:22;;;2949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10115:5:::1;10084:18;:28;10103:8;10084:28;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;9996:132:::0;;:::o;6377:143::-;6458:7;6485:11;:18;6497:5;6485:18;;;;;;;;;;;;;;;:27;6504:7;6485:27;;;;;;;;;;;;;;;;6478:34;;6377:143;;;;:::o;10136:109::-;2967:12;:10;:12::i;:::-;2957:22;;:6;;;;;;;;;;:22;;;2949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10231:6:::1;10211:17;:26;;;;10136:109:::0;:::o;10559:108::-;2967:12;:10;:12::i;:::-;2957:22;;:6;;;;;;;;;;:22;;;2949:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10617:10:::1;;;;;;;;;;;:19;;:42;10637:21;10617:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10559:108::o:0;365:98::-;418:7;445:10;438:17;;365:98;:::o;7117:335::-;7227:1;7210:19;;:5;:19;;;7202:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7308:1;7289:21;;:7;:21;;;7281:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7390:6;7360:11;:18;7372:5;7360:18;;;;;;;;;;;;;;;:27;7379:7;7360:27;;;;;;;;;;;;;;;:36;;;;7428:7;7412:32;;7421:5;7412:32;;;7437:6;7412:32;;;;;;:::i;:::-;;;;;;;;7117:335;;;:::o;7460:1537::-;7564:1;7548:18;;:4;:18;;;7540:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7641:1;7627:16;;:2;:16;;;7619:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7711:1;7702:6;:10;7694:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7769:17;7808:18;:24;7827:4;7808:24;;;;;;;;;;;;;;;;;;;;;;;;;7807:25;:52;;;;;7837:18;:22;7856:2;7837:22;;;;;;;;;;;;;;;;;;;;;;;;;7836:23;7807:52;7803:1005;;;7894:12;;7884:6;:22;;7876:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7965:13;;;;;;;;;;;7957:21;;:4;:21;;;7953:337;;8033:14;;8023:6;8007:13;8017:2;8007:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7999:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8109:28;8133:3;8109:19;8120:7;;8109:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;8097:40;;8156:9;;:11;;;;;;;;;:::i;:::-;;;;;;7953:337;;;8199:13;;;;;;;;;;;8193:19;;:2;:19;;;8189:101;;8245:29;8270:3;8245:20;8256:8;;8245:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8233:41;;8189:101;7953:337;8306:28;8337:24;8355:4;8337:9;:24::i;:::-;8306:55;;8381:9;;;;;;;;;;;8380:10;:33;;;;;8400:13;;;;;;;;;;;8394:19;;:2;:19;;;8380:33;:77;;;;;8440:17;;8417:20;:40;8380:77;:111;;;;;8473:18;;8461:9;;:30;8380:111;8376:221;;;8512:69;8529:51;8533:6;8541:38;8545:20;8567:11;;8541:3;:38::i;:::-;8529:3;:51::i;:::-;8512:16;:69::i;:::-;8376:221;8629:1;8617:9;:13;8613:184;;;8678:39;8707:9;8678;:24;8696:4;8678:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8651:9;:24;8669:4;8651:24;;;;;;;;;;;;;;;:66;;;;8764:4;8741:40;;8750:4;8741:40;;;8771:9;8741:40;;;;;;:::i;:::-;;;;;;;;8613:184;7861:947;7803:1005;8838:27;8858:6;8838:9;:15;8848:4;8838:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8820:9;:15;8830:4;8820:15;;;;;;;;;;;;;;;:45;;;;8892:40;8910:21;8921:9;8910:6;:10;;:21;;;;:::i;:::-;8892:9;:13;8902:2;8892:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8876:9;:13;8886:2;8876:13;;;;;;;;;;;;;;;:56;;;;8963:2;8948:41;;8957:4;8948:41;;;8967:21;8978:9;8967:6;:10;;:21;;;;:::i;:::-;8948:41;;;;;;:::i;:::-;;;;;;;;7529:1468;7460:1537;;;:::o;1632:224::-;1752:7;1785:1;1780;:6;;1788:12;1772:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1812:9;1828:1;1824;:5;;;;:::i;:::-;1812:17;;1847:1;1840:8;;;1632:224;;;;;:::o;1864:246::-;1922:7;1951:1;1946;:6;1942:47;;1976:1;1969:8;;;;1942:47;1999:9;2015:1;2011;:5;;;;:::i;:::-;1999:17;;2044:1;2039;2035;:5;;;;:::i;:::-;:10;2027:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2101:1;2094:8;;;1864:246;;;;;:::o;2118:132::-;2176:7;2203:39;2207:1;2210;2203:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2196:46;;2118:132;;;;:::o;9005:107::-;9062:7;9094:1;9090;:5;9089:15;;9103:1;9089:15;;;9099:1;9089:15;9082:22;;9005:107;;;;:::o;9120:693::-;5140:4;5128:9;;:16;;;;;;;;;;;;;;;;;;9217:1:::1;9202:11;:16:::0;9198:55;9235:7:::1;9198:55;9265:21;9303:1;9289:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9265:40;;9334:4;9316;9321:1;9316:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9360:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9350:4;9355:1;9350:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9393:62;9410:4;9425:15;;;;;;;;;;;9443:11;9393:8;:62::i;:::-;9466:15;;;;;;;;;;;:66;;;9547:11;9573:1;9589:4;9616;9636:15;9466:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9675:18;9696:21;9675:42;;9745:1;9732:10;:14;9728:78;;;9763:10;;;;;;;;;;;:19;;:31;9783:10;9763:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;9728:78;9187:626;;5155:1;5179:5:::0;5167:9;;:17;;;;;;;;;;;;;;;;;;9120:693;:::o;1301:179::-;1359:7;1379:9;1395:1;1391;:5;;;;:::i;:::-;1379:17;;1420:1;1415;:6;;1407:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1471:1;1464:8;;;1301:179;;;;:::o;1488:136::-;1546:7;1573:43;1577:1;1580;1573:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1566:50;;1488:136;;;;:::o;2258:223::-;2378:7;2410:1;2406;:5;2413:12;2398:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2437:9;2453:1;2449;:5;;;;:::i;:::-;2437:17;;2472:1;2465:8;;;2258:223;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:329::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:116::-;5945:21;5960:5;5945:21;:::i;:::-;5938:5;5935:32;5925:60;;5981:1;5978;5971:12;5925:60;5875:116;:::o;5997:133::-;6040:5;6078:6;6065:20;6056:29;;6094:30;6118:5;6094:30;:::i;:::-;5997:133;;;;:::o;6136:468::-;6201:6;6209;6258:2;6246:9;6237:7;6233:23;6229:32;6226:119;;;6264:79;;:::i;:::-;6226:119;6384:1;6409:53;6454:7;6445:6;6434:9;6430:22;6409:53;:::i;:::-;6399:63;;6355:117;6511:2;6537:50;6579:7;6570:6;6559:9;6555:22;6537:50;:::i;:::-;6527:60;;6482:115;6136:468;;;;;:::o;6610:474::-;6678:6;6686;6735:2;6723:9;6714:7;6710:23;6706:32;6703:119;;;6741:79;;:::i;:::-;6703:119;6861:1;6886:53;6931:7;6922:6;6911:9;6907:22;6886:53;:::i;:::-;6876:63;;6832:117;6988:2;7014:53;7059:7;7050:6;7039:9;7035:22;7014:53;:::i;:::-;7004:63;;6959:118;6610:474;;;;;:::o;7090:180::-;7138:77;7135:1;7128:88;7235:4;7232:1;7225:15;7259:4;7256:1;7249:15;7276:102;7318:8;7365:5;7362:1;7358:13;7337:34;;7276:102;;;:::o;7384:848::-;7445:5;7452:4;7476:6;7467:15;;7500:5;7491:14;;7514:712;7535:1;7525:8;7522:15;7514:712;;;7630:4;7625:3;7621:14;7615:4;7612:24;7609:50;;;7639:18;;:::i;:::-;7609:50;7689:1;7679:8;7675:16;7672:451;;;8104:4;8097:5;8093:16;8084:25;;7672:451;8154:4;8148;8144:15;8136:23;;8184:32;8207:8;8184:32;:::i;:::-;8172:44;;7514:712;;;7384:848;;;;;;;:::o;8238:1073::-;8292:5;8483:8;8473:40;;8504:1;8495:10;;8506:5;;8473:40;8532:4;8522:36;;8549:1;8540:10;;8551:5;;8522:36;8618:4;8666:1;8661:27;;;;8702:1;8697:191;;;;8611:277;;8661:27;8679:1;8670:10;;8681:5;;;8697:191;8742:3;8732:8;8729:17;8726:43;;;8749:18;;:::i;:::-;8726:43;8798:8;8795:1;8791:16;8782:25;;8833:3;8826:5;8823:14;8820:40;;;8840:18;;:::i;:::-;8820:40;8873:5;;;8611:277;;8997:2;8987:8;8984:16;8978:3;8972:4;8969:13;8965:36;8947:2;8937:8;8934:16;8929:2;8923:4;8920:12;8916:35;8900:111;8897:246;;;9053:8;9047:4;9043:19;9034:28;;9088:3;9081:5;9078:14;9075:40;;;9095:18;;:::i;:::-;9075:40;9128:5;;8897:246;9168:42;9206:3;9196:8;9190:4;9187:1;9168:42;:::i;:::-;9153:57;;;;9242:4;9237:3;9233:14;9226:5;9223:25;9220:51;;;9251:18;;:::i;:::-;9220:51;9300:4;9293:5;9289:16;9280:25;;8238:1073;;;;;;:::o;9317:281::-;9375:5;9399:23;9417:4;9399:23;:::i;:::-;9391:31;;9443:25;9459:8;9443:25;:::i;:::-;9431:37;;9487:104;9524:66;9514:8;9508:4;9487:104;:::i;:::-;9478:113;;9317:281;;;;:::o;9604:410::-;9644:7;9667:20;9685:1;9667:20;:::i;:::-;9662:25;;9701:20;9719:1;9701:20;:::i;:::-;9696:25;;9756:1;9753;9749:9;9778:30;9796:11;9778:30;:::i;:::-;9767:41;;9957:1;9948:7;9944:15;9941:1;9938:22;9918:1;9911:9;9891:83;9868:139;;9987:18;;:::i;:::-;9868:139;9652:362;9604:410;;;;:::o;10020:182::-;10160:34;10156:1;10148:6;10144:14;10137:58;10020:182;:::o;10208:366::-;10350:3;10371:67;10435:2;10430:3;10371:67;:::i;:::-;10364:74;;10447:93;10536:3;10447:93;:::i;:::-;10565:2;10560:3;10556:12;10549:19;;10208:366;;;:::o;10580:419::-;10746:4;10784:2;10773:9;10769:18;10761:26;;10833:9;10827:4;10823:20;10819:1;10808:9;10804:17;10797:47;10861:131;10987:4;10861:131;:::i;:::-;10853:139;;10580:419;;;:::o;11005:172::-;11145:24;11141:1;11133:6;11129:14;11122:48;11005:172;:::o;11183:366::-;11325:3;11346:67;11410:2;11405:3;11346:67;:::i;:::-;11339:74;;11422:93;11511:3;11422:93;:::i;:::-;11540:2;11535:3;11531:12;11524:19;;11183:366;;;:::o;11555:419::-;11721:4;11759:2;11748:9;11744:18;11736:26;;11808:9;11802:4;11798:20;11794:1;11783:9;11779:17;11772:47;11836:131;11962:4;11836:131;:::i;:::-;11828:139;;11555:419;;;:::o;11980:223::-;12120:34;12116:1;12108:6;12104:14;12097:58;12189:6;12184:2;12176:6;12172:15;12165:31;11980:223;:::o;12209:366::-;12351:3;12372:67;12436:2;12431:3;12372:67;:::i;:::-;12365:74;;12448:93;12537:3;12448:93;:::i;:::-;12566:2;12561:3;12557:12;12550:19;;12209:366;;;:::o;12581:419::-;12747:4;12785:2;12774:9;12770:18;12762:26;;12834:9;12828:4;12824:20;12820:1;12809:9;12805:17;12798:47;12862:131;12988:4;12862:131;:::i;:::-;12854:139;;12581:419;;;:::o;13006:221::-;13146:34;13142:1;13134:6;13130:14;13123:58;13215:4;13210:2;13202:6;13198:15;13191:29;13006:221;:::o;13233:366::-;13375:3;13396:67;13460:2;13455:3;13396:67;:::i;:::-;13389:74;;13472:93;13561:3;13472:93;:::i;:::-;13590:2;13585:3;13581:12;13574:19;;13233:366;;;:::o;13605:419::-;13771:4;13809:2;13798:9;13794:18;13786:26;;13858:9;13852:4;13848:20;13844:1;13833:9;13829:17;13822:47;13886:131;14012:4;13886:131;:::i;:::-;13878:139;;13605:419;;;:::o;14030:224::-;14170:34;14166:1;14158:6;14154:14;14147:58;14239:7;14234:2;14226:6;14222:15;14215:32;14030:224;:::o;14260:366::-;14402:3;14423:67;14487:2;14482:3;14423:67;:::i;:::-;14416:74;;14499:93;14588:3;14499:93;:::i;:::-;14617:2;14612:3;14608:12;14601:19;;14260:366;;;:::o;14632:419::-;14798:4;14836:2;14825:9;14821:18;14813:26;;14885:9;14879:4;14875:20;14871:1;14860:9;14856:17;14849:47;14913:131;15039:4;14913:131;:::i;:::-;14905:139;;14632:419;;;:::o;15057:222::-;15197:34;15193:1;15185:6;15181:14;15174:58;15266:5;15261:2;15253:6;15249:15;15242:30;15057:222;:::o;15285:366::-;15427:3;15448:67;15512:2;15507:3;15448:67;:::i;:::-;15441:74;;15524:93;15613:3;15524:93;:::i;:::-;15642:2;15637:3;15633:12;15626:19;;15285:366;;;:::o;15657:419::-;15823:4;15861:2;15850:9;15846:18;15838:26;;15910:9;15904:4;15900:20;15896:1;15885:9;15881:17;15874:47;15938:131;16064:4;15938:131;:::i;:::-;15930:139;;15657:419;;;:::o;16082:228::-;16222:34;16218:1;16210:6;16206:14;16199:58;16291:11;16286:2;16278:6;16274:15;16267:36;16082:228;:::o;16316:366::-;16458:3;16479:67;16543:2;16538:3;16479:67;:::i;:::-;16472:74;;16555:93;16644:3;16555:93;:::i;:::-;16673:2;16668:3;16664:12;16657:19;;16316:366;;;:::o;16688:419::-;16854:4;16892:2;16881:9;16877:18;16869:26;;16941:9;16935:4;16931:20;16927:1;16916:9;16912:17;16905:47;16969:131;17095:4;16969:131;:::i;:::-;16961:139;;16688:419;;;:::o;17113:175::-;17253:27;17249:1;17241:6;17237:14;17230:51;17113:175;:::o;17294:366::-;17436:3;17457:67;17521:2;17516:3;17457:67;:::i;:::-;17450:74;;17533:93;17622:3;17533:93;:::i;:::-;17651:2;17646:3;17642:12;17635:19;;17294:366;;;:::o;17666:419::-;17832:4;17870:2;17859:9;17855:18;17847:26;;17919:9;17913:4;17909:20;17905:1;17894:9;17890:17;17883:47;17947:131;18073:4;17947:131;:::i;:::-;17939:139;;17666:419;;;:::o;18091:191::-;18131:3;18150:20;18168:1;18150:20;:::i;:::-;18145:25;;18184:20;18202:1;18184:20;:::i;:::-;18179:25;;18227:1;18224;18220:9;18213:16;;18248:3;18245:1;18242:10;18239:36;;;18255:18;;:::i;:::-;18239:36;18091:191;;;;:::o;18288:176::-;18428:28;18424:1;18416:6;18412:14;18405:52;18288:176;:::o;18470:366::-;18612:3;18633:67;18697:2;18692:3;18633:67;:::i;:::-;18626:74;;18709:93;18798:3;18709:93;:::i;:::-;18827:2;18822:3;18818:12;18811:19;;18470:366;;;:::o;18842:419::-;19008:4;19046:2;19035:9;19031:18;19023:26;;19095:9;19089:4;19085:20;19081:1;19070:9;19066:17;19059:47;19123:131;19249:4;19123:131;:::i;:::-;19115:139;;18842:419;;;:::o;19267:233::-;19306:3;19329:24;19347:5;19329:24;:::i;:::-;19320:33;;19375:66;19368:5;19365:77;19362:103;;19445:18;;:::i;:::-;19362:103;19492:1;19485:5;19481:13;19474:20;;19267:233;;;:::o;19506:194::-;19546:4;19566:20;19584:1;19566:20;:::i;:::-;19561:25;;19600:20;19618:1;19600:20;:::i;:::-;19595:25;;19644:1;19641;19637:9;19629:17;;19668:1;19662:4;19659:11;19656:37;;;19673:18;;:::i;:::-;19656:37;19506:194;;;;:::o;19706:180::-;19754:77;19751:1;19744:88;19851:4;19848:1;19841:15;19875:4;19872:1;19865:15;19892:185;19932:1;19949:20;19967:1;19949:20;:::i;:::-;19944:25;;19983:20;20001:1;19983:20;:::i;:::-;19978:25;;20022:1;20012:35;;20027:18;;:::i;:::-;20012:35;20069:1;20066;20062:9;20057:14;;19892:185;;;;:::o;20083:220::-;20223:34;20219:1;20211:6;20207:14;20200:58;20292:3;20287:2;20279:6;20275:15;20268:28;20083:220;:::o;20309:366::-;20451:3;20472:67;20536:2;20531:3;20472:67;:::i;:::-;20465:74;;20548:93;20637:3;20548:93;:::i;:::-;20666:2;20661:3;20657:12;20650:19;;20309:366;;;:::o;20681:419::-;20847:4;20885:2;20874:9;20870:18;20862:26;;20934:9;20928:4;20924:20;20920:1;20909:9;20905:17;20898:47;20962:131;21088:4;20962:131;:::i;:::-;20954:139;;20681:419;;;:::o;21106:180::-;21154:77;21151:1;21144:88;21251:4;21248:1;21241:15;21275:4;21272:1;21265:15;21292:180;21340:77;21337:1;21330:88;21437:4;21434:1;21427:15;21461:4;21458:1;21451:15;21478:143;21535:5;21566:6;21560:13;21551:22;;21582:33;21609:5;21582:33;:::i;:::-;21478:143;;;;:::o;21627:351::-;21697:6;21746:2;21734:9;21725:7;21721:23;21717:32;21714:119;;;21752:79;;:::i;:::-;21714:119;21872:1;21897:64;21953:7;21944:6;21933:9;21929:22;21897:64;:::i;:::-;21887:74;;21843:128;21627:351;;;;:::o;21984:85::-;22029:7;22058:5;22047:16;;21984:85;;;:::o;22075:60::-;22103:3;22124:5;22117:12;;22075:60;;;:::o;22141:158::-;22199:9;22232:61;22250:42;22259:32;22285:5;22259:32;:::i;:::-;22250:42;:::i;:::-;22232:61;:::i;:::-;22219:74;;22141:158;;;:::o;22305:147::-;22400:45;22439:5;22400:45;:::i;:::-;22395:3;22388:58;22305:147;;:::o;22458:114::-;22525:6;22559:5;22553:12;22543:22;;22458:114;;;:::o;22578:184::-;22677:11;22711:6;22706:3;22699:19;22751:4;22746:3;22742:14;22727:29;;22578:184;;;;:::o;22768:132::-;22835:4;22858:3;22850:11;;22888:4;22883:3;22879:14;22871:22;;22768:132;;;:::o;22906:108::-;22983:24;23001:5;22983:24;:::i;:::-;22978:3;22971:37;22906:108;;:::o;23020:179::-;23089:10;23110:46;23152:3;23144:6;23110:46;:::i;:::-;23188:4;23183:3;23179:14;23165:28;;23020:179;;;;:::o;23205:113::-;23275:4;23307;23302:3;23298:14;23290:22;;23205:113;;;:::o;23354:732::-;23473:3;23502:54;23550:5;23502:54;:::i;:::-;23572:86;23651:6;23646:3;23572:86;:::i;:::-;23565:93;;23682:56;23732:5;23682:56;:::i;:::-;23761:7;23792:1;23777:284;23802:6;23799:1;23796:13;23777:284;;;23878:6;23872:13;23905:63;23964:3;23949:13;23905:63;:::i;:::-;23898:70;;23991:60;24044:6;23991:60;:::i;:::-;23981:70;;23837:224;23824:1;23821;23817:9;23812:14;;23777:284;;;23781:14;24077:3;24070:10;;23478:608;;;23354:732;;;;:::o;24092:831::-;24355:4;24393:3;24382:9;24378:19;24370:27;;24407:71;24475:1;24464:9;24460:17;24451:6;24407:71;:::i;:::-;24488:80;24564:2;24553:9;24549:18;24540:6;24488:80;:::i;:::-;24615:9;24609:4;24605:20;24600:2;24589:9;24585:18;24578:48;24643:108;24746:4;24737:6;24643:108;:::i;:::-;24635:116;;24761:72;24829:2;24818:9;24814:18;24805:6;24761:72;:::i;:::-;24843:73;24911:3;24900:9;24896:19;24887:6;24843:73;:::i;:::-;24092:831;;;;;;;;:::o;24929:177::-;25069:29;25065:1;25057:6;25053:14;25046:53;24929:177;:::o;25112:366::-;25254:3;25275:67;25339:2;25334:3;25275:67;:::i;:::-;25268:74;;25351:93;25440:3;25351:93;:::i;:::-;25469:2;25464:3;25460:12;25453:19;;25112:366;;;:::o;25484:419::-;25650:4;25688:2;25677:9;25673:18;25665:26;;25737:9;25731:4;25727:20;25723:1;25712:9;25708:17;25701:47;25765:131;25891:4;25765:131;:::i;:::-;25757:139;;25484:419;;;:::o

Swarm Source

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