ETH Price: $3,406.66 (-1.63%)
Gas: 8 Gwei

Token

Bober (BOBER)
 

Overview

Max Total Supply

10,000,000 BOBER

Holders

398

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
131,126.762099556746568736 BOBER

Value
$0.00
0xb0c860c4f95add1d1b8332ed7b17acc6b6d9f90a
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:
BOBER

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
        
        Website   : https://www.bobererc.site
        Telegram  : https://t.me/BoberErc
        Twitter/X : https://twitter.com/BoberERC

*/

// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.18;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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 transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

contract BOBER is Context, IERC20, Ownable {
    uint256 private constant _totalSupply = 10_000_000e18;
    uint256 private constant onePercent = 100_000e18;
    uint256 private constant tenthPercent = 10_000e18;
    uint256 private minSwap = 20_000e18;
    uint256 private maxSwap = onePercent;
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    address immutable WETH;
    address payable immutable marketingWallet;

    uint256 public buyTax;
    uint256 public sellTax;
    uint public lpTax;
    
    
    
    uint8 private launch;
    uint8 private inSwapAndLiquify;

    uint256 private launchBlock;
    uint256 public maxTxAmount = onePercent * 2; //max Tx for first mins after launch

    string private constant _name = "Bober";
    string private constant _symbol = "BOBER";

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFeeWallet;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        buyTax = 20;
        sellTax = 30;
        lpTax = 1;

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        
        marketingWallet = payable(msg.sender);
        _balance[msg.sender] = _totalSupply;
        _isExcludedFromFeeWallet[marketingWallet] = true;
        _isExcludedFromFeeWallet[msg.sender] = true;
        _isExcludedFromFeeWallet[address(this)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;
        _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256)
            .max;

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[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()] - amount
        );
        return true;
    }

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

    function openTrading() external onlyOwner {
        launch = 1;
        launchBlock = block.number;
    }

    function addExcludedWallet(address wallet) external onlyOwner {
        _isExcludedFromFeeWallet[wallet] = true;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
    }

    function changeTax(uint256 newBuyTax, uint256 newSellTax, uint newLpTax) external onlyOwner {
        require(newBuyTax < 40 || newSellTax < 60, "Cannot set taxes above 90%");
        buyTax = newBuyTax;
        sellTax = newSellTax;
        lpTax = newLpTax;
    }

    function changeMaxSwapThreshold(uint256 newMaxSwapThreshold) external onlyOwner {
        require(newMaxSwapThreshold < 999, "Max Swap cannot be greater than 99%");
        require(newMaxSwapThreshold > minSwap, "Max Swap cannot be less than min swap");
        maxSwap = newMaxSwapThreshold * tenthPercent;
    }

    function changeMinSwapThreshold(uint256 newMinSwapThreshold) external onlyOwner {
        require(newMinSwapThreshold < 999, "Min Swap cannot be greater than 99%");
        require(newMinSwapThreshold < maxSwap, "Min Swap cannot be greater than max swap");
        minSwap = newMinSwapThreshold * tenthPercent;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 1e9, "Min transfer amt");

        uint256 _tax;
        if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) {
            _tax = 0;
        } else {
            require(
                launch != 0 && amount <= maxTxAmount,
                "Launch / Max TxAmount 1% at launch"
            );

            if (inSwapAndLiquify == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                _tax = buyTax + lpTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > minSwap && inSwapAndLiquify == 0) {
                    if (tokensToSwap > maxSwap) {
                        tokensToSwap = maxSwap;
                    }
                    
                    uint liqidityToken = (tokensToSwap * lpTax) / (((buyTax + sellTax) / 2 ) + lpTax );
                    uint tokensTosell = tokensToSwap - liqidityToken;

                    inSwapAndLiquify = 1;
                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensTosell,
                            0,
                            path,
                            marketingWallet,
                            block.timestamp
                        );
                    
                    
                    if ( liqidityToken > 0) {
                        
                        uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            liqidityToken / 2,
                            0,
                            path,
                            address(this),
                            block.timestamp
                        );
                        
                        uint newBal = address(this).balance;
                        uniswapV2Router
                        .addLiquidityETH{value : newBal}(address(this),
                            liqidityToken / 2,
                            0,
                            0,
                            owner(),
                            block.timestamp
                        );
                    }
                    inSwapAndLiquify = 0;
                    
                }
                
                _tax = sellTax + lpTax;
            } else {
                _tax = 0;
            }
        }

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }
    }

    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":[{"internalType":"address","name":"wallet","type":"address"}],"name":"addExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxSwapThreshold","type":"uint256"}],"name":"changeMaxSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinSwapThreshold","type":"uint256"}],"name":"changeMinSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"},{"internalType":"uint256","name":"newLpTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"lpTax","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

