ETH Price: $3,403.30 (+1.97%)
 

Overview

Max Total Supply

46,000,000 BFI

Holders

46

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
BidenFallsInu

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-06-19
*/

/*

    https://t.me/bdnfallsinu

*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.14;

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

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

}

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

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 factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract BidenFallsInu is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "Biden Falls Inu";
    string private constant _symbol = "BFI";
    uint8 private constant _decimals = 18;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 46000000 * 1e18;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 1;
    uint256 private _taxFeeOnBuy = 2;
    uint256 private _redisFeeOnSell = 1;
    uint256 private _taxFeeOnSell = 6;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping (address => uint256) public _buyMap;
    
    address private marketingAddress;
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxWalletSize = 230000 * 1e18 + 1 * 1e18;
    uint256 public _swapTokensAtAmount = 46000 * 1e18;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        marketingAddress = address(0x64Eaa9C7D567C344e41E0722538e9308A9b07db3);

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[marketingAddress] = 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 tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

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

        if (from != owner() && to != owner()) {

            //Trading open check
            if (!tradingOpen) {
                require(_isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading is not active.");
            }

            if(to != uniswapV2Pair) {
				if (!_isExcludedFromFee[to]) {
					require(balanceOf(to) + amount < _maxWalletSize, "Balance exceeds max wallet size!");
				}
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _swapTokensAtAmount * 20)
            {
                contractTokenBalance = _swapTokensAtAmount * 20;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

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

    function sendETHToFee(uint256 amount) private lockTheSwap {
        payable(marketingAddress).transfer(amount);
    }

	function openTrading() public onlyOwner {
		tradingOpen = true;
	}
	
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {
    }

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

}

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":"","type":"address"}],"name":"_buyMap","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":"_swapTokensAtAmount","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526a260ce0ff28d2b2ee0000006000196200001f919062000642565b6000196200002e9190620006a9565b6005556001600755600260085560016009556006600a55600954600b55600a54600c55600b54600d55600c54600e556000601260156101000a81548160ff0219169083151502179055506001601260166101000a81548160ff0219169083151502179055506930b46112d679ab2400006013556909bdaa3d398e00c00000601455348015620000bc57600080fd5b506000620000cf620005d860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507364eaa9c7d567c344e41e0722538e9308a9b07db3601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060055460016000620001d9620005d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e391906200074e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200034b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037191906200074e565b6040518363ffffffff1660e01b81526004016200039092919062000791565b6020604051808303816000875af1158015620003b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d691906200074e565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600460006200042c620005e060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200055f620005d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a260ce0ff28d2b2ee000000604051620005c99190620007cf565b60405180910390a350620007ec565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200064f8262000609565b91506200065c8362000609565b9250826200066f576200066e62000613565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620006b68262000609565b9150620006c38362000609565b925082821015620006d957620006d86200067a565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200071682620006e9565b9050919050565b620007288162000709565b81146200073457600080fd5b50565b60008151905062000748816200071d565b92915050565b600060208284031215620007675762000766620006e4565b5b6000620007778482850162000737565b91505092915050565b6200078b8162000709565b82525050565b6000604082019050620007a8600083018562000780565b620007b7602083018462000780565b9392505050565b620007c98162000609565b82525050565b6000602082019050620007e66000830184620007be565b92915050565b612ded80620007fc6000396000f3fe60806040526004361061010d5760003560e01c8063715018a61161009557806395d89b411161006457806395d89b411461037c578063a9059cbb146103a7578063c9567bf9146103e4578063dd62ed3e146103fb578063f2fde38b1461043857610114565b8063715018a6146102d25780637f2feddc146102e95780638da5cb5b146103265780638f9a55c01461035157610114565b806323b872dd116100dc57806323b872dd146101d75780632fd689e314610214578063313ce5671461023f57806349bd5a5e1461026a57806370a082311461029557610114565b806306fdde0314610119578063095ea7b3146101445780631694505e1461018157806318160ddd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610461565b60405161013b91906120f3565b60405180910390f35b34801561015057600080fd5b5061016b600480360381019061016691906121ae565b61049e565b6040516101789190612209565b60405180910390f35b34801561018d57600080fd5b506101966104bc565b6040516101a39190612283565b60405180910390f35b3480156101b857600080fd5b506101c16104e2565b6040516101ce91906122ad565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f991906122c8565b6104f5565b60405161020b9190612209565b60405180910390f35b34801561022057600080fd5b506102296105ce565b60405161023691906122ad565b60405180910390f35b34801561024b57600080fd5b506102546105d4565b6040516102619190612337565b60405180910390f35b34801561027657600080fd5b5061027f6105dd565b60405161028c9190612361565b60405180910390f35b3480156102a157600080fd5b506102bc60048036038101906102b7919061237c565b610603565b6040516102c991906122ad565b60405180910390f35b3480156102de57600080fd5b506102e7610654565b005b3480156102f557600080fd5b50610310600480360381019061030b919061237c565b6107a7565b60405161031d91906122ad565b60405180910390f35b34801561033257600080fd5b5061033b6107bf565b6040516103489190612361565b60405180910390f35b34801561035d57600080fd5b506103666107e8565b60405161037391906122ad565b60405180910390f35b34801561038857600080fd5b506103916107ee565b60405161039e91906120f3565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c991906121ae565b61082b565b6040516103db9190612209565b60405180910390f35b3480156103f057600080fd5b506103f9610849565b005b34801561040757600080fd5b50610422600480360381019061041d91906123a9565b6108fb565b60405161042f91906122ad565b60405180910390f35b34801561044457600080fd5b5061045f600480360381019061045a919061237c565b610982565b005b60606040518060400160405280600f81526020017f426964656e2046616c6c7320496e750000000000000000000000000000000000815250905090565b60006104b26104ab610b43565b8484610b4b565b6001905092915050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006a260ce0ff28d2b2ee000000905090565b6000610502848484610d14565b6105c38461050e610b43565b6105be85604051806060016040528060288152602001612d9060289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610574610b43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115449092919063ffffffff16565b610b4b565b600190509392505050565b60145481565b60006012905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061064d600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115a8565b9050919050565b61065c610b43565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e090612435565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f6020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60135481565b60606040518060400160405280600381526020017f4246490000000000000000000000000000000000000000000000000000000000815250905090565b600061083f610838610b43565b8484610d14565b6001905092915050565b610851610b43565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d590612435565b60405180910390fd5b6001601260146101000a81548160ff021916908315150217905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61098a610b43565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0e90612435565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7d906124c7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb190612559565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c20906125eb565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d0791906122ad565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7a9061267d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de99061270f565b60405180910390fd5b60008111610e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2c906127a1565b60405180910390fd5b610e3d6107bf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610eab5750610e7b6107bf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561124357601260149054906101000a900460ff16610fa557600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610f655750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610fa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9b9061280d565b60405180910390fd5b5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146110a457600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110a3576013548161105884610603565b611062919061285c565b106110a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611099906128fe565b60405180910390fd5b5b5b60006110af30610603565b905060006014548210159050601480546110c9919061291e565b82106110e057601480546110dd919061291e565b91505b8080156110fa5750601260159054906101000a900460ff16155b80156111545750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561116c5750601260169054906101000a900460ff165b80156111c25750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156112185750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156112405761122682611616565b6000479050600081111561123e5761123d4761188f565b5b505b50505b600060019050600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806112ea5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061139d5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561139c5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156113ab5760009050611532565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114565750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561146e57600754600b81905550600854600c819055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115195750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561153157600954600b81905550600a54600c819055505b5b61153e84848484611931565b50505050565b600083831115829061158c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158391906120f3565b60405180910390fd5b506000838561159b9190612978565b9050809150509392505050565b60006005548211156115ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e690612a1e565b60405180910390fd5b60006115f961195e565b905061160e818461198990919063ffffffff16565b915050919050565b6001601260156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561164e5761164d612a3e565b5b60405190808252806020026020018201604052801561167c5781602001602082028036833780820191505090505b509050308160008151811061169457611693612a6d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561173b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175f9190612ab1565b8160018151811061177357611772612a6d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117da30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610b4b565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161183e959493929190612bd7565b600060405180830381600087803b15801561185857600080fd5b505af115801561186c573d6000803e3d6000fd5b50505050506000601260156101000a81548160ff02191690831515021790555050565b6001601260156101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611912573d6000803e3d6000fd5b506000601260156101000a81548160ff02191690831515021790555050565b8061193f5761193e6119d3565b5b61194a848484611a10565b8061195857611957611bdb565b5b50505050565b600080600061196b611bef565b91509150611982818361198990919063ffffffff16565b9250505090565b60006119cb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c57565b905092915050565b6000600b541480156119e757506000600c54145b611a0e57600b54600d81905550600c54600e819055506000600b819055506000600c819055505b565b600080600080600080611a2287611cba565b955095509550955095509550611a8086600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2290919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b1585600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6c90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b6181611dca565b611b6b8483611e87565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611bc891906122ad565b60405180910390a3505050505050505050565b600d54600b81905550600e54600c81905550565b6000806000600554905060006a260ce0ff28d2b2ee0000009050611c296a260ce0ff28d2b2ee00000060055461198990919063ffffffff16565b821015611c4a576005546a260ce0ff28d2b2ee000000935093505050611c53565b81819350935050505b9091565b60008083118290611c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9591906120f3565b60405180910390fd5b5060008385611cad9190612c60565b9050809150509392505050565b6000806000806000806000806000611cd78a600b54600c54611ec1565b9250925092506000611ce761195e565b90506000806000611cfa8e878787611f57565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611d6483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611544565b905092915050565b6000808284611d7b919061285c565b905083811015611dc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db790612cdd565b60405180910390fd5b8091505092915050565b6000611dd461195e565b90506000611deb8284611fe090919063ffffffff16565b9050611e3f81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6c90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611e9c82600554611d2290919063ffffffff16565b600581905550611eb781600654611d6c90919063ffffffff16565b6006819055505050565b600080600080611eed6064611edf888a611fe090919063ffffffff16565b61198990919063ffffffff16565b90506000611f176064611f09888b611fe090919063ffffffff16565b61198990919063ffffffff16565b90506000611f4082611f32858c611d2290919063ffffffff16565b611d2290919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611f708589611fe090919063ffffffff16565b90506000611f878689611fe090919063ffffffff16565b90506000611f9e8789611fe090919063ffffffff16565b90506000611fc782611fb98587611d2290919063ffffffff16565b611d2290919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303611ff25760009050612054565b60008284612000919061291e565b905082848261200f9190612c60565b1461204f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204690612d6f565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612094578082015181840152602081019050612079565b838111156120a3576000848401525b50505050565b6000601f19601f8301169050919050565b60006120c58261205a565b6120cf8185612065565b93506120df818560208601612076565b6120e8816120a9565b840191505092915050565b6000602082019050818103600083015261210d81846120ba565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121458261211a565b9050919050565b6121558161213a565b811461216057600080fd5b50565b6000813590506121728161214c565b92915050565b6000819050919050565b61218b81612178565b811461219657600080fd5b50565b6000813590506121a881612182565b92915050565b600080604083850312156121c5576121c4612115565b5b60006121d385828601612163565b92505060206121e485828601612199565b9150509250929050565b60008115159050919050565b612203816121ee565b82525050565b600060208201905061221e60008301846121fa565b92915050565b6000819050919050565b600061224961224461223f8461211a565b612224565b61211a565b9050919050565b600061225b8261222e565b9050919050565b600061226d82612250565b9050919050565b61227d81612262565b82525050565b60006020820190506122986000830184612274565b92915050565b6122a781612178565b82525050565b60006020820190506122c2600083018461229e565b92915050565b6000806000606084860312156122e1576122e0612115565b5b60006122ef86828701612163565b935050602061230086828701612163565b925050604061231186828701612199565b9150509250925092565b600060ff82169050919050565b6123318161231b565b82525050565b600060208201905061234c6000830184612328565b92915050565b61235b8161213a565b82525050565b60006020820190506123766000830184612352565b92915050565b60006020828403121561239257612391612115565b5b60006123a084828501612163565b91505092915050565b600080604083850312156123c0576123bf612115565b5b60006123ce85828601612163565b92505060206123df85828601612163565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061241f602083612065565b915061242a826123e9565b602082019050919050565b6000602082019050818103600083015261244e81612412565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006124b1602683612065565b91506124bc82612455565b604082019050919050565b600060208201905081810360008301526124e0816124a4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612543602483612065565b915061254e826124e7565b604082019050919050565b6000602082019050818103600083015261257281612536565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006125d5602283612065565b91506125e082612579565b604082019050919050565b60006020820190508181036000830152612604816125c8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612667602583612065565b91506126728261260b565b604082019050919050565b600060208201905081810360008301526126968161265a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006126f9602383612065565b91506127048261269d565b604082019050919050565b60006020820190508181036000830152612728816126ec565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061278b602983612065565b91506127968261272f565b604082019050919050565b600060208201905081810360008301526127ba8161277e565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006127f7601683612065565b9150612802826127c1565b602082019050919050565b60006020820190508181036000830152612826816127ea565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061286782612178565b915061287283612178565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156128a7576128a661282d565b5b828201905092915050565b7f42616c616e63652065786365656473206d61782077616c6c65742073697a6521600082015250565b60006128e8602083612065565b91506128f3826128b2565b602082019050919050565b60006020820190508181036000830152612917816128db565b9050919050565b600061292982612178565b915061293483612178565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561296d5761296c61282d565b5b828202905092915050565b600061298382612178565b915061298e83612178565b9250828210156129a1576129a061282d565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612a08602a83612065565b9150612a13826129ac565b604082019050919050565b60006020820190508181036000830152612a37816129fb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612aab8161214c565b92915050565b600060208284031215612ac757612ac6612115565b5b6000612ad584828501612a9c565b91505092915050565b6000819050919050565b6000612b03612afe612af984612ade565b612224565b612178565b9050919050565b612b1381612ae8565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612b4e8161213a565b82525050565b6000612b608383612b45565b60208301905092915050565b6000602082019050919050565b6000612b8482612b19565b612b8e8185612b24565b9350612b9983612b35565b8060005b83811015612bca578151612bb18882612b54565b9750612bbc83612b6c565b925050600181019050612b9d565b5085935050505092915050565b600060a082019050612bec600083018861229e565b612bf96020830187612b0a565b8181036040830152612c0b8186612b79565b9050612c1a6060830185612352565b612c27608083018461229e565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612c6b82612178565b9150612c7683612178565b925082612c8657612c85612c31565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612cc7601b83612065565b9150612cd282612c91565b602082019050919050565b60006020820190508181036000830152612cf681612cba565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d59602183612065565b9150612d6482612cfd565b604082019050919050565b60006020820190508181036000830152612d8881612d4c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206c9e632b880fa42e8820b1ae5277c862a7f28c35f29d355cbecc455e7c1f2c1664736f6c634300080e0033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c8063715018a61161009557806395d89b411161006457806395d89b411461037c578063a9059cbb146103a7578063c9567bf9146103e4578063dd62ed3e146103fb578063f2fde38b1461043857610114565b8063715018a6146102d25780637f2feddc146102e95780638da5cb5b146103265780638f9a55c01461035157610114565b806323b872dd116100dc57806323b872dd146101d75780632fd689e314610214578063313ce5671461023f57806349bd5a5e1461026a57806370a082311461029557610114565b806306fdde0314610119578063095ea7b3146101445780631694505e1461018157806318160ddd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610461565b60405161013b91906120f3565b60405180910390f35b34801561015057600080fd5b5061016b600480360381019061016691906121ae565b61049e565b6040516101789190612209565b60405180910390f35b34801561018d57600080fd5b506101966104bc565b6040516101a39190612283565b60405180910390f35b3480156101b857600080fd5b506101c16104e2565b6040516101ce91906122ad565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f991906122c8565b6104f5565b60405161020b9190612209565b60405180910390f35b34801561022057600080fd5b506102296105ce565b60405161023691906122ad565b60405180910390f35b34801561024b57600080fd5b506102546105d4565b6040516102619190612337565b60405180910390f35b34801561027657600080fd5b5061027f6105dd565b60405161028c9190612361565b60405180910390f35b3480156102a157600080fd5b506102bc60048036038101906102b7919061237c565b610603565b6040516102c991906122ad565b60405180910390f35b3480156102de57600080fd5b506102e7610654565b005b3480156102f557600080fd5b50610310600480360381019061030b919061237c565b6107a7565b60405161031d91906122ad565b60405180910390f35b34801561033257600080fd5b5061033b6107bf565b6040516103489190612361565b60405180910390f35b34801561035d57600080fd5b506103666107e8565b60405161037391906122ad565b60405180910390f35b34801561038857600080fd5b506103916107ee565b60405161039e91906120f3565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c991906121ae565b61082b565b6040516103db9190612209565b60405180910390f35b3480156103f057600080fd5b506103f9610849565b005b34801561040757600080fd5b50610422600480360381019061041d91906123a9565b6108fb565b60405161042f91906122ad565b60405180910390f35b34801561044457600080fd5b5061045f600480360381019061045a919061237c565b610982565b005b60606040518060400160405280600f81526020017f426964656e2046616c6c7320496e750000000000000000000000000000000000815250905090565b60006104b26104ab610b43565b8484610b4b565b6001905092915050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006a260ce0ff28d2b2ee000000905090565b6000610502848484610d14565b6105c38461050e610b43565b6105be85604051806060016040528060288152602001612d9060289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610574610b43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115449092919063ffffffff16565b610b4b565b600190509392505050565b60145481565b60006012905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061064d600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115a8565b9050919050565b61065c610b43565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e090612435565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f6020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60135481565b60606040518060400160405280600381526020017f4246490000000000000000000000000000000000000000000000000000000000815250905090565b600061083f610838610b43565b8484610d14565b6001905092915050565b610851610b43565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d590612435565b60405180910390fd5b6001601260146101000a81548160ff021916908315150217905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61098a610b43565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0e90612435565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7d906124c7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb190612559565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c20906125eb565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d0791906122ad565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7a9061267d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de99061270f565b60405180910390fd5b60008111610e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2c906127a1565b60405180910390fd5b610e3d6107bf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610eab5750610e7b6107bf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561124357601260149054906101000a900460ff16610fa557600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610f655750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610fa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9b9061280d565b60405180910390fd5b5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146110a457600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110a3576013548161105884610603565b611062919061285c565b106110a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611099906128fe565b60405180910390fd5b5b5b60006110af30610603565b905060006014548210159050601480546110c9919061291e565b82106110e057601480546110dd919061291e565b91505b8080156110fa5750601260159054906101000a900460ff16155b80156111545750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561116c5750601260169054906101000a900460ff165b80156111c25750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156112185750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156112405761122682611616565b6000479050600081111561123e5761123d4761188f565b5b505b50505b600060019050600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806112ea5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061139d5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561139c5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156113ab5760009050611532565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114565750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561146e57600754600b81905550600854600c819055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115195750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561153157600954600b81905550600a54600c819055505b5b61153e84848484611931565b50505050565b600083831115829061158c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158391906120f3565b60405180910390fd5b506000838561159b9190612978565b9050809150509392505050565b60006005548211156115ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e690612a1e565b60405180910390fd5b60006115f961195e565b905061160e818461198990919063ffffffff16565b915050919050565b6001601260156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561164e5761164d612a3e565b5b60405190808252806020026020018201604052801561167c5781602001602082028036833780820191505090505b509050308160008151811061169457611693612a6d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561173b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175f9190612ab1565b8160018151811061177357611772612a6d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117da30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610b4b565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161183e959493929190612bd7565b600060405180830381600087803b15801561185857600080fd5b505af115801561186c573d6000803e3d6000fd5b50505050506000601260156101000a81548160ff02191690831515021790555050565b6001601260156101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611912573d6000803e3d6000fd5b506000601260156101000a81548160ff02191690831515021790555050565b8061193f5761193e6119d3565b5b61194a848484611a10565b8061195857611957611bdb565b5b50505050565b600080600061196b611bef565b91509150611982818361198990919063ffffffff16565b9250505090565b60006119cb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c57565b905092915050565b6000600b541480156119e757506000600c54145b611a0e57600b54600d81905550600c54600e819055506000600b819055506000600c819055505b565b600080600080600080611a2287611cba565b955095509550955095509550611a8086600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2290919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b1585600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6c90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b6181611dca565b611b6b8483611e87565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611bc891906122ad565b60405180910390a3505050505050505050565b600d54600b81905550600e54600c81905550565b6000806000600554905060006a260ce0ff28d2b2ee0000009050611c296a260ce0ff28d2b2ee00000060055461198990919063ffffffff16565b821015611c4a576005546a260ce0ff28d2b2ee000000935093505050611c53565b81819350935050505b9091565b60008083118290611c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9591906120f3565b60405180910390fd5b5060008385611cad9190612c60565b9050809150509392505050565b6000806000806000806000806000611cd78a600b54600c54611ec1565b9250925092506000611ce761195e565b90506000806000611cfa8e878787611f57565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611d6483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611544565b905092915050565b6000808284611d7b919061285c565b905083811015611dc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db790612cdd565b60405180910390fd5b8091505092915050565b6000611dd461195e565b90506000611deb8284611fe090919063ffffffff16565b9050611e3f81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6c90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611e9c82600554611d2290919063ffffffff16565b600581905550611eb781600654611d6c90919063ffffffff16565b6006819055505050565b600080600080611eed6064611edf888a611fe090919063ffffffff16565b61198990919063ffffffff16565b90506000611f176064611f09888b611fe090919063ffffffff16565b61198990919063ffffffff16565b90506000611f4082611f32858c611d2290919063ffffffff16565b611d2290919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611f708589611fe090919063ffffffff16565b90506000611f878689611fe090919063ffffffff16565b90506000611f9e8789611fe090919063ffffffff16565b90506000611fc782611fb98587611d2290919063ffffffff16565b611d2290919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303611ff25760009050612054565b60008284612000919061291e565b905082848261200f9190612c60565b1461204f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204690612d6f565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612094578082015181840152602081019050612079565b838111156120a3576000848401525b50505050565b6000601f19601f8301169050919050565b60006120c58261205a565b6120cf8185612065565b93506120df818560208601612076565b6120e8816120a9565b840191505092915050565b6000602082019050818103600083015261210d81846120ba565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121458261211a565b9050919050565b6121558161213a565b811461216057600080fd5b50565b6000813590506121728161214c565b92915050565b6000819050919050565b61218b81612178565b811461219657600080fd5b50565b6000813590506121a881612182565b92915050565b600080604083850312156121c5576121c4612115565b5b60006121d385828601612163565b92505060206121e485828601612199565b9150509250929050565b60008115159050919050565b612203816121ee565b82525050565b600060208201905061221e60008301846121fa565b92915050565b6000819050919050565b600061224961224461223f8461211a565b612224565b61211a565b9050919050565b600061225b8261222e565b9050919050565b600061226d82612250565b9050919050565b61227d81612262565b82525050565b60006020820190506122986000830184612274565b92915050565b6122a781612178565b82525050565b60006020820190506122c2600083018461229e565b92915050565b6000806000606084860312156122e1576122e0612115565b5b60006122ef86828701612163565b935050602061230086828701612163565b925050604061231186828701612199565b9150509250925092565b600060ff82169050919050565b6123318161231b565b82525050565b600060208201905061234c6000830184612328565b92915050565b61235b8161213a565b82525050565b60006020820190506123766000830184612352565b92915050565b60006020828403121561239257612391612115565b5b60006123a084828501612163565b91505092915050565b600080604083850312156123c0576123bf612115565b5b60006123ce85828601612163565b92505060206123df85828601612163565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061241f602083612065565b915061242a826123e9565b602082019050919050565b6000602082019050818103600083015261244e81612412565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006124b1602683612065565b91506124bc82612455565b604082019050919050565b600060208201905081810360008301526124e0816124a4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612543602483612065565b915061254e826124e7565b604082019050919050565b6000602082019050818103600083015261257281612536565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006125d5602283612065565b91506125e082612579565b604082019050919050565b60006020820190508181036000830152612604816125c8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612667602583612065565b91506126728261260b565b604082019050919050565b600060208201905081810360008301526126968161265a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006126f9602383612065565b91506127048261269d565b604082019050919050565b60006020820190508181036000830152612728816126ec565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061278b602983612065565b91506127968261272f565b604082019050919050565b600060208201905081810360008301526127ba8161277e565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006127f7601683612065565b9150612802826127c1565b602082019050919050565b60006020820190508181036000830152612826816127ea565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061286782612178565b915061287283612178565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156128a7576128a661282d565b5b828201905092915050565b7f42616c616e63652065786365656473206d61782077616c6c65742073697a6521600082015250565b60006128e8602083612065565b91506128f3826128b2565b602082019050919050565b60006020820190508181036000830152612917816128db565b9050919050565b600061292982612178565b915061293483612178565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561296d5761296c61282d565b5b828202905092915050565b600061298382612178565b915061298e83612178565b9250828210156129a1576129a061282d565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612a08602a83612065565b9150612a13826129ac565b604082019050919050565b60006020820190508181036000830152612a37816129fb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612aab8161214c565b92915050565b600060208284031215612ac757612ac6612115565b5b6000612ad584828501612a9c565b91505092915050565b6000819050919050565b6000612b03612afe612af984612ade565b612224565b612178565b9050919050565b612b1381612ae8565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612b4e8161213a565b82525050565b6000612b608383612b45565b60208301905092915050565b6000602082019050919050565b6000612b8482612b19565b612b8e8185612b24565b9350612b9983612b35565b8060005b83811015612bca578151612bb18882612b54565b9750612bbc83612b6c565b925050600181019050612b9d565b5085935050505092915050565b600060a082019050612bec600083018861229e565b612bf96020830187612b0a565b8181036040830152612c0b8186612b79565b9050612c1a6060830185612352565b612c27608083018461229e565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612c6b82612178565b9150612c7683612178565b925082612c8657612c85612c31565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612cc7601b83612065565b9150612cd282612c91565b602082019050919050565b60006020820190508181036000830152612cf681612cba565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d59602183612065565b9150612d6482612cfd565b604082019050919050565b60006020820190508181036000830152612d8881612d4c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206c9e632b880fa42e8820b1ae5277c862a7f28c35f29d355cbecc455e7c1f2c1664736f6c634300080e0033

Deployed Bytecode Sourcemap

4084:11189:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6321:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7246:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5239:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6598:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7447:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5492:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6507:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5287:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6701:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1571:148;;;;;;;;;;;;;:::i;:::-;;5138:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1357:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5429:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6412:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6847:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11795:68;;;;;;;;;;;;;:::i;:::-;;7054:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1727:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6321:83;6358:13;6391:5;;;;;;;;;;;;;;;;;6384:12;;6321:83;:::o;7246:193::-;7348:4;7370:39;7379:12;:10;:12::i;:::-;7393:7;7402:6;7370:8;:39::i;:::-;7427:4;7420:11;;7246:193;;;;:::o;5239:41::-;;;;;;;;;;;;;:::o;6598:95::-;6651:7;4643:15;6671:14;;6598:95;:::o;7447:446::-;7579:4;7596:36;7606:6;7614:9;7625:6;7596:9;:36::i;:::-;7643:220;7666:6;7687:12;:10;:12::i;:::-;7714:138;7770:6;7714:138;;;;;;;;;;;;;;;;;:11;:19;7726:6;7714:19;;;;;;;;;;;;;;;:33;7734:12;:10;:12::i;:::-;7714:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7643:8;:220::i;:::-;7881:4;7874:11;;7447:446;;;;;:::o;5492:49::-;;;;:::o;6507:83::-;6548:5;4316:2;6566:16;;6507:83;:::o;5287:28::-;;;;;;;;;;;;;:::o;6701:138::-;6767:7;6794:37;6814:7;:16;6822:7;6814:16;;;;;;;;;;;;;;;;6794:19;:37::i;:::-;6787:44;;6701:138;;;:::o;1571:148::-;1494:12;:10;:12::i;:::-;1484:22;;:6;;;;;;;;;;:22;;;1476:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1678:1:::1;1641:40;;1662:6;::::0;::::1;;;;;;;;1641:40;;;;;;;;;;;;1709:1;1692:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1571:148::o:0;5138:43::-;;;;;;;;;;;;;;;;;:::o;1357:79::-;1395:7;1422:6;;;;;;;;;;;1415:13;;1357:79;:::o;5429:56::-;;;;:::o;6412:87::-;6451:13;6484:7;;;;;;;;;;;;;;;;;6477:14;;6412:87;:::o;6847:199::-;6952:4;6974:42;6984:12;:10;:12::i;:::-;6998:9;7009:6;6974:9;:42::i;:::-;7034:4;7027:11;;6847:199;;;;:::o;11795:68::-;1494:12;:10;:12::i;:::-;1484:22;;:6;;;;;;;;;;:22;;;1476:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11854:4:::1;11840:11;;:18;;;;;;;;;;;;;;;;;;11795:68::o:0;7054:184::-;7171:7;7203:11;:18;7215:5;7203:18;;;;;;;;;;;;;;;:27;7222:7;7203:27;;;;;;;;;;;;;;;;7196:34;;7054:184;;;;:::o;1727:244::-;1494:12;:10;:12::i;:::-;1484:22;;:6;;;;;;;;;;:22;;;1476:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1836:1:::1;1816:22;;:8;:22;;::::0;1808:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1926:8;1897:38;;1918:6;::::0;::::1;;;;;;;;1897:38;;;;;;;;;;;;1955:8;1946:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1727:244:::0;:::o;147:98::-;200:7;227:10;220:17;;147:98;:::o;8584:369::-;8728:1;8711:19;;:5;:19;;;8703:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8809:1;8790:21;;:7;:21;;;8782:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8891:6;8861:11;:18;8873:5;8861:18;;;;;;;;;;;;;;;:27;8880:7;8861:27;;;;;;;;;;;;;;;:36;;;;8929:7;8913:32;;8922:5;8913:32;;;8938:6;8913:32;;;;;;:::i;:::-;;;;;;;;8584:369;;;:::o;8961:2211::-;9099:1;9083:18;;:4;:18;;;9075:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9176:1;9162:16;;:2;:16;;;9154:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9246:1;9237:6;:10;9229:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9318:7;:5;:7::i;:::-;9310:15;;:4;:15;;;;:32;;;;;9335:7;:5;:7::i;:::-;9329:13;;:2;:13;;;;9310:32;9306:1140;;;9400:11;;;;;;;;;;;9395:138;;9440:18;:24;9459:4;9440:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;9468:18;:22;9487:2;9468:22;;;;;;;;;;;;;;;;;;;;;;;;;9440:50;9432:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9395:138;9558:13;;;;;;;;;;;9552:19;;:2;:19;;;9549:175;;9585:18;:22;9604:2;9585:22;;;;;;;;;;;;;;;;;;;;;;;;;9580:129;;9650:14;;9641:6;9625:13;9635:2;9625:9;:13::i;:::-;:22;;;;:::i;:::-;:39;9617:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;9580:129;9549:175;9740:28;9771:24;9789:4;9771:9;:24::i;:::-;9740:55;;9810:12;9849:19;;9825:20;:43;;9810:58;;9934:2;9912:19;;:24;;;;:::i;:::-;9888:20;:48;9885:148;;10015:2;9993:19;;:24;;;;:::i;:::-;9970:47;;9885:148;10053:7;:18;;;;;10065:6;;;;;;;;;;;10064:7;10053:18;:43;;;;;10083:13;;;;;;;;;;;10075:21;;:4;:21;;;;10053:43;:58;;;;;10100:11;;;;;;;;;;;10053:58;:87;;;;;10116:18;:24;10135:4;10116:24;;;;;;;;;;;;;;;;;;;;;;;;;10115:25;10053:87;:114;;;;;10145:18;:22;10164:2;10145:22;;;;;;;;;;;;;;;;;;;;;;;;;10144:23;10053:114;10049:386;;;10188:38;10205:20;10188:16;:38::i;:::-;10245:26;10274:21;10245:50;;10339:1;10318:18;:22;10314:106;;;10365:35;10378:21;10365:12;:35::i;:::-;10314:106;10169:266;10049:386;9344:1102;;9306:1140;10458:12;10473:4;10458:19;;10522:18;:24;10541:4;10522:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10550:18;:22;10569:2;10550:22;;;;;;;;;;;;;;;;;;;;;;;;;10522:50;10521:102;;;;10586:13;;;;;;;;;;;10578:21;;:4;:21;;;;:44;;;;;10609:13;;;;;;;;;;;10603:19;;:2;:19;;;;10578:44;10521:102;10517:594;;;10650:5;10640:15;;10517:594;;;10733:13;;;;;;;;;;;10725:21;;:4;:21;;;:55;;;;;10764:15;;;;;;;;;;;10750:30;;:2;:30;;;;10725:55;10722:162;;;10813:14;;10801:9;:26;;;;10856:12;;10846:7;:22;;;;10722:162;10943:13;;;;;;;;;;;10937:19;;:2;:19;;;:55;;;;;10976:15;;;;;;;;;;;10960:32;;:4;:32;;;;10937:55;10933:165;;;11025:15;;11013:9;:27;;;;11069:13;;11059:7;:23;;;;10933:165;10517:594;11123:41;11138:4;11144:2;11148:6;11156:7;11123:14;:41::i;:::-;9064:2108;8961:2211;;;:::o;2335:224::-;2455:7;2488:1;2483;:6;;2491:12;2475:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2515:9;2531:1;2527;:5;;;;:::i;:::-;2515:17;;2550:1;2543:8;;;2335:224;;;;;:::o;7901:323::-;7996:7;8054;;8043;:18;;8021:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8142:19;8164:10;:8;:10::i;:::-;8142:32;;8192:24;8204:11;8192:7;:11;;:24;;;;:::i;:::-;8185:31;;;7901:323;;;:::o;11180:483::-;5591:4;5582:6;;:13;;;;;;;;;;;;;;;;;;11258:21:::1;11296:1;11282:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11258:40;;11327:4;11309;11314:1;11309:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11353:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11343:4;11348:1;11343:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11386:62;11403:4;11418:15;;;;;;;;;;;11436:11;11386:8;:62::i;:::-;11459:15;;;;;;;;;;;:66;;;11540:11;11566:1;11582:4;11609;11629:15;11459:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11247:416;5627:5:::0;5618:6;;:14;;;;;;;;;;;;;;;;;;11180:483;:::o;11671:119::-;5591:4;5582:6;;:13;;;;;;;;;;;;;;;;;;11748:16:::1;;;;;;;;;;;11740:34;;:42;11775:6;11740:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;5627:5:::0;5618:6;;:14;;;;;;;;;;;;;;;;;;11671:119;:::o;11872:282::-;12028:7;12023:28;;12037:14;:12;:14::i;:::-;12023:28;12062:44;12080:6;12088:9;12099:6;12062:17;:44::i;:::-;12122:7;12117:29;;12131:15;:13;:15::i;:::-;12117:29;11872:282;;;;:::o;14839:164::-;14881:7;14902:15;14919;14938:19;:17;:19::i;:::-;14901:56;;;;14975:20;14987:7;14975;:11;;:20;;;;:::i;:::-;14968:27;;;;14839:164;:::o;2821:132::-;2879:7;2906:39;2910:1;2913;2906:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2899:46;;2821:132;;;;:::o;8232:219::-;8292:1;8279:9;;:14;:30;;;;;8308:1;8297:7;;:12;8279:30;8311:7;8275:43;8350:9;;8330:17;:29;;;;8388:7;;8370:15;:25;;;;8420:1;8408:9;:13;;;;8442:1;8432:7;:11;;;;8232:219;:::o;12162:610::-;12309:15;12339:23;12377:12;12404:23;12442:12;12469:13;12496:19;12507:7;12496:10;:19::i;:::-;12294:221;;;;;;;;;;;;12544:28;12564:7;12544;:15;12552:6;12544:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12526:7;:15;12534:6;12526:15;;;;;;;;;;;;;;;:46;;;;12604:39;12627:15;12604:7;:18;12612:9;12604:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;12583:7;:18;12591:9;12583:18;;;;;;;;;;;;;;;:60;;;;12654:16;12664:5;12654:9;:16::i;:::-;12681:23;12693:4;12699;12681:11;:23::i;:::-;12737:9;12720:44;;12729:6;12720:44;;;12748:15;12720:44;;;;;;:::i;:::-;;;;;;;;12283:489;;;;;;12162:610;;;:::o;8459:117::-;8515:17;;8503:9;:29;;;;8553:15;;8543:7;:25;;;;8459:117::o;15011:257::-;15062:7;15071;15091:15;15109:7;;15091:25;;15127:15;4643;15127:25;;15177:20;4643:15;15177:7;;:11;;:20;;;;:::i;:::-;15167:7;:30;15163:61;;;15207:7;;4643:15;15199:25;;;;;;;;15163:61;15243:7;15252;15235:25;;;;;;15011:257;;;:::o;2961:223::-;3081:7;3113:1;3109;:5;3116:12;3101:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3140:9;3156:1;3152;:5;;;;:::i;:::-;3140:17;;3175:1;3168:8;;;2961:223;;;;;:::o;13197:615::-;13297:7;13319;13341;13363;13385;13407;13443:23;13468:12;13482:13;13512:40;13524:7;13533:9;;13544:7;;13512:11;:40::i;:::-;13442:110;;;;;;13563:19;13585:10;:8;:10::i;:::-;13563:32;;13607:15;13624:23;13649:12;13678:46;13690:7;13699:4;13705:5;13712:11;13678;:46::i;:::-;13606:118;;;;;;13743:7;13752:15;13769:4;13775:15;13792:4;13798:5;13735:69;;;;;;;;;;;;;;;;;;;13197:615;;;;;;;:::o;2191:136::-;2249:7;2276:43;2280:1;2283;2276:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2269:50;;2191:136;;;;:::o;2004:179::-;2062:7;2082:9;2098:1;2094;:5;;;;:::i;:::-;2082:17;;2123:1;2118;:6;;2110:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2174:1;2167:8;;;2004:179;;;;:::o;12780:211::-;12833:19;12855:10;:8;:10::i;:::-;12833:32;;12876:13;12892:22;12902:11;12892:5;:9;;:22;;;;:::i;:::-;12876:38;;12950:33;12977:5;12950:7;:22;12966:4;12950:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;12925:7;:22;12941:4;12925:22;;;;;;;;;;;;;;;:58;;;;12822:169;;12780:211;:::o;12999:147::-;13077:17;13089:4;13077:7;;:11;;:17;;;;:::i;:::-;13067:7;:27;;;;13118:20;13133:4;13118:10;;:14;;:20;;;;:::i;:::-;13105:10;:33;;;;12999:147;;:::o;13820:469::-;13989:7;14011;14033;14068:12;14083:30;14109:3;14083:21;14095:8;14083:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;14068:45;;14124:13;14140:28;14164:3;14140:19;14152:6;14140:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;14124:44;;14179:23;14205:28;14227:5;14205:17;14217:4;14205:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14179:54;;14252:15;14269:4;14275:5;14244:37;;;;;;;;;13820:469;;;;;;;:::o;14297:534::-;14491:7;14513;14535;14570:15;14588:24;14600:11;14588:7;:11;;:24;;;;:::i;:::-;14570:42;;14623:12;14638:21;14647:11;14638:4;:8;;:21;;;;:::i;:::-;14623:36;;14670:13;14686:22;14696:11;14686:5;:9;;:22;;;;:::i;:::-;14670:38;;14719:23;14745:28;14767:5;14745:17;14757:4;14745:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14719:54;;14792:7;14801:15;14818:4;14784:39;;;;;;;;;;14297:534;;;;;;;;:::o;2567:246::-;2625:7;2654:1;2649;:6;2645:47;;2679:1;2672:8;;;;2645:47;2702:9;2718:1;2714;:5;;;;:::i;:::-;2702:17;;2747:1;2742;2738;:5;;;;:::i;:::-;:10;2730:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2804:1;2797:8;;;2567:246;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:60::-;3522:3;3543:5;3536:12;;3494:60;;;:::o;3560:142::-;3610:9;3643:53;3661:34;3670:24;3688:5;3670:24;:::i;:::-;3661:34;:::i;:::-;3643:53;:::i;:::-;3630:66;;3560:142;;;:::o;3708:126::-;3758:9;3791:37;3822:5;3791:37;:::i;:::-;3778:50;;3708:126;;;:::o;3840:152::-;3916:9;3949:37;3980:5;3949:37;:::i;:::-;3936:50;;3840:152;;;:::o;3998:183::-;4111:63;4168:5;4111:63;:::i;:::-;4106:3;4099:76;3998:183;;:::o;4187:274::-;4306:4;4344:2;4333:9;4329:18;4321:26;;4357:97;4451:1;4440:9;4436:17;4427:6;4357:97;:::i;:::-;4187:274;;;;:::o;4467:118::-;4554:24;4572:5;4554:24;:::i;:::-;4549:3;4542:37;4467:118;;:::o;4591:222::-;4684:4;4722:2;4711:9;4707:18;4699:26;;4735:71;4803:1;4792:9;4788:17;4779:6;4735:71;:::i;:::-;4591:222;;;;:::o;4819:619::-;4896:6;4904;4912;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;5214:2;5240:53;5285:7;5276:6;5265:9;5261:22;5240:53;:::i;:::-;5230:63;;5185:118;5342:2;5368:53;5413:7;5404:6;5393:9;5389:22;5368:53;:::i;:::-;5358:63;;5313:118;4819:619;;;;;:::o;5444:86::-;5479:7;5519:4;5512:5;5508:16;5497:27;;5444:86;;;:::o;5536:112::-;5619:22;5635:5;5619:22;:::i;:::-;5614:3;5607:35;5536:112;;:::o;5654:214::-;5743:4;5781:2;5770:9;5766:18;5758:26;;5794:67;5858:1;5847:9;5843:17;5834:6;5794:67;:::i;:::-;5654:214;;;;:::o;5874:118::-;5961:24;5979:5;5961:24;:::i;:::-;5956:3;5949:37;5874:118;;:::o;5998:222::-;6091:4;6129:2;6118:9;6114:18;6106:26;;6142:71;6210:1;6199:9;6195:17;6186:6;6142:71;:::i;:::-;5998:222;;;;:::o;6226:329::-;6285:6;6334:2;6322:9;6313:7;6309:23;6305:32;6302:119;;;6340:79;;:::i;:::-;6302:119;6460:1;6485:53;6530:7;6521:6;6510:9;6506:22;6485:53;:::i;:::-;6475:63;;6431:117;6226:329;;;;:::o;6561:474::-;6629:6;6637;6686:2;6674:9;6665:7;6661:23;6657:32;6654:119;;;6692:79;;:::i;:::-;6654:119;6812:1;6837:53;6882:7;6873:6;6862:9;6858:22;6837:53;:::i;:::-;6827:63;;6783:117;6939:2;6965:53;7010:7;7001:6;6990:9;6986:22;6965:53;:::i;:::-;6955:63;;6910:118;6561:474;;;;;:::o;7041:182::-;7181:34;7177:1;7169:6;7165:14;7158:58;7041:182;:::o;7229:366::-;7371:3;7392:67;7456:2;7451:3;7392:67;:::i;:::-;7385:74;;7468:93;7557:3;7468:93;:::i;:::-;7586:2;7581:3;7577:12;7570:19;;7229:366;;;:::o;7601:419::-;7767:4;7805:2;7794:9;7790:18;7782:26;;7854:9;7848:4;7844:20;7840:1;7829:9;7825:17;7818:47;7882:131;8008:4;7882:131;:::i;:::-;7874:139;;7601:419;;;:::o;8026:225::-;8166:34;8162:1;8154:6;8150:14;8143:58;8235:8;8230:2;8222:6;8218:15;8211:33;8026:225;:::o;8257:366::-;8399:3;8420:67;8484:2;8479:3;8420:67;:::i;:::-;8413:74;;8496:93;8585:3;8496:93;:::i;:::-;8614:2;8609:3;8605:12;8598:19;;8257:366;;;:::o;8629:419::-;8795:4;8833:2;8822:9;8818:18;8810:26;;8882:9;8876:4;8872:20;8868:1;8857:9;8853:17;8846:47;8910:131;9036:4;8910:131;:::i;:::-;8902:139;;8629:419;;;:::o;9054:223::-;9194:34;9190:1;9182:6;9178:14;9171:58;9263:6;9258:2;9250:6;9246:15;9239:31;9054:223;:::o;9283:366::-;9425:3;9446:67;9510:2;9505:3;9446:67;:::i;:::-;9439:74;;9522:93;9611:3;9522:93;:::i;:::-;9640:2;9635:3;9631:12;9624:19;;9283:366;;;:::o;9655:419::-;9821:4;9859:2;9848:9;9844:18;9836:26;;9908:9;9902:4;9898:20;9894:1;9883:9;9879:17;9872:47;9936:131;10062:4;9936:131;:::i;:::-;9928:139;;9655:419;;;:::o;10080:221::-;10220:34;10216:1;10208:6;10204:14;10197:58;10289:4;10284:2;10276:6;10272:15;10265:29;10080:221;:::o;10307:366::-;10449:3;10470:67;10534:2;10529:3;10470:67;:::i;:::-;10463:74;;10546:93;10635:3;10546:93;:::i;:::-;10664:2;10659:3;10655:12;10648:19;;10307:366;;;:::o;10679:419::-;10845:4;10883:2;10872:9;10868:18;10860:26;;10932:9;10926:4;10922:20;10918:1;10907:9;10903:17;10896:47;10960:131;11086:4;10960:131;:::i;:::-;10952:139;;10679:419;;;:::o;11104:224::-;11244:34;11240:1;11232:6;11228:14;11221:58;11313:7;11308:2;11300:6;11296:15;11289:32;11104:224;:::o;11334:366::-;11476:3;11497:67;11561:2;11556:3;11497:67;:::i;:::-;11490:74;;11573:93;11662:3;11573:93;:::i;:::-;11691:2;11686:3;11682:12;11675:19;;11334:366;;;:::o;11706:419::-;11872:4;11910:2;11899:9;11895:18;11887:26;;11959:9;11953:4;11949:20;11945:1;11934:9;11930:17;11923:47;11987:131;12113:4;11987:131;:::i;:::-;11979:139;;11706:419;;;:::o;12131:222::-;12271:34;12267:1;12259:6;12255:14;12248:58;12340:5;12335:2;12327:6;12323:15;12316:30;12131:222;:::o;12359:366::-;12501:3;12522:67;12586:2;12581:3;12522:67;:::i;:::-;12515:74;;12598:93;12687:3;12598:93;:::i;:::-;12716:2;12711:3;12707:12;12700:19;;12359:366;;;:::o;12731:419::-;12897:4;12935:2;12924:9;12920:18;12912:26;;12984:9;12978:4;12974:20;12970:1;12959:9;12955:17;12948:47;13012:131;13138:4;13012:131;:::i;:::-;13004:139;;12731:419;;;:::o;13156:228::-;13296:34;13292:1;13284:6;13280:14;13273:58;13365:11;13360:2;13352:6;13348:15;13341:36;13156:228;:::o;13390:366::-;13532:3;13553:67;13617:2;13612:3;13553:67;:::i;:::-;13546:74;;13629:93;13718:3;13629:93;:::i;:::-;13747:2;13742:3;13738:12;13731:19;;13390:366;;;:::o;13762:419::-;13928:4;13966:2;13955:9;13951:18;13943:26;;14015:9;14009:4;14005:20;14001:1;13990:9;13986:17;13979:47;14043:131;14169:4;14043:131;:::i;:::-;14035:139;;13762:419;;;:::o;14187:172::-;14327:24;14323:1;14315:6;14311:14;14304:48;14187:172;:::o;14365:366::-;14507:3;14528:67;14592:2;14587:3;14528:67;:::i;:::-;14521:74;;14604:93;14693:3;14604:93;:::i;:::-;14722:2;14717:3;14713:12;14706:19;;14365:366;;;:::o;14737:419::-;14903:4;14941:2;14930:9;14926:18;14918:26;;14990:9;14984:4;14980:20;14976:1;14965:9;14961:17;14954:47;15018:131;15144:4;15018:131;:::i;:::-;15010:139;;14737:419;;;:::o;15162:180::-;15210:77;15207:1;15200:88;15307:4;15304:1;15297:15;15331:4;15328:1;15321:15;15348:305;15388:3;15407:20;15425:1;15407:20;:::i;:::-;15402:25;;15441:20;15459:1;15441:20;:::i;:::-;15436:25;;15595:1;15527:66;15523:74;15520:1;15517:81;15514:107;;;15601:18;;:::i;:::-;15514:107;15645:1;15642;15638:9;15631:16;;15348:305;;;;:::o;15659:182::-;15799:34;15795:1;15787:6;15783:14;15776:58;15659:182;:::o;15847:366::-;15989:3;16010:67;16074:2;16069:3;16010:67;:::i;:::-;16003:74;;16086:93;16175:3;16086:93;:::i;:::-;16204:2;16199:3;16195:12;16188:19;;15847:366;;;:::o;16219:419::-;16385:4;16423:2;16412:9;16408:18;16400:26;;16472:9;16466:4;16462:20;16458:1;16447:9;16443:17;16436:47;16500:131;16626:4;16500:131;:::i;:::-;16492:139;;16219:419;;;:::o;16644:348::-;16684:7;16707:20;16725:1;16707:20;:::i;:::-;16702:25;;16741:20;16759:1;16741:20;:::i;:::-;16736:25;;16929:1;16861:66;16857:74;16854:1;16851:81;16846:1;16839:9;16832:17;16828:105;16825:131;;;16936:18;;:::i;:::-;16825:131;16984:1;16981;16977:9;16966:20;;16644:348;;;;:::o;16998:191::-;17038:4;17058:20;17076:1;17058:20;:::i;:::-;17053:25;;17092:20;17110:1;17092:20;:::i;:::-;17087:25;;17131:1;17128;17125:8;17122:34;;;17136:18;;:::i;:::-;17122:34;17181:1;17178;17174:9;17166:17;;16998:191;;;;:::o;17195:229::-;17335:34;17331:1;17323:6;17319:14;17312:58;17404:12;17399:2;17391:6;17387:15;17380:37;17195:229;:::o;17430:366::-;17572:3;17593:67;17657:2;17652:3;17593:67;:::i;:::-;17586:74;;17669:93;17758:3;17669:93;:::i;:::-;17787:2;17782:3;17778:12;17771:19;;17430:366;;;:::o;17802:419::-;17968:4;18006:2;17995:9;17991:18;17983:26;;18055:9;18049:4;18045:20;18041:1;18030:9;18026:17;18019:47;18083:131;18209:4;18083:131;:::i;:::-;18075:139;;17802:419;;;:::o;18227:180::-;18275:77;18272:1;18265:88;18372:4;18369:1;18362:15;18396:4;18393:1;18386:15;18413:180;18461:77;18458:1;18451:88;18558:4;18555:1;18548:15;18582:4;18579:1;18572:15;18599:143;18656:5;18687:6;18681:13;18672:22;;18703:33;18730:5;18703:33;:::i;:::-;18599:143;;;;:::o;18748:351::-;18818:6;18867:2;18855:9;18846:7;18842:23;18838:32;18835:119;;;18873:79;;:::i;:::-;18835:119;18993:1;19018:64;19074:7;19065:6;19054:9;19050:22;19018:64;:::i;:::-;19008:74;;18964:128;18748:351;;;;:::o;19105:85::-;19150:7;19179:5;19168:16;;19105:85;;;:::o;19196:158::-;19254:9;19287:61;19305:42;19314:32;19340:5;19314:32;:::i;:::-;19305:42;:::i;:::-;19287:61;:::i;:::-;19274:74;;19196:158;;;:::o;19360:147::-;19455:45;19494:5;19455:45;:::i;:::-;19450:3;19443:58;19360:147;;:::o;19513:114::-;19580:6;19614:5;19608:12;19598:22;;19513:114;;;:::o;19633:184::-;19732:11;19766:6;19761:3;19754:19;19806:4;19801:3;19797:14;19782:29;;19633:184;;;;:::o;19823:132::-;19890:4;19913:3;19905:11;;19943:4;19938:3;19934:14;19926:22;;19823:132;;;:::o;19961:108::-;20038:24;20056:5;20038:24;:::i;:::-;20033:3;20026:37;19961:108;;:::o;20075:179::-;20144:10;20165:46;20207:3;20199:6;20165:46;:::i;:::-;20243:4;20238:3;20234:14;20220:28;;20075:179;;;;:::o;20260:113::-;20330:4;20362;20357:3;20353:14;20345:22;;20260:113;;;:::o;20409:732::-;20528:3;20557:54;20605:5;20557:54;:::i;:::-;20627:86;20706:6;20701:3;20627:86;:::i;:::-;20620:93;;20737:56;20787:5;20737:56;:::i;:::-;20816:7;20847:1;20832:284;20857:6;20854:1;20851:13;20832:284;;;20933:6;20927:13;20960:63;21019:3;21004:13;20960:63;:::i;:::-;20953:70;;21046:60;21099:6;21046:60;:::i;:::-;21036:70;;20892:224;20879:1;20876;20872:9;20867:14;;20832:284;;;20836:14;21132:3;21125:10;;20533:608;;;20409:732;;;;:::o;21147:831::-;21410:4;21448:3;21437:9;21433:19;21425:27;;21462:71;21530:1;21519:9;21515:17;21506:6;21462:71;:::i;:::-;21543:80;21619:2;21608:9;21604:18;21595:6;21543:80;:::i;:::-;21670:9;21664:4;21660:20;21655:2;21644:9;21640:18;21633:48;21698:108;21801:4;21792:6;21698:108;:::i;:::-;21690:116;;21816:72;21884:2;21873:9;21869:18;21860:6;21816:72;:::i;:::-;21898:73;21966:3;21955:9;21951:19;21942:6;21898:73;:::i;:::-;21147:831;;;;;;;;:::o;21984:180::-;22032:77;22029:1;22022:88;22129:4;22126:1;22119:15;22153:4;22150:1;22143:15;22170:185;22210:1;22227:20;22245:1;22227:20;:::i;:::-;22222:25;;22261:20;22279:1;22261:20;:::i;:::-;22256:25;;22300:1;22290:35;;22305:18;;:::i;:::-;22290:35;22347:1;22344;22340:9;22335:14;;22170:185;;;;:::o;22361:177::-;22501:29;22497:1;22489:6;22485:14;22478:53;22361:177;:::o;22544:366::-;22686:3;22707:67;22771:2;22766:3;22707:67;:::i;:::-;22700:74;;22783:93;22872:3;22783:93;:::i;:::-;22901:2;22896:3;22892:12;22885:19;;22544:366;;;:::o;22916:419::-;23082:4;23120:2;23109:9;23105:18;23097:26;;23169:9;23163:4;23159:20;23155:1;23144:9;23140:17;23133:47;23197:131;23323:4;23197:131;:::i;:::-;23189:139;;22916:419;;;:::o;23341:220::-;23481:34;23477:1;23469:6;23465:14;23458:58;23550:3;23545:2;23537:6;23533:15;23526:28;23341:220;:::o;23567:366::-;23709:3;23730:67;23794:2;23789:3;23730:67;:::i;:::-;23723:74;;23806:93;23895:3;23806:93;:::i;:::-;23924:2;23919:3;23915:12;23908:19;;23567:366;;;:::o;23939:419::-;24105:4;24143:2;24132:9;24128:18;24120:26;;24192:9;24186:4;24182:20;24178:1;24167:9;24163:17;24156:47;24220:131;24346:4;24220:131;:::i;:::-;24212:139;;23939:419;;;:::o

Swarm Source

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