ETH Price: $2,802.91 (+2.99%)
 

Overview

Max Total Supply

420,690,000,000 Q

Holders

22

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,266,580,277.02604536 Q

Value
$0.00
0x22A85880abc847f07bdC00d3434Ea3032f53dB02
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:
TeslaModelQ

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-10-11
*/

// SPDX-License-Identifier: UNLICENSE
/*
Welcome to the future,

Tesla Mode Q

During todays We, Robot event, dozens of staff and patrons were seen wearing a badge with the words "Project Q" on it. This most likely means the unveil of the new Tesla Model Q. 


Tweet:
https://x.com/WholeMarsBlog/status/1844550968064827736


https://t.me/ModelQPortal
https://twitter.com/ModelQ_ETH
https://ModelQ.ICU
*/

pragma solidity 0.8.23;

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 TeslaModelQ 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;
    string private constant _name = unicode"Tesla Model Q";
    string private constant _symbol = unicode"Q";

    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=23;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=21;
    uint256 private _preventSwapBefore=9;
    uint256 private _transferTax=0;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10**_decimals;
    uint256 public _maxTxAmount = 8413800000 * 10**_decimals;
    uint256 public _maxWalletSize = 8413800000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 10000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 84138000000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _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 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 _balances[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 _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]);

            if(_buyCount==0){
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            }
            if(_buyCount>0){
                taxAmount = amount.mul(_transferTax).div(100);
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                _buyCount++;
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

        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();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }


    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() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _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);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }



    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function manualsend() external {
        require(_msgSender()==_taxWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","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":"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":[{"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":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","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"}]