61010060405269043c33c193756480000060025569152d02c7e14af6800000600355600269152d02c7e14af68000006200003a91906200076e565b6009553480156200004a57600080fd5b5060006200005d6200072d60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000191573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b7919062000823565b73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250506014600481905550601e600581905550600160068190555060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000250573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000276919062000823565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060c0516040518363ffffffff1660e01b8152600401620002b492919062000866565b6020604051808303816000875af1158015620002d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fa919062000823565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250503373ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250506a084595161401484a000000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600c600060e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b600060e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620006b56200072d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a084595161401484a0000006040516200071f9190620008a4565b60405180910390a3620008c1565b600033905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200077b8262000735565b9150620007888362000735565b9250828202620007988162000735565b91508282048414831517620007b257620007b16200073f565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007eb82620007be565b9050919050565b620007fd81620007de565b81146200080957600080fd5b50565b6000815190506200081d81620007f2565b92915050565b6000602082840312156200083c576200083b620007b9565b5b60006200084c848285016200080c565b91505092915050565b6200086081620007de565b82525050565b60006040820190506200087d600083018562000855565b6200088c602083018462000855565b9392505050565b6200089e8162000735565b82525050565b6000602082019050620008bb600083018462000893565b92915050565b60805160a05160c05160e051612c7f620009176000396000611780015260006116d10152600081816107b40152818161148a01526114f4015260008181611740015281816117fd01526118a20152612c7f6000f3fe6080604052600436106101445760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb14610433578063c9567bf914610470578063cc1776d314610487578063dba9d420146104b2578063dd62ed3e146104db578063f2fde38b146105185761014b565b8063715018a61461035b578063751039fc146103725780638c0b5e22146103895780638da5cb5b146103b457806395d89b41146103df578063974ea01e1461040a5761014b565b8063313ce56711610108578063313ce5671461024b57806341e1259d1461027657806349bd5a5e1461029f5780634f7041a5146102ca57806355811acc146102f557806370a082311461031e5761014b565b806306fdde0314610150578063095ea7b31461017b57806318160ddd146101b85780631de3b450146101e357806323b872dd1461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610541565b6040516101729190611e7b565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190611f36565b61057e565b6040516101af9190611f91565b60405180910390f35b3480156101c457600080fd5b506101cd61059c565b6040516101da9190611fbb565b60405180910390f35b3480156101ef57600080fd5b506101f86105af565b6040516102059190611fbb565b60405180910390f35b34801561021a57600080fd5b5061023560048036038101906102309190611fd6565b6105b5565b6040516102429190611f91565b60405180910390f35b34801561025757600080fd5b5061026061066d565b60405161026d9190612045565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190612060565b610676565b005b3480156102ab57600080fd5b506102b46107b2565b6040516102c1919061209c565b60405180910390f35b3480156102d657600080fd5b506102df6107d6565b6040516102ec9190611fbb565b60405180910390f35b34801561030157600080fd5b5061031c60048036038101906103179190612060565b6107dc565b005b34801561032a57600080fd5b50610345600480360381019061034091906120b7565b610918565b6040516103529190611fbb565b60405180910390f35b34801561036757600080fd5b50610370610961565b005b34801561037e57600080fd5b50610387610ab4565b005b34801561039557600080fd5b5061039e610b5d565b6040516103ab9190611fbb565b60405180910390f35b3480156103c057600080fd5b506103c9610b63565b6040516103d6919061209c565b60405180910390f35b3480156103eb57600080fd5b506103f4610b8c565b6040516104019190611e7b565b60405180910390f35b34801561041657600080fd5b50610431600480360381019061042c91906120e4565b610bc9565b005b34801561043f57600080fd5b5061045a60048036038101906104559190611f36565b610cc6565b6040516104679190611f91565b60405180910390f35b34801561047c57600080fd5b50610485610ce4565b005b34801561049357600080fd5b5061049c610d9e565b6040516104a99190611fbb565b60405180910390f35b3480156104be57600080fd5b506104d960048036038101906104d491906120b7565b610da4565b005b3480156104e757600080fd5b5061050260048036038101906104fd9190612137565b610e94565b60405161050f9190611fbb565b60405180910390f35b34801561052457600080fd5b5061053f600480360381019061053a91906120b7565b610f1b565b005b60606040518060400160405280600581526020017f426f626572000000000000000000000000000000000000000000000000000000815250905090565b600061059261058b610fbc565b8484610fc4565b6001905092915050565b60006a084595161401484a000000905090565b60065481565b60006105c284848461118d565b610662846105ce610fbc565b84600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610618610fbc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461065d91906121a6565b610fc4565b600190509392505050565b60006012905090565b61067e610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070290612226565b60405180910390fd5b6103e7811061074f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610746906122b8565b60405180910390fd5b6003548110610793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078a9061234a565b60405180910390fd5b69021e19e0c9bab2400000816107a9919061236a565b60028190555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60045481565b6107e4610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086890612226565b60405180910390fd5b6103e781106108b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ac9061241e565b60405180910390fd5b60025481116108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f0906124b0565b60405180910390fd5b69021e19e0c9bab24000008161090f919061236a565b60038190555050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610969610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ed90612226565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610abc610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4090612226565b60405180910390fd5b6a084595161401484a000000600981905550565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f424f424552000000000000000000000000000000000000000000000000000000815250905090565b610bd1610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5590612226565b60405180910390fd5b6028831080610c6d5750603c82105b610cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca39061251c565b60405180910390fd5b826004819055508160058190555080600681905550505050565b6000610cda610cd3610fbc565b848461118d565b6001905092915050565b610cec610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7090612226565b60405180910390fd5b6001600760006101000a81548160ff021916908360ff16021790555043600881905550565b60055481565b610dac610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3090612226565b60405180910390fd5b6001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f23610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa790612226565b60405180910390fd5b610fb981611cbf565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102a906125ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109990612640565b60405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111809190611fbb565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f3906126d2565b60405180910390fd5b633b9aca008111611242576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112399061273e565b60405180910390fd5b6000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806112e55750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156112f3576000905061199f565b6000600760009054906101000a900460ff1660ff161415801561131857506009548211155b611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e906127d0565b60405180910390fd5b6001600760019054906101000a900460ff1660ff16036114885781600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113c091906121a6565b9250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461141691906127f0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161147a9190611fbb565b60405180910390a350611cba565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036114f2576006546004546114eb91906127f0565b905061199e565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611998576000600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600254811180156115ac57506000600760019054906101000a900460ff1660ff16145b15611980576003548111156115c15760035490505b600060065460026005546004546115d891906127f0565b6115e29190612853565b6115ec91906127f0565b600654836115fa919061236a565b6116049190612853565b90506000818361161491906121a6565b90506001600760016101000a81548160ff021916908360ff1602179055506000600267ffffffffffffffff81111561164f5761164e612884565b5b60405190808252806020026020018201604052801561167d5781602001602082028036833780820191505090505b5090503081600081518110611695576116946128b3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110611704576117036128b3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f0000000000000000000000000000000000000000000000000000000000000000426040518663ffffffff1660e01b81526004016117c0959493929190612a3a565b600060405180830381600087803b1580156117da57600080fd5b505af11580156117ee573d6000803e3d6000fd5b505050506000831115611960577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9476002856118449190612853565b60008430426040518663ffffffff1660e01b8152600401611869959493929190612a94565b600060405180830381600087803b15801561188357600080fd5b505af1158015611897573d6000803e3d6000fd5b5050505060004790507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71982306002886118eb9190612853565b6000806118f6610b63565b426040518863ffffffff1660e01b815260040161191896959493929190612aee565b60606040518083038185885af1158015611936573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061195b9190612b64565b505050505b6000600760016101000a81548160ff021916908360ff1602179055505050505b60065460055461199091906127f0565b91505061199d565b600090505b5b5b60008114611ba6576000606482846119b7919061236a565b6119c19190612853565b9050600081846119d191906121a6565b905083600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a2291906121a6565b9250508190555080600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a7891906127f0565b9250508190555081600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ace91906127f0565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b329190611fbb565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b979190611fbb565b60405180910390a35050611cb8565b81600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611bf591906121a6565b9250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c4b91906127f0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611caf9190611fbb565b60405180910390a35b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2590612c29565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e25578082015181840152602081019050611e0a565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e4d82611deb565b611e578185611df6565b9350611e67818560208601611e07565b611e7081611e31565b840191505092915050565b60006020820190508181036000830152611e958184611e42565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ecd82611ea2565b9050919050565b611edd81611ec2565b8114611ee857600080fd5b50565b600081359050611efa81611ed4565b92915050565b6000819050919050565b611f1381611f00565b8114611f1e57600080fd5b50565b600081359050611f3081611f0a565b92915050565b60008060408385031215611f4d57611f4c611e9d565b5b6000611f5b85828601611eeb565b9250506020611f6c85828601611f21565b9150509250929050565b60008115159050919050565b611f8b81611f76565b82525050565b6000602082019050611fa66000830184611f82565b92915050565b611fb581611f00565b82525050565b6000602082019050611fd06000830184611fac565b92915050565b600080600060608486031215611fef57611fee611e9d565b5b6000611ffd86828701611eeb565b935050602061200e86828701611eeb565b925050604061201f86828701611f21565b9150509250925092565b600060ff82169050919050565b61203f81612029565b82525050565b600060208201905061205a6000830184612036565b92915050565b60006020828403121561207657612075611e9d565b5b600061208484828501611f21565b91505092915050565b61209681611ec2565b82525050565b60006020820190506120b1600083018461208d565b92915050565b6000602082840312156120cd576120cc611e9d565b5b60006120db84828501611eeb565b91505092915050565b6000806000606084860312156120fd576120fc611e9d565b5b600061210b86828701611f21565b935050602061211c86828701611f21565b925050604061212d86828701611f21565b9150509250925092565b6000806040838503121561214e5761214d611e9d565b5b600061215c85828601611eeb565b925050602061216d85828601611eeb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006121b182611f00565b91506121bc83611f00565b92508282039050818111156121d4576121d3612177565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612210602083611df6565b915061221b826121da565b602082019050919050565b6000602082019050818103600083015261223f81612203565b9050919050565b7f4d696e20537761702063616e6e6f742062652067726561746572207468616e2060008201527f3939250000000000000000000000000000000000000000000000000000000000602082015250565b60006122a2602383611df6565b91506122ad82612246565b604082019050919050565b600060208201905081810360008301526122d181612295565b9050919050565b7f4d696e20537761702063616e6e6f742062652067726561746572207468616e2060008201527f6d61782073776170000000000000000000000000000000000000000000000000602082015250565b6000612334602883611df6565b915061233f826122d8565b604082019050919050565b6000602082019050818103600083015261236381612327565b9050919050565b600061237582611f00565b915061238083611f00565b925082820261238e81611f00565b915082820484148315176123a5576123a4612177565b5b5092915050565b7f4d617820537761702063616e6e6f742062652067726561746572207468616e2060008201527f3939250000000000000000000000000000000000000000000000000000000000602082015250565b6000612408602383611df6565b9150612413826123ac565b604082019050919050565b60006020820190508181036000830152612437816123fb565b9050919050565b7f4d617820537761702063616e6e6f74206265206c657373207468616e206d696e60008201527f2073776170000000000000000000000000000000000000000000000000000000602082015250565b600061249a602583611df6565b91506124a58261243e565b604082019050919050565b600060208201905081810360008301526124c98161248d565b9050919050565b7f43616e6e6f74207365742074617865732061626f766520393025000000000000600082015250565b6000612506601a83611df6565b9150612511826124d0565b602082019050919050565b60006020820190508181036000830152612535816124f9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612598602483611df6565b91506125a38261253c565b604082019050919050565b600060208201905081810360008301526125c78161258b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061262a602283611df6565b9150612635826125ce565b604082019050919050565b600060208201905081810360008301526126598161261d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006126bc602583611df6565b91506126c782612660565b604082019050919050565b600060208201905081810360008301526126eb816126af565b9050919050565b7f4d696e207472616e7366657220616d7400000000000000000000000000000000600082015250565b6000612728601083611df6565b9150612733826126f2565b602082019050919050565b600060208201905081810360008301526127578161271b565b9050919050565b7f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e60008201527f6368000000000000000000000000000000000000000000000000000000000000602082015250565b60006127ba602283611df6565b91506127c58261275e565b604082019050919050565b600060208201905081810360008301526127e9816127ad565b9050919050565b60006127fb82611f00565b915061280683611f00565b925082820190508082111561281e5761281d612177565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061285e82611f00565b915061286983611f00565b92508261287957612878612824565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b600061291161290c612907846128e2565b6128ec565b611f00565b9050919050565b612921816128f6565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61295c81611ec2565b82525050565b600061296e8383612953565b60208301905092915050565b6000602082019050919050565b600061299282612927565b61299c8185612932565b93506129a783612943565b8060005b838110156129d85781516129bf8882612962565b97506129ca8361297a565b9250506001810190506129ab565b5085935050505092915050565b6000612a006129fb6129f684611ea2565b6128ec565b611ea2565b9050919050565b6000612a12826129e5565b9050919050565b6000612a2482612a07565b9050919050565b612a3481612a19565b82525050565b600060a082019050612a4f6000830188611fac565b612a5c6020830187612918565b8181036040830152612a6e8186612987565b9050612a7d6060830185612a2b565b612a8a6080830184611fac565b9695505050505050565b600060a082019050612aa96000830188611fac565b612ab66020830187612918565b8181036040830152612ac88186612987565b9050612ad7606083018561208d565b612ae46080830184611fac565b9695505050505050565b600060c082019050612b03600083018961208d565b612b106020830188611fac565b612b1d6040830187612918565b612b2a6060830186612918565b612b37608083018561208d565b612b4460a0830184611fac565b979650505050505050565b600081519050612b5e81611f0a565b92915050565b600080600060608486031215612b7d57612b7c611e9d565b5b6000612b8b86828701612b4f565b9350506020612b9c86828701612b4f565b9250506040612bad86828701612b4f565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612c13602683611df6565b9150612c1e82612bb7565b604082019050919050565b60006020820190508181036000830152612c4281612c06565b905091905056fea264697066735822122079199f5d3dfa893abc6575df890f55278a588b617a30b5132a1dd0e646ad78e364736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb14610433578063c9567bf914610470578063cc1776d314610487578063dba9d420146104b2578063dd62ed3e146104db578063f2fde38b146105185761014b565b8063715018a61461035b578063751039fc146103725780638c0b5e22146103895780638da5cb5b146103b457806395d89b41146103df578063974ea01e1461040a5761014b565b8063313ce56711610108578063313ce5671461024b57806341e1259d1461027657806349bd5a5e1461029f5780634f7041a5146102ca57806355811acc146102f557806370a082311461031e5761014b565b806306fdde0314610150578063095ea7b31461017b57806318160ddd146101b85780631de3b450146101e357806323b872dd1461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610541565b6040516101729190611e7b565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190611f36565b61057e565b6040516101af9190611f91565b60405180910390f35b3480156101c457600080fd5b506101cd61059c565b6040516101da9190611fbb565b60405180910390f35b3480156101ef57600080fd5b506101f86105af565b6040516102059190611fbb565b60405180910390f35b34801561021a57600080fd5b5061023560048036038101906102309190611fd6565b6105b5565b6040516102429190611f91565b60405180910390f35b34801561025757600080fd5b5061026061066d565b60405161026d9190612045565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190612060565b610676565b005b3480156102ab57600080fd5b506102b46107b2565b6040516102c1919061209c565b60405180910390f35b3480156102d657600080fd5b506102df6107d6565b6040516102ec9190611fbb565b60405180910390f35b34801561030157600080fd5b5061031c60048036038101906103179190612060565b6107dc565b005b34801561032a57600080fd5b50610345600480360381019061034091906120b7565b610918565b6040516103529190611fbb565b60405180910390f35b34801561036757600080fd5b50610370610961565b005b34801561037e57600080fd5b50610387610ab4565b005b34801561039557600080fd5b5061039e610b5d565b6040516103ab9190611fbb565b60405180910390f35b3480156103c057600080fd5b506103c9610b63565b6040516103d6919061209c565b60405180910390f35b3480156103eb57600080fd5b506103f4610b8c565b6040516104019190611e7b565b60405180910390f35b34801561041657600080fd5b50610431600480360381019061042c91906120e4565b610bc9565b005b34801561043f57600080fd5b5061045a60048036038101906104559190611f36565b610cc6565b6040516104679190611f91565b60405180910390f35b34801561047c57600080fd5b50610485610ce4565b005b34801561049357600080fd5b5061049c610d9e565b6040516104a99190611fbb565b60405180910390f35b3480156104be57600080fd5b506104d960048036038101906104d491906120b7565b610da4565b005b3480156104e757600080fd5b5061050260048036038101906104fd9190612137565b610e94565b60405161050f9190611fbb565b60405180910390f35b34801561052457600080fd5b5061053f600480360381019061053a91906120b7565b610f1b565b005b60606040518060400160405280600581526020017f426f626572000000000000000000000000000000000000000000000000000000815250905090565b600061059261058b610fbc565b8484610fc4565b6001905092915050565b60006a084595161401484a000000905090565b60065481565b60006105c284848461118d565b610662846105ce610fbc565b84600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610618610fbc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461065d91906121a6565b610fc4565b600190509392505050565b60006012905090565b61067e610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070290612226565b60405180910390fd5b6103e7811061074f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610746906122b8565b60405180910390fd5b6003548110610793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078a9061234a565b60405180910390fd5b69021e19e0c9bab2400000816107a9919061236a565b60028190555050565b7f0000000000000000000000006abb798cca69a8a433e657659febafaee90a00c581565b60045481565b6107e4610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086890612226565b60405180910390fd5b6103e781106108b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ac9061241e565b60405180910390fd5b60025481116108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f0906124b0565b60405180910390fd5b69021e19e0c9bab24000008161090f919061236a565b60038190555050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610969610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ed90612226565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610abc610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4090612226565b60405180910390fd5b6a084595161401484a000000600981905550565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f424f424552000000000000000000000000000000000000000000000000000000815250905090565b610bd1610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5590612226565b60405180910390fd5b6028831080610c6d5750603c82105b610cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca39061251c565b60405180910390fd5b826004819055508160058190555080600681905550505050565b6000610cda610cd3610fbc565b848461118d565b6001905092915050565b610cec610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7090612226565b60405180910390fd5b6001600760006101000a81548160ff021916908360ff16021790555043600881905550565b60055481565b610dac610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3090612226565b60405180910390fd5b6001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f23610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa790612226565b60405180910390fd5b610fb981611cbf565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102a906125ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109990612640565b60405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111809190611fbb565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f3906126d2565b60405180910390fd5b633b9aca008111611242576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112399061273e565b60405180910390fd5b6000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806112e55750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156112f3576000905061199f565b6000600760009054906101000a900460ff1660ff161415801561131857506009548211155b611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e906127d0565b60405180910390fd5b6001600760019054906101000a900460ff1660ff16036114885781600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113c091906121a6565b9250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461141691906127f0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161147a9190611fbb565b60405180910390a350611cba565b7f0000000000000000000000006abb798cca69a8a433e657659febafaee90a00c573ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036114f2576006546004546114eb91906127f0565b905061199e565b7f0000000000000000000000006abb798cca69a8a433e657659febafaee90a00c573ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611998576000600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600254811180156115ac57506000600760019054906101000a900460ff1660ff16145b15611980576003548111156115c15760035490505b600060065460026005546004546115d891906127f0565b6115e29190612853565b6115ec91906127f0565b600654836115fa919061236a565b6116049190612853565b90506000818361161491906121a6565b90506001600760016101000a81548160ff021916908360ff1602179055506000600267ffffffffffffffff81111561164f5761164e612884565b5b60405190808252806020026020018201604052801561167d5781602001602082028036833780820191505090505b5090503081600081518110611695576116946128b3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611704576117036128b3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f0000000000000000000000005e7e88167a833e08448e4a47f4239bec1765a151426040518663ffffffff1660e01b81526004016117c0959493929190612a3a565b600060405180830381600087803b1580156117da57600080fd5b505af11580156117ee573d6000803e3d6000fd5b505050506000831115611960577f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9476002856118449190612853565b60008430426040518663ffffffff1660e01b8152600401611869959493929190612a94565b600060405180830381600087803b15801561188357600080fd5b505af1158015611897573d6000803e3d6000fd5b5050505060004790507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71982306002886118eb9190612853565b6000806118f6610b63565b426040518863ffffffff1660e01b815260040161191896959493929190612aee565b60606040518083038185885af1158015611936573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061195b9190612b64565b505050505b6000600760016101000a81548160ff021916908360ff1602179055505050505b60065460055461199091906127f0565b91505061199d565b600090505b5b5b60008114611ba6576000606482846119b7919061236a565b6119c19190612853565b9050600081846119d191906121a6565b905083600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a2291906121a6565b9250508190555080600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a7891906127f0565b9250508190555081600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ace91906127f0565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b329190611fbb565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b979190611fbb565b60405180910390a35050611cb8565b81600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611bf591906121a6565b9250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c4b91906127f0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611caf9190611fbb565b60405180910390a35b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2590612c29565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e25578082015181840152602081019050611e0a565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e4d82611deb565b611e578185611df6565b9350611e67818560208601611e07565b611e7081611e31565b840191505092915050565b60006020820190508181036000830152611e958184611e42565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ecd82611ea2565b9050919050565b611edd81611ec2565b8114611ee857600080fd5b50565b600081359050611efa81611ed4565b92915050565b6000819050919050565b611f1381611f00565b8114611f1e57600080fd5b50565b600081359050611f3081611f0a565b92915050565b60008060408385031215611f4d57611f4c611e9d565b5b6000611f5b85828601611eeb565b9250506020611f6c85828601611f21565b9150509250929050565b60008115159050919050565b611f8b81611f76565b82525050565b6000602082019050611fa66000830184611f82565b92915050565b611fb581611f00565b82525050565b6000602082019050611fd06000830184611fac565b92915050565b600080600060608486031215611fef57611fee611e9d565b5b6000611ffd86828701611eeb565b935050602061200e86828701611eeb565b925050604061201f86828701611f21565b9150509250925092565b600060ff82169050919050565b61203f81612029565b82525050565b600060208201905061205a6000830184612036565b92915050565b60006020828403121561207657612075611e9d565b5b600061208484828501611f21565b91505092915050565b61209681611ec2565b82525050565b60006020820190506120b1600083018461208d565b92915050565b6000602082840312156120cd576120cc611e9d565b5b60006120db84828501611eeb565b91505092915050565b6000806000606084860312156120fd576120fc611e9d565b5b600061210b86828701611f21565b935050602061211c86828701611f21565b925050604061212d86828701611f21565b9150509250925092565b6000806040838503121561214e5761214d611e9d565b5b600061215c85828601611eeb565b925050602061216d85828601611eeb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006121b182611f00565b91506121bc83611f00565b92508282039050818111156121d4576121d3612177565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612210602083611df6565b915061221b826121da565b602082019050919050565b6000602082019050818103600083015261223f81612203565b9050919050565b7f4d696e20537761702063616e6e6f742062652067726561746572207468616e2060008201527f3939250000000000000000000000000000000000000000000000000000000000602082015250565b60006122a2602383611df6565b91506122ad82612246565b604082019050919050565b600060208201905081810360008301526122d181612295565b9050919050565b7f4d696e20537761702063616e6e6f742062652067726561746572207468616e2060008201527f6d61782073776170000000000000000000000000000000000000000000000000602082015250565b6000612334602883611df6565b915061233f826122d8565b604082019050919050565b6000602082019050818103600083015261236381612327565b9050919050565b600061237582611f00565b915061238083611f00565b925082820261238e81611f00565b915082820484148315176123a5576123a4612177565b5b5092915050565b7f4d617820537761702063616e6e6f742062652067726561746572207468616e2060008201527f3939250000000000000000000000000000000000000000000000000000000000602082015250565b6000612408602383611df6565b9150612413826123ac565b604082019050919050565b60006020820190508181036000830152612437816123fb565b9050919050565b7f4d617820537761702063616e6e6f74206265206c657373207468616e206d696e60008201527f2073776170000000000000000000000000000000000000000000000000000000602082015250565b600061249a602583611df6565b91506124a58261243e565b604082019050919050565b600060208201905081810360008301526124c98161248d565b9050919050565b7f43616e6e6f74207365742074617865732061626f766520393025000000000000600082015250565b6000612506601a83611df6565b9150612511826124d0565b602082019050919050565b60006020820190508181036000830152612535816124f9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612598602483611df6565b91506125a38261253c565b604082019050919050565b600060208201905081810360008301526125c78161258b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061262a602283611df6565b9150612635826125ce565b604082019050919050565b600060208201905081810360008301526126598161261d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006126bc602583611df6565b91506126c782612660565b604082019050919050565b600060208201905081810360008301526126eb816126af565b9050919050565b7f4d696e207472616e7366657220616d7400000000000000000000000000000000600082015250565b6000612728601083611df6565b9150612733826126f2565b602082019050919050565b600060208201905081810360008301526127578161271b565b9050919050565b7f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e60008201527f6368000000000000000000000000000000000000000000000000000000000000602082015250565b60006127ba602283611df6565b91506127c58261275e565b604082019050919050565b600060208201905081810360008301526127e9816127ad565b9050919050565b60006127fb82611f00565b915061280683611f00565b925082820190508082111561281e5761281d612177565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061285e82611f00565b915061286983611f00565b92508261287957612878612824565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b600061291161290c612907846128e2565b6128ec565b611f00565b9050919050565b612921816128f6565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61295c81611ec2565b82525050565b600061296e8383612953565b60208301905092915050565b6000602082019050919050565b600061299282612927565b61299c8185612932565b93506129a783612943565b8060005b838110156129d85781516129bf8882612962565b97506129ca8361297a565b9250506001810190506129ab565b5085935050505092915050565b6000612a006129fb6129f684611ea2565b6128ec565b611ea2565b9050919050565b6000612a12826129e5565b9050919050565b6000612a2482612a07565b9050919050565b612a3481612a19565b82525050565b600060a082019050612a4f6000830188611fac565b612a5c6020830187612918565b8181036040830152612a6e8186612987565b9050612a7d6060830185612a2b565b612a8a6080830184611fac565b9695505050505050565b600060a082019050612aa96000830188611fac565b612ab66020830187612918565b8181036040830152612ac88186612987565b9050612ad7606083018561208d565b612ae46080830184611fac565b9695505050505050565b600060c082019050612b03600083018961208d565b612b106020830188611fac565b612b1d6040830187612918565b612b2a6060830186612918565b612b37608083018561208d565b612b4460a0830184611fac565b979650505050505050565b600081519050612b5e81611f0a565b92915050565b600080600060608486031215612b7d57612b7c611e9d565b5b6000612b8b86828701612b4f565b9350506020612b9c86828701612b4f565b9250506040612bad86828701612b4f565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612c13602683611df6565b9150612c1e82612bb7565b604082019050919050565b60006020820190508181036000830152612c4281612c06565b905091905056fea264697066735822122079199f5d3dfa893abc6575df890f55278a588b617a30b5132a1dd0e646ad78e364736f6c63430008120033

