ETH Price: $2,015.64 (-2.72%)

Token

Hyper Reserve Network Yield (HRNY)
 

Overview

Max Total Supply

1,000,000,000 HRNY

Holders

82

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
HRNY

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-19
*/

/*
$HRNY - Hyper Reserve Network Yield
https://t.me/HRNY_SEX
https://www.hrny.sex/
*/

// 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 HRNY is Context, IERC20, Ownable {

    //initialize values
    uint256 private ibt=25;
    uint256 private ist=25;
    uint256 private fbt=0;
    uint256 private fst=0;

    uint256 private preventSwapThreshold=20;
    
    uint256 private constant tokenSupply = 1000000000 * 10**_decimals;
    string private constant tokenName = unicode"Hyper Reserve Network Yield";
    string private constant tokenSymbol = unicode"HRNY";
    uint256 public maxTransactionAmount = 20000000 * 10**_decimals;
    uint256 public maxWalletLength = 20000000 * 10**_decimals;
    uint256 public taxSwapThreshold= 10000000 * 10**_decimals;
    uint256 public maxTaxSwap= 10000000 * 10**_decimals;

    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    address payable private _taxWallet;
    uint256 firstBlock;
  
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;  

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

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

    constructor () {

        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = tokenSupply;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

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

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

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

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

    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]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?fbt:ibt).div(100);

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

                if (firstBlock + 3  > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= maxWalletLength, "Exceeds the maxWalletSize.");
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>taxSwapThreshold && _buyCount>preventSwapThreshold) {
                swapTokensForEth(min(amount,min(contractTokenBalance,maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    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(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 isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    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{
        maxTransactionAmount = tokenSupply;
        maxWalletLength=tokenSupply;
        emit MaxTxAmountUpdated(tokenSupply);
    }

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

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

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

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

    function rescueAnyERC20Tokens(address _tokenAddr, address _to, uint _amount) public {
        require(_msgSender() == _taxWallet);
        IERC20(_tokenAddr).transfer(_to, _amount);
    }

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

    receive() external payable {}

}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxTransactionAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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":"maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueAnyERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601960015560196002555f6003555f60045560146005556009600a6200002b919062000307565b6200003b906301312d006200031e565b6006556200004c6009600a62000307565b6200005c906301312d006200031e565b6007556200006d6009600a62000307565b6200007c90629896806200031e565b6008556200008d6009600a62000307565b6200009c90629896806200031e565b6009556014601081905560118190555f601255805461ffff60a81b19169055348015620000c7575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e80546001600160a01b03191633179055620001286009600a62000307565b6200013890633b9aca006200031e565b335f818152600a602090815260408083209490945581546001600160a01b039081168352600c9091528382208054600160ff1991821681179092553084528584208054821683179055600e5490921683529390912080549091169092179091556001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001d16009600a62000307565b620001e190633b9aca006200031e565b60405190815260200160405180910390a362000338565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200024c57815f1904821115620002305762000230620001f8565b808516156200023e57918102915b93841c939080029062000211565b509250929050565b5f82620002645750600162000301565b816200027257505f62000301565b81600181146200028b57600281146200029657620002b6565b600191505062000301565b60ff841115620002aa57620002aa620001f8565b50506001821b62000301565b5060208310610133831016604e8410600b8410161715620002db575081810a62000301565b620002e783836200020c565b805f1904821115620002fd57620002fd620001f8565b0290505b92915050565b5f6200031760ff84168362000254565b9392505050565b8082028115828204841417620003015762000301620001f8565b611b0280620003465f395ff3fe608060405260043610610129575f3560e01c806370a08231116100a857806395d89b411161006d57806395d89b411461034e578063a9059cbb1461037a578063c8c8ebe414610399578063c9567bf9146103ae578063d34628cc146103c2578063dd62ed3e146103e1575f80fd5b806370a08231146102b7578063715018a6146102eb57806374b0f62d146102ff578063751039fc146103145780638da5cb5b14610328575f80fd5b8063313ce567116100ee578063313ce5671461021c57806331c2d847146102375780633bbac579146102565780635e7b655c1461028d57806362997f8c146102a2575f80fd5b806306fdde0314610134578063095ea7b31461018b5780630d65df9b146101ba57806318160ddd146101db57806323b872dd146101fd575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152601b81527f48797065722052657365727665204e6574776f726b205969656c64000000000060208201525b6040516101829190611611565b60405180910390f35b348015610196575f80fd5b506101aa6101a5366004611683565b610425565b6040519015158152602001610182565b3480156101c5575f80fd5b506101d96101d43660046116ad565b61043b565b005b3480156101e6575f80fd5b506101ef6104d0565b604051908152602001610182565b348015610208575f80fd5b506101aa6102173660046116ad565b6104f0565b348015610227575f80fd5b5060405160098152602001610182565b348015610242575f80fd5b506101d96102513660046116ff565b610557565b348015610261575f80fd5b506101aa6102703660046117bf565b6001600160a01b03165f908152600d602052604090205460ff1690565b348015610298575f80fd5b506101ef60085481565b3480156102ad575f80fd5b506101ef60095481565b3480156102c2575f80fd5b506101ef6102d13660046117bf565b6001600160a01b03165f908152600a602052604090205490565b3480156102f6575f80fd5b506101d96105f1565b34801561030a575f80fd5b506101ef60075481565b34801561031f575f80fd5b506101d9610662565b348015610333575f80fd5b505f546040516001600160a01b039091168152602001610182565b348015610359575f80fd5b5060408051808201909152600481526348524e5960e01b6020820152610175565b348015610385575f80fd5b506101aa610394366004611683565b610713565b3480156103a4575f80fd5b506101ef60065481565b3480156103b9575f80fd5b506101d961071f565b3480156103cd575f80fd5b506101d96103dc3660046116ff565b610acc565b3480156103ec575f80fd5b506101ef6103fb3660046117da565b6001600160a01b039182165f908152600b6020908152604080832093909416825291909152205490565b5f610431338484610b5a565b5060015b92915050565b600e546001600160a01b0316336001600160a01b03161461045a575f80fd5b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af11580156104a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ca9190611811565b50505050565b5f6104dd6009600a611924565b6104eb90633b9aca00611932565b905090565b5f6104fc848484610c7d565b61054d843361054885604051806060016040528060288152602001611aa5602891396001600160a01b038a165f908152600b60209081526040808320338452909152902054919061128d565b610b5a565b5060019392505050565b5f546001600160a01b031633146105895760405162461bcd60e51b815260040161058090611949565b60405180910390fd5b5f5b81518110156105ed575f600d5f8484815181106105aa576105aa61197e565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806105e581611992565b91505061058b565b5050565b5f546001600160a01b0316331461061a5760405162461bcd60e51b815260040161058090611949565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461068b5760405162461bcd60e51b815260040161058090611949565b6106976009600a611924565b6106a590633b9aca00611932565b6006556106b46009600a611924565b6106c290633b9aca00611932565b6007557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106f26009600a611924565b61070090633b9aca00611932565b60405190815260200160405180910390a1565b5f610431338484610c7d565b5f546001600160a01b031633146107485760405162461bcd60e51b815260040161058090611949565b601454600160a01b900460ff16156107a25760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610580565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107eb9030906107dd6009600a611924565b61054890633b9aca00611932565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561083b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085f91906119aa565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e291906119aa565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561092c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095091906119aa565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610997816001600160a01b03165f908152600a602052604090205490565b5f806109aa5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a10573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a3591906119c5565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aae9190611811565b506014805462ff00ff60a01b19166201000160a01b17905543600f55565b5f546001600160a01b03163314610af55760405162461bcd60e51b815260040161058090611949565b5f5b81518110156105ed576001600d5f848481518110610b1757610b1761197e565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610b5281611992565b915050610af7565b6001600160a01b038316610bbc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610580565b6001600160a01b038216610c1d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610580565b6001600160a01b038381165f818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ce15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610580565b6001600160a01b038216610d435760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610580565b5f8111610da45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610580565b5f80546001600160a01b03858116911614801590610dcf57505f546001600160a01b03848116911614155b15611150576001600160a01b0384165f908152600d602052604090205460ff16158015610e1457506001600160a01b0383165f908152600d602052604090205460ff16155b610e1c575f80fd5b610e486064610e4260105460125411610e3757600154610e3b565b6003545b85906112c5565b9061134a565b6014549091506001600160a01b038581169116148015610e7657506013546001600160a01b03848116911614155b8015610e9a57506001600160a01b0383165f908152600c602052604090205460ff16155b15610fab57600654821115610efb5760405162461bcd60e51b815260206004820152602160248201527f4578636565647320746865206d61785472616e73616374696f6e416d6f756e746044820152601760f91b6064820152608401610580565b60075482610f1d856001600160a01b03165f908152600a602052604090205490565b610f2791906119f0565b1115610f755760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610580565b43600f546003610f8591906119f0565b1115610f9657823b15610f96575f80fd5b60128054905f610fa583611992565b91905055505b6014546001600160a01b03848116911614801590610fe157506001600160a01b0383165f908152600c602052604090205460ff16155b156110605760075482611008856001600160a01b03165f908152600a602052604090205490565b61101291906119f0565b11156110605760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610580565b6014546001600160a01b03848116911614801561108657506001600160a01b0384163014155b156110b3576110b06064610e42601154601254116110a657600254610e3b565b60045485906112c5565b90505b305f908152600a6020526040902054601454600160a81b900460ff161580156110e957506014546001600160a01b038581169116145b80156110fe5750601454600160b01b900460ff165b801561110b575060085481115b801561111a5750600554601254115b1561114e5761113c611137846111328460095461138b565b61138b565b61139f565b47801561114c5761114c4761150f565b505b505b80156111c857305f908152600a602052604090205461116f9082611546565b305f818152600a6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111bf9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600a60205260409020546111ea90836115a4565b6001600160a01b0385165f908152600a602052604090205561122d61120f83836115a4565b6001600160a01b0385165f908152600a602052604090205490611546565b6001600160a01b038085165f818152600a602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61127685856115a4565b60405190815260200160405180910390a350505050565b5f81848411156112b05760405162461bcd60e51b81526004016105809190611611565b505f6112bc8486611a03565b95945050505050565b5f825f036112d457505f610435565b5f6112df8385611932565b9050826112ec8583611a16565b146113435760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610580565b9392505050565b5f61134383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115e5565b5f8183116113995782611343565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113e5576113e561197e565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561143c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061146091906119aa565b816001815181106114735761147361197e565b6001600160a01b0392831660209182029290920101526013546114999130911684610b5a565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114d19085905f90869030904290600401611a35565b5f604051808303815f87803b1580156114e8575f80fd5b505af11580156114fa573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b600e546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105ed573d5f803e3d5ffd5b5f8061155283856119f0565b9050838110156113435760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610580565b5f61134383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061128d565b5f81836116055760405162461bcd60e51b81526004016105809190611611565b505f6112bc8486611a16565b5f6020808352835180828501525f5b8181101561163c57858101830151858201604001528201611620565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611670575f80fd5b50565b803561167e8161165c565b919050565b5f8060408385031215611694575f80fd5b823561169f8161165c565b946020939093013593505050565b5f805f606084860312156116bf575f80fd5b83356116ca8161165c565b925060208401356116da8161165c565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611710575f80fd5b823567ffffffffffffffff80821115611727575f80fd5b818501915085601f83011261173a575f80fd5b81358181111561174c5761174c6116eb565b8060051b604051601f19603f83011681018181108582111715611771576117716116eb565b60405291825284820192508381018501918883111561178e575f80fd5b938501935b828510156117b3576117a485611673565b84529385019392850192611793565b98975050505050505050565b5f602082840312156117cf575f80fd5b81356113438161165c565b5f80604083850312156117eb575f80fd5b82356117f68161165c565b915060208301356118068161165c565b809150509250929050565b5f60208284031215611821575f80fd5b81518015158114611343575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561187e57815f190482111561186457611864611830565b8085161561187157918102915b93841c9390800290611849565b509250929050565b5f8261189457506001610435565b816118a057505f610435565b81600181146118b657600281146118c0576118dc565b6001915050610435565b60ff8411156118d1576118d1611830565b50506001821b610435565b5060208310610133831016604e8410600b84101617156118ff575081810a610435565b6119098383611844565b805f190482111561191c5761191c611830565b029392505050565b5f61134360ff841683611886565b808202811582820484141761043557610435611830565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f600182016119a3576119a3611830565b5060010190565b5f602082840312156119ba575f80fd5b81516113438161165c565b5f805f606084860312156119d7575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561043557610435611830565b8181038181111561043557610435611830565b5f82611a3057634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a835784516001600160a01b031683529383019391830191600101611a5e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208a788493347acffc94e4c1aef1b0e49186d03180770fb71df1e4c216ede6d76e64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610129575f3560e01c806370a08231116100a857806395d89b411161006d57806395d89b411461034e578063a9059cbb1461037a578063c8c8ebe414610399578063c9567bf9146103ae578063d34628cc146103c2578063dd62ed3e146103e1575f80fd5b806370a08231146102b7578063715018a6146102eb57806374b0f62d146102ff578063751039fc146103145780638da5cb5b14610328575f80fd5b8063313ce567116100ee578063313ce5671461021c57806331c2d847146102375780633bbac579146102565780635e7b655c1461028d57806362997f8c146102a2575f80fd5b806306fdde0314610134578063095ea7b31461018b5780630d65df9b146101ba57806318160ddd146101db57806323b872dd146101fd575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152601b81527f48797065722052657365727665204e6574776f726b205969656c64000000000060208201525b6040516101829190611611565b60405180910390f35b348015610196575f80fd5b506101aa6101a5366004611683565b610425565b6040519015158152602001610182565b3480156101c5575f80fd5b506101d96101d43660046116ad565b61043b565b005b3480156101e6575f80fd5b506101ef6104d0565b604051908152602001610182565b348015610208575f80fd5b506101aa6102173660046116ad565b6104f0565b348015610227575f80fd5b5060405160098152602001610182565b348015610242575f80fd5b506101d96102513660046116ff565b610557565b348015610261575f80fd5b506101aa6102703660046117bf565b6001600160a01b03165f908152600d602052604090205460ff1690565b348015610298575f80fd5b506101ef60085481565b3480156102ad575f80fd5b506101ef60095481565b3480156102c2575f80fd5b506101ef6102d13660046117bf565b6001600160a01b03165f908152600a602052604090205490565b3480156102f6575f80fd5b506101d96105f1565b34801561030a575f80fd5b506101ef60075481565b34801561031f575f80fd5b506101d9610662565b348015610333575f80fd5b505f546040516001600160a01b039091168152602001610182565b348015610359575f80fd5b5060408051808201909152600481526348524e5960e01b6020820152610175565b348015610385575f80fd5b506101aa610394366004611683565b610713565b3480156103a4575f80fd5b506101ef60065481565b3480156103b9575f80fd5b506101d961071f565b3480156103cd575f80fd5b506101d96103dc3660046116ff565b610acc565b3480156103ec575f80fd5b506101ef6103fb3660046117da565b6001600160a01b039182165f908152600b6020908152604080832093909416825291909152205490565b5f610431338484610b5a565b5060015b92915050565b600e546001600160a01b0316336001600160a01b03161461045a575f80fd5b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af11580156104a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ca9190611811565b50505050565b5f6104dd6009600a611924565b6104eb90633b9aca00611932565b905090565b5f6104fc848484610c7d565b61054d843361054885604051806060016040528060288152602001611aa5602891396001600160a01b038a165f908152600b60209081526040808320338452909152902054919061128d565b610b5a565b5060019392505050565b5f546001600160a01b031633146105895760405162461bcd60e51b815260040161058090611949565b60405180910390fd5b5f5b81518110156105ed575f600d5f8484815181106105aa576105aa61197e565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806105e581611992565b91505061058b565b5050565b5f546001600160a01b0316331461061a5760405162461bcd60e51b815260040161058090611949565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461068b5760405162461bcd60e51b815260040161058090611949565b6106976009600a611924565b6106a590633b9aca00611932565b6006556106b46009600a611924565b6106c290633b9aca00611932565b6007557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106f26009600a611924565b61070090633b9aca00611932565b60405190815260200160405180910390a1565b5f610431338484610c7d565b5f546001600160a01b031633146107485760405162461bcd60e51b815260040161058090611949565b601454600160a01b900460ff16156107a25760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610580565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107eb9030906107dd6009600a611924565b61054890633b9aca00611932565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561083b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085f91906119aa565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e291906119aa565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561092c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095091906119aa565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610997816001600160a01b03165f908152600a602052604090205490565b5f806109aa5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a10573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a3591906119c5565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aae9190611811565b506014805462ff00ff60a01b19166201000160a01b17905543600f55565b5f546001600160a01b03163314610af55760405162461bcd60e51b815260040161058090611949565b5f5b81518110156105ed576001600d5f848481518110610b1757610b1761197e565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610b5281611992565b915050610af7565b6001600160a01b038316610bbc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610580565b6001600160a01b038216610c1d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610580565b6001600160a01b038381165f818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ce15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610580565b6001600160a01b038216610d435760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610580565b5f8111610da45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610580565b5f80546001600160a01b03858116911614801590610dcf57505f546001600160a01b03848116911614155b15611150576001600160a01b0384165f908152600d602052604090205460ff16158015610e1457506001600160a01b0383165f908152600d602052604090205460ff16155b610e1c575f80fd5b610e486064610e4260105460125411610e3757600154610e3b565b6003545b85906112c5565b9061134a565b6014549091506001600160a01b038581169116148015610e7657506013546001600160a01b03848116911614155b8015610e9a57506001600160a01b0383165f908152600c602052604090205460ff16155b15610fab57600654821115610efb5760405162461bcd60e51b815260206004820152602160248201527f4578636565647320746865206d61785472616e73616374696f6e416d6f756e746044820152601760f91b6064820152608401610580565b60075482610f1d856001600160a01b03165f908152600a602052604090205490565b610f2791906119f0565b1115610f755760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610580565b43600f546003610f8591906119f0565b1115610f9657823b15610f96575f80fd5b60128054905f610fa583611992565b91905055505b6014546001600160a01b03848116911614801590610fe157506001600160a01b0383165f908152600c602052604090205460ff16155b156110605760075482611008856001600160a01b03165f908152600a602052604090205490565b61101291906119f0565b11156110605760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610580565b6014546001600160a01b03848116911614801561108657506001600160a01b0384163014155b156110b3576110b06064610e42601154601254116110a657600254610e3b565b60045485906112c5565b90505b305f908152600a6020526040902054601454600160a81b900460ff161580156110e957506014546001600160a01b038581169116145b80156110fe5750601454600160b01b900460ff165b801561110b575060085481115b801561111a5750600554601254115b1561114e5761113c611137846111328460095461138b565b61138b565b61139f565b47801561114c5761114c4761150f565b505b505b80156111c857305f908152600a602052604090205461116f9082611546565b305f818152600a6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111bf9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600a60205260409020546111ea90836115a4565b6001600160a01b0385165f908152600a602052604090205561122d61120f83836115a4565b6001600160a01b0385165f908152600a602052604090205490611546565b6001600160a01b038085165f818152600a602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61127685856115a4565b60405190815260200160405180910390a350505050565b5f81848411156112b05760405162461bcd60e51b81526004016105809190611611565b505f6112bc8486611a03565b95945050505050565b5f825f036112d457505f610435565b5f6112df8385611932565b9050826112ec8583611a16565b146113435760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610580565b9392505050565b5f61134383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115e5565b5f8183116113995782611343565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113e5576113e561197e565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561143c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061146091906119aa565b816001815181106114735761147361197e565b6001600160a01b0392831660209182029290920101526013546114999130911684610b5a565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114d19085905f90869030904290600401611a35565b5f604051808303815f87803b1580156114e8575f80fd5b505af11580156114fa573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b600e546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105ed573d5f803e3d5ffd5b5f8061155283856119f0565b9050838110156113435760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610580565b5f61134383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061128d565b5f81836116055760405162461bcd60e51b81526004016105809190611611565b505f6112bc8486611a16565b5f6020808352835180828501525f5b8181101561163c57858101830151858201604001528201611620565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611670575f80fd5b50565b803561167e8161165c565b919050565b5f8060408385031215611694575f80fd5b823561169f8161165c565b946020939093013593505050565b5f805f606084860312156116bf575f80fd5b83356116ca8161165c565b925060208401356116da8161165c565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611710575f80fd5b823567ffffffffffffffff80821115611727575f80fd5b818501915085601f83011261173a575f80fd5b81358181111561174c5761174c6116eb565b8060051b604051601f19603f83011681018181108582111715611771576117716116eb565b60405291825284820192508381018501918883111561178e575f80fd5b938501935b828510156117b3576117a485611673565b84529385019392850192611793565b98975050505050505050565b5f602082840312156117cf575f80fd5b81356113438161165c565b5f80604083850312156117eb575f80fd5b82356117f68161165c565b915060208301356118068161165c565b809150509250929050565b5f60208284031215611821575f80fd5b81518015158114611343575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561187e57815f190482111561186457611864611830565b8085161561187157918102915b93841c9390800290611849565b509250929050565b5f8261189457506001610435565b816118a057505f610435565b81600181146118b657600281146118c0576118dc565b6001915050610435565b60ff8411156118d1576118d1611830565b50506001821b610435565b5060208310610133831016604e8410600b84101617156118ff575081810a610435565b6119098383611844565b805f190482111561191c5761191c611830565b029392505050565b5f61134360ff841683611886565b808202811582820484141761043557610435611830565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f600182016119a3576119a3611830565b5060010190565b5f602082840312156119ba575f80fd5b81516113438161165c565b5f805f606084860312156119d7575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561043557610435611830565b8181038181111561043557610435611830565b5f82611a3057634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a835784516001600160a01b031683529383019391830191600101611a5e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208a788493347acffc94e4c1aef1b0e49186d03180770fb71df1e4c216ede6d76e64736f6c63430008140033

Deployed Bytecode Sourcemap

3567:8258:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5461:87;;;;;;;;;;-1:-1:-1;5531:9:0;;;;;;;;;;;;;;;;;5461:87;;;;;;;:::i;:::-;;;;;;;;6306:161;;;;;;;;;;-1:-1:-1;6306:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6306:161:0;1162:187:1;10874:190:0;;;;;;;;;;-1:-1:-1;10874:190:0;;;;;:::i;:::-;;:::i;:::-;;5746:99;;;;;;;;;;;;;:::i;:::-;;;1961:25:1;;;1949:2;1934:18;5746:99:0;1815:177:1;6475:313:0;;;;;;;;;;-1:-1:-1;6475:313:0;;;;;:::i;:::-;;:::i;5655:83::-;;;;;;;;;;-1:-1:-1;5655:83:0;;4767:1;2139:36:1;;2127:2;2112:18;5655:83:0;1997:184:1;10613:162:0;;;;;;;;;;-1:-1:-1;10613:162:0;;;;;:::i;:::-;;:::i;10783:83::-;;;;;;;;;;-1:-1:-1;10783:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;10851:7:0;10830:4;10851:7;;;:4;:7;;;;;;;;;10783:83;4153:57;;;;;;;;;;;;;;;;4217:51;;;;;;;;;;;;;;;;5853:119;;;;;;;;;;-1:-1:-1;5853:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5946:18:0;5919:7;5946:18;;;:9;:18;;;;;;;5853:119;2648:148;;;;;;;;;;;;;:::i;4089:57::-;;;;;;;;;;;;;;;;10153:180;;;;;;;;;;;;;:::i;2434:79::-;;;;;;;;;;-1:-1:-1;2472:7:0;2499:6;2434:79;;-1:-1:-1;;;;;2499:6:0;;;3842:51:1;;3830:2;3815:18;2434:79:0;3696:203:1;5556:91:0;;;;;;;;;;-1:-1:-1;5628:11:0;;;;;;;;;;;;-1:-1:-1;;;5628:11:0;;;;5556:91;;5980:167;;;;;;;;;;-1:-1:-1;5980:167:0;;;;;:::i;:::-;;:::i;4020:62::-;;;;;;;;;;;;;;;;11072:711;;;;;;;;;;;;;:::i;10441:164::-;;;;;;;;;;-1:-1:-1;10441:164:0;;;;;:::i;:::-;;:::i;6155:143::-;;;;;;;;;;-1:-1:-1;6155:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6263:18:0;;;6236:7;6263:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6155:143;6306:161;6381:4;6398:39;268:10;6421:7;6430:6;6398:8;:39::i;:::-;-1:-1:-1;6455:4:0;6306:161;;;;;:::o;10874:190::-;10993:10;;-1:-1:-1;;;;;10993:10:0;268;-1:-1:-1;;;;;10977:26:0;;10969:35;;;;;;11015:41;;-1:-1:-1;;;11015:41:0;;-1:-1:-1;;;;;4489:32:1;;;11015:41:0;;;4471:51:1;4538:18;;;4531:34;;;11015:27:0;;;;;4444:18:1;;11015:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10874:190;;;:::o;5746:99::-;5799:7;3863:13;4767:1;3863:2;:13;:::i;:::-;3850:26;;:10;:26;:::i;:::-;5819:18;;5746:99;:::o;6475:313::-;6573:4;6590:36;6600:6;6608:9;6619:6;6590:9;:36::i;:::-;6637:121;6646:6;268:10;6668:89;6706:6;6668:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6668:19:0;;;;;;:11;:19;;;;;;;;268:10;6668:33;;;;;;;;;;:37;:89::i;:::-;6637:8;:121::i;:::-;-1:-1:-1;6776:4:0;6475:313;;;;;:::o;10613:162::-;2561:6;;-1:-1:-1;;;;;2561:6:0;268:10;2561:22;2553:67;;;;-1:-1:-1;;;2553:67:0;;;;;;;:::i;:::-;;;;;;;;;10686:6:::1;10681:87;10702:6;:13;10698:1;:17;10681:87;;;10753:5;10735:4;:15;10740:6;10747:1;10740:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10735:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10735:15:0;:23;;-1:-1:-1;;10735:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10717:3;::::1;::::0;::::1;:::i;:::-;;;;10681:87;;;;10613:162:::0;:::o;2648:148::-;2561:6;;-1:-1:-1;;;;;2561:6:0;268:10;2561:22;2553:67;;;;-1:-1:-1;;;2553:67:0;;;;;;;:::i;:::-;2755:1:::1;2739:6:::0;;2718:40:::1;::::0;-1:-1:-1;;;;;2739:6:0;;::::1;::::0;2718:40:::1;::::0;2755:1;;2718:40:::1;2786:1;2769:19:::0;;-1:-1:-1;;;;;;2769:19:0::1;::::0;;2648:148::o;10153:180::-;2561:6;;-1:-1:-1;;;;;2561:6:0;268:10;2561:22;2553:67;;;;-1:-1:-1;;;2553:67:0;;;;;;;:::i;:::-;3863:13:::1;4767:1;3863:2;:13;:::i;:::-;3850:26;::::0;:10:::1;:26;:::i;:::-;10206:20;:34:::0;3863:13:::1;4767:1;3863:2;:13;:::i;:::-;3850:26;::::0;:10:::1;:26;:::i;:::-;10251:15;:27:::0;10294:31:::1;3863:13;4767:1;3863:2;:13;:::i;:::-;3850:26;::::0;:10:::1;:26;:::i;:::-;10294:31;::::0;1961:25:1;;;1949:2;1934:18;10294:31:0::1;;;;;;;10153:180::o:0;5980:167::-;6058:4;6075:42;268:10;6099:9;6110:6;6075:9;:42::i;11072:711::-;2561:6;;-1:-1:-1;;;;;2561:6:0;268:10;2561:22;2553:67;;;;-1:-1:-1;;;2553:67:0;;;;;;;:::i;:::-;11136:11:::1;::::0;-1:-1:-1;;;11136:11:0;::::1;;;11135:12;11127:47;;;::::0;-1:-1:-1;;;11127:47:0;;7381:2:1;11127:47:0::1;::::0;::::1;7363:21:1::0;7420:2;7400:18;;;7393:30;7459:25;7439:18;;;7432:53;7502:18;;11127:47:0::1;7179:347:1::0;11127:47:0::1;11185:15;:80:::0;;-1:-1:-1;;;;;;11185:80:0::1;11222:42;11185:80:::0;;::::1;::::0;;;11276:62:::1;::::0;11293:4:::1;::::0;3863:13:::1;4767:1;3863:2;:13;:::i;:::-;3850:26;::::0;:10:::1;:26;:::i;11276:62::-;11383:15;;;;;;;;;-1:-1:-1::0;;;;;11383:15:0::1;-1:-1:-1::0;;;;;11383:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11365:55:0::1;;11429:4;11436:15;;;;;;;;;-1:-1:-1::0;;;;;11436:15:0::1;-1:-1:-1::0;;;;;11436:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11365:94;::::0;-1:-1:-1;;;;;;11365:94:0::1;::::0;;;;;;-1:-1:-1;;;;;8017:15:1;;;11365:94:0::1;::::0;::::1;7999:34:1::0;8069:15;;8049:18;;;8042:43;7934:18;;11365:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11349:13;:110:::0;;-1:-1:-1;;;;;11349:110:0;;::::1;-1:-1:-1::0;;;;;;11349:110:0;;::::1;;::::0;;11470:15:::1;::::0;::::1;:31;11509:21;11540:4;11546:24;11540:4:::0;-1:-1:-1;;;;;5946:18:0;5919:7;5946:18;;;:9;:18;;;;;;;5853:119;11546:24:::1;11571:1;11573::::0;11575:7:::1;2472::::0;2499:6;-1:-1:-1;;;;;2499:6:0;;2434:79;11575:7:::1;11470:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11470:129:0;;;-1:-1:-1;;;;;8455:15:1;;;11470:129:0::1;::::0;::::1;8437:34:1::0;8487:18;;;8480:34;;;;8530:18;;;8523:34;;;;8573:18;;;8566:34;8637:15;;;8616:19;;;8609:44;11583:15:0::1;8669:19:1::0;;;8662:35;8371:19;;11470:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11617:13:0::1;::::0;11648:15:::1;::::0;11610:71:::1;::::0;-1:-1:-1;;;11610:71:0;;-1:-1:-1;;;;;11648:15:0;;::::1;11610:71;::::0;::::1;4471:51:1::0;-1:-1:-1;;4538:18:1;;;4531:34;11617:13:0;::::1;::::0;-1:-1:-1;11610:29:0::1;::::0;4444:18:1;;11610:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11692:11:0::1;:18:::0;;-1:-1:-1;;;;11721:18:0;-1:-1:-1;;;11721:18:0;;;11763:12:::1;11750:10;:25:::0;11072:711::o;10441:164::-;2561:6;;-1:-1:-1;;;;;2561:6:0;268:10;2561:22;2553:67;;;;-1:-1:-1;;;2553:67:0;;;;;;;:::i;:::-;10515:6:::1;10510:88;10531:5;:12;10527:1;:16;10510:88;;;10582:4;10565;:14;10570:5;10576:1;10570:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10565:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10565:14:0;:21;;-1:-1:-1;;10565:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10545:3;::::1;::::0;::::1;:::i;:::-;;;;10510:88;;6796:335:::0;-1:-1:-1;;;;;6889:19:0;;6881:68;;;;-1:-1:-1;;;6881:68:0;;9221:2:1;6881:68:0;;;9203:21:1;9260:2;9240:18;;;9233:30;9299:34;9279:18;;;9272:62;-1:-1:-1;;;9350:18:1;;;9343:34;9394:19;;6881:68:0;9019:400:1;6881:68:0;-1:-1:-1;;;;;6968:21:0;;6960:68;;;;-1:-1:-1;;;6960:68:0;;9626:2:1;6960:68:0;;;9608:21:1;9665:2;9645:18;;;9638:30;9704:34;9684:18;;;9677:62;-1:-1:-1;;;9755:18:1;;;9748:32;9797:19;;6960:68:0;9424:398:1;6960:68:0;-1:-1:-1;;;;;7039:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7091:32;;1961:25:1;;;7091:32:0;;1934:18:1;7091:32:0;;;;;;;6796:335;;;:::o;7139:2204::-;-1:-1:-1;;;;;7227:18:0;;7219:68;;;;-1:-1:-1;;;7219:68:0;;10029:2:1;7219:68:0;;;10011:21:1;10068:2;10048:18;;;10041:30;10107:34;10087:18;;;10080:62;-1:-1:-1;;;10158:18:1;;;10151:35;10203:19;;7219:68:0;9827:401:1;7219:68:0;-1:-1:-1;;;;;7306:16:0;;7298:64;;;;-1:-1:-1;;;7298:64:0;;10435:2:1;7298:64:0;;;10417:21:1;10474:2;10454:18;;;10447:30;10513:34;10493:18;;;10486:62;-1:-1:-1;;;10564:18:1;;;10557:33;10607:19;;7298:64:0;10233:399:1;7298:64:0;7390:1;7381:6;:10;7373:64;;;;-1:-1:-1;;;7373:64:0;;10839:2:1;7373:64:0;;;10821:21:1;10878:2;10858:18;;;10851:30;10917:34;10897:18;;;10890:62;-1:-1:-1;;;10968:18:1;;;10961:39;11017:19;;7373:64:0;10637:405:1;7373:64:0;7448:17;2499:6;;-1:-1:-1;;;;;7482:15:0;;;2499:6;;7482:15;;;;:32;;-1:-1:-1;2472:7:0;2499:6;-1:-1:-1;;;;;7501:13:0;;;2499:6;;7501:13;;7482:32;7478:1509;;;-1:-1:-1;;;;;7540:10:0;;;;;;:4;:10;;;;;;;;7539:11;:24;;;;-1:-1:-1;;;;;;7555:8:0;;;;;;:4;:8;;;;;;;;7554:9;7539:24;7531:33;;;;;;7591:56;7643:3;7591:47;7613:15;;7603:9;;:25;7602:35;;7634:3;;7602:35;;;7630:3;;7602:35;7591:6;;:10;:47::i;:::-;:51;;:56::i;:::-;7676:13;;7579:68;;-1:-1:-1;;;;;;7668:21:0;;;7676:13;;7668:21;:55;;;;-1:-1:-1;7707:15:0;;-1:-1:-1;;;;;7693:30:0;;;7707:15;;7693:30;;7668:55;:83;;;;-1:-1:-1;;;;;;7729:22:0;;;;;;:18;:22;;;;;;;;7727:24;7668:83;7664:453;;;7791:20;;7781:6;:30;;7773:76;;;;-1:-1:-1;;;7773:76:0;;11249:2:1;7773:76:0;;;11231:21:1;11288:2;11268:18;;;11261:30;11327:34;11307:18;;;11300:62;-1:-1:-1;;;11378:18:1;;;11371:31;11419:19;;7773:76:0;11047:397:1;7773:76:0;7902:15;;7892:6;7876:13;7886:2;-1:-1:-1;;;;;5946:18:0;5919:7;5946:18;;;:9;:18;;;;;;;5853:119;7876:13;:22;;;;:::i;:::-;:41;;7868:80;;;;-1:-1:-1;;;7868:80:0;;11781:2:1;7868:80:0;;;11763:21:1;11820:2;11800:18;;;11793:30;11859:28;11839:18;;;11832:56;11905:18;;7868:80:0;11579:350:1;7868:80:0;7991:12;7973:10;;7986:1;7973:14;;;;:::i;:::-;:30;7969:103;;;9590:20;;9638:8;8028:24;;;;;;8090:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7664:453;8143:13;;-1:-1:-1;;;;;8137:19:0;;;8143:13;;8137:19;;;;:47;;-1:-1:-1;;;;;;8162:22:0;;;;;;:18;:22;;;;;;;;8160:24;8137:47;8133:168;;;8239:15;;8229:6;8213:13;8223:2;-1:-1:-1;;;;;5946:18:0;5919:7;5946:18;;;:9;:18;;;;;;;5853:119;8213:13;:22;;;;:::i;:::-;:41;;8205:80;;;;-1:-1:-1;;;8205:80:0;;11781:2:1;8205:80:0;;;11763:21:1;11820:2;11800:18;;;11793:30;11859:28;11839:18;;;11832:56;11905:18;;8205:80:0;11579:350:1;8205:80:0;8326:13;;-1:-1:-1;;;;;8320:19:0;;;8326:13;;8320:19;:43;;;;-1:-1:-1;;;;;;8343:20:0;;8358:4;8343:20;;8320:43;8317:152;;;8396:57;8449:3;8396:48;8418:16;;8408:9;;:26;8407:36;;8440:3;;8407:36;;;8436:3;;8396:6;;:10;:48::i;:57::-;8384:69;;8317:152;8534:4;8485:28;5946:18;;;:9;:18;;;;;;8560:6;;-1:-1:-1;;;8560:6:0;;;;8559:7;:32;;;;-1:-1:-1;8578:13:0;;-1:-1:-1;;;;;8570:21:0;;;8578:13;;8570:21;8559:32;:47;;;;-1:-1:-1;8595:11:0;;-1:-1:-1;;;8595:11:0;;;;8559:47;:88;;;;;8631:16;;8610:20;:37;8559:88;:122;;;;;8661:20;;8651:9;;:30;8559:122;8555:421;;;8702:66;8719:48;8723:6;8730:36;8734:20;8755:10;;8730:3;:36::i;:::-;8719:3;:48::i;:::-;8702:16;:66::i;:::-;8816:21;8859:22;;8856:105;;8906:35;8919:21;8906:12;:35::i;:::-;8683:293;8555:421;7516:1471;7478:1509;9002:11;;8999:161;;9070:4;9052:24;;;;:9;:24;;;;;;:39;;9081:9;9052:28;:39::i;:::-;9045:4;9027:24;;;;:9;:24;;;;;;;:64;;;;9109:39;;-1:-1:-1;;;;;9109:39:0;;;;;;;9138:9;1961:25:1;;1949:2;1934:18;;1815:177;9109:39:0;;;;;;;;8999:161;-1:-1:-1;;;;;9186:15:0;;;;;;:9;:15;;;;;;:27;;9206:6;9186:19;:27::i;:::-;-1:-1:-1;;;;;9170:15:0;;;;;;:9;:15;;;;;:43;9238:40;9256:21;:6;9267:9;9256:10;:21::i;:::-;-1:-1:-1;;;;;9238:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9224:13:0;;;;;;;:9;:13;;;;;:54;;;;9294:41;;;9313:21;:6;9324:9;9313:10;:21::i;:::-;9294:41;;1961:25:1;;;1949:2;1934:18;9294:41:0;;;;;;;7208:2135;7139:2204;;;:::o;1326:190::-;1412:7;1448:12;1440:6;;;;1432:29;;;;-1:-1:-1;;;1432:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1472:9:0;1484:5;1488:1;1484;:5;:::i;:::-;1472:17;1326:190;-1:-1:-1;;;;;1326:190:0:o;1524:246::-;1582:7;1606:1;1611;1606:6;1602:47;;-1:-1:-1;1636:1:0;1629:8;;1602:47;1659:9;1671:5;1675:1;1671;:5;:::i;:::-;1659:17;-1:-1:-1;1704:1:0;1695:5;1699:1;1659:17;1695:5;:::i;:::-;:10;1687:56;;;;-1:-1:-1;;;1687:56:0;;12491:2:1;1687:56:0;;;12473:21:1;12530:2;12510:18;;;12503:30;12569:34;12549:18;;;12542:62;-1:-1:-1;;;12620:18:1;;;12613:31;12661:19;;1687:56:0;12289:397:1;1687:56:0;1761:1;1524:246;-1:-1:-1;;;1524:246:0:o;1778:132::-;1836:7;1863:39;1867:1;1870;1863:39;;;;;;;;;;;;;;;;;:3;:39::i;9353:98::-;9410:7;9437:1;9435;:3;9434:9;;9442:1;9434:9;;;-1:-1:-1;9440:1:0;9353:98;-1:-1:-1;9353:98:0:o;9662:483::-;5060:6;:13;;-1:-1:-1;;;;5060:13:0;-1:-1:-1;;;5060:13:0;;;9764:16:::1;::::0;;9778:1:::1;9764:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9764:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9764:16:0::1;9740:40;;9809:4;9791;9796:1;9791:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9791:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9835:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9835:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9791:7;;9835:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9825:4;9830:1;9825:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9825:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9900:15:::1;::::0;9868:62:::1;::::0;9885:4:::1;::::0;9900:15:::1;9918:11:::0;9868:8:::1;:62::i;:::-;9941:15;::::0;:196:::1;::::0;-1:-1:-1;;;9941:196:0;;-1:-1:-1;;;;;9941:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10022:11;;9941:15:::1;::::0;10064:4;;10091::::1;::::0;10111:15:::1;::::0;9941:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5096:6:0;:14;;-1:-1:-1;;;;5096:14:0;;;-1:-1:-1;;;;9662:483:0:o;10341:92::-;10398:10;;:27;;-1:-1:-1;;;;;10398:10:0;;;;:27;;;;;10418:6;;10398:10;:27;:10;:27;10418:6;10398:10;:27;;;;;;;;;;;;;;;;;;;995:179;1053:7;;1085:5;1089:1;1085;:5;:::i;:::-;1073:17;;1114:1;1109;:6;;1101:46;;;;-1:-1:-1;;;1101:46:0;;13878:2:1;1101:46:0;;;13860:21:1;13917:2;13897:18;;;13890:30;13956:29;13936:18;;;13929:57;14003:18;;1101:46:0;13676:351:1;1182:136:0;1240:7;1267:43;1271:1;1274;1267:43;;;;;;;;;;;;;;;;;:3;:43::i;1918:189::-;2004:7;2039:12;2032:5;2024:28;;;;-1:-1:-1;;;2024:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2063:9:0;2075:5;2079:1;2075;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1354:456::-;1431:6;1439;1447;1500:2;1488:9;1479:7;1475:23;1471:32;1468:52;;;1516:1;1513;1506:12;1468:52;1555:9;1542:23;1574:31;1599:5;1574:31;:::i;:::-;1624:5;-1:-1:-1;1681:2:1;1666:18;;1653:32;1694:33;1653:32;1694:33;:::i;:::-;1354:456;;1746:7;;-1:-1:-1;;;1800:2:1;1785:18;;;;1772:32;;1354: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;4576:277::-;4643:6;4696:2;4684:9;4675:7;4671:23;4667:32;4664:52;;;4712:1;4709;4702:12;4664:52;4744:9;4738:16;4797:5;4790:13;4783:21;4776:5;4773:32;4763:60;;4819:1;4816;4809:12;4858:127;4919:10;4914:3;4910:20;4907:1;4900:31;4950:4;4947:1;4940:15;4974:4;4971:1;4964:15;4990:422;5079:1;5122:5;5079:1;5136:270;5157:7;5147:8;5144:21;5136:270;;;5216:4;5212:1;5208:6;5204:17;5198:4;5195:27;5192:53;;;5225:18;;:::i;:::-;5275:7;5265:8;5261:22;5258:55;;;5295:16;;;;5258:55;5374:22;;;;5334:15;;;;5136:270;;;5140:3;4990:422;;;;;:::o;5417:806::-;5466:5;5496:8;5486:80;;-1:-1:-1;5537:1:1;5551:5;;5486:80;5585:4;5575:76;;-1:-1:-1;5622:1:1;5636:5;;5575:76;5667:4;5685:1;5680:59;;;;5753:1;5748:130;;;;5660:218;;5680:59;5710:1;5701:10;;5724:5;;;5748:130;5785:3;5775:8;5772:17;5769:43;;;5792:18;;:::i;:::-;-1:-1:-1;;5848:1:1;5834:16;;5863:5;;5660:218;;5962:2;5952:8;5949:16;5943:3;5937:4;5934:13;5930:36;5924:2;5914:8;5911:16;5906:2;5900:4;5897:12;5893:35;5890:77;5887:159;;;-1:-1:-1;5999:19:1;;;6031:5;;5887:159;6078:34;6103:8;6097:4;6078:34;:::i;:::-;6148:6;6144:1;6140:6;6136:19;6127:7;6124:32;6121:58;;;6159:18;;:::i;:::-;6197:20;;5417:806;-1:-1:-1;;;5417:806:1:o;6228:140::-;6286:5;6315:47;6356:4;6346:8;6342:19;6336:4;6315:47;:::i;6373:168::-;6446:9;;;6477;;6494:15;;;6488:22;;6474:37;6464:71;;6515:18;;:::i;6546:356::-;6748:2;6730:21;;;6767:18;;;6760:30;6826:34;6821:2;6806:18;;6799:62;6893:2;6878:18;;6546:356::o;6907:127::-;6968:10;6963:3;6959:20;6956:1;6949:31;6999:4;6996:1;6989:15;7023:4;7020:1;7013:15;7039:135;7078:3;7099:17;;;7096:43;;7119:18;;:::i;:::-;-1:-1:-1;7166:1:1;7155:13;;7039:135::o;7531:251::-;7601:6;7654:2;7642:9;7633:7;7629:23;7625:32;7622:52;;;7670:1;7667;7660:12;7622:52;7702:9;7696:16;7721:31;7746:5;7721:31;:::i;8708:306::-;8796:6;8804;8812;8865:2;8853:9;8844:7;8840:23;8836:32;8833:52;;;8881:1;8878;8871:12;8833:52;8910:9;8904:16;8894:26;;8960:2;8949:9;8945:18;8939:25;8929:35;;9004:2;8993:9;8989:18;8983:25;8973:35;;8708:306;;;;;:::o;11449:125::-;11514:9;;;11535:10;;;11532:36;;;11548:18;;:::i;11934:128::-;12001:9;;;12022:11;;;12019:37;;;12036:18;;:::i;12067:217::-;12107:1;12133;12123:132;;12177:10;12172:3;12168:20;12165:1;12158:31;12212:4;12209:1;12202:15;12240:4;12237:1;12230:15;12123:132;-1:-1:-1;12269:9:1;;12067:217::o;12691:980::-;12953:4;13001:3;12990:9;12986:19;13032:6;13021:9;13014:25;13058:2;13096:6;13091:2;13080:9;13076:18;13069:34;13139:3;13134:2;13123:9;13119:18;13112:31;13163:6;13198;13192:13;13229:6;13221;13214:22;13267:3;13256:9;13252:19;13245:26;;13306:2;13298:6;13294:15;13280:29;;13327:1;13337:195;13351:6;13348:1;13345:13;13337:195;;;13416:13;;-1:-1:-1;;;;;13412:39:1;13400:52;;13507:15;;;;13472:12;;;;13448:1;13366:9;13337:195;;;-1:-1:-1;;;;;;;13588:32:1;;;;13583:2;13568:18;;13561:60;-1:-1:-1;;;13652:3:1;13637:19;13630:35;13549:3;12691:980;-1:-1:-1;;;12691:980:1:o

Swarm Source

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