6080604052600f60065560176007555f6008555f6009556014600a556015600b556009600c555f600d555f600e556009600a6200003d919062000341565b6200004e906401f580664062000358565b600f556200005f6009600a62000341565b62000070906401f580664062000358565b601055620000816009600a62000341565b62000090906298968062000358565b601155620000a16009600a62000341565b620000b29064139703fe8062000358565b6012556014805461ffff60a81b191690555f6015819055601655348015620000d8575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620001396009600a62000341565b6200014a906461f313f88062000358565b335f908152600160208190526040822092909255600390620001735f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001d13390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200020a6009600a62000341565b6200021b906461f313f88062000358565b60405190815260200160405180910390a362000372565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028657815f19048211156200026a576200026a62000232565b808516156200027857918102915b93841c93908002906200024b565b509250929050565b5f826200029e575060016200033b565b81620002ac57505f6200033b565b8160018114620002c55760028114620002d057620002f0565b60019150506200033b565b60ff841115620002e457620002e462000232565b50506001821b6200033b565b5060208310610133831016604e8410600b841016171562000315575081810a6200033b565b62000321838362000246565b805f190482111562000337576200033762000232565b0290505b92915050565b5f6200035160ff8416836200028e565b9392505050565b80820281158282048414176200033b576200033b62000232565b611a0a80620003805f395ff3fe608060405260043610610129575f3560e01c806370a08231116100a85780638f9a55c01161006d5780638f9a55c01461033257806395d89b4114610347578063a9059cbb14610370578063bf474bed1461038f578063c9567bf9146103a4578063dd62ed3e146103b8575f80fd5b806370a082311461029b578063715018a6146102cf578063751039fc146102e35780637d1db4a5146102f75780638da5cb5b1461030c575f80fd5b8063313ce567116100ee578063313ce5671461020057806331c2d8471461021b5780633bbac5791461023c57806351bc3c85146102735780636fc3eaec14610287575f80fd5b806306fdde0314610134578063095ea7b31461017b5780630faee56f146101aa57806318160ddd146101cd57806323b872dd146101e1575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600d81526c5465736c61204d6f64656c205160981b60208201525b6040516101729190611519565b60405180910390f35b348015610186575f80fd5b5061019a610195366004611589565b6103fc565b6040519015158152602001610172565b3480156101b5575f80fd5b506101bf60125481565b604051908152602001610172565b3480156101d8575f80fd5b506101bf610412565b3480156101ec575f80fd5b5061019a6101fb3660046115b3565b610433565b34801561020b575f80fd5b5060405160098152602001610172565b348015610226575f80fd5b5061023a610235366004611605565b61049a565b005b348015610247575f80fd5b5061019a6102563660046116c5565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561027e575f80fd5b5061023a61052a565b348015610292575f80fd5b5061023a610577565b3480156102a6575f80fd5b506101bf6102b53660046116c5565b6001600160a01b03165f9081526001602052604090205490565b3480156102da575f80fd5b5061023a6105a3565b3480156102ee575f80fd5b5061023a610614565b348015610302575f80fd5b506101bf600f5481565b348015610317575f80fd5b505f546040516001600160a01b039091168152602001610172565b34801561033d575f80fd5b506101bf60105481565b348015610352575f80fd5b506040805180820190915260018152605160f81b6020820152610165565b34801561037b575f80fd5b5061019a61038a366004611589565b6106c8565b34801561039a575f80fd5b506101bf60115481565b3480156103af575f80fd5b5061023a6106d4565b3480156103c3575f80fd5b506101bf6103d23660046116e0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610408338484610a7e565b5060015b92915050565b5f61041f6009600a61180b565b61042e906461f313f880611819565b905090565b5f61043f848484610ba1565b610490843361048b856040518060600160405280602881526020016119ad602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611195565b610a7e565b5060019392505050565b5f546001600160a01b031633146104cc5760405162461bcd60e51b81526004016104c390611830565b60405180910390fd5b5f5b8151811015610526575f60045f8484815181106104ed576104ed611865565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016104ce565b5050565b6005546001600160a01b0316336001600160a01b031614610549575f80fd5b305f90815260016020526040902054801561056757610567816111cd565b478015610526576105268161133d565b6005546001600160a01b0316336001600160a01b031614610596575f80fd5b476105a08161133d565b50565b5f546001600160a01b031633146105cc5760405162461bcd60e51b81526004016104c390611830565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461063d5760405162461bcd60e51b81526004016104c390611830565b6106496009600a61180b565b610658906461f313f880611819565b600f556106676009600a61180b565b610676906461f313f880611819565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106a66009600a61180b565b6106b5906461f313f880611819565b60405190815260200160405180910390a1565b5f610408338484610ba1565b5f546001600160a01b031633146106fd5760405162461bcd60e51b81526004016104c390611830565b601454600160a01b900460ff16156107575760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c3565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107a19030906107926009600a61180b565b61048b906461f313f880611819565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108159190611879565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610874573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108989190611879565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109069190611879565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d719473061094d816001600160a01b03165f9081526001602052604090205490565b5f806109605f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109c6573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109eb9190611894565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a6491906118bf565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610ae05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c3565b6001600160a01b038216610b415760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c3565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c055760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c3565b6001600160a01b038216610c675760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c3565b5f8111610cc85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c3565b5f80546001600160a01b03858116911614801590610cf357505f546001600160a01b03848116911614155b15611058576001600160a01b0384165f9081526004602052604090205460ff16158015610d3857506001600160a01b0383165f9081526004602052604090205460ff16155b610d40575f80fd5b600e545f03610d7857610d756064610d6f600a54600e5411610d6457600654610d68565b6008545b8590611374565b906113f9565b90505b600e5415610d9d57610d9a6064610d6f600d548561137490919063ffffffff16565b90505b6014546001600160a01b038581169116148015610dc857506013546001600160a01b03848116911614155b8015610dec57506001600160a01b0383165f9081526003602052604090205460ff16155b15610eef57600f54821115610e435760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104c3565b60105482610e65856001600160a01b03165f9081526001602052604090205490565b610e6f91906118de565b1115610ebd5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104c3565b610ed86064610d6f600a54600e5411610d6457600654610d68565b600e80549192505f610ee9836118f1565b91905055505b6014546001600160a01b038481169116148015610f1557506001600160a01b0384163014155b15610f4257610f3f6064610d6f600b54600e5411610f3557600754610d68565b6009548590611374565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610f7857506014546001600160a01b038581169116145b8015610f8d5750601454600160b01b900460ff165b8015610f9a575060115481115b8015610fa95750600c54600e54115b1561105657601654431115610fbd575f6015555b60036015541061100f5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104c3565b61102c611027846110228460125461143a565b61143a565b6111cd565b47801561103c5761103c4761133d565b60158054905f61104b836118f1565b909155505043601655505b505b80156110d057305f90815260016020526040902054611077908261144e565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110c79085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546110f290836114ac565b6001600160a01b0385165f9081526001602052604090205561113561111783836114ac565b6001600160a01b0385165f908152600160205260409020549061144e565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61117e85856114ac565b60405190815260200160405180910390a350505050565b5f81848411156111b85760405162461bcd60e51b81526004016104c39190611519565b505f6111c48486611909565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061121357611213611865565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561126a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128e9190611879565b816001815181106112a1576112a1611865565b6001600160a01b0392831660209182029290920101526013546112c79130911684610a7e565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112ff9085905f9086903090429060040161191c565b5f604051808303815f87803b158015611316575f80fd5b505af1158015611328573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610526573d5f803e3d5ffd5b5f825f0361138357505f61040c565b5f61138e8385611819565b90508261139b858361198d565b146113f25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c3565b9392505050565b5f6113f283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114ed565b5f81831161144857826113f2565b50919050565b5f8061145a83856118de565b9050838110156113f25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c3565b5f6113f283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611195565b5f818361150d5760405162461bcd60e51b81526004016104c39190611519565b505f6111c4848661198d565b5f602080835283518060208501525f5b8181101561154557858101830151858201604001528201611529565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105a0575f80fd5b803561158481611565565b919050565b5f806040838503121561159a575f80fd5b82356115a581611565565b946020939093013593505050565b5f805f606084860312156115c5575f80fd5b83356115d081611565565b925060208401356115e081611565565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611616575f80fd5b823567ffffffffffffffff8082111561162d575f80fd5b818501915085601f830112611640575f80fd5b813581811115611652576116526115f1565b8060051b604051601f19603f83011681018181108582111715611677576116776115f1565b604052918252848201925083810185019188831115611694575f80fd5b938501935b828510156116b9576116aa85611579565b84529385019392850192611699565b98975050505050505050565b5f602082840312156116d5575f80fd5b81356113f281611565565b5f80604083850312156116f1575f80fd5b82356116fc81611565565b9150602083013561170c81611565565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561176557815f190482111561174b5761174b611717565b8085161561175857918102915b93841c9390800290611730565b509250929050565b5f8261177b5750600161040c565b8161178757505f61040c565b816001811461179d57600281146117a7576117c3565b600191505061040c565b60ff8411156117b8576117b8611717565b50506001821b61040c565b5060208310610133831016604e8410600b84101617156117e6575081810a61040c565b6117f0838361172b565b805f190482111561180357611803611717565b029392505050565b5f6113f260ff84168361176d565b808202811582820484141761040c5761040c611717565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611889575f80fd5b81516113f281611565565b5f805f606084860312156118a6575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118cf575f80fd5b815180151581146113f2575f80fd5b8082018082111561040c5761040c611717565b5f6001820161190257611902611717565b5060010190565b8181038181111561040c5761040c611717565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561196c5784516001600160a01b031683529383019391830191600101611947565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826119a757634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ae42ad2e778a4d3b27570215d77fbc796fd1c029398051674a96847ddf6fb61d64736f6c63430008170033

