ETH Price: $1,765.09 (-0.91%)

Token

Spirit Of Elon (SOE)
 

Overview

Max Total Supply

1,000,000,000 SOE

Holders

23

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
678,065,015.365510273 SOE

Value
$0.00
0x1234567829db578878fde9c5f748e1e06085e471
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:
SoEToken

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-14
*/

/*
    Spirit Of Elon

            .-----.
          .' -   - '.
         /  .-. .-.  \
         |  | | | |  |
          \ \o/ \o/ /
         _/    ^    \_
        | \  '---'  / |
        / /`--. .--`\ \
        / /'---` `---'\ \
        '.__.       .__.'
            `|     |`
            |     \
            \      '--.
             '.        `\
                `'---.   |
                    ,__) /
                    `..'

*/

// 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 SoEToken is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isnotTaxed;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e9 * 10**9;
    uint256 private _rTotalAmt = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotalAmt;
    
    uint256 private _feeForAddress1;
    uint256 private _feeForAddress2;
    address payable private _walletAddrForFee;
    
    string private constant _name = "Spirit Of Elon";
    string private constant _symbol = "SOE";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _walletAddrForFee = payable(0x1234567829DB578878Fde9c5f748e1e06085e471);
        _rOwned[_msgSender()] = _rTotalAmt;
        _isnotTaxed[owner()] = true;
        _isnotTaxed[address(this)] = true;
        _isnotTaxed[_walletAddrForFee] = true;
        emit Transfer(address(0x0000000000000000000000000000000000000000), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotalAmt, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    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");
        _feeForAddress1 = 2;
        _feeForAddress2 = 4;
        if (from != owner() && to != owner()) {
            if (from != address(uniswapV2Router) && to == uniswapV2Pair && ! _isnotTaxed[from]) {
                _feeForAddress1 = 2;
                _feeForAddress2 = 5;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendToFee(address(this).balance);
                }
            }
        }
		
        _tokenTransfer(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 sendToFee(uint256 amount) private {
        _walletAddrForFee.transfer(amount);
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        _maxTxAmount = 1e9 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

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

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

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

    receive() external payable {}

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

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

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

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

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

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a76400006000196200001c91906200043a565b6000196200002b9190620003f5565b6006556000600c60156101000a81548160ff0219169083151502179055506000600c60166101000a81548160ff021916908315150217905550670de0b6b3a7640000600d553480156200007d57600080fd5b506000620000906200039660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350731234567829db578878fde9c5f748e1e06085e471600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600260006200019a6200039660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620001ee6200039e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003216200039660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620003889190620003d8565b60405180910390a3620004d0565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620003d28162000430565b82525050565b6000602082019050620003ef6000830184620003c7565b92915050565b6000620004028262000430565b91506200040f8362000430565b92508282101562000425576200042462000472565b5b828203905092915050565b6000819050919050565b6000620004478262000430565b9150620004548362000430565b925082620004675762000466620004a1565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61296c80620004e06000396000f3fe6080604052600436106100ab5760003560e01c8063715018a611610064578063715018a6146101ef5780638da5cb5b1461020657806395d89b4114610231578063a9059cbb1461025c578063c9567bf914610299578063dd62ed3e146102b0576100b2565b806306fdde03146100b7578063095ea7b3146100e257806318160ddd1461011f57806323b872dd1461014a578063313ce5671461018757806370a08231146101b2576100b2565b366100b257005b600080fd5b3480156100c357600080fd5b506100cc6102ed565b6040516100d991906121c0565b60405180910390f35b3480156100ee57600080fd5b5061010960048036038101906101049190611dbc565b61032a565b60405161011691906121a5565b60405180910390f35b34801561012b57600080fd5b50610134610348565b6040516101419190612322565b60405180910390f35b34801561015657600080fd5b50610171600480360381019061016c9190611d6d565b610358565b60405161017e91906121a5565b60405180910390f35b34801561019357600080fd5b5061019c610431565b6040516101a99190612397565b60405180910390f35b3480156101be57600080fd5b506101d960048036038101906101d49190611cdf565b61043a565b6040516101e69190612322565b60405180910390f35b3480156101fb57600080fd5b5061020461048b565b005b34801561021257600080fd5b5061021b6105de565b60405161022891906120d7565b60405180910390f35b34801561023d57600080fd5b50610246610607565b60405161025391906121c0565b60405180910390f35b34801561026857600080fd5b50610283600480360381019061027e9190611dbc565b610644565b60405161029091906121a5565b60405180910390f35b3480156102a557600080fd5b506102ae610662565b005b3480156102bc57600080fd5b506102d760048036038101906102d29190611d31565b610ba2565b6040516102e49190612322565b60405180910390f35b60606040518060400160405280600e81526020017f537069726974204f6620456c6f6e000000000000000000000000000000000000815250905090565b600061033e610337610c29565b8484610c31565b6001905092915050565b6000670de0b6b3a7640000905090565b6000610365848484610dfc565b61042684610371610c29565b6104218560405180606001604052806028815260200161290f60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103d7610c29565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461118b9092919063ffffffff16565b610c31565b600190509392505050565b60006009905090565b6000610484600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111ef565b9050919050565b610493610c29565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610520576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051790612282565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f534f450000000000000000000000000000000000000000000000000000000000815250905090565b6000610658610651610c29565b8484610dfc565b6001905092915050565b61066a610c29565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ee90612282565b60405180910390fd5b600c60149054906101000a900460ff1615610747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073e90612302565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107d630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a7640000610c31565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561081c57600080fd5b505afa158015610830573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108549190611d08565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b657600080fd5b505afa1580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee9190611d08565b6040518363ffffffff1660e01b815260040161090b9291906120f2565b602060405180830381600087803b15801561092557600080fd5b505af1158015610939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095d9190611d08565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306109e63061043a565b6000806109f16105de565b426040518863ffffffff1660e01b8152600401610a1396959493929190612144565b6060604051808303818588803b158015610a2c57600080fd5b505af1158015610a40573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a659190611e21565b5050506001600c60166101000a81548160ff021916908315150217905550670de0b6b3a7640000600d819055506001600c60146101000a81548160ff021916908315150217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b4c92919061211b565b602060405180830381600087803b158015610b6657600080fd5b505af1158015610b7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9e9190611df8565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c98906122e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0890612222565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610def9190612322565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e63906122c2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed3906121e2565b60405180910390fd5b60008111610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f16906122a2565b60405180910390fd5b60026008819055506004600981905550610f376105de565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610fa55750610f756105de565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561117b57600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110555750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80156110ab5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156110c157600260088190555060056009819055505b60006110cc3061043a565b9050600c60159054906101000a900460ff161580156111395750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156111515750600c60169054906101000a900460ff165b156111795761115f8161125d565b600047905060008111156111775761117647611557565b5b505b505b6111868383836115c3565b505050565b60008383111582906111d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ca91906121c0565b60405180910390fd5b50600083856111e291906124e8565b9050809150509392505050565b6000600654821115611236576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122d90612202565b60405180910390fd5b60006112406115d3565b905061125581846115fe90919063ffffffff16565b915050919050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156112bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156112e95781602001602082028036833780820191505090505b5090503081600081518110611327577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156113c957600080fd5b505afa1580156113dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114019190611d08565b8160018151811061143b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506114a230600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c31565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161150695949392919061233d565b600060405180830381600087803b15801561152057600080fd5b505af1158015611534573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156115bf573d6000803e3d6000fd5b5050565b6115ce838383611648565b505050565b60008060006115e0611813565b915091506115f781836115fe90919063ffffffff16565b9250505090565b600061164083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611872565b905092915050565b60008060008060008061165a876118d5565b9550955095509550955095506116b886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461193d90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061174d85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461198790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611799816119e5565b6117a38483611aa2565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118009190612322565b60405180910390a3505050505050505050565b600080600060065490506000670de0b6b3a76400009050611847670de0b6b3a76400006006546115fe90919063ffffffff16565b82101561186557600654670de0b6b3a764000093509350505061186e565b81819350935050505b9091565b600080831182906118b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b091906121c0565b60405180910390fd5b50600083856118c8919061245d565b9050809150509392505050565b60008060008060008060008060006118f28a600854600954611adc565b92509250925060006119026115d3565b905060008060006119158e878787611b72565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061197f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061118b565b905092915050565b60008082846119969190612407565b9050838110156119db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d290612242565b60405180910390fd5b8091505092915050565b60006119ef6115d3565b90506000611a068284611bfb90919063ffffffff16565b9050611a5a81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461198790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611ab78260065461193d90919063ffffffff16565b600681905550611ad28160075461198790919063ffffffff16565b6007819055505050565b600080600080611b086064611afa888a611bfb90919063ffffffff16565b6115fe90919063ffffffff16565b90506000611b326064611b24888b611bfb90919063ffffffff16565b6115fe90919063ffffffff16565b90506000611b5b82611b4d858c61193d90919063ffffffff16565b61193d90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611b8b8589611bfb90919063ffffffff16565b90506000611ba28689611bfb90919063ffffffff16565b90506000611bb98789611bfb90919063ffffffff16565b90506000611be282611bd4858761193d90919063ffffffff16565b61193d90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611c0e5760009050611c70565b60008284611c1c919061248e565b9050828482611c2b919061245d565b14611c6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6290612262565b60405180910390fd5b809150505b92915050565b600081359050611c85816128c9565b92915050565b600081519050611c9a816128c9565b92915050565b600081519050611caf816128e0565b92915050565b600081359050611cc4816128f7565b92915050565b600081519050611cd9816128f7565b92915050565b600060208284031215611cf157600080fd5b6000611cff84828501611c76565b91505092915050565b600060208284031215611d1a57600080fd5b6000611d2884828501611c8b565b91505092915050565b60008060408385031215611d4457600080fd5b6000611d5285828601611c76565b9250506020611d6385828601611c76565b9150509250929050565b600080600060608486031215611d8257600080fd5b6000611d9086828701611c76565b9350506020611da186828701611c76565b9250506040611db286828701611cb5565b9150509250925092565b60008060408385031215611dcf57600080fd5b6000611ddd85828601611c76565b9250506020611dee85828601611cb5565b9150509250929050565b600060208284031215611e0a57600080fd5b6000611e1884828501611ca0565b91505092915050565b600080600060608486031215611e3657600080fd5b6000611e4486828701611cca565b9350506020611e5586828701611cca565b9250506040611e6686828701611cca565b9150509250925092565b6000611e7c8383611e88565b60208301905092915050565b611e918161251c565b82525050565b611ea08161251c565b82525050565b6000611eb1826123c2565b611ebb81856123e5565b9350611ec6836123b2565b8060005b83811015611ef7578151611ede8882611e70565b9750611ee9836123d8565b925050600181019050611eca565b5085935050505092915050565b611f0d8161252e565b82525050565b611f1c81612571565b82525050565b6000611f2d826123cd565b611f3781856123f6565b9350611f47818560208601612583565b611f5081612614565b840191505092915050565b6000611f686023836123f6565b9150611f7382612625565b604082019050919050565b6000611f8b602a836123f6565b9150611f9682612674565b604082019050919050565b6000611fae6022836123f6565b9150611fb9826126c3565b604082019050919050565b6000611fd1601b836123f6565b9150611fdc82612712565b602082019050919050565b6000611ff46021836123f6565b9150611fff8261273b565b604082019050919050565b60006120176020836123f6565b91506120228261278a565b602082019050919050565b600061203a6029836123f6565b9150612045826127b3565b604082019050919050565b600061205d6025836123f6565b915061206882612802565b604082019050919050565b60006120806024836123f6565b915061208b82612851565b604082019050919050565b60006120a36017836123f6565b91506120ae826128a0565b602082019050919050565b6120c28161255a565b82525050565b6120d181612564565b82525050565b60006020820190506120ec6000830184611e97565b92915050565b60006040820190506121076000830185611e97565b6121146020830184611e97565b9392505050565b60006040820190506121306000830185611e97565b61213d60208301846120b9565b9392505050565b600060c0820190506121596000830189611e97565b61216660208301886120b9565b6121736040830187611f13565b6121806060830186611f13565b61218d6080830185611e97565b61219a60a08301846120b9565b979650505050505050565b60006020820190506121ba6000830184611f04565b92915050565b600060208201905081810360008301526121da8184611f22565b905092915050565b600060208201905081810360008301526121fb81611f5b565b9050919050565b6000602082019050818103600083015261221b81611f7e565b9050919050565b6000602082019050818103600083015261223b81611fa1565b9050919050565b6000602082019050818103600083015261225b81611fc4565b9050919050565b6000602082019050818103600083015261227b81611fe7565b9050919050565b6000602082019050818103600083015261229b8161200a565b9050919050565b600060208201905081810360008301526122bb8161202d565b9050919050565b600060208201905081810360008301526122db81612050565b9050919050565b600060208201905081810360008301526122fb81612073565b9050919050565b6000602082019050818103600083015261231b81612096565b9050919050565b600060208201905061233760008301846120b9565b92915050565b600060a08201905061235260008301886120b9565b61235f6020830187611f13565b81810360408301526123718186611ea6565b90506123806060830185611e97565b61238d60808301846120b9565b9695505050505050565b60006020820190506123ac60008301846120c8565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006124128261255a565b915061241d8361255a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612452576124516125b6565b5b828201905092915050565b60006124688261255a565b91506124738361255a565b925082612483576124826125e5565b5b828204905092915050565b60006124998261255a565b91506124a48361255a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156124dd576124dc6125b6565b5b828202905092915050565b60006124f38261255a565b91506124fe8361255a565b925082821015612511576125106125b6565b5b828203905092915050565b60006125278261253a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061257c8261255a565b9050919050565b60005b838110156125a1578082015181840152602081019050612586565b838111156125b0576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6128d28161251c565b81146128dd57600080fd5b50565b6128e98161252e565b81146128f457600080fd5b50565b6129008161255a565b811461290b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b7ad06725568dfa58dce5b10f9e53fb525bd050c928845d88c9308882c1e175464736f6c63430008040033

Deployed Bytecode

0x6080604052600436106100ab5760003560e01c8063715018a611610064578063715018a6146101ef5780638da5cb5b1461020657806395d89b4114610231578063a9059cbb1461025c578063c9567bf914610299578063dd62ed3e146102b0576100b2565b806306fdde03146100b7578063095ea7b3146100e257806318160ddd1461011f57806323b872dd1461014a578063313ce5671461018757806370a08231146101b2576100b2565b366100b257005b600080fd5b3480156100c357600080fd5b506100cc6102ed565b6040516100d991906121c0565b60405180910390f35b3480156100ee57600080fd5b5061010960048036038101906101049190611dbc565b61032a565b60405161011691906121a5565b60405180910390f35b34801561012b57600080fd5b50610134610348565b6040516101419190612322565b60405180910390f35b34801561015657600080fd5b50610171600480360381019061016c9190611d6d565b610358565b60405161017e91906121a5565b60405180910390f35b34801561019357600080fd5b5061019c610431565b6040516101a99190612397565b60405180910390f35b3480156101be57600080fd5b506101d960048036038101906101d49190611cdf565b61043a565b6040516101e69190612322565b60405180910390f35b3480156101fb57600080fd5b5061020461048b565b005b34801561021257600080fd5b5061021b6105de565b60405161022891906120d7565b60405180910390f35b34801561023d57600080fd5b50610246610607565b60405161025391906121c0565b60405180910390f35b34801561026857600080fd5b50610283600480360381019061027e9190611dbc565b610644565b60405161029091906121a5565b60405180910390f35b3480156102a557600080fd5b506102ae610662565b005b3480156102bc57600080fd5b506102d760048036038101906102d29190611d31565b610ba2565b6040516102e49190612322565b60405180910390f35b60606040518060400160405280600e81526020017f537069726974204f6620456c6f6e000000000000000000000000000000000000815250905090565b600061033e610337610c29565b8484610c31565b6001905092915050565b6000670de0b6b3a7640000905090565b6000610365848484610dfc565b61042684610371610c29565b6104218560405180606001604052806028815260200161290f60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103d7610c29565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461118b9092919063ffffffff16565b610c31565b600190509392505050565b60006009905090565b6000610484600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111ef565b9050919050565b610493610c29565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610520576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051790612282565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f534f450000000000000000000000000000000000000000000000000000000000815250905090565b6000610658610651610c29565b8484610dfc565b6001905092915050565b61066a610c29565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ee90612282565b60405180910390fd5b600c60149054906101000a900460ff1615610747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073e90612302565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107d630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a7640000610c31565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561081c57600080fd5b505afa158015610830573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108549190611d08565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b657600080fd5b505afa1580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee9190611d08565b6040518363ffffffff1660e01b815260040161090b9291906120f2565b602060405180830381600087803b15801561092557600080fd5b505af1158015610939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095d9190611d08565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306109e63061043a565b6000806109f16105de565b426040518863ffffffff1660e01b8152600401610a1396959493929190612144565b6060604051808303818588803b158015610a2c57600080fd5b505af1158015610a40573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a659190611e21565b5050506001600c60166101000a81548160ff021916908315150217905550670de0b6b3a7640000600d819055506001600c60146101000a81548160ff021916908315150217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b4c92919061211b565b602060405180830381600087803b158015610b6657600080fd5b505af1158015610b7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9e9190611df8565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c98906122e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0890612222565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610def9190612322565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e63906122c2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed3906121e2565b60405180910390fd5b60008111610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f16906122a2565b60405180910390fd5b60026008819055506004600981905550610f376105de565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610fa55750610f756105de565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561117b57600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110555750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80156110ab5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156110c157600260088190555060056009819055505b60006110cc3061043a565b9050600c60159054906101000a900460ff161580156111395750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156111515750600c60169054906101000a900460ff165b156111795761115f8161125d565b600047905060008111156111775761117647611557565b5b505b505b6111868383836115c3565b505050565b60008383111582906111d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ca91906121c0565b60405180910390fd5b50600083856111e291906124e8565b9050809150509392505050565b6000600654821115611236576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122d90612202565b60405180910390fd5b60006112406115d3565b905061125581846115fe90919063ffffffff16565b915050919050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156112bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156112e95781602001602082028036833780820191505090505b5090503081600081518110611327577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156113c957600080fd5b505afa1580156113dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114019190611d08565b8160018151811061143b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506114a230600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c31565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161150695949392919061233d565b600060405180830381600087803b15801561152057600080fd5b505af1158015611534573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156115bf573d6000803e3d6000fd5b5050565b6115ce838383611648565b505050565b60008060006115e0611813565b915091506115f781836115fe90919063ffffffff16565b9250505090565b600061164083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611872565b905092915050565b60008060008060008061165a876118d5565b9550955095509550955095506116b886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461193d90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061174d85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461198790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611799816119e5565b6117a38483611aa2565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118009190612322565b60405180910390a3505050505050505050565b600080600060065490506000670de0b6b3a76400009050611847670de0b6b3a76400006006546115fe90919063ffffffff16565b82101561186557600654670de0b6b3a764000093509350505061186e565b81819350935050505b9091565b600080831182906118b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b091906121c0565b60405180910390fd5b50600083856118c8919061245d565b9050809150509392505050565b60008060008060008060008060006118f28a600854600954611adc565b92509250925060006119026115d3565b905060008060006119158e878787611b72565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061197f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061118b565b905092915050565b60008082846119969190612407565b9050838110156119db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d290612242565b60405180910390fd5b8091505092915050565b60006119ef6115d3565b90506000611a068284611bfb90919063ffffffff16565b9050611a5a81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461198790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611ab78260065461193d90919063ffffffff16565b600681905550611ad28160075461198790919063ffffffff16565b6007819055505050565b600080600080611b086064611afa888a611bfb90919063ffffffff16565b6115fe90919063ffffffff16565b90506000611b326064611b24888b611bfb90919063ffffffff16565b6115fe90919063ffffffff16565b90506000611b5b82611b4d858c61193d90919063ffffffff16565b61193d90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611b8b8589611bfb90919063ffffffff16565b90506000611ba28689611bfb90919063ffffffff16565b90506000611bb98789611bfb90919063ffffffff16565b90506000611be282611bd4858761193d90919063ffffffff16565b61193d90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611c0e5760009050611c70565b60008284611c1c919061248e565b9050828482611c2b919061245d565b14611c6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6290612262565b60405180910390fd5b809150505b92915050565b600081359050611c85816128c9565b92915050565b600081519050611c9a816128c9565b92915050565b600081519050611caf816128e0565b92915050565b600081359050611cc4816128f7565b92915050565b600081519050611cd9816128f7565b92915050565b600060208284031215611cf157600080fd5b6000611cff84828501611c76565b91505092915050565b600060208284031215611d1a57600080fd5b6000611d2884828501611c8b565b91505092915050565b60008060408385031215611d4457600080fd5b6000611d5285828601611c76565b9250506020611d6385828601611c76565b9150509250929050565b600080600060608486031215611d8257600080fd5b6000611d9086828701611c76565b9350506020611da186828701611c76565b9250506040611db286828701611cb5565b9150509250925092565b60008060408385031215611dcf57600080fd5b6000611ddd85828601611c76565b9250506020611dee85828601611cb5565b9150509250929050565b600060208284031215611e0a57600080fd5b6000611e1884828501611ca0565b91505092915050565b600080600060608486031215611e3657600080fd5b6000611e4486828701611cca565b9350506020611e5586828701611cca565b9250506040611e6686828701611cca565b9150509250925092565b6000611e7c8383611e88565b60208301905092915050565b611e918161251c565b82525050565b611ea08161251c565b82525050565b6000611eb1826123c2565b611ebb81856123e5565b9350611ec6836123b2565b8060005b83811015611ef7578151611ede8882611e70565b9750611ee9836123d8565b925050600181019050611eca565b5085935050505092915050565b611f0d8161252e565b82525050565b611f1c81612571565b82525050565b6000611f2d826123cd565b611f3781856123f6565b9350611f47818560208601612583565b611f5081612614565b840191505092915050565b6000611f686023836123f6565b9150611f7382612625565b604082019050919050565b6000611f8b602a836123f6565b9150611f9682612674565b604082019050919050565b6000611fae6022836123f6565b9150611fb9826126c3565b604082019050919050565b6000611fd1601b836123f6565b9150611fdc82612712565b602082019050919050565b6000611ff46021836123f6565b9150611fff8261273b565b604082019050919050565b60006120176020836123f6565b91506120228261278a565b602082019050919050565b600061203a6029836123f6565b9150612045826127b3565b604082019050919050565b600061205d6025836123f6565b915061206882612802565b604082019050919050565b60006120806024836123f6565b915061208b82612851565b604082019050919050565b60006120a36017836123f6565b91506120ae826128a0565b602082019050919050565b6120c28161255a565b82525050565b6120d181612564565b82525050565b60006020820190506120ec6000830184611e97565b92915050565b60006040820190506121076000830185611e97565b6121146020830184611e97565b9392505050565b60006040820190506121306000830185611e97565b61213d60208301846120b9565b9392505050565b600060c0820190506121596000830189611e97565b61216660208301886120b9565b6121736040830187611f13565b6121806060830186611f13565b61218d6080830185611e97565b61219a60a08301846120b9565b979650505050505050565b60006020820190506121ba6000830184611f04565b92915050565b600060208201905081810360008301526121da8184611f22565b905092915050565b600060208201905081810360008301526121fb81611f5b565b9050919050565b6000602082019050818103600083015261221b81611f7e565b9050919050565b6000602082019050818103600083015261223b81611fa1565b9050919050565b6000602082019050818103600083015261225b81611fc4565b9050919050565b6000602082019050818103600083015261227b81611fe7565b9050919050565b6000602082019050818103600083015261229b8161200a565b9050919050565b600060208201905081810360008301526122bb8161202d565b9050919050565b600060208201905081810360008301526122db81612050565b9050919050565b600060208201905081810360008301526122fb81612073565b9050919050565b6000602082019050818103600083015261231b81612096565b9050919050565b600060208201905061233760008301846120b9565b92915050565b600060a08201905061235260008301886120b9565b61235f6020830187611f13565b81810360408301526123718186611ea6565b90506123806060830185611e97565b61238d60808301846120b9565b9695505050505050565b60006020820190506123ac60008301846120c8565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006124128261255a565b915061241d8361255a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612452576124516125b6565b5b828201905092915050565b60006124688261255a565b91506124738361255a565b925082612483576124826125e5565b5b828204905092915050565b60006124998261255a565b91506124a48361255a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156124dd576124dc6125b6565b5b828202905092915050565b60006124f38261255a565b91506124fe8361255a565b925082821015612511576125106125b6565b5b828203905092915050565b60006125278261253a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061257c8261255a565b9050919050565b60005b838110156125a1578082015181840152602081019050612586565b838111156125b0576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6128d28161251c565b81146128dd57600080fd5b50565b6128e98161252e565b81146128f457600080fd5b50565b6129008161255a565b811461290b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b7ad06725568dfa58dce5b10f9e53fb525bd050c928845d88c9308882c1e175464736f6c63430008040033

Deployed Bytecode Sourcemap

3974:8766:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5541:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6393:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5818:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6562:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5727:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5921:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3053:148;;;;;;;;;;;;;:::i;:::-;;2839:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5632:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6067:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9166:775;;;;;;;;;;;;;:::i;:::-;;6242:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5541:83;5578:13;5611:5;;;;;;;;;;;;;;;;;5604:12;;5541:83;:::o;6393:161::-;6468:4;6485:39;6494:12;:10;:12::i;:::-;6508:7;6517:6;6485:8;:39::i;:::-;6542:4;6535:11;;6393:161;;;;:::o;5818:95::-;5871:7;4374:11;5891:14;;5818:95;:::o;6562:313::-;6660:4;6677:36;6687:6;6695:9;6706:6;6677:9;:36::i;:::-;6724:121;6733:6;6741:12;:10;:12::i;:::-;6755:89;6793:6;6755:89;;;;;;;;;;;;;;;;;:11;:19;6767:6;6755:19;;;;;;;;;;;;;;;:33;6775:12;:10;:12::i;:::-;6755:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6724:8;:121::i;:::-;6863:4;6856:11;;6562:313;;;;;:::o;5727:83::-;5768:5;4759:1;5786:16;;5727:83;:::o;5921:138::-;5987:7;6014:37;6034:7;:16;6042:7;6034:16;;;;;;;;;;;;;;;;6014:19;:37::i;:::-;6007:44;;5921:138;;;:::o;3053:148::-;2976:12;:10;:12::i;:::-;2966:22;;:6;;;;;;;;;;:22;;;2958:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3160:1:::1;3123:40;;3144:6;::::0;::::1;;;;;;;;3123:40;;;;;;;;;;;;3191:1;3174:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3053:148::o:0;2839:79::-;2877:7;2904:6;;;;;;;;;;;2897:13;;2839:79;:::o;5632:87::-;5671:13;5704:7;;;;;;;;;;;;;;;;;5697:14;;5632:87;:::o;6067:167::-;6145:4;6162:42;6172:12;:10;:12::i;:::-;6186:9;6197:6;6162:9;:42::i;:::-;6222:4;6215:11;;6067:167;;;;:::o;9166:775::-;2976:12;:10;:12::i;:::-;2966:22;;:6;;;;;;;;;;:22;;;2958:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9230:11:::1;;;;;;;;;;;9229:12;9221:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9279:35;9336:42;9279:100;;9408:16;9390:15;;:34;;;;;;;;;;;;;;;;;;9435:58;9452:4;9467:15;;;;;;;;;;;4374:11;9435:8;:58::i;:::-;9538:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9520:56;;;9585:4;9592:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9520:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9504:13;;:112;;;;;;;;;;;;;;;;;;9627:15;;;;;;;;;;;:31;;;9666:21;9697:4;9703:24;9721:4;9703:9;:24::i;:::-;9728:1;9730::::0;9732:7:::1;:5;:7::i;:::-;9740:15;9627:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9781:4;9767:11;;:18;;;;;;;;;;;;;;;;;;9811:11;9796:12;:26;;;;9847:4;9833:11;;:18;;;;;;;;;;;;;;;;;;9869:13;;;;;;;;;;;9862:29;;;9900:15;;;;;;;;;;;9918:14;9862:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3036:1;9166:775::o:0;6242:143::-;6323:7;6350:11;:18;6362:5;6350:18;;;;;;;;;;;;;;;:27;6369:7;6350:27;;;;;;;;;;;;;;;;6343:34;;6242:143;;;;:::o;557:98::-;610:7;637:10;630:17;;557:98;:::o;7148:335::-;7258:1;7241:19;;:5;:19;;;;7233:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7339:1;7320:21;;:7;:21;;;;7312:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7421:6;7391:11;:18;7403:5;7391:18;;;;;;;;;;;;;;;:27;7410:7;7391:27;;;;;;;;;;;;;;;:36;;;;7459:7;7443:32;;7452:5;7443:32;;;7468:6;7443:32;;;;;;:::i;:::-;;;;;;;;7148:335;;;:::o;7491:1060::-;7595:1;7579:18;;:4;:18;;;;7571:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7672:1;7658:16;;:2;:16;;;;7650:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7742:1;7733:6;:10;7725:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7818:1;7800:15;:19;;;;7848:1;7830:15;:19;;;;7872:7;:5;:7::i;:::-;7864:15;;:4;:15;;;;:32;;;;;7889:7;:5;:7::i;:::-;7883:13;;:2;:13;;;;7864:32;7860:639;;;7933:15;;;;;;;;;;;7917:32;;:4;:32;;;;:55;;;;;7959:13;;;;;;;;;;;7953:19;;:2;:19;;;7917:55;:78;;;;;7978:11;:17;7990:4;7978:17;;;;;;;;;;;;;;;;;;;;;;;;;7976:19;7917:78;7913:176;;;8034:1;8016:15;:19;;;;8072:1;8054:15;:19;;;;7913:176;8103:28;8134:24;8152:4;8134:9;:24::i;:::-;8103:55;;8178:6;;;;;;;;;;;8177:7;:32;;;;;8196:13;;;;;;;;;;;8188:21;;:4;:21;;;;8177:32;:47;;;;;8213:11;;;;;;;;;;;8177:47;8173:315;;;8245:38;8262:20;8245:16;:38::i;:::-;8302:26;8331:21;8302:50;;8395:1;8374:18;:22;8371:102;;;8421:32;8431:21;8421:9;:32::i;:::-;8371:102;8173:315;;7860:639;;8513:30;8528:4;8533:2;8536:6;8513:14;:30::i;:::-;7491:1060;;;:::o;1694:190::-;1780:7;1813:1;1808;:6;;1816:12;1800:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1840:9;1856:1;1852;:5;;;;:::i;:::-;1840:17;;1875:1;1868:8;;;1694:190;;;;;:::o;6883:257::-;6950:7;6989:10;;6978:7;:21;;6970:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;7057:19;7080:10;:8;:10::i;:::-;7057:33;;7108:24;7120:11;7108:7;:11;;:24;;;;:::i;:::-;7101:31;;;6883:257;;;:::o;8559:483::-;5098:4;5089:6;;:13;;;;;;;;;;;;;;;;;;8637:21:::1;8675:1;8661:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8637:40;;8706:4;8688;8693:1;8688:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;8732:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8722:4;8727:1;8722:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;8765:62;8782:4;8797:15;;;;;;;;;;;8815:11;8765:8;:62::i;:::-;8838:15;;;;;;;;;;;:66;;;8919:11;8945:1;8961:4;8988;9008:15;8838:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5113:1;5134:5:::0;5125:6;;:14;;;;;;;;;;;;;;;;;;8559:483;:::o;9058:96::-;9112:17;;;;;;;;;;;:26;;:34;9139:6;9112:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9058:96;:::o;9957:146::-;10051:44;10069:6;10077:9;10088:6;10051:17;:44::i;:::-;9957:146;;;:::o;12295:163::-;12336:7;12357:15;12374;12393:19;:17;:19::i;:::-;12356:56;;;;12430:20;12442:7;12430;:11;;:20;;;;:::i;:::-;12423:27;;;;12295:163;:::o;2146:132::-;2204:7;2231:39;2235:1;2238;2231:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2224:46;;2146:132;;;;:::o;10111:488::-;10210:15;10227:23;10252:12;10266:23;10291:12;10305:13;10322:19;10333:7;10322:10;:19::i;:::-;10209:132;;;;;;;;;;;;10370:28;10390:7;10370;:15;10378:6;10370:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10352:7;:15;10360:6;10352:15;;;;;;;;;;;;;;;:46;;;;10430:39;10453:15;10430:7;:18;10438:9;10430:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;10409:7;:18;10417:9;10409:18;;;;;;;;;;;;;;;:60;;;;10481:16;10491:5;10481:9;:16::i;:::-;10508:23;10520:4;10526;10508:11;:23::i;:::-;10564:9;10547:44;;10556:6;10547:44;;;10575:15;10547:44;;;;;;:::i;:::-;;;;;;;;10111:488;;;;;;;;;:::o;12466:271::-;12516:7;12525;12545:15;12563:10;;12545:28;;12584:15;4374:11;12584:25;;12640:23;4374:11;12640:10;;:14;;:23;;;;:::i;:::-;12630:7;:33;12626:67;;;12673:10;;4374:11;12665:28;;;;;;;;12626:67;12712:7;12721;12704:25;;;;;;12466:271;;;:::o;2286:189::-;2372:7;2404:1;2400;:5;2407:12;2392:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2431:9;2447:1;2443;:5;;;;:::i;:::-;2431:17;;2466:1;2459:8;;;2286:189;;;;;:::o;11031:483::-;11090:7;11099;11108;11117;11126;11135;11156:23;11181:12;11195:13;11212:54;11224:7;11233:15;;11250;;11212:11;:54::i;:::-;11155:111;;;;;;11277:19;11300:10;:8;:10::i;:::-;11277:33;;11322:15;11339:23;11364:12;11380:46;11392:7;11401:4;11407:5;11414:11;11380;:46::i;:::-;11321:105;;;;;;11445:7;11454:15;11471:4;11477:15;11494:4;11500:5;11437:69;;;;;;;;;;;;;;;;;;;11031:483;;;;;;;:::o;1550:136::-;1608:7;1635:43;1639:1;1642;1635:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1628:50;;1550:136;;;;:::o;1363:179::-;1421:7;1441:9;1457:1;1453;:5;;;;:::i;:::-;1441:17;;1482:1;1477;:6;;1469:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1533:1;1526:8;;;1363:179;;;;:::o;10607:212::-;10660:19;10683:10;:8;:10::i;:::-;10660:33;;10704:13;10720:22;10730:11;10720:5;:9;;:22;;;;:::i;:::-;10704:38;;10778:33;10805:5;10778:7;:22;10794:4;10778:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;10753:7;:22;10769:4;10753:22;;;;;;;;;;;;;;;:58;;;;10607:212;;;:::o;10827:159::-;10908:20;10923:4;10908:10;;:14;;:20;;;;:::i;:::-;10895:10;:33;;;;10955:23;10973:4;10955:13;;:17;;:23;;;;:::i;:::-;10939:13;:39;;;;10827:159;;:::o;11522:351::-;11615:7;11624;11633;11653:12;11668:28;11692:3;11668:19;11680:6;11668:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;11653:43;;11707:13;11723:29;11748:3;11723:20;11735:7;11723;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;11707:45;;11763:23;11789:28;11811:5;11789:17;11801:4;11789:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;11763:54;;11836:15;11853:4;11859:5;11828:37;;;;;;;;;11522:351;;;;;;;:::o;11881:409::-;11991:7;12000;12009;12029:15;12047:24;12059:11;12047:7;:11;;:24;;;;:::i;:::-;12029:42;;12082:12;12097:21;12106:11;12097:4;:8;;:21;;;;:::i;:::-;12082:36;;12129:13;12145:22;12155:11;12145:5;:9;;:22;;;;:::i;:::-;12129:38;;12178:23;12204:28;12226:5;12204:17;12216:4;12204:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12178:54;;12251:7;12260:15;12277:4;12243:39;;;;;;;;;;11881:409;;;;;;;;:::o;1892:246::-;1950:7;1979:1;1974;:6;1970:47;;;2004:1;1997:8;;;;1970:47;2027:9;2043:1;2039;:5;;;;:::i;:::-;2027:17;;2072:1;2067;2063;:5;;;;:::i;:::-;:10;2055:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2129:1;2122:8;;;1892:246;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;361:77;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;496:87;;;;:::o;589:143::-;646:5;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;652:80;;;;:::o;738:262::-;797:6;846:2;834:9;825:7;821:23;817:32;814:2;;;862:1;859;852:12;814:2;905:1;930:53;975:7;966:6;955:9;951:22;930:53;:::i;:::-;920:63;;876:117;804:196;;;;:::o;1006:284::-;1076:6;1125:2;1113:9;1104:7;1100:23;1096:32;1093:2;;;1141:1;1138;1131:12;1093:2;1184:1;1209:64;1265:7;1256:6;1245:9;1241:22;1209:64;:::i;:::-;1199:74;;1155:128;1083:207;;;;:::o;1296:407::-;1364:6;1372;1421:2;1409:9;1400:7;1396:23;1392:32;1389:2;;;1437:1;1434;1427:12;1389:2;1480:1;1505:53;1550:7;1541:6;1530:9;1526:22;1505:53;:::i;:::-;1495:63;;1451:117;1607:2;1633:53;1678:7;1669:6;1658:9;1654:22;1633:53;:::i;:::-;1623:63;;1578:118;1379:324;;;;;:::o;1709:552::-;1786:6;1794;1802;1851:2;1839:9;1830:7;1826:23;1822:32;1819:2;;;1867:1;1864;1857:12;1819:2;1910:1;1935:53;1980:7;1971:6;1960:9;1956:22;1935:53;:::i;:::-;1925:63;;1881:117;2037:2;2063:53;2108:7;2099:6;2088:9;2084:22;2063:53;:::i;:::-;2053:63;;2008:118;2165:2;2191:53;2236:7;2227:6;2216:9;2212:22;2191:53;:::i;:::-;2181:63;;2136:118;1809:452;;;;;:::o;2267:407::-;2335:6;2343;2392:2;2380:9;2371:7;2367:23;2363:32;2360:2;;;2408:1;2405;2398:12;2360:2;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2578:2;2604:53;2649:7;2640:6;2629:9;2625:22;2604:53;:::i;:::-;2594:63;;2549:118;2350:324;;;;;:::o;2680:278::-;2747:6;2796:2;2784:9;2775:7;2771:23;2767:32;2764:2;;;2812:1;2809;2802:12;2764:2;2855:1;2880:61;2933:7;2924:6;2913:9;2909:22;2880:61;:::i;:::-;2870:71;;2826:125;2754:204;;;;:::o;2964:596::-;3052:6;3060;3068;3117:2;3105:9;3096:7;3092:23;3088:32;3085:2;;;3133:1;3130;3123:12;3085:2;3176:1;3201:64;3257:7;3248:6;3237:9;3233:22;3201:64;:::i;:::-;3191:74;;3147:128;3314:2;3340:64;3396:7;3387:6;3376:9;3372:22;3340:64;:::i;:::-;3330:74;;3285:129;3453:2;3479:64;3535:7;3526:6;3515:9;3511:22;3479:64;:::i;:::-;3469:74;;3424:129;3075:485;;;;;:::o;3566:179::-;3635:10;3656:46;3698:3;3690:6;3656:46;:::i;:::-;3734:4;3729:3;3725:14;3711:28;;3646:99;;;;:::o;3751:108::-;3828:24;3846:5;3828:24;:::i;:::-;3823:3;3816:37;3806:53;;:::o;3865:118::-;3952:24;3970:5;3952:24;:::i;:::-;3947:3;3940:37;3930:53;;:::o;4019:732::-;4138:3;4167:54;4215:5;4167:54;:::i;:::-;4237:86;4316:6;4311:3;4237:86;:::i;:::-;4230:93;;4347:56;4397:5;4347:56;:::i;:::-;4426:7;4457:1;4442:284;4467:6;4464:1;4461:13;4442:284;;;4543:6;4537:13;4570:63;4629:3;4614:13;4570:63;:::i;:::-;4563:70;;4656:60;4709:6;4656:60;:::i;:::-;4646:70;;4502:224;4489:1;4486;4482:9;4477:14;;4442:284;;;4446:14;4742:3;4735:10;;4143:608;;;;;;;:::o;4757:109::-;4838:21;4853:5;4838:21;:::i;:::-;4833:3;4826:34;4816:50;;:::o;4872:147::-;4967:45;5006:5;4967:45;:::i;:::-;4962:3;4955:58;4945:74;;:::o;5025:364::-;5113:3;5141:39;5174:5;5141:39;:::i;:::-;5196:71;5260:6;5255:3;5196:71;:::i;:::-;5189:78;;5276:52;5321:6;5316:3;5309:4;5302:5;5298:16;5276:52;:::i;:::-;5353:29;5375:6;5353:29;:::i;:::-;5348:3;5344:39;5337:46;;5117:272;;;;;:::o;5395:366::-;5537:3;5558:67;5622:2;5617:3;5558:67;:::i;:::-;5551:74;;5634:93;5723:3;5634:93;:::i;:::-;5752:2;5747:3;5743:12;5736:19;;5541:220;;;:::o;5767:366::-;5909:3;5930:67;5994:2;5989:3;5930:67;:::i;:::-;5923:74;;6006:93;6095:3;6006:93;:::i;:::-;6124:2;6119:3;6115:12;6108:19;;5913:220;;;:::o;6139:366::-;6281:3;6302:67;6366:2;6361:3;6302:67;:::i;:::-;6295:74;;6378:93;6467:3;6378:93;:::i;:::-;6496:2;6491:3;6487:12;6480:19;;6285:220;;;:::o;6511:366::-;6653:3;6674:67;6738:2;6733:3;6674:67;:::i;:::-;6667:74;;6750:93;6839:3;6750:93;:::i;:::-;6868:2;6863:3;6859:12;6852:19;;6657:220;;;:::o;6883:366::-;7025:3;7046:67;7110:2;7105:3;7046:67;:::i;:::-;7039:74;;7122:93;7211:3;7122:93;:::i;:::-;7240:2;7235:3;7231:12;7224:19;;7029:220;;;:::o;7255:366::-;7397:3;7418:67;7482:2;7477:3;7418:67;:::i;:::-;7411:74;;7494:93;7583:3;7494:93;:::i;:::-;7612:2;7607:3;7603:12;7596:19;;7401:220;;;:::o;7627:366::-;7769:3;7790:67;7854:2;7849:3;7790:67;:::i;:::-;7783:74;;7866:93;7955:3;7866:93;:::i;:::-;7984:2;7979:3;7975:12;7968:19;;7773:220;;;:::o;7999:366::-;8141:3;8162:67;8226:2;8221:3;8162:67;:::i;:::-;8155:74;;8238:93;8327:3;8238:93;:::i;:::-;8356:2;8351:3;8347:12;8340:19;;8145:220;;;:::o;8371:366::-;8513:3;8534:67;8598:2;8593:3;8534:67;:::i;:::-;8527:74;;8610:93;8699:3;8610:93;:::i;:::-;8728:2;8723:3;8719:12;8712:19;;8517:220;;;:::o;8743:366::-;8885:3;8906:67;8970:2;8965:3;8906:67;:::i;:::-;8899:74;;8982:93;9071:3;8982:93;:::i;:::-;9100:2;9095:3;9091:12;9084:19;;8889:220;;;:::o;9115:118::-;9202:24;9220:5;9202:24;:::i;:::-;9197:3;9190:37;9180:53;;:::o;9239:112::-;9322:22;9338:5;9322:22;:::i;:::-;9317:3;9310:35;9300:51;;:::o;9357:222::-;9450:4;9488:2;9477:9;9473:18;9465:26;;9501:71;9569:1;9558:9;9554:17;9545:6;9501:71;:::i;:::-;9455:124;;;;:::o;9585:332::-;9706:4;9744:2;9733:9;9729:18;9721:26;;9757:71;9825:1;9814:9;9810:17;9801:6;9757:71;:::i;:::-;9838:72;9906:2;9895:9;9891:18;9882:6;9838:72;:::i;:::-;9711:206;;;;;:::o;9923:332::-;10044:4;10082:2;10071:9;10067:18;10059:26;;10095:71;10163:1;10152:9;10148:17;10139:6;10095:71;:::i;:::-;10176:72;10244:2;10233:9;10229:18;10220:6;10176:72;:::i;:::-;10049:206;;;;;:::o;10261:807::-;10510:4;10548:3;10537:9;10533:19;10525:27;;10562:71;10630:1;10619:9;10615:17;10606:6;10562:71;:::i;:::-;10643:72;10711:2;10700:9;10696:18;10687:6;10643:72;:::i;:::-;10725:80;10801:2;10790:9;10786:18;10777:6;10725:80;:::i;:::-;10815;10891:2;10880:9;10876:18;10867:6;10815:80;:::i;:::-;10905:73;10973:3;10962:9;10958:19;10949:6;10905:73;:::i;:::-;10988;11056:3;11045:9;11041:19;11032:6;10988:73;:::i;:::-;10515:553;;;;;;;;;:::o;11074:210::-;11161:4;11199:2;11188:9;11184:18;11176:26;;11212:65;11274:1;11263:9;11259:17;11250:6;11212:65;:::i;:::-;11166:118;;;;:::o;11290:313::-;11403:4;11441:2;11430:9;11426:18;11418:26;;11490:9;11484:4;11480:20;11476:1;11465:9;11461:17;11454:47;11518:78;11591:4;11582:6;11518:78;:::i;:::-;11510:86;;11408:195;;;;:::o;11609:419::-;11775:4;11813:2;11802:9;11798:18;11790:26;;11862:9;11856:4;11852:20;11848:1;11837:9;11833:17;11826:47;11890:131;12016:4;11890:131;:::i;:::-;11882:139;;11780:248;;;:::o;12034:419::-;12200:4;12238:2;12227:9;12223:18;12215:26;;12287:9;12281:4;12277:20;12273:1;12262:9;12258:17;12251:47;12315:131;12441:4;12315:131;:::i;:::-;12307:139;;12205:248;;;:::o;12459:419::-;12625:4;12663:2;12652:9;12648:18;12640:26;;12712:9;12706:4;12702:20;12698:1;12687:9;12683:17;12676:47;12740:131;12866:4;12740:131;:::i;:::-;12732:139;;12630:248;;;:::o;12884:419::-;13050:4;13088:2;13077:9;13073:18;13065:26;;13137:9;13131:4;13127:20;13123:1;13112:9;13108:17;13101:47;13165:131;13291:4;13165:131;:::i;:::-;13157:139;;13055:248;;;:::o;13309:419::-;13475:4;13513:2;13502:9;13498:18;13490:26;;13562:9;13556:4;13552:20;13548:1;13537:9;13533:17;13526:47;13590:131;13716:4;13590:131;:::i;:::-;13582:139;;13480:248;;;:::o;13734:419::-;13900:4;13938:2;13927:9;13923:18;13915:26;;13987:9;13981:4;13977:20;13973:1;13962:9;13958:17;13951:47;14015:131;14141:4;14015:131;:::i;:::-;14007:139;;13905:248;;;:::o;14159:419::-;14325:4;14363:2;14352:9;14348:18;14340:26;;14412:9;14406:4;14402:20;14398:1;14387:9;14383:17;14376:47;14440:131;14566:4;14440:131;:::i;:::-;14432:139;;14330:248;;;:::o;14584:419::-;14750:4;14788:2;14777:9;14773:18;14765:26;;14837:9;14831:4;14827:20;14823:1;14812:9;14808:17;14801:47;14865:131;14991:4;14865:131;:::i;:::-;14857:139;;14755:248;;;:::o;15009:419::-;15175:4;15213:2;15202:9;15198:18;15190:26;;15262:9;15256:4;15252:20;15248:1;15237:9;15233:17;15226:47;15290:131;15416:4;15290:131;:::i;:::-;15282:139;;15180:248;;;:::o;15434:419::-;15600:4;15638:2;15627:9;15623:18;15615:26;;15687:9;15681:4;15677:20;15673:1;15662:9;15658:17;15651:47;15715:131;15841:4;15715:131;:::i;:::-;15707:139;;15605:248;;;:::o;15859:222::-;15952:4;15990:2;15979:9;15975:18;15967:26;;16003:71;16071:1;16060:9;16056:17;16047:6;16003:71;:::i;:::-;15957:124;;;;:::o;16087:831::-;16350:4;16388:3;16377:9;16373:19;16365:27;;16402:71;16470:1;16459:9;16455:17;16446:6;16402:71;:::i;:::-;16483:80;16559:2;16548:9;16544:18;16535:6;16483:80;:::i;:::-;16610:9;16604:4;16600:20;16595:2;16584:9;16580:18;16573:48;16638:108;16741:4;16732:6;16638:108;:::i;:::-;16630:116;;16756:72;16824:2;16813:9;16809:18;16800:6;16756:72;:::i;:::-;16838:73;16906:3;16895:9;16891:19;16882:6;16838:73;:::i;:::-;16355:563;;;;;;;;:::o;16924:214::-;17013:4;17051:2;17040:9;17036:18;17028:26;;17064:67;17128:1;17117:9;17113:17;17104:6;17064:67;:::i;:::-;17018:120;;;;:::o;17144:132::-;17211:4;17234:3;17226:11;;17264:4;17259:3;17255:14;17247:22;;17216:60;;;:::o;17282:114::-;17349:6;17383:5;17377:12;17367:22;;17356:40;;;:::o;17402:99::-;17454:6;17488:5;17482:12;17472:22;;17461:40;;;:::o;17507:113::-;17577:4;17609;17604:3;17600:14;17592:22;;17582:38;;;:::o;17626:184::-;17725:11;17759:6;17754:3;17747:19;17799:4;17794:3;17790:14;17775:29;;17737:73;;;;:::o;17816:169::-;17900:11;17934:6;17929:3;17922:19;17974:4;17969:3;17965:14;17950:29;;17912:73;;;;:::o;17991:305::-;18031:3;18050:20;18068:1;18050:20;:::i;:::-;18045:25;;18084:20;18102:1;18084:20;:::i;:::-;18079:25;;18238:1;18170:66;18166:74;18163:1;18160:81;18157:2;;;18244:18;;:::i;:::-;18157:2;18288:1;18285;18281:9;18274:16;;18035:261;;;;:::o;18302:185::-;18342:1;18359:20;18377:1;18359:20;:::i;:::-;18354:25;;18393:20;18411:1;18393:20;:::i;:::-;18388:25;;18432:1;18422:2;;18437:18;;:::i;:::-;18422:2;18479:1;18476;18472:9;18467:14;;18344:143;;;;:::o;18493:348::-;18533:7;18556:20;18574:1;18556:20;:::i;:::-;18551:25;;18590:20;18608:1;18590:20;:::i;:::-;18585:25;;18778:1;18710:66;18706:74;18703:1;18700:81;18695:1;18688:9;18681:17;18677:105;18674:2;;;18785:18;;:::i;:::-;18674:2;18833:1;18830;18826:9;18815:20;;18541:300;;;;:::o;18847:191::-;18887:4;18907:20;18925:1;18907:20;:::i;:::-;18902:25;;18941:20;18959:1;18941:20;:::i;:::-;18936:25;;18980:1;18977;18974:8;18971:2;;;18985:18;;:::i;:::-;18971:2;19030:1;19027;19023:9;19015:17;;18892:146;;;;:::o;19044:96::-;19081:7;19110:24;19128:5;19110:24;:::i;:::-;19099:35;;19089:51;;;:::o;19146:90::-;19180:7;19223:5;19216:13;19209:21;19198:32;;19188:48;;;:::o;19242:126::-;19279:7;19319:42;19312:5;19308:54;19297:65;;19287:81;;;:::o;19374:77::-;19411:7;19440:5;19429:16;;19419:32;;;:::o;19457:86::-;19492:7;19532:4;19525:5;19521:16;19510:27;;19500:43;;;:::o;19549:121::-;19607:9;19640:24;19658:5;19640:24;:::i;:::-;19627:37;;19617:53;;;:::o;19676:307::-;19744:1;19754:113;19768:6;19765:1;19762:13;19754:113;;;19853:1;19848:3;19844:11;19838:18;19834:1;19829:3;19825:11;19818:39;19790:2;19787:1;19783:10;19778:15;;19754:113;;;19885:6;19882:1;19879:13;19876:2;;;19965:1;19956:6;19951:3;19947:16;19940:27;19876:2;19725:258;;;;:::o;19989:180::-;20037:77;20034:1;20027:88;20134:4;20131:1;20124:15;20158:4;20155:1;20148:15;20175:180;20223:77;20220:1;20213:88;20320:4;20317:1;20310:15;20344:4;20341:1;20334:15;20361:102;20402:6;20453:2;20449:7;20444:2;20437:5;20433:14;20429:28;20419:38;;20409:54;;;:::o;20469:222::-;20609:34;20605:1;20597:6;20593:14;20586:58;20678:5;20673:2;20665:6;20661:15;20654:30;20575:116;:::o;20697:229::-;20837:34;20833:1;20825:6;20821:14;20814:58;20906:12;20901:2;20893:6;20889:15;20882:37;20803:123;:::o;20932:221::-;21072:34;21068:1;21060:6;21056:14;21049:58;21141:4;21136:2;21128:6;21124:15;21117:29;21038:115;:::o;21159:177::-;21299:29;21295:1;21287:6;21283:14;21276:53;21265:71;:::o;21342:220::-;21482:34;21478:1;21470:6;21466:14;21459:58;21551:3;21546:2;21538:6;21534:15;21527:28;21448:114;:::o;21568:182::-;21708:34;21704:1;21696:6;21692:14;21685:58;21674:76;:::o;21756:228::-;21896:34;21892:1;21884:6;21880:14;21873:58;21965:11;21960:2;21952:6;21948:15;21941:36;21862:122;:::o;21990:224::-;22130:34;22126:1;22118:6;22114:14;22107:58;22199:7;22194:2;22186:6;22182:15;22175:32;22096:118;:::o;22220:223::-;22360:34;22356:1;22348:6;22344:14;22337:58;22429:6;22424:2;22416:6;22412:15;22405:31;22326:117;:::o;22449:173::-;22589:25;22585:1;22577:6;22573:14;22566:49;22555:67;:::o;22628:122::-;22701:24;22719:5;22701:24;:::i;:::-;22694:5;22691:35;22681:2;;22740:1;22737;22730:12;22681:2;22671:79;:::o;22756:116::-;22826:21;22841:5;22826:21;:::i;:::-;22819:5;22816:32;22806:2;;22862:1;22859;22852:12;22806:2;22796:76;:::o;22878:122::-;22951:24;22969:5;22951:24;:::i;:::-;22944:5;22941:35;22931:2;;22990:1;22987;22980:12;22931:2;22921:79;:::o

Swarm Source

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