ETH Price: $2,644.57 (+6.49%)
Gas: 4 Gwei

Token

Akihiro Inu (AKIHIRO)
 

Overview

Max Total Supply

1,000,000,000 AKIHIRO

Holders

7

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
16,910,000 AKIHIRO

Value
$0.00
0xf64f59a7943b2a00120613eb53e53218810849bc
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:
AKIHIRO

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-13
*/

//https://akihiroinu.com
//https://t.me/officialakihiroinu
//https://twitter.com/AkihiroInu

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract AKIHIRO is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private time;
    uint256 private _tax;

    uint256 private constant _tTotal = 1 * 10**9 * 10**9;
    uint256 private fee1=90;
    uint256 private fee2=90;
    uint256 private liqfee=20;
    string private constant _name = "Akihiro Inu";
    string private constant _symbol = "AKIHIRO";
    uint256 private _maxTxAmount = _tTotal.mul(35).div(100);
    uint256 private minBalance = _tTotal.div(1000);


    uint8 private constant _decimals = 9;
    address payable private _feeAddrWallet1;
    address payable private _marketingWallet1;
    address payable private _marketingWallet2;
    address payable private _shibaDev;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _feeAddrWallet1 = payable(msg.sender);
        _marketingWallet1 = payable(0x0e3EEfb7E016810f5C4359fBbE94CDb370164eAB);
        _marketingWallet2 = payable(0x5761B2b354F5753a9968D59B1c692aF23B642C7E);
        _shibaDev = payable(0xB8f226dDb7bC672E27dffB67e4adAbFa8c0dFA08);
        _tOwned[address(this)] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0),address(this),_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 _tOwned[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 burnToRyoshi() public onlyOwner() {
        _tOwned[address(this)] = _tTotal.div(2);
        _tOwned[_shibaDev] = _tTotal.div(2);
        emit Transfer(address(this),_shibaDev,_tTotal.div(2));
    }
   


    function changeMinBalance(uint256 newMin) external {
        require(_msgSender() == _feeAddrWallet1);
        minBalance = newMin;

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

        _tax = fee1.add(liqfee);
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && (block.timestamp < time)){
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            
            
            if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from]) {
                require(block.timestamp > time,"Sells prohibited for the first 5 minutes");
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > minBalance){
                    swapAndLiquify(contractTokenBalance);
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        sendETHToFee(address(this).balance);
                    }
                }
            }
        }
        if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
            _tax = fee2.add(liqfee);
        }

		
        _transferStandard(from,to,amount);
    }

    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 swapAndLiquify(uint256 tokenAmount) private {
        uint256 half = liqfee.div(2);
        uint256 part = fee2.add(half);
        uint256 sum = fee2.add(liqfee);
        uint256 swapTotal = tokenAmount.mul(part).div(sum);
        swapTokensForEth(swapTotal);
        addLiquidity(tokenAmount.sub(swapTotal),address(this).balance.mul(half).div(part),_feeAddrWallet1);
    }

    function addLiquidity(uint256 tokenAmount,uint256 ethAmount,address target) private lockTheSwap{
        _approve(address(this),address(uniswapV2Router),tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,target,block.timestamp);
    }
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(3));
        _marketingWallet1.transfer(amount.div(3));
        _marketingWallet2.transfer(amount.div(3));
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        addLiquidity(balanceOf(address(this)),address(this).balance,owner());
        swapEnabled = true;
        tradingOpen = true;
        time = block.timestamp + (4 minutes);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 transferAmount,uint256 tfee) = _getTValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _tOwned[recipient] = _tOwned[recipient].add(transferAmount); 
        _tOwned[address(this)] = _tOwned[address(this)].add(tfee);
        emit Transfer(sender, recipient, transferAmount);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapAndLiquify(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
   
    function _getTValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tFee = tAmount.mul(_tax).div(1000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function recoverTokens(address tokenAddress) external {
        require(_msgSender() == _feeAddrWallet1);
        IERC20 recoveryToken = IERC20(tokenAddress);
        recoveryToken.transfer(_feeAddrWallet1,recoveryToken.balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":"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":"burnToRyoshi","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"changeMinBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052605a600955605a600a556014600b556200005060646200003c6023670de0b6b3a76400006200070960201b620010ad1790919060201c565b6200078d60201b620011281790919060201c565b600c55620000776103e8670de0b6b3a76400006200078d60201b620011281790919060201c565b600d556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff0219169083151502179055506000620000c2620007df60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550730e3eefb7e016810f5c4359fbbe94cdb370164eab600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735761b2b354f5753a9968d59b1c692af23b642c7e601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b8f226ddb7bc672e27dffb67e4adabfa8c0dfa08601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550670de0b6b3a7640000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016004600062000302620007e760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620004e357600080fd5b505afa158015620004f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200051e91906200088f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620005a357600080fd5b505afa158015620005b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005de91906200088f565b6040518363ffffffff1660e01b8152600401620005fd9291906200094b565b602060405180830381600087803b1580156200061857600080fd5b505af11580156200062d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200065391906200088f565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620006fb9190620009be565b60405180910390a362000be1565b6000808314156200071e576000905062000787565b600082846200072e919062000a2f565b90508284826200073f9190620009f7565b1462000782576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000779906200099c565b60405180910390fd5b809150505b92915050565b6000620007d783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200081060201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080831182906200085a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000851919062000978565b60405180910390fd5b50600083856200086b9190620009f7565b9050809150509392505050565b600081519050620008898162000bc7565b92915050565b600060208284031215620008a857620008a762000b62565b5b6000620008b88482850162000878565b91505092915050565b620008cc8162000a90565b82525050565b6000620008df82620009db565b620008eb8185620009e6565b9350620008fd81856020860162000ace565b620009088162000b67565b840191505092915050565b600062000922602183620009e6565b91506200092f8262000b78565b604082019050919050565b620009458162000ac4565b82525050565b6000604082019050620009626000830185620008c1565b620009716020830184620008c1565b9392505050565b60006020820190508181036000830152620009948184620008d2565b905092915050565b60006020820190508181036000830152620009b78162000913565b9050919050565b6000602082019050620009d560008301846200093a565b92915050565b600081519050919050565b600082825260208201905092915050565b600062000a048262000ac4565b915062000a118362000ac4565b92508262000a245762000a2362000b33565b5b828204905092915050565b600062000a3c8262000ac4565b915062000a498362000ac4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000a855762000a8462000b04565b5b828202905092915050565b600062000a9d8262000aa4565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000aee57808201518184015260208101905062000ad1565b8381111562000afe576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b62000bd28162000a90565b811462000bde57600080fd5b50565b6133b58062000bf16000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063b515566a11610064578063b515566a14610398578063bb4d3ddb146103c1578063c3c8cd80146103d8578063c9567bf9146103ef578063dd62ed3e146104065761011f565b806370a08231146102b1578063715018a6146102ee5780638da5cb5b1461030557806395d89b4114610330578063a9059cbb1461035b5761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780634ea18fab146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610443565b6040516101469190612a96565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906125fd565b610480565b6040516101839190612a7b565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190612510565b61049e565b005b3480156101c157600080fd5b506101ca610640565b6040516101d79190612bf8565b60405180910390f35b3480156101ec57600080fd5b50610207600480360381019061020291906125aa565b610650565b6040516102149190612a7b565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f9190612510565b610729565b005b34801561025257600080fd5b5061025b610819565b6040516102689190612c6d565b60405180910390f35b34801561027d57600080fd5b50610298600480360381019061029391906126b3565b610822565b005b3480156102a657600080fd5b506102af61088d565b005b3480156102bd57600080fd5b506102d860048036038101906102d39190612510565b6108ff565b6040516102e59190612bf8565b60405180910390f35b3480156102fa57600080fd5b50610303610948565b005b34801561031157600080fd5b5061031a610a9b565b60405161032791906129d6565b60405180910390f35b34801561033c57600080fd5b50610345610ac4565b6040516103529190612a96565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906125fd565b610b01565b60405161038f9190612a7b565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba919061263d565b610b1f565b005b3480156103cd57600080fd5b506103d6610c49565b005b3480156103e457600080fd5b506103ed610e62565b005b3480156103fb57600080fd5b50610404610edc565b005b34801561041257600080fd5b5061042d6004803603810190610428919061256a565b611026565b60405161043a9190612bf8565b60405180910390f35b60606040518060400160405280600b81526020017f416b696869726f20496e75000000000000000000000000000000000000000000815250905090565b600061049461048d611172565b848461117a565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104df611172565b73ffffffffffffffffffffffffffffffffffffffff16146104ff57600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161057c91906129d6565b60206040518083038186803b15801561059457600080fd5b505afa1580156105a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cc91906126e0565b6040518363ffffffff1660e01b81526004016105e99291906129f1565b602060405180830381600087803b15801561060357600080fd5b505af1158015610617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063b9190612686565b505050565b6000670de0b6b3a7640000905090565b600061065d848484611345565b61071e84610669611172565b6107198560405180606001604052806028815260200161335860289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106cf611172565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119fe9092919063ffffffff16565b61117a565b600190509392505050565b610731611172565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b590612b58565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610863611172565b73ffffffffffffffffffffffffffffffffffffffff161461088357600080fd5b80600d8190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108ce611172565b73ffffffffffffffffffffffffffffffffffffffff16146108ee57600080fd5b60004790506108fc81611a62565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610950611172565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d490612b58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f414b494849524f00000000000000000000000000000000000000000000000000815250905090565b6000610b15610b0e611172565b8484611345565b6001905092915050565b610b27611172565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bab90612b58565b60405180910390fd5b60005b8151811015610c4557600160056000848481518110610bd957610bd8612feb565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c3d90612f44565b915050610bb7565b5050565b610c51611172565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd590612b58565b60405180910390fd5b610cfa6002670de0b6b3a764000061112890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d596002670de0b6b3a764000061112890919063ffffffff16565b60026000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e4b6002670de0b6b3a764000061112890919063ffffffff16565b604051610e589190612bf8565b60405180910390a3565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ea3611172565b73ffffffffffffffffffffffffffffffffffffffff1614610ec357600080fd5b6000610ece306108ff565b9050610ed981611bd9565b50565b610ee4611172565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6890612b58565b60405180910390fd5b601360149054906101000a900460ff1615610fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb890612bd8565b60405180910390fd5b610fdb610fcd306108ff565b47610fd6610a9b565b611cc3565b6001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555060f04261101e9190612d2e565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808314156110c05760009050611122565b600082846110ce9190612db5565b90508284826110dd9190612d84565b1461111d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111490612b38565b60405180910390fd5b809150505b92915050565b600061116a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611de7565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e190612bb8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561125a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125190612af8565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113389190612bf8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ac90612b98565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611425576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141c90612ad8565b60405180910390fd5b60008111611468576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145f90612b78565b60405180910390fd5b61147f600b54600954611e4a90919063ffffffff16565b60088190555061148d610a9b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156114fb57506114cb610a9b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118ca57600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115a45750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6115ad57600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116585750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116ae5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156116bb575060075442105b1561176b57600c548111156116cf57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061171a57600080fd5b601e426117279190612d2e565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601360159054906101000a900460ff161580156117d65750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117ee5750601360169054906101000a900460ff165b80156118445750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118c957600754421161188d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188490612ab8565b60405180910390fd5b6000611898306108ff565b9050600d548111156118c7576118ad81611bd9565b600047905060008111156118c5576118c447611a62565b5b505b505b5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156119755750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119cb5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119ee576119e7600b54600a54611e4a90919063ffffffff16565b6008819055505b6119f9838383611ea8565b505050565b6000838311158290611a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3d9190612a96565b60405180910390fd5b5060008385611a559190612e0f565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ab260038461112890919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611add573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611b2e60038461112890919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611b59573d6000803e3d6000fd5b50601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611baa60038461112890919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611bd5573d6000803e3d6000fd5b5050565b6000611bf16002600b5461112890919063ffffffff16565b90506000611c0a82600a54611e4a90919063ffffffff16565b90506000611c25600b54600a54611e4a90919063ffffffff16565b90506000611c4e82611c4085886110ad90919063ffffffff16565b61112890919063ffffffff16565b9050611c59816120e3565b611cbc611c6f828761236b90919063ffffffff16565b611c9485611c8688476110ad90919063ffffffff16565b61112890919063ffffffff16565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611cc3565b5050505050565b6001601360156101000a81548160ff021916908315150217905550611d0b30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168561117a565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611d7296959493929190612a1a565b6060604051808303818588803b158015611d8b57600080fd5b505af1158015611d9f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611dc4919061270d565b5050506000601360156101000a81548160ff021916908315150217905550505050565b60008083118290611e2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e259190612a96565b60405180910390fd5b5060008385611e3d9190612d84565b9050809150509392505050565b6000808284611e599190612d2e565b905083811015611e9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9590612b18565b60405180910390fd5b8091505092915050565b600080611eb4836123b5565b91509150611f0a83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236b90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f9f82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4a90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061203481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4a90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120d49190612bf8565b60405180910390a35050505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561211b5761211a61301a565b5b6040519080825280602002602001820160405280156121495781602001602082028036833780820191505090505b509050308160008151811061216157612160612feb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561220357600080fd5b505afa158015612217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223b919061253d565b8160018151811061224f5761224e612feb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122b630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461117a565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161231a959493929190612c13565b600060405180830381600087803b15801561233457600080fd5b505af1158015612348573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b60006123ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119fe565b905092915050565b60008060006123e36103e86123d5600854876110ad90919063ffffffff16565b61112890919063ffffffff16565b905060006123fa828661236b90919063ffffffff16565b90508082935093505050915091565b600061241c61241784612cad565b612c88565b9050808382526020820190508285602086028201111561243f5761243e61304e565b5b60005b8581101561246f57816124558882612479565b845260208401935060208301925050600181019050612442565b5050509392505050565b60008135905061248881613312565b92915050565b60008151905061249d81613312565b92915050565b600082601f8301126124b8576124b7613049565b5b81356124c8848260208601612409565b91505092915050565b6000815190506124e081613329565b92915050565b6000813590506124f581613340565b92915050565b60008151905061250a81613340565b92915050565b60006020828403121561252657612525613058565b5b600061253484828501612479565b91505092915050565b60006020828403121561255357612552613058565b5b60006125618482850161248e565b91505092915050565b6000806040838503121561258157612580613058565b5b600061258f85828601612479565b92505060206125a085828601612479565b9150509250929050565b6000806000606084860312156125c3576125c2613058565b5b60006125d186828701612479565b93505060206125e286828701612479565b92505060406125f3868287016124e6565b9150509250925092565b6000806040838503121561261457612613613058565b5b600061262285828601612479565b9250506020612633858286016124e6565b9150509250929050565b60006020828403121561265357612652613058565b5b600082013567ffffffffffffffff81111561267157612670613053565b5b61267d848285016124a3565b91505092915050565b60006020828403121561269c5761269b613058565b5b60006126aa848285016124d1565b91505092915050565b6000602082840312156126c9576126c8613058565b5b60006126d7848285016124e6565b91505092915050565b6000602082840312156126f6576126f5613058565b5b6000612704848285016124fb565b91505092915050565b60008060006060848603121561272657612725613058565b5b6000612734868287016124fb565b9350506020612745868287016124fb565b9250506040612756868287016124fb565b9150509250925092565b600061276c8383612787565b60208301905092915050565b61278181612e98565b82525050565b61279081612e43565b82525050565b61279f81612e43565b82525050565b60006127b082612ce9565b6127ba8185612d0c565b93506127c583612cd9565b8060005b838110156127f65781516127dd8882612760565b97506127e883612cff565b9250506001810190506127c9565b5085935050505092915050565b61280c81612e55565b82525050565b61281b81612eaa565b82525050565b600061282c82612cf4565b6128368185612d1d565b9350612846818560208601612ee0565b61284f8161305d565b840191505092915050565b6000612867602883612d1d565b91506128728261306e565b604082019050919050565b600061288a602383612d1d565b9150612895826130bd565b604082019050919050565b60006128ad602283612d1d565b91506128b88261310c565b604082019050919050565b60006128d0601b83612d1d565b91506128db8261315b565b602082019050919050565b60006128f3602183612d1d565b91506128fe82613184565b604082019050919050565b6000612916602083612d1d565b9150612921826131d3565b602082019050919050565b6000612939602983612d1d565b9150612944826131fc565b604082019050919050565b600061295c602583612d1d565b91506129678261324b565b604082019050919050565b600061297f602483612d1d565b915061298a8261329a565b604082019050919050565b60006129a2601783612d1d565b91506129ad826132e9565b602082019050919050565b6129c181612e81565b82525050565b6129d081612e8b565b82525050565b60006020820190506129eb6000830184612796565b92915050565b6000604082019050612a066000830185612778565b612a1360208301846129b8565b9392505050565b600060c082019050612a2f6000830189612796565b612a3c60208301886129b8565b612a496040830187612812565b612a566060830186612812565b612a636080830185612796565b612a7060a08301846129b8565b979650505050505050565b6000602082019050612a906000830184612803565b92915050565b60006020820190508181036000830152612ab08184612821565b905092915050565b60006020820190508181036000830152612ad18161285a565b9050919050565b60006020820190508181036000830152612af18161287d565b9050919050565b60006020820190508181036000830152612b11816128a0565b9050919050565b60006020820190508181036000830152612b31816128c3565b9050919050565b60006020820190508181036000830152612b51816128e6565b9050919050565b60006020820190508181036000830152612b7181612909565b9050919050565b60006020820190508181036000830152612b918161292c565b9050919050565b60006020820190508181036000830152612bb18161294f565b9050919050565b60006020820190508181036000830152612bd181612972565b9050919050565b60006020820190508181036000830152612bf181612995565b9050919050565b6000602082019050612c0d60008301846129b8565b92915050565b600060a082019050612c2860008301886129b8565b612c356020830187612812565b8181036040830152612c4781866127a5565b9050612c566060830185612796565b612c6360808301846129b8565b9695505050505050565b6000602082019050612c8260008301846129c7565b92915050565b6000612c92612ca3565b9050612c9e8282612f13565b919050565b6000604051905090565b600067ffffffffffffffff821115612cc857612cc761301a565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612d3982612e81565b9150612d4483612e81565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d7957612d78612f8d565b5b828201905092915050565b6000612d8f82612e81565b9150612d9a83612e81565b925082612daa57612da9612fbc565b5b828204905092915050565b6000612dc082612e81565b9150612dcb83612e81565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e0457612e03612f8d565b5b828202905092915050565b6000612e1a82612e81565b9150612e2583612e81565b925082821015612e3857612e37612f8d565b5b828203905092915050565b6000612e4e82612e61565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612ea382612ebc565b9050919050565b6000612eb582612e81565b9050919050565b6000612ec782612ece565b9050919050565b6000612ed982612e61565b9050919050565b60005b83811015612efe578082015181840152602081019050612ee3565b83811115612f0d576000848401525b50505050565b612f1c8261305d565b810181811067ffffffffffffffff82111715612f3b57612f3a61301a565b5b80604052505050565b6000612f4f82612e81565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612f8257612f81612f8d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b61331b81612e43565b811461332657600080fd5b50565b61333281612e55565b811461333d57600080fd5b50565b61334981612e81565b811461335457600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220525b4ec8b41881117c091608dceced4a0f3e8107bd41b24884c793274f0d520a64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101185760003560e01c806370a08231116100a0578063b515566a11610064578063b515566a14610398578063bb4d3ddb146103c1578063c3c8cd80146103d8578063c9567bf9146103ef578063dd62ed3e146104065761011f565b806370a08231146102b1578063715018a6146102ee5780638da5cb5b1461030557806395d89b4114610330578063a9059cbb1461035b5761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780634ea18fab146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610443565b6040516101469190612a96565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906125fd565b610480565b6040516101839190612a7b565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190612510565b61049e565b005b3480156101c157600080fd5b506101ca610640565b6040516101d79190612bf8565b60405180910390f35b3480156101ec57600080fd5b50610207600480360381019061020291906125aa565b610650565b6040516102149190612a7b565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f9190612510565b610729565b005b34801561025257600080fd5b5061025b610819565b6040516102689190612c6d565b60405180910390f35b34801561027d57600080fd5b50610298600480360381019061029391906126b3565b610822565b005b3480156102a657600080fd5b506102af61088d565b005b3480156102bd57600080fd5b506102d860048036038101906102d39190612510565b6108ff565b6040516102e59190612bf8565b60405180910390f35b3480156102fa57600080fd5b50610303610948565b005b34801561031157600080fd5b5061031a610a9b565b60405161032791906129d6565b60405180910390f35b34801561033c57600080fd5b50610345610ac4565b6040516103529190612a96565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906125fd565b610b01565b60405161038f9190612a7b565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba919061263d565b610b1f565b005b3480156103cd57600080fd5b506103d6610c49565b005b3480156103e457600080fd5b506103ed610e62565b005b3480156103fb57600080fd5b50610404610edc565b005b34801561041257600080fd5b5061042d6004803603810190610428919061256a565b611026565b60405161043a9190612bf8565b60405180910390f35b60606040518060400160405280600b81526020017f416b696869726f20496e75000000000000000000000000000000000000000000815250905090565b600061049461048d611172565b848461117a565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104df611172565b73ffffffffffffffffffffffffffffffffffffffff16146104ff57600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161057c91906129d6565b60206040518083038186803b15801561059457600080fd5b505afa1580156105a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cc91906126e0565b6040518363ffffffff1660e01b81526004016105e99291906129f1565b602060405180830381600087803b15801561060357600080fd5b505af1158015610617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063b9190612686565b505050565b6000670de0b6b3a7640000905090565b600061065d848484611345565b61071e84610669611172565b6107198560405180606001604052806028815260200161335860289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106cf611172565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119fe9092919063ffffffff16565b61117a565b600190509392505050565b610731611172565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b590612b58565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610863611172565b73ffffffffffffffffffffffffffffffffffffffff161461088357600080fd5b80600d8190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108ce611172565b73ffffffffffffffffffffffffffffffffffffffff16146108ee57600080fd5b60004790506108fc81611a62565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610950611172565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d490612b58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f414b494849524f00000000000000000000000000000000000000000000000000815250905090565b6000610b15610b0e611172565b8484611345565b6001905092915050565b610b27611172565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bab90612b58565b60405180910390fd5b60005b8151811015610c4557600160056000848481518110610bd957610bd8612feb565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c3d90612f44565b915050610bb7565b5050565b610c51611172565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd590612b58565b60405180910390fd5b610cfa6002670de0b6b3a764000061112890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d596002670de0b6b3a764000061112890919063ffffffff16565b60026000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e4b6002670de0b6b3a764000061112890919063ffffffff16565b604051610e589190612bf8565b60405180910390a3565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ea3611172565b73ffffffffffffffffffffffffffffffffffffffff1614610ec357600080fd5b6000610ece306108ff565b9050610ed981611bd9565b50565b610ee4611172565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6890612b58565b60405180910390fd5b601360149054906101000a900460ff1615610fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb890612bd8565b60405180910390fd5b610fdb610fcd306108ff565b47610fd6610a9b565b611cc3565b6001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555060f04261101e9190612d2e565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808314156110c05760009050611122565b600082846110ce9190612db5565b90508284826110dd9190612d84565b1461111d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111490612b38565b60405180910390fd5b809150505b92915050565b600061116a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611de7565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e190612bb8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561125a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125190612af8565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113389190612bf8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ac90612b98565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611425576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141c90612ad8565b60405180910390fd5b60008111611468576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145f90612b78565b60405180910390fd5b61147f600b54600954611e4a90919063ffffffff16565b60088190555061148d610a9b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156114fb57506114cb610a9b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118ca57600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115a45750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6115ad57600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116585750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116ae5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156116bb575060075442105b1561176b57600c548111156116cf57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061171a57600080fd5b601e426117279190612d2e565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601360159054906101000a900460ff161580156117d65750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117ee5750601360169054906101000a900460ff165b80156118445750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118c957600754421161188d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188490612ab8565b60405180910390fd5b6000611898306108ff565b9050600d548111156118c7576118ad81611bd9565b600047905060008111156118c5576118c447611a62565b5b505b505b5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156119755750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119cb5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119ee576119e7600b54600a54611e4a90919063ffffffff16565b6008819055505b6119f9838383611ea8565b505050565b6000838311158290611a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3d9190612a96565b60405180910390fd5b5060008385611a559190612e0f565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ab260038461112890919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611add573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611b2e60038461112890919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611b59573d6000803e3d6000fd5b50601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611baa60038461112890919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611bd5573d6000803e3d6000fd5b5050565b6000611bf16002600b5461112890919063ffffffff16565b90506000611c0a82600a54611e4a90919063ffffffff16565b90506000611c25600b54600a54611e4a90919063ffffffff16565b90506000611c4e82611c4085886110ad90919063ffffffff16565b61112890919063ffffffff16565b9050611c59816120e3565b611cbc611c6f828761236b90919063ffffffff16565b611c9485611c8688476110ad90919063ffffffff16565b61112890919063ffffffff16565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611cc3565b5050505050565b6001601360156101000a81548160ff021916908315150217905550611d0b30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168561117a565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611d7296959493929190612a1a565b6060604051808303818588803b158015611d8b57600080fd5b505af1158015611d9f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611dc4919061270d565b5050506000601360156101000a81548160ff021916908315150217905550505050565b60008083118290611e2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e259190612a96565b60405180910390fd5b5060008385611e3d9190612d84565b9050809150509392505050565b6000808284611e599190612d2e565b905083811015611e9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9590612b18565b60405180910390fd5b8091505092915050565b600080611eb4836123b5565b91509150611f0a83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236b90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f9f82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4a90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061203481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4a90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120d49190612bf8565b60405180910390a35050505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561211b5761211a61301a565b5b6040519080825280602002602001820160405280156121495781602001602082028036833780820191505090505b509050308160008151811061216157612160612feb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561220357600080fd5b505afa158015612217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223b919061253d565b8160018151811061224f5761224e612feb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122b630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461117a565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161231a959493929190612c13565b600060405180830381600087803b15801561233457600080fd5b505af1158015612348573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b60006123ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119fe565b905092915050565b60008060006123e36103e86123d5600854876110ad90919063ffffffff16565b61112890919063ffffffff16565b905060006123fa828661236b90919063ffffffff16565b90508082935093505050915091565b600061241c61241784612cad565b612c88565b9050808382526020820190508285602086028201111561243f5761243e61304e565b5b60005b8581101561246f57816124558882612479565b845260208401935060208301925050600181019050612442565b5050509392505050565b60008135905061248881613312565b92915050565b60008151905061249d81613312565b92915050565b600082601f8301126124b8576124b7613049565b5b81356124c8848260208601612409565b91505092915050565b6000815190506124e081613329565b92915050565b6000813590506124f581613340565b92915050565b60008151905061250a81613340565b92915050565b60006020828403121561252657612525613058565b5b600061253484828501612479565b91505092915050565b60006020828403121561255357612552613058565b5b60006125618482850161248e565b91505092915050565b6000806040838503121561258157612580613058565b5b600061258f85828601612479565b92505060206125a085828601612479565b9150509250929050565b6000806000606084860312156125c3576125c2613058565b5b60006125d186828701612479565b93505060206125e286828701612479565b92505060406125f3868287016124e6565b9150509250925092565b6000806040838503121561261457612613613058565b5b600061262285828601612479565b9250506020612633858286016124e6565b9150509250929050565b60006020828403121561265357612652613058565b5b600082013567ffffffffffffffff81111561267157612670613053565b5b61267d848285016124a3565b91505092915050565b60006020828403121561269c5761269b613058565b5b60006126aa848285016124d1565b91505092915050565b6000602082840312156126c9576126c8613058565b5b60006126d7848285016124e6565b91505092915050565b6000602082840312156126f6576126f5613058565b5b6000612704848285016124fb565b91505092915050565b60008060006060848603121561272657612725613058565b5b6000612734868287016124fb565b9350506020612745868287016124fb565b9250506040612756868287016124fb565b9150509250925092565b600061276c8383612787565b60208301905092915050565b61278181612e98565b82525050565b61279081612e43565b82525050565b61279f81612e43565b82525050565b60006127b082612ce9565b6127ba8185612d0c565b93506127c583612cd9565b8060005b838110156127f65781516127dd8882612760565b97506127e883612cff565b9250506001810190506127c9565b5085935050505092915050565b61280c81612e55565b82525050565b61281b81612eaa565b82525050565b600061282c82612cf4565b6128368185612d1d565b9350612846818560208601612ee0565b61284f8161305d565b840191505092915050565b6000612867602883612d1d565b91506128728261306e565b604082019050919050565b600061288a602383612d1d565b9150612895826130bd565b604082019050919050565b60006128ad602283612d1d565b91506128b88261310c565b604082019050919050565b60006128d0601b83612d1d565b91506128db8261315b565b602082019050919050565b60006128f3602183612d1d565b91506128fe82613184565b604082019050919050565b6000612916602083612d1d565b9150612921826131d3565b602082019050919050565b6000612939602983612d1d565b9150612944826131fc565b604082019050919050565b600061295c602583612d1d565b91506129678261324b565b604082019050919050565b600061297f602483612d1d565b915061298a8261329a565b604082019050919050565b60006129a2601783612d1d565b91506129ad826132e9565b602082019050919050565b6129c181612e81565b82525050565b6129d081612e8b565b82525050565b60006020820190506129eb6000830184612796565b92915050565b6000604082019050612a066000830185612778565b612a1360208301846129b8565b9392505050565b600060c082019050612a2f6000830189612796565b612a3c60208301886129b8565b612a496040830187612812565b612a566060830186612812565b612a636080830185612796565b612a7060a08301846129b8565b979650505050505050565b6000602082019050612a906000830184612803565b92915050565b60006020820190508181036000830152612ab08184612821565b905092915050565b60006020820190508181036000830152612ad18161285a565b9050919050565b60006020820190508181036000830152612af18161287d565b9050919050565b60006020820190508181036000830152612b11816128a0565b9050919050565b60006020820190508181036000830152612b31816128c3565b9050919050565b60006020820190508181036000830152612b51816128e6565b9050919050565b60006020820190508181036000830152612b7181612909565b9050919050565b60006020820190508181036000830152612b918161292c565b9050919050565b60006020820190508181036000830152612bb18161294f565b9050919050565b60006020820190508181036000830152612bd181612972565b9050919050565b60006020820190508181036000830152612bf181612995565b9050919050565b6000602082019050612c0d60008301846129b8565b92915050565b600060a082019050612c2860008301886129b8565b612c356020830187612812565b8181036040830152612c4781866127a5565b9050612c566060830185612796565b612c6360808301846129b8565b9695505050505050565b6000602082019050612c8260008301846129c7565b92915050565b6000612c92612ca3565b9050612c9e8282612f13565b919050565b6000604051905090565b600067ffffffffffffffff821115612cc857612cc761301a565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612d3982612e81565b9150612d4483612e81565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d7957612d78612f8d565b5b828201905092915050565b6000612d8f82612e81565b9150612d9a83612e81565b925082612daa57612da9612fbc565b5b828204905092915050565b6000612dc082612e81565b9150612dcb83612e81565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e0457612e03612f8d565b5b828202905092915050565b6000612e1a82612e81565b9150612e2583612e81565b925082821015612e3857612e37612f8d565b5b828203905092915050565b6000612e4e82612e61565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612ea382612ebc565b9050919050565b6000612eb582612e81565b9050919050565b6000612ec782612ece565b9050919050565b6000612ed982612e61565b9050919050565b60005b83811015612efe578082015181840152602081019050612ee3565b83811115612f0d576000848401525b50505050565b612f1c8261305d565b810181811067ffffffffffffffff82111715612f3b57612f3a61301a565b5b80604052505050565b6000612f4f82612e81565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612f8257612f81612f8d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b61331b81612e43565b811461332657600080fd5b50565b61333281612e55565b811461333d57600080fd5b50565b61334981612e81565b811461335457600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220525b4ec8b41881117c091608dceced4a0f3e8107bd41b24884c793274f0d520a64736f6c63430008070033

Deployed Bytecode Sourcemap

3616:9183:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5708:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6539:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12540:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5985:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6708:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11322:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5894:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7255:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12093:194;;;;;;;;;;;;;:::i;:::-;;6088:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2695:148;;;;;;;;;;;;;:::i;:::-;;2481:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5799:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6213:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11146:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7029:211;;;;;;;;;;;;;:::i;:::-;;11888:193;;;;;;;;;;;;;:::i;:::-;;10840:294;;;;;;;;;;;;;:::i;:::-;;6388:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5708:83;5745:13;5778:5;;;;;;;;;;;;;;;;;5771:12;;5708:83;:::o;6539:161::-;6614:4;6631:39;6640:12;:10;:12::i;:::-;6654:7;6663:6;6631:8;:39::i;:::-;6688:4;6681:11;;6539:161;;;;:::o;12540:256::-;12629:15;;;;;;;;;;;12613:31;;:12;:10;:12::i;:::-;:31;;;12605:40;;;;;;12656:20;12686:12;12656:43;;12710:13;:22;;;12733:15;;;;;;;;;;;12749:13;:23;;;12781:4;12749:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12710:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12594:202;12540:256;:::o;5985:95::-;6038:7;4072:17;6058:14;;5985:95;:::o;6708:313::-;6806:4;6823:36;6833:6;6841:9;6852:6;6823:9;:36::i;:::-;6870:121;6879:6;6887:12;:10;:12::i;:::-;6901:89;6939:6;6901:89;;;;;;;;;;;;;;;;;:11;:19;6913:6;6901:19;;;;;;;;;;;;;;;:33;6921:12;:10;:12::i;:::-;6901:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6870:8;:121::i;:::-;7009:4;7002:11;;6708:313;;;;;:::o;11322:88::-;2618:12;:10;:12::i;:::-;2608:22;;:6;;;;;;;;;;:22;;;2600:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11397:5:::1;11382:4;:12;11387:6;11382:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;11322:88:::0;:::o;5894:83::-;5935:5;4444:1;5953:16;;5894:83;:::o;7255:142::-;7341:15;;;;;;;;;;;7325:31;;:12;:10;:12::i;:::-;:31;;;7317:40;;;;;;7381:6;7368:10;:19;;;;7255:142;:::o;12093:194::-;12159:15;;;;;;;;;;;12143:31;;:12;:10;:12::i;:::-;:31;;;12135:40;;;;;;12186:26;12215:21;12186:50;;12247:32;12260:18;12247:12;:32::i;:::-;12124:163;12093:194::o;6088:117::-;6154:7;6181;:16;6189:7;6181:16;;;;;;;;;;;;;;;;6174:23;;6088:117;;;:::o;2695:148::-;2618:12;:10;:12::i;:::-;2608:22;;:6;;;;;;;;;;:22;;;2600:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2802:1:::1;2765:40;;2786:6;::::0;::::1;;;;;;;;2765:40;;;;;;;;;;;;2833:1;2816:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2695:148::o:0;2481:79::-;2519:7;2546:6;;;;;;;;;;;2539:13;;2481:79;:::o;5799:87::-;5838:13;5871:7;;;;;;;;;;;;;;;;;5864:14;;5799:87;:::o;6213:167::-;6291:4;6308:42;6318:12;:10;:12::i;:::-;6332:9;6343:6;6308:9;:42::i;:::-;6368:4;6361:11;;6213:167;;;;:::o;11146:164::-;2618:12;:10;:12::i;:::-;2608:22;;:6;;;;;;;;;;:22;;;2600:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11220:6:::1;11215:88;11236:5;:12;11232:1;:16;11215:88;;;11287:4;11270;:14;11275:5;11281:1;11275:8;;;;;;;;:::i;:::-;;;;;;;;11270:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11250:3;;;;;:::i;:::-;;;;11215:88;;;;11146:164:::0;:::o;7029:211::-;2618:12;:10;:12::i;:::-;2608:22;;:6;;;;;;;;;;:22;;;2600:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7108:14:::1;7120:1;4072:17;7108:11;;:14;;;;:::i;:::-;7083:7;:22;7099:4;7083:22;;;;;;;;;;;;;;;:39;;;;7154:14;7166:1;4072:17;7154:11;;:14;;;;:::i;:::-;7133:7;:18;7141:9;;;;;;;;;;;7133:18;;;;;;;;;;;;;;;:35;;;;7207:9;;;;;;;;;;;7184:48;;7201:4;7184:48;;;7217:14;7229:1;4072:17;7217:11;;:14;;;;:::i;:::-;7184:48;;;;;;:::i;:::-;;;;;;;;7029:211::o:0;11888:193::-;11954:15;;;;;;;;;;;11938:31;;:12;:10;:12::i;:::-;:31;;;11930:40;;;;;;11981:23;12007:24;12025:4;12007:9;:24::i;:::-;11981:50;;12042:31;12057:15;12042:14;:31::i;:::-;11919:162;11888:193::o;10840:294::-;2618:12;:10;:12::i;:::-;2608:22;;:6;;;;;;;;;;:22;;;2600:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10904:11:::1;;;;;;;;;;;10903:12;10895:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10953:68;10966:24;10984:4;10966:9;:24::i;:::-;10991:21;11013:7;:5;:7::i;:::-;10953:12;:68::i;:::-;11046:4;11032:11;;:18;;;;;;;;;;;;;;;;;;11075:4;11061:11;;:18;;;;;;;;;;;;;;;;;;11116:9;11097:15;:29;;;;:::i;:::-;11090:4;:36;;;;10840:294::o:0;6388:143::-;6469:7;6496:11;:18;6508:5;6496:18;;;;;;;;;;;;;;;:27;6515:7;6496:27;;;;;;;;;;;;;;;;6489:34;;6388:143;;;;:::o;1534:246::-;1592:7;1621:1;1616;:6;1612:47;;;1646:1;1639:8;;;;1612:47;1669:9;1685:1;1681;:5;;;;:::i;:::-;1669:17;;1714:1;1709;1705;:5;;;;:::i;:::-;:10;1697:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1771:1;1764:8;;;1534:246;;;;;:::o;1788:132::-;1846:7;1873:39;1877:1;1880;1873:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1866:46;;1788:132;;;;:::o;199:98::-;252:7;279:10;272:17;;199:98;:::o;7408:335::-;7518:1;7501:19;;:5;:19;;;;7493:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7599:1;7580:21;;:7;:21;;;;7572:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7681:6;7651:11;:18;7663:5;7651:18;;;;;;;;;;;;;;;:27;7670:7;7651:27;;;;;;;;;;;;;;;:36;;;;7719:7;7703:32;;7712:5;7703:32;;;7728:6;7703:32;;;;;;:::i;:::-;;;;;;;;7408:335;;;:::o;7751:1675::-;7855:1;7839:18;;:4;:18;;;;7831:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7932:1;7918:16;;:2;:16;;;;7910:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8002:1;7993:6;:10;7985:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8069:16;8078:6;;8069:4;;:8;;:16;;;;:::i;:::-;8062:4;:23;;;;8108:7;:5;:7::i;:::-;8100:15;;:4;:15;;;;:32;;;;;8125:7;:5;:7::i;:::-;8119:13;;:2;:13;;;;8100:32;8096:1122;;;8158:4;:10;8163:4;8158:10;;;;;;;;;;;;;;;;;;;;;;;;;8157:11;:24;;;;;8173:4;:8;8178:2;8173:8;;;;;;;;;;;;;;;;;;;;;;;;;8172:9;8157:24;8149:33;;;;;;8209:13;;;;;;;;;;;8201:21;;:4;:21;;;:55;;;;;8240:15;;;;;;;;;;;8226:30;;:2;:30;;;;8201:55;:83;;;;;8262:18;:22;8281:2;8262:22;;;;;;;;;;;;;;;;;;;;;;;;;8260:24;8201:83;:111;;;;;8307:4;;8289:15;:22;8201:111;8197:333;;;8379:12;;8369:6;:22;;8361:31;;;;;;8434:15;8419:8;:12;8428:2;8419:12;;;;;;;;;;;;;;;;:30;8411:39;;;;;;8503:10;8484:15;:30;;;;:::i;:::-;8469:8;:12;8478:2;8469:12;;;;;;;;;;;;;;;:45;;;;8197:333;8605:6;;;;;;;;;;;8604:7;:32;;;;;8623:13;;;;;;;;;;;8615:21;;:4;:21;;;;8604:32;:47;;;;;8640:11;;;;;;;;;;;8604:47;:76;;;;;8656:18;:24;8675:4;8656:24;;;;;;;;;;;;;;;;;;;;;;;;;8655:25;8604:76;8600:607;;;8727:4;;8709:15;:22;8701:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8794:28;8825:24;8843:4;8825:9;:24::i;:::-;8794:55;;8894:10;;8871:20;:33;8868:324;;;8928:36;8943:20;8928:14;:36::i;:::-;8987:26;9016:21;8987:50;;9084:1;9063:18;:22;9060:113;;;9114:35;9127:21;9114:12;:35::i;:::-;9060:113;8905:287;8868:324;8682:525;8600:607;8096:1122;9238:13;;;;;;;;;;;9232:19;;:2;:19;;;:55;;;;;9271:15;;;;;;;;;;;9255:32;;:4;:32;;;;9232:55;:85;;;;;9293:18;:24;9312:4;9293:24;;;;;;;;;;;;;;;;;;;;;;;;;9291:26;9232:85;9228:141;;;9341:16;9350:6;;9341:4;;:8;;:16;;;;:::i;:::-;9334:4;:23;;;;9228:141;9385:33;9403:4;9408:2;9411:6;9385:17;:33::i;:::-;7751:1675;;;:::o;1336:190::-;1422:7;1455:1;1450;:6;;1458:12;1442:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1482:9;1498:1;1494;:5;;;;:::i;:::-;1482:17;;1517:1;1510:8;;;1336:190;;;;;:::o;10620:208::-;10677:15;;;;;;;;;;;:24;;:39;10702:13;10713:1;10702:6;:10;;:13;;;;:::i;:::-;10677:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10727:17;;;;;;;;;;;:26;;:41;10754:13;10765:1;10754:6;:10;;:13;;;;:::i;:::-;10727:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10779:17;;;;;;;;;;;:26;;:41;10806:13;10817:1;10806:6;:10;;:13;;;;:::i;:::-;10779:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10620:208;:::o;9929:389::-;9993:12;10008:13;10019:1;10008:6;;:10;;:13;;;;:::i;:::-;9993:28;;10032:12;10047:14;10056:4;10047;;:8;;:14;;;;:::i;:::-;10032:29;;10072:11;10086:16;10095:6;;10086:4;;:8;;:16;;;;:::i;:::-;10072:30;;10113:17;10133:30;10159:3;10133:21;10149:4;10133:11;:15;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;10113:50;;10174:27;10191:9;10174:16;:27::i;:::-;10212:98;10225:26;10241:9;10225:11;:15;;:26;;;;:::i;:::-;10252:41;10288:4;10252:31;10278:4;10252:21;:25;;:31;;;;:::i;:::-;:35;;:41;;;;:::i;:::-;10294:15;;;;;;;;;;;10212:12;:98::i;:::-;9982:336;;;;9929:389;:::o;10326:288::-;4864:4;4855:6;;:13;;;;;;;;;;;;;;;;;;10432:60:::1;10449:4;10463:15;;;;;;;;;;;10480:11;10432:8;:60::i;:::-;10503:15;;;;;;;;;;;:31;;;10542:9;10561:4;10567:11;10579:1;10581::::0;10583:6:::1;10590:15;10503:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4900:5:::0;4891:6;;:14;;;;;;;;;;;;;;;;;;10326:288;;;:::o;1928:189::-;2014:7;2046:1;2042;:5;2049:12;2034:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2073:9;2089:1;2085;:5;;;;:::i;:::-;2073:17;;2108:1;2101:8;;;1928:189;;;;;:::o;1005:179::-;1063:7;1083:9;1099:1;1095;:5;;;;:::i;:::-;1083:17;;1124:1;1119;:6;;1111:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1175:1;1168:8;;;1005:179;;;;:::o;11418:421::-;11517:22;11540:12;11556:20;11568:7;11556:11;:20::i;:::-;11516:60;;;;11605:28;11625:7;11605;:15;11613:6;11605:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11587:7;:15;11595:6;11587:15;;;;;;;;;;;;;;;:46;;;;11665:38;11688:14;11665:7;:18;11673:9;11665:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;11644:7;:18;11652:9;11644:18;;;;;;;;;;;;;;;:59;;;;11740:32;11767:4;11740:7;:22;11756:4;11740:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;11715:7;:22;11731:4;11715:22;;;;;;;;;;;;;;;:57;;;;11805:9;11788:43;;11797:6;11788:43;;;11816:14;11788:43;;;;;;:::i;:::-;;;;;;;;11505:334;;11418:421;;;:::o;9434:483::-;4864:4;4855:6;;:13;;;;;;;;;;;;;;;;;;9512:21:::1;9550:1;9536:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9512:40;;9581:4;9563;9568:1;9563:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9607:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9597:4;9602:1;9597:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9640:62;9657:4;9672:15;;;;;;;;;;;9690:11;9640:8;:62::i;:::-;9713:15;;;;;;;;;;;:66;;;9794:11;9820:1;9836:4;9863;9883:15;9713:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9501:416;4900:5:::0;4891:6;;:14;;;;;;;;;;;;;;;;;;9434:483;:::o;1192:136::-;1250:7;1277:43;1281:1;1284;1277:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1270:50;;1192:136;;;;:::o;12298:234::-;12358:7;12367;12387:12;12402:27;12424:4;12402:17;12414:4;;12402:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;12387:42;;12440:23;12466:17;12478:4;12466:7;:11;;:17;;;;:::i;:::-;12440:43;;12502:15;12519:4;12494:30;;;;;;12298:234;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;897:143;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:122;;1191:79;;:::i;:::-;1150:122;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;1063:370;;;;:::o;1439:137::-;1493:5;1524:6;1518:13;1509:22;;1540:30;1564:5;1540:30;:::i;:::-;1439:137;;;;:::o;1582:139::-;1628:5;1666:6;1653:20;1644:29;;1682:33;1709:5;1682:33;:::i;:::-;1582:139;;;;:::o;1727:143::-;1784:5;1815:6;1809:13;1800:22;;1831:33;1858:5;1831:33;:::i;:::-;1727:143;;;;:::o;1876:329::-;1935:6;1984:2;1972:9;1963:7;1959:23;1955:32;1952:119;;;1990:79;;:::i;:::-;1952:119;2110:1;2135:53;2180:7;2171:6;2160:9;2156:22;2135:53;:::i;:::-;2125:63;;2081:117;1876:329;;;;:::o;2211:351::-;2281:6;2330:2;2318:9;2309:7;2305:23;2301:32;2298:119;;;2336:79;;:::i;:::-;2298:119;2456:1;2481:64;2537:7;2528:6;2517:9;2513:22;2481:64;:::i;:::-;2471:74;;2427:128;2211:351;;;;:::o;2568:474::-;2636:6;2644;2693:2;2681:9;2672:7;2668:23;2664:32;2661:119;;;2699:79;;:::i;:::-;2661:119;2819:1;2844:53;2889:7;2880:6;2869:9;2865:22;2844:53;:::i;:::-;2834:63;;2790:117;2946:2;2972:53;3017:7;3008:6;2997:9;2993:22;2972:53;:::i;:::-;2962:63;;2917:118;2568:474;;;;;:::o;3048:619::-;3125:6;3133;3141;3190:2;3178:9;3169:7;3165:23;3161:32;3158:119;;;3196:79;;:::i;:::-;3158:119;3316:1;3341:53;3386:7;3377:6;3366:9;3362:22;3341:53;:::i;:::-;3331:63;;3287:117;3443:2;3469:53;3514:7;3505:6;3494:9;3490:22;3469:53;:::i;:::-;3459:63;;3414:118;3571:2;3597:53;3642:7;3633:6;3622:9;3618:22;3597:53;:::i;:::-;3587:63;;3542:118;3048:619;;;;;:::o;3673:474::-;3741:6;3749;3798:2;3786:9;3777:7;3773:23;3769:32;3766:119;;;3804:79;;:::i;:::-;3766:119;3924:1;3949:53;3994:7;3985:6;3974:9;3970:22;3949:53;:::i;:::-;3939:63;;3895:117;4051:2;4077:53;4122:7;4113:6;4102:9;4098:22;4077:53;:::i;:::-;4067:63;;4022:118;3673:474;;;;;:::o;4153:539::-;4237:6;4286:2;4274:9;4265:7;4261:23;4257:32;4254:119;;;4292:79;;:::i;:::-;4254:119;4440:1;4429:9;4425:17;4412:31;4470:18;4462:6;4459:30;4456:117;;;4492:79;;:::i;:::-;4456:117;4597:78;4667:7;4658:6;4647:9;4643:22;4597:78;:::i;:::-;4587:88;;4383:302;4153:539;;;;:::o;4698:345::-;4765:6;4814:2;4802:9;4793:7;4789:23;4785:32;4782:119;;;4820:79;;:::i;:::-;4782:119;4940:1;4965:61;5018:7;5009:6;4998:9;4994:22;4965:61;:::i;:::-;4955:71;;4911:125;4698:345;;;;:::o;5049:329::-;5108:6;5157:2;5145:9;5136:7;5132:23;5128:32;5125:119;;;5163:79;;:::i;:::-;5125:119;5283:1;5308:53;5353:7;5344:6;5333:9;5329:22;5308:53;:::i;:::-;5298:63;;5254:117;5049:329;;;;:::o;5384:351::-;5454:6;5503:2;5491:9;5482:7;5478:23;5474:32;5471:119;;;5509:79;;:::i;:::-;5471:119;5629:1;5654:64;5710:7;5701:6;5690:9;5686:22;5654:64;:::i;:::-;5644:74;;5600:128;5384:351;;;;:::o;5741:663::-;5829:6;5837;5845;5894:2;5882:9;5873:7;5869:23;5865:32;5862:119;;;5900:79;;:::i;:::-;5862:119;6020:1;6045:64;6101:7;6092:6;6081:9;6077:22;6045:64;:::i;:::-;6035:74;;5991:128;6158:2;6184:64;6240:7;6231:6;6220:9;6216:22;6184:64;:::i;:::-;6174:74;;6129:129;6297:2;6323:64;6379:7;6370:6;6359:9;6355:22;6323:64;:::i;:::-;6313:74;;6268:129;5741:663;;;;;:::o;6410:179::-;6479:10;6500:46;6542:3;6534:6;6500:46;:::i;:::-;6578:4;6573:3;6569:14;6555:28;;6410:179;;;;:::o;6595:147::-;6690:45;6729:5;6690:45;:::i;:::-;6685:3;6678:58;6595:147;;:::o;6748:108::-;6825:24;6843:5;6825:24;:::i;:::-;6820:3;6813:37;6748:108;;:::o;6862:118::-;6949:24;6967:5;6949:24;:::i;:::-;6944:3;6937:37;6862:118;;:::o;7016:732::-;7135:3;7164:54;7212:5;7164:54;:::i;:::-;7234:86;7313:6;7308:3;7234:86;:::i;:::-;7227:93;;7344:56;7394:5;7344:56;:::i;:::-;7423:7;7454:1;7439:284;7464:6;7461:1;7458:13;7439:284;;;7540:6;7534:13;7567:63;7626:3;7611:13;7567:63;:::i;:::-;7560:70;;7653:60;7706:6;7653:60;:::i;:::-;7643:70;;7499:224;7486:1;7483;7479:9;7474:14;;7439:284;;;7443:14;7739:3;7732:10;;7140:608;;;7016:732;;;;:::o;7754:109::-;7835:21;7850:5;7835:21;:::i;:::-;7830:3;7823:34;7754:109;;:::o;7869:147::-;7964:45;8003:5;7964:45;:::i;:::-;7959:3;7952:58;7869:147;;:::o;8022:364::-;8110:3;8138:39;8171:5;8138:39;:::i;:::-;8193:71;8257:6;8252:3;8193:71;:::i;:::-;8186:78;;8273:52;8318:6;8313:3;8306:4;8299:5;8295:16;8273:52;:::i;:::-;8350:29;8372:6;8350:29;:::i;:::-;8345:3;8341:39;8334:46;;8114:272;8022:364;;;;:::o;8392:366::-;8534:3;8555:67;8619:2;8614:3;8555:67;:::i;:::-;8548:74;;8631:93;8720:3;8631:93;:::i;:::-;8749:2;8744:3;8740:12;8733:19;;8392:366;;;:::o;8764:::-;8906:3;8927:67;8991:2;8986:3;8927:67;:::i;:::-;8920:74;;9003:93;9092:3;9003:93;:::i;:::-;9121:2;9116:3;9112:12;9105:19;;8764:366;;;:::o;9136:::-;9278:3;9299:67;9363:2;9358:3;9299:67;:::i;:::-;9292:74;;9375:93;9464:3;9375:93;:::i;:::-;9493:2;9488:3;9484:12;9477:19;;9136:366;;;:::o;9508:::-;9650:3;9671:67;9735:2;9730:3;9671:67;:::i;:::-;9664:74;;9747:93;9836:3;9747:93;:::i;:::-;9865:2;9860:3;9856:12;9849:19;;9508:366;;;:::o;9880:::-;10022:3;10043:67;10107:2;10102:3;10043:67;:::i;:::-;10036:74;;10119:93;10208:3;10119:93;:::i;:::-;10237:2;10232:3;10228:12;10221:19;;9880:366;;;:::o;10252:::-;10394:3;10415:67;10479:2;10474:3;10415:67;:::i;:::-;10408:74;;10491:93;10580:3;10491:93;:::i;:::-;10609:2;10604:3;10600:12;10593:19;;10252:366;;;:::o;10624:::-;10766:3;10787:67;10851:2;10846:3;10787:67;:::i;:::-;10780:74;;10863:93;10952:3;10863:93;:::i;:::-;10981:2;10976:3;10972:12;10965:19;;10624:366;;;:::o;10996:::-;11138:3;11159:67;11223:2;11218:3;11159:67;:::i;:::-;11152:74;;11235:93;11324:3;11235:93;:::i;:::-;11353:2;11348:3;11344:12;11337:19;;10996:366;;;:::o;11368:::-;11510:3;11531:67;11595:2;11590:3;11531:67;:::i;:::-;11524:74;;11607:93;11696:3;11607:93;:::i;:::-;11725:2;11720:3;11716:12;11709:19;;11368:366;;;:::o;11740:::-;11882:3;11903:67;11967:2;11962:3;11903:67;:::i;:::-;11896:74;;11979:93;12068:3;11979:93;:::i;:::-;12097:2;12092:3;12088:12;12081:19;;11740:366;;;:::o;12112:118::-;12199:24;12217:5;12199:24;:::i;:::-;12194:3;12187:37;12112:118;;:::o;12236:112::-;12319:22;12335:5;12319:22;:::i;:::-;12314:3;12307:35;12236:112;;:::o;12354:222::-;12447:4;12485:2;12474:9;12470:18;12462:26;;12498:71;12566:1;12555:9;12551:17;12542:6;12498:71;:::i;:::-;12354:222;;;;:::o;12582:348::-;12711:4;12749:2;12738:9;12734:18;12726:26;;12762:79;12838:1;12827:9;12823:17;12814:6;12762:79;:::i;:::-;12851:72;12919:2;12908:9;12904:18;12895:6;12851:72;:::i;:::-;12582:348;;;;;:::o;12936:807::-;13185:4;13223:3;13212:9;13208:19;13200:27;;13237:71;13305:1;13294:9;13290:17;13281:6;13237:71;:::i;:::-;13318:72;13386:2;13375:9;13371:18;13362:6;13318:72;:::i;:::-;13400:80;13476:2;13465:9;13461:18;13452:6;13400:80;:::i;:::-;13490;13566:2;13555:9;13551:18;13542:6;13490:80;:::i;:::-;13580:73;13648:3;13637:9;13633:19;13624:6;13580:73;:::i;:::-;13663;13731:3;13720:9;13716:19;13707:6;13663:73;:::i;:::-;12936:807;;;;;;;;;:::o;13749:210::-;13836:4;13874:2;13863:9;13859:18;13851:26;;13887:65;13949:1;13938:9;13934:17;13925:6;13887:65;:::i;:::-;13749:210;;;;:::o;13965:313::-;14078:4;14116:2;14105:9;14101:18;14093:26;;14165:9;14159:4;14155:20;14151:1;14140:9;14136:17;14129:47;14193:78;14266:4;14257:6;14193:78;:::i;:::-;14185:86;;13965:313;;;;:::o;14284:419::-;14450:4;14488:2;14477:9;14473:18;14465:26;;14537:9;14531:4;14527:20;14523:1;14512:9;14508:17;14501:47;14565:131;14691:4;14565:131;:::i;:::-;14557:139;;14284:419;;;:::o;14709:::-;14875:4;14913:2;14902:9;14898:18;14890:26;;14962:9;14956:4;14952:20;14948:1;14937:9;14933:17;14926:47;14990:131;15116:4;14990:131;:::i;:::-;14982:139;;14709:419;;;:::o;15134:::-;15300:4;15338:2;15327:9;15323:18;15315:26;;15387:9;15381:4;15377:20;15373:1;15362:9;15358:17;15351:47;15415:131;15541:4;15415:131;:::i;:::-;15407:139;;15134:419;;;:::o;15559:::-;15725:4;15763:2;15752:9;15748:18;15740:26;;15812:9;15806:4;15802:20;15798:1;15787:9;15783:17;15776:47;15840:131;15966:4;15840:131;:::i;:::-;15832:139;;15559:419;;;:::o;15984:::-;16150:4;16188:2;16177:9;16173:18;16165:26;;16237:9;16231:4;16227:20;16223:1;16212:9;16208:17;16201:47;16265:131;16391:4;16265:131;:::i;:::-;16257:139;;15984:419;;;:::o;16409:::-;16575:4;16613:2;16602:9;16598:18;16590:26;;16662:9;16656:4;16652:20;16648:1;16637:9;16633:17;16626:47;16690:131;16816:4;16690:131;:::i;:::-;16682:139;;16409:419;;;:::o;16834:::-;17000:4;17038:2;17027:9;17023:18;17015:26;;17087:9;17081:4;17077:20;17073:1;17062:9;17058:17;17051:47;17115:131;17241:4;17115:131;:::i;:::-;17107:139;;16834:419;;;:::o;17259:::-;17425:4;17463:2;17452:9;17448:18;17440:26;;17512:9;17506:4;17502:20;17498:1;17487:9;17483:17;17476:47;17540:131;17666:4;17540:131;:::i;:::-;17532:139;;17259:419;;;:::o;17684:::-;17850:4;17888:2;17877:9;17873:18;17865:26;;17937:9;17931:4;17927:20;17923:1;17912:9;17908:17;17901:47;17965:131;18091:4;17965:131;:::i;:::-;17957:139;;17684:419;;;:::o;18109:::-;18275:4;18313:2;18302:9;18298:18;18290:26;;18362:9;18356:4;18352:20;18348:1;18337:9;18333:17;18326:47;18390:131;18516:4;18390:131;:::i;:::-;18382:139;;18109:419;;;:::o;18534:222::-;18627:4;18665:2;18654:9;18650:18;18642:26;;18678:71;18746:1;18735:9;18731:17;18722:6;18678:71;:::i;:::-;18534:222;;;;:::o;18762:831::-;19025:4;19063:3;19052:9;19048:19;19040:27;;19077:71;19145:1;19134:9;19130:17;19121:6;19077:71;:::i;:::-;19158:80;19234:2;19223:9;19219:18;19210:6;19158:80;:::i;:::-;19285:9;19279:4;19275:20;19270:2;19259:9;19255:18;19248:48;19313:108;19416:4;19407:6;19313:108;:::i;:::-;19305:116;;19431:72;19499:2;19488:9;19484:18;19475:6;19431:72;:::i;:::-;19513:73;19581:3;19570:9;19566:19;19557:6;19513:73;:::i;:::-;18762:831;;;;;;;;:::o;19599:214::-;19688:4;19726:2;19715:9;19711:18;19703:26;;19739:67;19803:1;19792:9;19788:17;19779:6;19739:67;:::i;:::-;19599:214;;;;:::o;19819:129::-;19853:6;19880:20;;:::i;:::-;19870:30;;19909:33;19937:4;19929:6;19909:33;:::i;:::-;19819:129;;;:::o;19954:75::-;19987:6;20020:2;20014:9;20004:19;;19954:75;:::o;20035:311::-;20112:4;20202:18;20194:6;20191:30;20188:56;;;20224:18;;:::i;:::-;20188:56;20274:4;20266:6;20262:17;20254:25;;20334:4;20328;20324:15;20316:23;;20035:311;;;:::o;20352:132::-;20419:4;20442:3;20434:11;;20472:4;20467:3;20463:14;20455:22;;20352:132;;;:::o;20490:114::-;20557:6;20591:5;20585:12;20575:22;;20490:114;;;:::o;20610:99::-;20662:6;20696:5;20690:12;20680:22;;20610:99;;;:::o;20715:113::-;20785:4;20817;20812:3;20808:14;20800:22;;20715:113;;;:::o;20834:184::-;20933:11;20967:6;20962:3;20955:19;21007:4;21002:3;20998:14;20983:29;;20834:184;;;;:::o;21024:169::-;21108:11;21142:6;21137:3;21130:19;21182:4;21177:3;21173:14;21158:29;;21024:169;;;;:::o;21199:305::-;21239:3;21258:20;21276:1;21258:20;:::i;:::-;21253:25;;21292:20;21310:1;21292:20;:::i;:::-;21287:25;;21446:1;21378:66;21374:74;21371:1;21368:81;21365:107;;;21452:18;;:::i;:::-;21365:107;21496:1;21493;21489:9;21482:16;;21199:305;;;;:::o;21510:185::-;21550:1;21567:20;21585:1;21567:20;:::i;:::-;21562:25;;21601:20;21619:1;21601:20;:::i;:::-;21596:25;;21640:1;21630:35;;21645:18;;:::i;:::-;21630:35;21687:1;21684;21680:9;21675:14;;21510:185;;;;:::o;21701:348::-;21741:7;21764:20;21782:1;21764:20;:::i;:::-;21759:25;;21798:20;21816:1;21798:20;:::i;:::-;21793:25;;21986:1;21918:66;21914:74;21911:1;21908:81;21903:1;21896:9;21889:17;21885:105;21882:131;;;21993:18;;:::i;:::-;21882:131;22041:1;22038;22034:9;22023:20;;21701:348;;;;:::o;22055:191::-;22095:4;22115:20;22133:1;22115:20;:::i;:::-;22110:25;;22149:20;22167:1;22149:20;:::i;:::-;22144:25;;22188:1;22185;22182:8;22179:34;;;22193:18;;:::i;:::-;22179:34;22238:1;22235;22231:9;22223:17;;22055:191;;;;:::o;22252:96::-;22289:7;22318:24;22336:5;22318:24;:::i;:::-;22307:35;;22252:96;;;:::o;22354:90::-;22388:7;22431:5;22424:13;22417:21;22406:32;;22354:90;;;:::o;22450:126::-;22487:7;22527:42;22520:5;22516:54;22505:65;;22450:126;;;:::o;22582:77::-;22619:7;22648:5;22637:16;;22582:77;;;:::o;22665:86::-;22700:7;22740:4;22733:5;22729:16;22718:27;;22665:86;;;:::o;22757:134::-;22815:9;22848:37;22879:5;22848:37;:::i;:::-;22835:50;;22757:134;;;:::o;22897:121::-;22955:9;22988:24;23006:5;22988:24;:::i;:::-;22975:37;;22897:121;;;:::o;23024:126::-;23074:9;23107:37;23138:5;23107:37;:::i;:::-;23094:50;;23024:126;;;:::o;23156:113::-;23206:9;23239:24;23257:5;23239:24;:::i;:::-;23226:37;;23156:113;;;:::o;23275:307::-;23343:1;23353:113;23367:6;23364:1;23361:13;23353:113;;;23452:1;23447:3;23443:11;23437:18;23433:1;23428:3;23424:11;23417:39;23389:2;23386:1;23382:10;23377:15;;23353:113;;;23484:6;23481:1;23478:13;23475:101;;;23564:1;23555:6;23550:3;23546:16;23539:27;23475:101;23324:258;23275:307;;;:::o;23588:281::-;23671:27;23693:4;23671:27;:::i;:::-;23663:6;23659:40;23801:6;23789:10;23786:22;23765:18;23753:10;23750:34;23747:62;23744:88;;;23812:18;;:::i;:::-;23744:88;23852:10;23848:2;23841:22;23631:238;23588:281;;:::o;23875:233::-;23914:3;23937:24;23955:5;23937:24;:::i;:::-;23928:33;;23983:66;23976:5;23973:77;23970:103;;;24053:18;;:::i;:::-;23970:103;24100:1;24093:5;24089:13;24082:20;;23875:233;;;:::o;24114:180::-;24162:77;24159:1;24152:88;24259:4;24256:1;24249:15;24283:4;24280:1;24273:15;24300:180;24348:77;24345:1;24338:88;24445:4;24442:1;24435:15;24469:4;24466:1;24459:15;24486:180;24534:77;24531:1;24524:88;24631:4;24628:1;24621:15;24655:4;24652:1;24645:15;24672:180;24720:77;24717:1;24710:88;24817:4;24814:1;24807:15;24841:4;24838:1;24831:15;24858:117;24967:1;24964;24957:12;24981:117;25090:1;25087;25080:12;25104:117;25213:1;25210;25203:12;25227:117;25336:1;25333;25326:12;25350:102;25391:6;25442:2;25438:7;25433:2;25426:5;25422:14;25418:28;25408:38;;25350:102;;;:::o;25458:227::-;25598:34;25594:1;25586:6;25582:14;25575:58;25667:10;25662:2;25654:6;25650:15;25643:35;25458:227;:::o;25691:222::-;25831:34;25827:1;25819:6;25815:14;25808:58;25900:5;25895:2;25887:6;25883:15;25876:30;25691:222;:::o;25919:221::-;26059:34;26055:1;26047:6;26043:14;26036:58;26128:4;26123:2;26115:6;26111:15;26104:29;25919:221;:::o;26146:177::-;26286:29;26282:1;26274:6;26270:14;26263:53;26146:177;:::o;26329:220::-;26469:34;26465:1;26457:6;26453:14;26446:58;26538:3;26533:2;26525:6;26521:15;26514:28;26329:220;:::o;26555:182::-;26695:34;26691:1;26683:6;26679:14;26672:58;26555:182;:::o;26743:228::-;26883:34;26879:1;26871:6;26867:14;26860:58;26952:11;26947:2;26939:6;26935:15;26928:36;26743:228;:::o;26977:224::-;27117:34;27113:1;27105:6;27101:14;27094:58;27186:7;27181:2;27173:6;27169:15;27162:32;26977:224;:::o;27207:223::-;27347:34;27343:1;27335:6;27331:14;27324:58;27416:6;27411:2;27403:6;27399:15;27392:31;27207:223;:::o;27436:173::-;27576:25;27572:1;27564:6;27560:14;27553:49;27436:173;:::o;27615:122::-;27688:24;27706:5;27688:24;:::i;:::-;27681:5;27678:35;27668:63;;27727:1;27724;27717:12;27668:63;27615:122;:::o;27743:116::-;27813:21;27828:5;27813:21;:::i;:::-;27806:5;27803:32;27793:60;;27849:1;27846;27839:12;27793:60;27743:116;:::o;27865:122::-;27938:24;27956:5;27938:24;:::i;:::-;27931:5;27928:35;27918:63;;27977:1;27974;27967:12;27918:63;27865:122;:::o

Swarm Source

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