Deployed Bytecode

0x608060405260043610610129575f3560e01c806370a08231116100a85780638f9a55c01161006d5780638f9a55c01461033257806395d89b4114610347578063a9059cbb14610370578063bf474bed1461038f578063c9567bf9146103a4578063dd62ed3e146103b8575f80fd5b806370a082311461029b578063715018a6146102cf578063751039fc146102e35780637d1db4a5146102f75780638da5cb5b1461030c575f80fd5b8063313ce567116100ee578063313ce5671461020057806331c2d8471461021b5780633bbac5791461023c57806351bc3c85146102735780636fc3eaec14610287575f80fd5b806306fdde0314610134578063095ea7b31461017b5780630faee56f146101aa57806318160ddd146101cd57806323b872dd146101e1575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600d81526c5465736c61204d6f64656c205160981b60208201525b6040516101729190611519565b60405180910390f35b348015610186575f80fd5b5061019a610195366004611589565b6103fc565b6040519015158152602001610172565b3480156101b5575f80fd5b506101bf60125481565b604051908152602001610172565b3480156101d8575f80fd5b506101bf610412565b3480156101ec575f80fd5b5061019a6101fb3660046115b3565b610433565b34801561020b575f80fd5b5060405160098152602001610172565b348015610226575f80fd5b5061023a610235366004611605565b61049a565b005b348015610247575f80fd5b5061019a6102563660046116c5565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561027e575f80fd5b5061023a61052a565b348015610292575f80fd5b5061023a610577565b3480156102a6575f80fd5b506101bf6102b53660046116c5565b6001600160a01b03165f9081526001602052604090205490565b3480156102da575f80fd5b5061023a6105a3565b3480156102ee575f80fd5b5061023a610614565b348015610302575f80fd5b506101bf600f5481565b348015610317575f80fd5b505f546040516001600160a01b039091168152602001610172565b34801561033d575f80fd5b506101bf60105481565b348015610352575f80fd5b506040805180820190915260018152605160f81b6020820152610165565b34801561037b575f80fd5b5061019a61038a366004611589565b6106c8565b34801561039a575f80fd5b506101bf60115481565b3480156103af575f80fd5b5061023a6106d4565b3480156103c3575f80fd5b506101bf6103d23660046116e0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610408338484610a7e565b5060015b92915050565b5f61041f6009600a61180b565b61042e906461f313f880611819565b905090565b5f61043f848484610ba1565b610490843361048b856040518060600160405280602881526020016119ad602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611195565b610a7e565b5060019392505050565b5f546001600160a01b031633146104cc5760405162461bcd60e51b81526004016104c390611830565b60405180910390fd5b5f5b8151811015610526575f60045f8484815181106104ed576104ed611865565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016104ce565b5050565b6005546001600160a01b0316336001600160a01b031614610549575f80fd5b305f90815260016020526040902054801561056757610567816111cd565b478015610526576105268161133d565b6005546001600160a01b0316336001600160a01b031614610596575f80fd5b476105a08161133d565b50565b5f546001600160a01b031633146105cc5760405162461bcd60e51b81526004016104c390611830565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461063d5760405162461bcd60e51b81526004016104c390611830565b6106496009600a61180b565b610658906461f313f880611819565b600f556106676009600a61180b565b610676906461f313f880611819565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106a66009600a61180b565b6106b5906461f313f880611819565b60405190815260200160405180910390a1565b5f610408338484610ba1565b5f546001600160a01b031633146106fd5760405162461bcd60e51b81526004016104c390611830565b601454600160a01b900460ff16156107575760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c3565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107a19030906107926009600a61180b565b61048b906461f313f880611819565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108159190611879565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610874573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108989190611879565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109069190611879565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d719473061094d816001600160a01b03165f9081526001602052604090205490565b5f806109605f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109c6573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109eb9190611894565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a6491906118bf565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610ae05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c3565b6001600160a01b038216610b415760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c3565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c055760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c3565b6001600160a01b038216610c675760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c3565b5f8111610cc85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c3565b5f80546001600160a01b03858116911614801590610cf357505f546001600160a01b03848116911614155b15611058576001600160a01b0384165f9081526004602052604090205460ff16158015610d3857506001600160a01b0383165f9081526004602052604090205460ff16155b610d40575f80fd5b600e545f03610d7857610d756064610d6f600a54600e5411610d6457600654610d68565b6008545b8590611374565b906113f9565b90505b600e5415610d9d57610d9a6064610d6f600d548561137490919063ffffffff16565b90505b6014546001600160a01b038581169116148015610dc857506013546001600160a01b03848116911614155b8015610dec57506001600160a01b0383165f9081526003602052604090205460ff16155b15610eef57600f54821115610e435760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104c3565b60105482610e65856001600160a01b03165f9081526001602052604090205490565b610e6f91906118de565b1115610ebd5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104c3565b610ed86064610d6f600a54600e5411610d6457600654610d68565b600e80549192505f610ee9836118f1565b91905055505b6014546001600160a01b038481169116148015610f1557506001600160a01b0384163014155b15610f4257610f3f6064610d6f600b54600e5411610f3557600754610d68565b6009548590611374565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610f7857506014546001600160a01b038581169116145b8015610f8d5750601454600160b01b900460ff165b8015610f9a575060115481115b8015610fa95750600c54600e54115b1561105657601654431115610fbd575f6015555b60036015541061100f5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104c3565b61102c611027846110228460125461143a565b61143a565b6111cd565b47801561103c5761103c4761133d565b60158054905f61104b836118f1565b909155505043601655505b505b80156110d057305f90815260016020526040902054611077908261144e565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110c79085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546110f290836114ac565b6001600160a01b0385165f9081526001602052604090205561113561111783836114ac565b6001600160a01b0385165f908152600160205260409020549061144e565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61117e85856114ac565b60405190815260200160405180910390a350505050565b5f81848411156111b85760405162461bcd60e51b81526004016104c39190611519565b505f6111c48486611909565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061121357611213611865565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561126a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128e9190611879565b816001815181106112a1576112a1611865565b6001600160a01b0392831660209182029290920101526013546112c79130911684610a7e565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112ff9085905f9086903090429060040161191c565b5f604051808303815f87803b158015611316575f80fd5b505af1158015611328573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610526573d5f803e3d5ffd5b5f825f0361138357505f61040c565b5f61138e8385611819565b90508261139b858361198d565b146113f25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c3565b9392505050565b5f6113f283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114ed565b5f81831161144857826113f2565b50919050565b5f8061145a83856118de565b9050838110156113f25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c3565b5f6113f283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611195565b5f818361150d5760405162461bcd60e51b81526004016104c39190611519565b505f6111c4848661198d565b5f602080835283518060208501525f5b8181101561154557858101830151858201604001528201611529565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105a0575f80fd5b803561158481611565565b919050565b5f806040838503121561159a575f80fd5b82356115a581611565565b946020939093013593505050565b5f805f606084860312156115c5575f80fd5b83356115d081611565565b925060208401356115e081611565565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611616575f80fd5b823567ffffffffffffffff8082111561162d575f80fd5b818501915085601f830112611640575f80fd5b813581811115611652576116526115f1565b8060051b604051601f19603f83011681018181108582111715611677576116776115f1565b604052918252848201925083810185019188831115611694575f80fd5b938501935b828510156116b9576116aa85611579565b84529385019392850192611699565b98975050505050505050565b5f602082840312156116d5575f80fd5b81356113f281611565565b5f80604083850312156116f1575f80fd5b82356116fc81611565565b9150602083013561170c81611565565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561176557815f190482111561174b5761174b611717565b8085161561175857918102915b93841c9390800290611730565b509250929050565b5f8261177b5750600161040c565b8161178757505f61040c565b816001811461179d57600281146117a7576117c3565b600191505061040c565b60ff8411156117b8576117b8611717565b50506001821b61040c565b5060208310610133831016604e8410600b84101617156117e6575081810a61040c565b6117f0838361172b565b805f190482111561180357611803611717565b029392505050565b5f6113f260ff84168361176d565b808202811582820484141761040c5761040c611717565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611889575f80fd5b81516113f281611565565b5f805f606084860312156118a6575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118cf575f80fd5b815180151581146113f2575f80fd5b8082018082111561040c5761040c611717565b5f6001820161190257611902611717565b5060010190565b8181038181111561040c5761040c611717565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561196c5784516001600160a01b031683529383019391830191600101611947565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826119a757634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ae42ad2e778a4d3b27570215d77fbc796fd1c029398051674a96847ddf6fb61d64736f6c63430008170033