Deployed Bytecode Sourcemap

3106:8988:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5218:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6128:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5495:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3690:17;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6329:350;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5404:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8007:320;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3509:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3633:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7682:317;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5603:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2156:148;;;;;;;;;;;;;:::i;:::-;;7308:88;;;;;;;;;;;;;:::i;:::-;;3832:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1551:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5309:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7404:270;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5729:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7064:108;;;;;;;;;;;;;:::i;:::-;;3661:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7180:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5936:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1765:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5218:83;5255:13;5288:5;;;;;;;;;;;;;;;;;5281:12;;5218:83;:::o;6128:193::-;6230:4;6252:39;6261:12;:10;:12::i;:::-;6275:7;6284:6;6252:8;:39::i;:::-;6309:4;6302:11;;6128:193;;;;:::o;5495:100::-;5548:7;3196:13;5568:19;;5495:100;:::o;3690:17::-;;;;:::o;6329:350::-;6461:4;6478:36;6488:6;6496:9;6507:6;6478:9;:36::i;:::-;6525:124;6548:6;6569:12;:10;:12::i;:::-;6632:6;6596:11;:19;6608:6;6596:19;;;;;;;;;;;;;;;:33;6616:12;:10;:12::i;:::-;6596:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;6525:8;:124::i;:::-;6667:4;6660:11;;6329:350;;;;;:::o;5404:83::-;5445:5;3447:2;5463:16;;5404:83;:::o;8007:320::-;1688:12;:10;:12::i;:::-;1678:22;;:6;;;;;;;;;;:22;;;1670:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8128:3:::1;8106:19;:25;8098:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8212:7;;8190:19;:29;8182:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;3311:9;8285:19;:34;;;;:::i;:::-;8275:7;:44;;;;8007:320:::0;:::o;3509:38::-;;;:::o;3633:21::-;;;;:::o;7682:317::-;1688:12;:10;:12::i;:::-;1678:22;;:6;;;;;;;;;;:22;;;1670:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7803:3:::1;7781:19;:25;7773:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7887:7;;7865:19;:29;7857:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;3311:9;7957:19;:34;;;;:::i;:::-;7947:7;:44;;;;7682:317:::0;:::o;5603:118::-;5669:7;5696:8;:17;5705:7;5696:17;;;;;;;;;;;;;;;;5689:24;;5603:118;;;:::o;2156:148::-;1688:12;:10;:12::i;:::-;1678:22;;:6;;;;;;;;;;:22;;;1670:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2263:1:::1;2226:40;;2247:6;::::0;::::1;;;;;;;;2226:40;;;;;;;;;;;;2294:1;2277:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2156:148::o:0;7308:88::-;1688:12;:10;:12::i;:::-;1678:22;;:6;;;;;;;;;;:22;;;1670:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3196:13:::1;7362:11;:26;;;;7308:88::o:0;3832:43::-;;;;:::o;1551:79::-;1589:7;1616:6;;;;;;;;;;;1609:13;;1551:79;:::o;5309:87::-;5348:13;5381:7;;;;;;;;;;;;;;;;;5374:14;;5309:87;:::o;7404:270::-;1688:12;:10;:12::i;:::-;1678:22;;:6;;;;;;;;;;:22;;;1670:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7527:2:::1;7515:9;:14;:33;;;;7546:2;7533:10;:15;7515:33;7507:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7599:9;7590:6;:18;;;;7629:10;7619:7;:20;;;;7658:8;7650:5;:16;;;;7404:270:::0;;;:::o;5729:199::-;5834:4;5856:42;5866:12;:10;:12::i;:::-;5880:9;5891:6;5856:9;:42::i;:::-;5916:4;5909:11;;5729:199;;;;:::o;7064:108::-;1688:12;:10;:12::i;:::-;1678:22;;:6;;;;;;;;;;:22;;;1670:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7126:1:::1;7117:6;;:10;;;;;;;;;;;;;;;;;;7152:12;7138:11;:26;;;;7064:108::o:0;3661:22::-;;;;:::o;7180:120::-;1688:12;:10;:12::i;:::-;1678:22;;:6;;;;;;;;;;:22;;;1670:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7288:4:::1;7253:24;:32;7278:6;7253:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;7180:120:::0;:::o;5936:184::-;6053:7;6085:11;:18;6097:5;6085:18;;;;;;;;;;;;;;;:27;6104:7;6085:27;;;;;;;;;;;;;;;;6078:34;;5936:184;;;;:::o;1765:109::-;1688:12;:10;:12::i;:::-;1678:22;;:6;;;;;;;;;;:22;;;1670:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1838:28:::1;1857:8;1838:18;:28::i;:::-;1765:109:::0;:::o;265:98::-;318:7;345:10;338:17;;265:98;:::o;6687:369::-;6831:1;6814:19;;:5;:19;;;6806:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6912:1;6893:21;;:7;:21;;;6885:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6994:6;6964:11;:18;6976:5;6964:18;;;;;;;;;;;;;;;:27;6983:7;6964:27;;;;;;;;;;;;;;;:36;;;;7032:7;7016:32;;7025:5;7016:32;;;7041:6;7016:32;;;;;;:::i;:::-;;;;;;;;6687:369;;;:::o;8335:3719::-;8473:1;8457:18;;:4;:18;;;8449:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8545:3;8536:6;:12;8528:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;8582:12;8609:24;:30;8634:4;8609:30;;;;;;;;;;;;;;;;;;;;;;;;;:62;;;;8643:24;:28;8668:2;8643:28;;;;;;;;;;;;;;;;;;;;;;;;;8609:62;8605:2792;;;8695:1;8688:8;;8605:2792;;;8765:1;8755:6;;;;;;;;;;;:11;;;;:36;;;;;8780:11;;8770:6;:21;;8755:36;8729:132;;;;;;;;;;;;:::i;:::-;;;;;;;;;8902:1;8882:16;;;;;;;;;;;:21;;;8878:239;;8977:6;8959:8;:14;8968:4;8959:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;9018:6;9002:8;:12;9011:2;9002:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;9065:2;9050:26;;9059:4;9050:26;;;9069:6;9050:26;;;;;;:::i;:::-;;;;;;;;9095:7;;;8878:239;9145:13;9137:21;;:4;:21;;;9133:2253;;9195:5;;9186:6;;:14;;;;:::i;:::-;9179:21;;9133:2253;;;9232:13;9226:19;;:2;:19;;;9222:2164;;9266:20;9289:8;:23;9306:4;9289:23;;;;;;;;;;;;;;;;9266:46;;9350:7;;9335:12;:22;:47;;;;;9381:1;9361:16;;;;;;;;;;;:21;;;9335:47;9331:1932;;;9426:7;;9411:12;:22;9407:101;;;9477:7;;9462:22;;9407:101;9552:18;9627:5;;9621:1;9610:7;;9601:6;;:16;;;;:::i;:::-;9600:22;;;;:::i;:::-;9599:33;;;;:::i;:::-;9589:5;;9574:12;:20;;;;:::i;:::-;9573:61;;;;:::i;:::-;9552:82;;9657:17;9692:13;9677:12;:28;;;;:::i;:::-;9657:48;;9749:1;9730:16;;:20;;;;;;;;;;;;;;;;;;9773:21;9811:1;9797:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9773:40;;9854:4;9836;9841:1;9836:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;9892:4;9882;9887:1;9882:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;9941:15;:92;;;10064:12;10107:1;10139:4;10174:15;10220;9941:321;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10350:1;10334:13;:17;10329:850;;;10406:15;:92;;;10545:1;10529:13;:17;;;;:::i;:::-;10577:1;10609:4;10652;10688:15;10406:324;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10783:11;10797:21;10783:35;;10845:15;:57;;;10911:6;10927:4;10979:1;10963:13;:17;;;;:::i;:::-;11011:1;11043;11075:7;:5;:7::i;:::-;11113:15;10845:310;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10353:826;10329:850;11220:1;11201:16;;:20;;;;;;;;;;;;;;;;;;9384:1879;;;9331:1932;11316:5;;11306:7;;:15;;;;:::i;:::-;11299:22;;9247:2090;9222:2164;;;11369:1;11362:8;;9222:2164;9133:2253;8605:2792;11466:1;11458:4;:9;11454:593;;11512:17;11550:3;11542:4;11533:6;:13;;;;:::i;:::-;11532:21;;;;:::i;:::-;11512:41;;11568:22;11602:9;11593:6;:18;;;;:::i;:::-;11568:43;;11646:6;11628:8;:14;11637:4;11628:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;11683:14;11667:8;:12;11676:2;11667:12;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;11739:9;11712:8;:23;11729:4;11712:23;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;11791:4;11768:40;;11777:4;11768:40;;;11798:9;11768:40;;;;;;:::i;:::-;;;;;;;;11843:2;11828:34;;11837:4;11828:34;;;11847:14;11828:34;;;;;;:::i;:::-;;;;;;;;11469:405;;11454:593;;;11944:6;11926:8;:14;11935:4;11926:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;11981:6;11965:8;:12;11974:2;11965:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;12024:2;12009:26;;12018:4;12009:26;;;12028:6;12009:26;;;;;;:::i;:::-;;;;;;;;11454:593;8438:3616;8335:3719;;;;:::o;1882:266::-;1990:1;1970:22;;:8;:22;;;1948:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;2103:8;2074:38;;2095:6;;;;;;;;;;2074:38;;;;;;;;;;;;2132:8;2123:6;;:17;;;;;;;;;;;;;;;;;;1882:266;:::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:619::-;5952:6;5960;5968;6017:2;6005:9;5996:7;5992:23;5988:32;5985:119;;;6023:79;;:::i;:::-;5985:119;6143:1;6168:53;6213:7;6204:6;6193:9;6189:22;6168:53;:::i;:::-;6158:63;;6114:117;6270:2;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6241:118;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;5875:619;;;;;:::o;6500:474::-;6568:6;6576;6625:2;6613:9;6604:7;6600:23;6596:32;6593:119;;;6631:79;;:::i;:::-;6593:119;6751:1;6776:53;6821:7;6812:6;6801:9;6797:22;6776:53;:::i;:::-;6766:63;;6722:117;6878:2;6904:53;6949:7;6940:6;6929:9;6925:22;6904:53;:::i;:::-;6894:63;;6849:118;6500:474;;;;;:::o;6980:180::-;7028:77;7025:1;7018:88;7125:4;7122:1;7115:15;7149:4;7146:1;7139:15;7166:194;7206:4;7226:20;7244:1;7226:20;:::i;:::-;7221:25;;7260:20;7278:1;7260:20;:::i;:::-;7255:25;;7304:1;7301;7297:9;7289:17;;7328:1;7322:4;7319:11;7316:37;;;7333:18;;:::i;:::-;7316:37;7166:194;;;;:::o;7366:182::-;7506:34;7502:1;7494:6;7490:14;7483:58;7366:182;:::o;7554:366::-;7696:3;7717:67;7781:2;7776:3;7717:67;:::i;:::-;7710:74;;7793:93;7882:3;7793:93;:::i;:::-;7911:2;7906:3;7902:12;7895:19;;7554:366;;;:::o;7926:419::-;8092:4;8130:2;8119:9;8115:18;8107:26;;8179:9;8173:4;8169:20;8165:1;8154:9;8150:17;8143:47;8207:131;8333:4;8207:131;:::i;:::-;8199:139;;7926:419;;;:::o;8351:222::-;8491:34;8487:1;8479:6;8475:14;8468:58;8560:5;8555:2;8547:6;8543:15;8536:30;8351:222;:::o;8579:366::-;8721:3;8742:67;8806:2;8801:3;8742:67;:::i;:::-;8735:74;;8818:93;8907:3;8818:93;:::i;:::-;8936:2;8931:3;8927:12;8920:19;;8579:366;;;:::o;8951:419::-;9117:4;9155:2;9144:9;9140:18;9132:26;;9204:9;9198:4;9194:20;9190:1;9179:9;9175:17;9168:47;9232:131;9358:4;9232:131;:::i;:::-;9224:139;;8951:419;;;:::o;9376:227::-;9516:34;9512:1;9504:6;9500:14;9493:58;9585:10;9580:2;9572:6;9568:15;9561:35;9376:227;:::o;9609:366::-;9751:3;9772:67;9836:2;9831:3;9772:67;:::i;:::-;9765:74;;9848:93;9937:3;9848:93;:::i;:::-;9966:2;9961:3;9957:12;9950:19;;9609:366;;;:::o;9981:419::-;10147:4;10185:2;10174:9;10170:18;10162:26;;10234:9;10228:4;10224:20;10220:1;10209:9;10205:17;10198:47;10262:131;10388:4;10262:131;:::i;:::-;10254:139;;9981:419;;;:::o;10406:410::-;10446:7;10469:20;10487:1;10469:20;:::i;:::-;10464:25;;10503:20;10521:1;10503:20;:::i;:::-;10498:25;;10558:1;10555;10551:9;10580:30;10598:11;10580:30;:::i;:::-;10569:41;;10759:1;10750:7;10746:15;10743:1;10740:22;10720:1;10713:9;10693:83;10670:139;;10789:18;;:::i;:::-;10670:139;10454:362;10406:410;;;;:::o;10822:222::-;10962:34;10958:1;10950:6;10946:14;10939:58;11031:5;11026:2;11018:6;11014:15;11007:30;10822:222;:::o;11050:366::-;11192:3;11213:67;11277:2;11272:3;11213:67;:::i;:::-;11206:74;;11289:93;11378:3;11289:93;:::i;:::-;11407:2;11402:3;11398:12;11391:19;;11050:366;;;:::o;11422:419::-;11588:4;11626:2;11615:9;11611:18;11603:26;;11675:9;11669:4;11665:20;11661:1;11650:9;11646:17;11639:47;11703:131;11829:4;11703:131;:::i;:::-;11695:139;;11422:419;;;:::o;11847:224::-;11987:34;11983:1;11975:6;11971:14;11964:58;12056:7;12051:2;12043:6;12039:15;12032:32;11847:224;:::o;12077:366::-;12219:3;12240:67;12304:2;12299:3;12240:67;:::i;:::-;12233:74;;12316:93;12405:3;12316:93;:::i;:::-;12434:2;12429:3;12425:12;12418:19;;12077:366;;;:::o;12449:419::-;12615:4;12653:2;12642:9;12638:18;12630:26;;12702:9;12696:4;12692:20;12688:1;12677:9;12673:17;12666:47;12730:131;12856:4;12730:131;:::i;:::-;12722:139;;12449:419;;;:::o;12874:176::-;13014:28;13010:1;13002:6;12998:14;12991:52;12874:176;:::o;13056:366::-;13198:3;13219:67;13283:2;13278:3;13219:67;:::i;:::-;13212:74;;13295:93;13384:3;13295:93;:::i;:::-;13413:2;13408:3;13404:12;13397:19;;13056:366;;;:::o;13428:419::-;13594:4;13632:2;13621:9;13617:18;13609:26;;13681:9;13675:4;13671:20;13667:1;13656:9;13652:17;13645:47;13709:131;13835:4;13709:131;:::i;:::-;13701:139;;13428:419;;;:::o;13853:223::-;13993:34;13989:1;13981:6;13977:14;13970:58;14062:6;14057:2;14049:6;14045:15;14038:31;13853:223;:::o;14082:366::-;14224:3;14245:67;14309:2;14304:3;14245:67;:::i;:::-;14238:74;;14321:93;14410:3;14321:93;:::i;:::-;14439:2;14434:3;14430:12;14423:19;;14082:366;;;:::o;14454:419::-;14620:4;14658:2;14647:9;14643:18;14635:26;;14707:9;14701:4;14697:20;14693:1;14682:9;14678:17;14671:47;14735:131;14861:4;14735:131;:::i;:::-;14727:139;;14454:419;;;:::o;14879:221::-;15019:34;15015:1;15007:6;15003:14;14996:58;15088:4;15083:2;15075:6;15071:15;15064:29;14879:221;:::o;15106:366::-;15248:3;15269:67;15333:2;15328:3;15269:67;:::i;:::-;15262:74;;15345:93;15434:3;15345:93;:::i;:::-;15463:2;15458:3;15454:12;15447:19;;15106:366;;;:::o;15478:419::-;15644:4;15682:2;15671:9;15667:18;15659:26;;15731:9;15725:4;15721:20;15717:1;15706:9;15702:17;15695:47;15759:131;15885:4;15759:131;:::i;:::-;15751:139;;15478:419;;;:::o;15903:224::-;16043:34;16039:1;16031:6;16027:14;16020:58;16112:7;16107:2;16099:6;16095:15;16088:32;15903:224;:::o;16133:366::-;16275:3;16296:67;16360:2;16355:3;16296:67;:::i;:::-;16289:74;;16372:93;16461:3;16372:93;:::i;:::-;16490:2;16485:3;16481:12;16474:19;;16133:366;;;:::o;16505:419::-;16671:4;16709:2;16698:9;16694:18;16686:26;;16758:9;16752:4;16748:20;16744:1;16733:9;16729:17;16722:47;16786:131;16912:4;16786:131;:::i;:::-;16778:139;;16505:419;;;:::o;16930:166::-;17070:18;17066:1;17058:6;17054:14;17047:42;16930:166;:::o;17102:366::-;17244:3;17265:67;17329:2;17324:3;17265:67;:::i;:::-;17258:74;;17341:93;17430:3;17341:93;:::i;:::-;17459:2;17454:3;17450:12;17443:19;;17102:366;;;:::o;17474:419::-;17640:4;17678:2;17667:9;17663:18;17655:26;;17727:9;17721:4;17717:20;17713:1;17702:9;17698:17;17691:47;17755:131;17881:4;17755:131;:::i;:::-;17747:139;;17474:419;;;:::o;17899:221::-;18039:34;18035:1;18027:6;18023:14;18016:58;18108:4;18103:2;18095:6;18091:15;18084:29;17899:221;:::o;18126:366::-;18268:3;18289:67;18353:2;18348:3;18289:67;:::i;:::-;18282:74;;18365:93;18454:3;18365:93;:::i;:::-;18483:2;18478:3;18474:12;18467:19;;18126:366;;;:::o;18498:419::-;18664:4;18702:2;18691:9;18687:18;18679:26;;18751:9;18745:4;18741:20;18737:1;18726:9;18722:17;18715:47;18779:131;18905:4;18779:131;:::i;:::-;18771:139;;18498:419;;;:::o;18923:191::-;18963:3;18982:20;19000:1;18982:20;:::i;:::-;18977:25;;19016:20;19034:1;19016:20;:::i;:::-;19011:25;;19059:1;19056;19052:9;19045:16;;19080:3;19077:1;19074:10;19071:36;;;19087:18;;:::i;:::-;19071:36;18923:191;;;;:::o;19120:180::-;19168:77;19165:1;19158:88;19265:4;19262:1;19255:15;19289:4;19286:1;19279:15;19306:185;19346:1;19363:20;19381:1;19363:20;:::i;:::-;19358:25;;19397:20;19415:1;19397:20;:::i;:::-;19392:25;;19436:1;19426:35;;19441:18;;:::i;:::-;19426:35;19483:1;19480;19476:9;19471:14;;19306:185;;;;:::o;19497:180::-;19545:77;19542:1;19535:88;19642:4;19639:1;19632:15;19666:4;19663:1;19656:15;19683:180;19731:77;19728:1;19721:88;19828:4;19825:1;19818:15;19852:4;19849:1;19842:15;19869:85;19914:7;19943:5;19932:16;;19869:85;;;:::o;19960:60::-;19988:3;20009:5;20002:12;;19960:60;;;:::o;20026:158::-;20084:9;20117:61;20135:42;20144:32;20170:5;20144:32;:::i;:::-;20135:42;:::i;:::-;20117:61;:::i;:::-;20104:74;;20026:158;;;:::o;20190:147::-;20285:45;20324:5;20285:45;:::i;:::-;20280:3;20273:58;20190:147;;:::o;20343:114::-;20410:6;20444:5;20438:12;20428:22;;20343:114;;;:::o;20463:184::-;20562:11;20596:6;20591:3;20584:19;20636:4;20631:3;20627:14;20612:29;;20463:184;;;;:::o;20653:132::-;20720:4;20743:3;20735:11;;20773:4;20768:3;20764:14;20756:22;;20653:132;;;:::o;20791:108::-;20868:24;20886:5;20868:24;:::i;:::-;20863:3;20856:37;20791:108;;:::o;20905:179::-;20974:10;20995:46;21037:3;21029:6;20995:46;:::i;:::-;21073:4;21068:3;21064:14;21050:28;;20905:179;;;;:::o;21090:113::-;21160:4;21192;21187:3;21183:14;21175:22;;21090:113;;;:::o;21239:732::-;21358:3;21387:54;21435:5;21387:54;:::i;:::-;21457:86;21536:6;21531:3;21457:86;:::i;:::-;21450:93;;21567:56;21617:5;21567:56;:::i;:::-;21646:7;21677:1;21662:284;21687:6;21684:1;21681:13;21662:284;;;21763:6;21757:13;21790:63;21849:3;21834:13;21790:63;:::i;:::-;21783:70;;21876:60;21929:6;21876:60;:::i;:::-;21866:70;;21722:224;21709:1;21706;21702:9;21697:14;;21662:284;;;21666:14;21962:3;21955:10;;21363:608;;;21239:732;;;;:::o;21977:142::-;22027:9;22060:53;22078:34;22087:24;22105:5;22087:24;:::i;:::-;22078:34;:::i;:::-;22060:53;:::i;:::-;22047:66;;21977:142;;;:::o;22125:126::-;22175:9;22208:37;22239:5;22208:37;:::i;:::-;22195:50;;22125:126;;;:::o;22257:134::-;22315:9;22348:37;22379:5;22348:37;:::i;:::-;22335:50;;22257:134;;;:::o;22397:147::-;22492:45;22531:5;22492:45;:::i;:::-;22487:3;22480:58;22397:147;;:::o;22550:847::-;22821:4;22859:3;22848:9;22844:19;22836:27;;22873:71;22941:1;22930:9;22926:17;22917:6;22873:71;:::i;:::-;22954:80;23030:2;23019:9;23015:18;23006:6;22954:80;:::i;:::-;23081:9;23075:4;23071:20;23066:2;23055:9;23051:18;23044:48;23109:108;23212:4;23203:6;23109:108;:::i;:::-;23101:116;;23227:80;23303:2;23292:9;23288:18;23279:6;23227:80;:::i;:::-;23317:73;23385:3;23374:9;23370:19;23361:6;23317:73;:::i;:::-;22550:847;;;;;;;;:::o;23403:831::-;23666:4;23704:3;23693:9;23689:19;23681:27;;23718:71;23786:1;23775:9;23771:17;23762:6;23718:71;:::i;:::-;23799:80;23875:2;23864:9;23860:18;23851:6;23799:80;:::i;:::-;23926:9;23920:4;23916:20;23911:2;23900:9;23896:18;23889:48;23954:108;24057:4;24048:6;23954:108;:::i;:::-;23946:116;;24072:72;24140:2;24129:9;24125:18;24116:6;24072:72;:::i;:::-;24154:73;24222:3;24211:9;24207:19;24198:6;24154:73;:::i;:::-;23403:831;;;;;;;;:::o;24240:807::-;24489:4;24527:3;24516:9;24512:19;24504:27;;24541:71;24609:1;24598:9;24594:17;24585:6;24541:71;:::i;:::-;24622:72;24690:2;24679:9;24675:18;24666:6;24622:72;:::i;:::-;24704:80;24780:2;24769:9;24765:18;24756:6;24704:80;:::i;:::-;24794;24870:2;24859:9;24855:18;24846:6;24794:80;:::i;:::-;24884:73;24952:3;24941:9;24937:19;24928:6;24884:73;:::i;:::-;24967;25035:3;25024:9;25020:19;25011:6;24967:73;:::i;:::-;24240:807;;;;;;;;;:::o;25053:143::-;25110:5;25141:6;25135:13;25126:22;;25157:33;25184:5;25157:33;:::i;:::-;25053:143;;;;:::o;25202:663::-;25290:6;25298;25306;25355:2;25343:9;25334:7;25330:23;25326:32;25323:119;;;25361:79;;:::i;:::-;25323:119;25481:1;25506:64;25562:7;25553:6;25542:9;25538:22;25506:64;:::i;:::-;25496:74;;25452:128;25619:2;25645:64;25701:7;25692:6;25681:9;25677:22;25645:64;:::i;:::-;25635:74;;25590:129;25758:2;25784:64;25840:7;25831:6;25820:9;25816:22;25784:64;:::i;:::-;25774:74;;25729:129;25202:663;;;;;:::o;25871:225::-;26011:34;26007:1;25999:6;25995:14;25988:58;26080:8;26075:2;26067:6;26063:15;26056:33;25871:225;:::o;26102:366::-;26244:3;26265:67;26329:2;26324:3;26265:67;:::i;:::-;26258:74;;26341:93;26430:3;26341:93;:::i;:::-;26459:2;26454:3;26450:12;26443:19;;26102:366;;;:::o;26474:419::-;26640:4;26678:2;26667:9;26663:18;26655:26;;26727:9;26721:4;26717:20;26713:1;26702:9;26698:17;26691:47;26755:131;26881:4;26755:131;:::i;:::-;26747:139;;26474:419;;;:::o

Swarm Source

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