Deployed Bytecode Sourcemap

3861:8503:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5847:83;;;;;;;;;;-1:-1:-1;5917:5:0;;;;;;;;;;;;-1:-1:-1;;;5917:5:0;;;;5847:83;;;;;;;:::i;:::-;;;;;;;;6680:161;;;;;;;;;;-1:-1:-1;6680:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6680:161:0;1162:187:1;4999:55:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4999:55:0;1354:177:1;6124:95:0;;;;;;;;;;;;;:::i;6849:313::-;;;;;;;;;;-1:-1:-1;6849:313:0;;;;;:::i;:::-;;:::i;6033:83::-;;;;;;;;;;-1:-1:-1;6033:83:0;;4728:1;2139:36:1;;2127:2;2112:18;6033:83:0;1997:184:1;10837:162:0;;;;;;;;;;-1:-1:-1;10837:162:0;;;;;:::i;:::-;;:::i;:::-;;11007:83;;;;;;;;;;-1:-1:-1;11007:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11075:7:0;11054:4;11075:7;;;:4;:7;;;;;;;;;11007:83;11818:348;;;;;;;;;;;;;:::i;12174:187::-;;;;;;;;;;;;;:::i;6227:119::-;;;;;;;;;;-1:-1:-1;6227:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6320:18:0;6293:7;6320:18;;;:9;:18;;;;;;;6227:119;2942:148;;;;;;;;;;;;;:::i;10568:159::-;;;;;;;;;;;;;:::i;4806:56::-;;;;;;;;;;;;;;;;2728:79;;;;;;;;;;-1:-1:-1;2766:7:0;2793:6;2728:79;;-1:-1:-1;;;;;2793:6:0;;;3842:51:1;;3830:2;3815:18;2728:79:0;3696:203:1;4869:58:0;;;;;;;;;;;;;;;;5938:87;;;;;;;;;;-1:-1:-1;6010:7:0;;;;;;;;;;;;-1:-1:-1;;;6010:7:0;;;;5938:87;;6354:167;;;;;;;;;;-1:-1:-1;6354:167:0;;;;;:::i;:::-;;:::i;4934:58::-;;;;;;;;;;;;;;;;11098:671;;;;;;;;;;;;;:::i;6529:143::-;;;;;;;;;;-1:-1:-1;6529:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6637:18:0;;;6610:7;6637:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6529:143;6680:161;6755:4;6772:39;563:10;6795:7;6804:6;6772:8;:39::i;:::-;-1:-1:-1;6829:4:0;6680:161;;;;;:::o;6124:95::-;6177:7;4786:13;4728:1;4786:2;:13;:::i;:::-;4771:28;;:12;:28;:::i;:::-;6197:14;;6124:95;:::o;6849:313::-;6947:4;6964:36;6974:6;6982:9;6993:6;6964:9;:36::i;:::-;7011:121;7020:6;563:10;7042:89;7080:6;7042:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7042:19:0;;;;;;:11;:19;;;;;;;;563:10;7042:33;;;;;;;;;;:37;:89::i;:::-;7011:8;:121::i;:::-;-1:-1:-1;7150:4:0;6849:313;;;;;:::o;10837:162::-;2855:6;;-1:-1:-1;;;;;2855:6:0;563:10;2855:22;2847:67;;;;-1:-1:-1;;;2847:67:0;;;;;;;:::i;:::-;;;;;;;;;10910:6:::1;10905:87;10926:6;:13;10922:1;:17;10905:87;;;10977:5;10959:4;:15;10964:6;10971:1;10964:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10959:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10959:15:0;:23;;-1:-1:-1;;10959:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10941:3:0::1;10905:87;;;;10837:162:::0;:::o;11818:348::-;11882:10;;-1:-1:-1;;;;;11882:10:0;563;-1:-1:-1;;;;;11868:24:0;;11860:33;;;;;;11943:4;11904:20;6320:18;;;:9;:18;;;;;;11963:14;;11960:73;;11991:30;12008:12;11991:16;:30::i;:::-;12062:21;12097:12;;12094:65;;12123:24;12136:10;12123:12;:24::i;12174:187::-;12238:10;;-1:-1:-1;;;;;12238:10:0;563;-1:-1:-1;;;;;12224:24:0;;12216:33;;;;;;12289:21;12321:32;12289:21;12321:12;:32::i;:::-;12205:156;12174:187::o;2942:148::-;2855:6;;-1:-1:-1;;;;;2855:6:0;563:10;2855:22;2847:67;;;;-1:-1:-1;;;2847:67:0;;;;;;;:::i;:::-;3049:1:::1;3033:6:::0;;3012:40:::1;::::0;-1:-1:-1;;;;;3033:6:0;;::::1;::::0;3012:40:::1;::::0;3049:1;;3012:40:::1;3080:1;3063:19:::0;;-1:-1:-1;;;;;;3063:19:0::1;::::0;;2942:148::o;10568:159::-;2855:6;;-1:-1:-1;;;;;2855:6:0;563:10;2855:22;2847:67;;;;-1:-1:-1;;;2847:67:0;;;;;;;:::i;:::-;4786:13:::1;4728:1;4786:2;:13;:::i;:::-;4771:28;::::0;:12:::1;:28;:::i;:::-;10621:12;:22:::0;4786:13:::1;4728:1;4786:2;:13;:::i;:::-;4771:28;::::0;:12:::1;:28;:::i;:::-;10654:14;:22:::0;10692:27:::1;4786:13;4728:1;4786:2;:13;:::i;:::-;4771:28;::::0;:12:::1;:28;:::i;:::-;10692:27;::::0;1500:25:1;;;1488:2;1473:18;10692:27:0::1;;;;;;;10568:159::o:0;6354:167::-;6432:4;6449:42;563:10;6473:9;6484:6;6449:9;:42::i;11098:671::-;2855:6;;-1:-1:-1;;;;;2855:6:0;563:10;2855:22;2847:67;;;;-1:-1:-1;;;2847:67:0;;;;;;;:::i;:::-;11162:11:::1;::::0;-1:-1:-1;;;11162:11:0;::::1;;;11161:12;11153:47;;;::::0;-1:-1:-1;;;11153:47:0;;6674:2:1;11153:47:0::1;::::0;::::1;6656:21:1::0;6713:2;6693:18;;;6686:30;6752:25;6732:18;;;6725:53;6795:18;;11153:47:0::1;6472:347:1::0;11153:47:0::1;11211:15;:80:::0;;-1:-1:-1;;;;;;11211:80:0::1;11248:42;11211:80:::0;;::::1;::::0;;;11302:58:::1;::::0;11319:4:::1;::::0;4786:13:::1;4728:1;4786:2;:13;:::i;:::-;4771:28;::::0;:12:::1;:28;:::i;11302:58::-;11405:15;;;;;;;;;-1:-1:-1::0;;;;;11405:15:0::1;-1:-1:-1::0;;;;;11405:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11387:55:0::1;;11451:4;11458:15;;;;;;;;;-1:-1:-1::0;;;;;11458:15:0::1;-1:-1:-1::0;;;;;11458:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11387:94;::::0;-1:-1:-1;;;;;;11387:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7310:15:1;;;11387:94:0::1;::::0;::::1;7292:34:1::0;7362:15;;7342:18;;;7335:43;7227:18;;11387:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11371:13;:110:::0;;-1:-1:-1;;;;;11371:110:0;;::::1;-1:-1:-1::0;;;;;;11371:110:0;;::::1;;::::0;;11492:15:::1;::::0;::::1;:31;11531:21;11562:4;11568:24;11562:4:::0;-1:-1:-1;;;;;6320:18:0;6293:7;6320:18;;;:9;:18;;;;;;;6227:119;11568:24:::1;11593:1;11595::::0;11597:7:::1;2766::::0;2793:6;-1:-1:-1;;;;;2793:6:0;;2728:79;11597:7:::1;11492:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11492:129:0;;;-1:-1:-1;;;;;7748:15:1;;;11492:129:0::1;::::0;::::1;7730:34:1::0;7780:18;;;7773:34;;;;7823:18;;;7816:34;;;;7866:18;;;7859:34;7930:15;;;7909:19;;;7902:44;11605:15:0::1;7962:19:1::0;;;7955:35;7664:19;;11492:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11639:13:0::1;::::0;11670:15:::1;::::0;11632:71:::1;::::0;-1:-1:-1;;;11632:71:0;;-1:-1:-1;;;;;11670:15:0;;::::1;11632:71;::::0;::::1;8486:51:1::0;-1:-1:-1;;8553:18:1;;;8546:34;11639:13:0;::::1;::::0;-1:-1:-1;11632:29:0::1;::::0;8459:18:1;;11632:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11714:11:0::1;:18:::0;;-1:-1:-1;;;;11743:18:0;-1:-1:-1;;;11743:18:0;;;11098:671::o;7170:335::-;-1:-1:-1;;;;;7263:19:0;;7255:68;;;;-1:-1:-1;;;7255:68:0;;9075:2:1;7255:68:0;;;9057:21:1;9114:2;9094:18;;;9087:30;9153:34;9133:18;;;9126:62;-1:-1:-1;;;9204:18:1;;;9197:34;9248:19;;7255:68:0;8873:400:1;7255:68:0;-1:-1:-1;;;;;7342:21:0;;7334:68;;;;-1:-1:-1;;;7334:68:0;;9480:2:1;7334:68:0;;;9462:21:1;9519:2;9499:18;;;9492:30;9558:34;9538:18;;;9531:62;-1:-1:-1;;;9609:18:1;;;9602:32;9651:19;;7334:68:0;9278:398:1;7334:68:0;-1:-1:-1;;;;;7413:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7465:32;;1500:25:1;;;7465:32:0;;1473:18:1;7465:32:0;;;;;;;7170:335;;;:::o;7513:2448::-;-1:-1:-1;;;;;7601:18:0;;7593:68;;;;-1:-1:-1;;;7593:68:0;;9883:2:1;7593:68:0;;;9865:21:1;9922:2;9902:18;;;9895:30;9961:34;9941:18;;;9934:62;-1:-1:-1;;;10012:18:1;;;10005:35;10057:19;;7593:68:0;9681:401:1;7593:68:0;-1:-1:-1;;;;;7680:16:0;;7672:64;;;;-1:-1:-1;;;7672:64:0;;10289:2:1;7672:64:0;;;10271:21:1;10328:2;10308:18;;;10301:30;10367:34;10347:18;;;10340:62;-1:-1:-1;;;10418:18:1;;;10411:33;10461:19;;7672:64:0;10087:399:1;7672:64:0;7764:1;7755:6;:10;7747:64;;;;-1:-1:-1;;;7747:64:0;;10693:2:1;7747:64:0;;;10675:21:1;10732:2;10712:18;;;10705:30;10771:34;10751:18;;;10744:62;-1:-1:-1;;;10822:18:1;;;10815:39;10871:19;;7747:64:0;10491:405:1;7747:64:0;7822:17;2793:6;;-1:-1:-1;;;;;7856:15:0;;;2793:6;;7856:15;;;;:32;;-1:-1:-1;2766:7:0;2793:6;-1:-1:-1;;;;;7875:13:0;;;2793:6;;7875:13;;7856:32;7852:1753;;;-1:-1:-1;;;;;7914:10:0;;;;;;:4;:10;;;;;;;;7913:11;:24;;;;-1:-1:-1;;;;;;7929:8:0;;;;;;:4;:8;;;;;;;;7928:9;7913:24;7905:33;;;;;;7958:9;;7969:1;7958:12;7955:139;;8002:76;8074:3;8002:67;8024:15;;8014:9;;:25;8013:55;;8054:14;;8013:55;;;8041:12;;8013:55;8002:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7990:88;;7955:139;8111:9;;:11;8108:95;;8154:33;8183:3;8154:24;8165:12;;8154:6;:10;;:24;;;;:::i;:33::-;8142:45;;8108:95;8231:13;;-1:-1:-1;;;;;8223:21:0;;;8231:13;;8223:21;:55;;;;-1:-1:-1;8262:15:0;;-1:-1:-1;;;;;8248:30:0;;;8262:15;;8248:30;;8223:55;:83;;;;-1:-1:-1;;;;;;8284:22:0;;;;;;:18;:22;;;;;;;;8282:24;8223:83;8219:420;;;8346:12;;8336:6;:22;;8328:60;;;;-1:-1:-1;;;8328:60:0;;11103:2:1;8328:60:0;;;11085:21:1;11142:2;11122:18;;;11115:30;11181:27;11161:18;;;11154:55;11226:18;;8328:60:0;10901:349:1;8328:60:0;8441:14;;8431:6;8415:13;8425:2;-1:-1:-1;;;;;6320:18:0;6293:7;6320:18;;;:9;:18;;;;;;;6227:119;8415:13;:22;;;;:::i;:::-;:40;;8407:79;;;;-1:-1:-1;;;8407:79:0;;11587:2:1;8407:79:0;;;11569:21:1;11626:2;11606:18;;;11599:30;11665:28;11645:18;;;11638:56;11711:18;;8407:79:0;11385:350:1;8407:79:0;8517:76;8589:3;8517:67;8539:15;;8529:9;;:25;8528:55;;8569:14;;8528:55;;8517:76;8612:9;:11;;8505:88;;-1:-1:-1;8612:9:0;:11;;;:::i;:::-;;;;;;8219:420;8664:13;;-1:-1:-1;;;;;8658:19:0;;;8664:13;;8658:19;:43;;;;-1:-1:-1;;;;;;8681:20:0;;8696:4;8681:20;;8658:43;8655:174;;;8734:79;8809:3;8734:70;8756:16;;8746:9;;:26;8745:58;;8788:15;;8745:58;;;8774:13;;8734:6;;:10;:70::i;:79::-;8722:91;;8655:174;8894:4;8845:28;6320:18;;;:9;:18;;;;;;8920:6;;-1:-1:-1;;;8920:6:0;;;;8919:7;:30;;;;-1:-1:-1;8936:13:0;;-1:-1:-1;;;;;8930:19:0;;;8936:13;;8930:19;8919:30;:45;;;;-1:-1:-1;8953:11:0;;-1:-1:-1;;;8953:11:0;;;;8919:45;:89;;;;;8991:17;;8968:20;:40;8919:89;:123;;;;;9024:18;;9012:9;;:30;8919:123;8915:679;;;9082:13;;9067:12;:28;9063:90;;;9132:1;9120:9;:13;9063:90;9191:1;9179:9;;:13;9171:49;;;;-1:-1:-1;;;9171:49:0;;12082:2:1;9171:49:0;;;12064:21:1;12121:2;12101:18;;;12094:30;12160:25;12140:18;;;12133:53;12203:18;;9171:49:0;11880:347:1;9171:49:0;9239:69;9256:51;9260:6;9268:38;9272:20;9294:11;;9268:3;:38::i;:::-;9256:3;:51::i;:::-;9239:16;:69::i;:::-;9356:21;9400:22;;9396:106;;9447:35;9460:21;9447:12;:35::i;:::-;9520:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9566:12:0;9550:13;:28;-1:-1:-1;8915:679:0;7890:1715;7852:1753;9620:11;;9617:161;;9688:4;9670:24;;;;:9;:24;;;;;;:39;;9699:9;9670:28;:39::i;:::-;9663:4;9645:24;;;;:9;:24;;;;;;;:64;;;;9727:39;;-1:-1:-1;;;;;9727:39:0;;;;;;;9756:9;1500:25:1;;1488:2;1473:18;;1354:177;9727:39:0;;;;;;;;9617:161;-1:-1:-1;;;;;9804:15:0;;;;;;:9;:15;;;;;;:27;;9824:6;9804:19;:27::i;:::-;-1:-1:-1;;;;;9788:15:0;;;;;;:9;:15;;;;;:43;9856:40;9874:21;:6;9885:9;9874:10;:21::i;:::-;-1:-1:-1;;;;;9856:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9842:13:0;;;;;;;:9;:13;;;;;:54;;;;9912:41;;;9931:21;:6;9942:9;9931:10;:21::i;:::-;9912:41;;1500:25:1;;;1488:2;1473:18;9912:41:0;;;;;;;7582:2379;7513:2448;;;:::o;1620:190::-;1706:7;1742:12;1734:6;;;;1726:29;;;;-1:-1:-1;;;1726:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1766:9:0;1778:5;1782:1;1778;:5;:::i;:::-;1766:17;1620:190;-1:-1:-1;;;;;1620:190:0:o;10077:483::-;5456:6;:13;;-1:-1:-1;;;;5456:13:0;-1:-1:-1;;;5456:13:0;;;10179:16:::1;::::0;;10193:1:::1;10179:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10179:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10179:16:0::1;10155:40;;10224:4;10206;10211:1;10206:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10206:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10250:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10250:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10206:7;;10250:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10240:4;10245:1;10240:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10240:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10315:15:::1;::::0;10283:62:::1;::::0;10300:4:::1;::::0;10315:15:::1;10333:11:::0;10283:8:::1;:62::i;:::-;10356:15;::::0;:196:::1;::::0;-1:-1:-1;;;10356:196:0;;-1:-1:-1;;;;;10356:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10437:11;;10356:15:::1;::::0;10479:4;;10506::::1;::::0;10526:15:::1;::::0;10356:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5492:6:0;:14;;-1:-1:-1;;;;5492:14:0;;;-1:-1:-1;;;;10077:483:0:o;10735:92::-;10792:10;;:27;;-1:-1:-1;;;;;10792:10:0;;;;:27;;;;;10812:6;;10792:10;:27;:10;:27;10812:6;10792:10;:27;;;;;;;;;;;;;;;;;;;1818:246;1876:7;1900:1;1905;1900:6;1896:47;;-1:-1:-1;1930:1:0;1923:8;;1896:47;1953:9;1965:5;1969:1;1965;:5;:::i;:::-;1953:17;-1:-1:-1;1998:1:0;1989:5;1993:1;1953:17;1989:5;:::i;:::-;:10;1981:56;;;;-1:-1:-1;;;1981:56:0;;13774:2:1;1981:56:0;;;13756:21:1;13813:2;13793:18;;;13786:30;13852:34;13832:18;;;13825:62;-1:-1:-1;;;13903:18:1;;;13896:31;13944:19;;1981:56:0;13572:397:1;1981:56:0;2055:1;1818:246;-1:-1:-1;;;1818:246:0:o;2072:132::-;2130:7;2157:39;2161:1;2164;2157:39;;;;;;;;;;;;;;;;;:3;:39::i;9971:98::-;10028:7;10055:1;10053;:3;10052:9;;10060:1;10052:9;;;-1:-1:-1;10058:1:0;9971:98;-1:-1:-1;9971:98:0:o;1289:179::-;1347:7;;1379:5;1383:1;1379;:5;:::i;:::-;1367:17;;1408:1;1403;:6;;1395:46;;;;-1:-1:-1;;;1395:46:0;;14176:2:1;1395:46:0;;;14158:21:1;14215:2;14195:18;;;14188:30;14254:29;14234:18;;;14227:57;14301:18;;1395:46:0;13974:351:1;1476:136:0;1534:7;1561:43;1565:1;1568;1561:43;;;;;;;;;;;;;;;;;:3;:43::i;2212:189::-;2298:7;2333:12;2326:5;2318:28;;;;-1:-1:-1;;;2318:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2357:9:0;2369:5;2373:1;2369;: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;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:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1: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;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:127::-;4358:10;4353:3;4349:20;4346:1;4339:31;4389:4;4386:1;4379:15;4413:4;4410:1;4403:15;4429:416;4518:1;4555:5;4518:1;4569:270;4590:7;4580:8;4577:21;4569:270;;;4649:4;4645:1;4641:6;4637:17;4631:4;4628:27;4625:53;;;4658:18;;:::i;:::-;4708:7;4698:8;4694:22;4691:55;;;4728:16;;;;4691:55;4807:22;;;;4767:15;;;;4569:270;;;4573:3;4429:416;;;;;:::o;4850:806::-;4899:5;4929:8;4919:80;;-1:-1:-1;4970:1:1;4984:5;;4919:80;5018:4;5008:76;;-1:-1:-1;5055:1:1;5069:5;;5008:76;5100:4;5118:1;5113:59;;;;5186:1;5181:130;;;;5093:218;;5113:59;5143:1;5134:10;;5157:5;;;5181:130;5218:3;5208:8;5205:17;5202:43;;;5225:18;;:::i;:::-;-1:-1:-1;;5281:1:1;5267:16;;5296:5;;5093:218;;5395:2;5385:8;5382:16;5376:3;5370:4;5367:13;5363:36;5357:2;5347:8;5344:16;5339:2;5333:4;5330:12;5326:35;5323:77;5320:159;;;-1:-1:-1;5432:19:1;;;5464:5;;5320:159;5511:34;5536:8;5530:4;5511:34;:::i;:::-;5581:6;5577:1;5573:6;5569:19;5560:7;5557:32;5554:58;;;5592:18;;:::i;:::-;5630:20;;4850:806;-1:-1:-1;;;4850:806:1:o;5661:140::-;5719:5;5748:47;5789:4;5779:8;5775:19;5769:4;5748:47;:::i;5806:168::-;5879:9;;;5910;;5927:15;;;5921:22;;5907:37;5897:71;;5948:18;;:::i;5979:356::-;6181:2;6163:21;;;6200:18;;;6193:30;6259:34;6254:2;6239:18;;6232:62;6326:2;6311:18;;5979:356::o;6340:127::-;6401:10;6396:3;6392:20;6389:1;6382:31;6432:4;6429:1;6422:15;6456:4;6453:1;6446:15;6824:251;6894:6;6947:2;6935:9;6926:7;6922:23;6918:32;6915:52;;;6963:1;6960;6953:12;6915:52;6995:9;6989:16;7014:31;7039:5;7014:31;:::i;8001:306::-;8089:6;8097;8105;8158:2;8146:9;8137:7;8133:23;8129:32;8126:52;;;8174:1;8171;8164:12;8126:52;8203:9;8197:16;8187:26;;8253:2;8242:9;8238:18;8232:25;8222:35;;8297:2;8286:9;8282:18;8276:25;8266:35;;8001:306;;;;;:::o;8591:277::-;8658:6;8711:2;8699:9;8690:7;8686:23;8682:32;8679:52;;;8727:1;8724;8717:12;8679:52;8759:9;8753:16;8812:5;8805:13;8798:21;8791:5;8788:32;8778:60;;8834:1;8831;8824:12;11255:125;11320:9;;;11341:10;;;11338:36;;;11354:18;;:::i;11740:135::-;11779:3;11800:17;;;11797:43;;11820:18;;:::i;:::-;-1:-1:-1;11867:1:1;11856:13;;11740:135::o;12232:128::-;12299:9;;;12320:11;;;12317:37;;;12334:18;;:::i;12365:980::-;12627:4;12675:3;12664:9;12660:19;12706:6;12695:9;12688:25;12732:2;12770:6;12765:2;12754:9;12750:18;12743:34;12813:3;12808:2;12797:9;12793:18;12786:31;12837:6;12872;12866:13;12903:6;12895;12888:22;12941:3;12930:9;12926:19;12919:26;;12980:2;12972:6;12968:15;12954:29;;13001:1;13011:195;13025:6;13022:1;13019:13;13011:195;;;13090:13;;-1:-1:-1;;;;;13086:39:1;13074:52;;13181:15;;;;13146:12;;;;13122:1;13040:9;13011:195;;;-1:-1:-1;;;;;;;13262:32:1;;;;13257:2;13242:18;;13235:60;-1:-1:-1;;;13326:3:1;13311:19;13304:35;13223:3;12365:980;-1:-1:-1;;;12365:980:1:o;13350:217::-;13390:1;13416;13406:132;;13460:10;13455:3;13451:20;13448:1;13441:31;13495:4;13492:1;13485:15;13523:4;13520:1;13513:15;13406:132;-1:-1:-1;13552:9:1;;13350:217::o

Swarm Source

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