ETH Price: $3,017.69 (+2.95%)
Gas: 1 Gwei

Token

Bella Pay Protocol (BELLA)
 

Overview

Max Total Supply

100,000,000 BELLA

Holders

34

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
652,902.543866143 BELLA

Value
$0.00
0xdd01dcfa33bbe5a2f212cfccdc7c635abff85fea
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:
BELLA

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 2023-11-11
*/

/**
Website: https://www.bellapay.finance
Document: https://docs.bellapay.finance

Twitter:   https://twitter.com/bellapay_fi
Telegram:  https://t.me/bellapay_fi
**/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function getAmountsOut(
        uint amountIn,
        address[] memory path
    ) external view returns (uint[] memory amounts);

    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 BELLA is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) public isMarketPair;

    address payable private _taxAddress =
        payable(0xC9FbA52c1473F72df4a6E79E4fCa866DF6F30d85);

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100_000_000 * 10 ** _decimals;
    string private constant _name = unicode"Bella Pay Protocol";
    string private constant _symbol = unicode"BELLA";

    uint256 private _initialBuyTax = 20;
    uint256 private _totalBuyTax = 20;
    uint256 private _initialSellTax = 20;
    uint256 private _totalSellTax = 20;

    uint256 public _maxTxAmount = (_tTotal * 20) / 1000;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event _maxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        setIsExcludedFromFee(owner(), true);
        setIsExcludedFromFee(_taxAddress, true);
        setIsExcludedFromFee(address(this), true);

        _mint(_msgSender(), (_tTotal * 5) / 100);
        _mint(address(this), (_tTotal * 95) / 100);
    }

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

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

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

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

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

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

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

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

    function 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(!_isExcludedFromFees[from] && !_isExcludedFromFees[to]){
            require(tradingOpen, "Trading had not opened yet.");
        }

        if (
            isMarketPair[from] &&
            to != address(uniswapV2Router) &&
            !_isExcludedFromFees[to]
        ) {
            require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
        }
        
        if (inSwap || (from == address(this) || to == address(this))) {
            _balances[from] = _balances[from].sub(amount);
            _balances[to] = _balances[to].add(amount);
            emit Transfer(from, to, amount);
        } else {
            uint256 contractTokenBalance = balanceOf(address(this));

            if (
                !inSwap &&
                !isMarketPair[from] &&
                swapEnabled &&
                !_isExcludedFromFees[from] &&
                !_isExcludedFromFees[to] &&
                contractTokenBalance > 0
            ) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }

            uint256 taxAmount = 0;
            bool takeFee = true;

            if (_isExcludedFromFees[from] && !isMarketPair[to]) {
                taxAmount = amount.mul(_totalBuyTax).div(100);
                if (taxAmount >= 0)
                    _balances[_taxAddress] = _balances[_taxAddress].add(taxAmount);
                emit Transfer(from, _taxAddress, taxAmount);
                takeFee = false;
            }

            if (takeFee) {
                taxAmount = amount.mul(_initialBuyTax).div(100);

                if (isMarketPair[to] && from != address(this)) {
                    taxAmount = amount.mul(_initialSellTax).div(100);
                }

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

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

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

    function sendETHToFee(uint256 amount) internal {
        _taxAddress.transfer(amount);
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = ~uint256(0);

        _initialBuyTax = 2;
        _initialSellTax = 2;

        emit _maxTxAmountUpdated(~uint256(0));
    }

    function addLP() external payable onlyOwner {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        uniswapV2Router = _uniswapV2Router;

        _approve(address(this), address(uniswapV2Router), ~uint256(0));

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        _setMarketPairStatus(uniswapV2Pair, true);

        uniswapV2Router.addLiquidityETH{value: msg.value}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
    }

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function manualSwap() external onlyOwner {
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }

    function setIsExcludedFromFee(
        address account,
        bool newValue
    ) public onlyOwner {
        _isExcludedFromFees[account] = newValue;
    }

    function _mint(address account, uint256 amount) private {
        _balances[account] = amount;
        emit Transfer(address(0), account, amount);
    }

    function _setMarketPairStatus(address account, bool newValue) private {
        isMarketPair[account] = newValue;
    }

    function setMarketPairStatus(
        address account,
        bool newValue
    ) public onlyOwner {
        require(
            account != uniswapV2Pair,
            "The pair cannot be removed from isAMMPair"
        );
        isMarketPair[account] = newValue;
    }
}

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":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":"_maxTxAmount","type":"uint256"}],"name":"_maxTxAmountUpdated","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLP","outputs":[],"stateMutability":"payable","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":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setIsExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600580546001600160a01b03191673c9fba52c1473f72df4a6e79e4fca866df6f30d85179055601460068190556007819055600881905560099081556103e8906200005190600a6200038c565b62000061906305f5e100620003a4565b6200006e906014620003a4565b6200007a9190620003be565b600a55600c805462ffffff60a01b191690553480156200009957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000fa620000f26000546001600160a01b031690565b60016200019c565b60055462000113906001600160a01b031660016200019c565b620001203060016200019c565b62000164336064620001356009600a6200038c565b62000145906305f5e100620003a4565b62000152906005620003a4565b6200015e9190620003be565b62000226565b62000196306064620001796009600a6200038c565b62000189906305f5e100620003a4565b6200015290605f620003a4565b620003e1565b6000546001600160a01b03163314620001fb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6001600160a01b0382166000818152600160209081526040808320859055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002ce578160001904821115620002b257620002b262000277565b80851615620002c057918102915b93841c939080029062000292565b509250929050565b600082620002e75750600162000386565b81620002f65750600062000386565b81600181146200030f57600281146200031a576200033a565b600191505062000386565b60ff8411156200032e576200032e62000277565b50506001821b62000386565b5060208310610133831016604e8410600b84101617156200035f575081810a62000386565b6200036b83836200028d565b806000190482111562000382576200038262000277565b0290505b92915050565b60006200039d60ff841683620002d6565b9392505050565b808202811582820484141762000386576200038662000277565b600082620003dc57634e487b7160e01b600052601260045260246000fd5b500490565b611a4180620003f16000396000f3fe60806040526004361061012e5760003560e01c8063715018a6116100ab5780638da5cb5b1161006f5780638da5cb5b1461036057806395d89b411461037e578063a9059cbb146103ac578063bc37e1a3146103cc578063dd62ed3e146103d4578063ef422a181461041a57600080fd5b8063715018a6146102eb578063751039fc146103005780637d1db4a514610315578063844d591c1461032b5780638a8c523c1461034b57600080fd5b8063313ce567116100f2578063313ce567146102325780633ecad2711461024e57806349bd5a5e1461027e57806351bc3c851461029e57806370a08231146102b557600080fd5b806306fdde031461013a578063095ea7b3146101875780631694505e146101b757806318160ddd146101ef57806323b872dd1461021257600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152601281527110995b1b184814185e48141c9bdd1bd8dbdb60721b60208201525b60405161017e91906115f8565b60405180910390f35b34801561019357600080fd5b506101a76101a236600461165e565b61043a565b604051901515815260200161017e565b3480156101c357600080fd5b50600b546101d7906001600160a01b031681565b6040516001600160a01b03909116815260200161017e565b3480156101fb57600080fd5b50610204610451565b60405190815260200161017e565b34801561021e57600080fd5b506101a761022d36600461168a565b610472565b34801561023e57600080fd5b506040516009815260200161017e565b34801561025a57600080fd5b506101a76102693660046116cb565b60046020526000908152604090205460ff1681565b34801561028a57600080fd5b50600c546101d7906001600160a01b031681565b3480156102aa57600080fd5b506102b36104db565b005b3480156102c157600080fd5b506102046102d03660046116cb565b6001600160a01b031660009081526001602052604090205490565b3480156102f757600080fd5b506102b3610541565b34801561030c57600080fd5b506102b36105b5565b34801561032157600080fd5b50610204600a5481565b34801561033757600080fd5b506102b36103463660046116e8565b610626565b34801561035757600080fd5b506102b36106eb565b34801561036c57600080fd5b506000546001600160a01b03166101d7565b34801561038a57600080fd5b5060408051808201909152600581526442454c4c4160d81b6020820152610171565b3480156103b857600080fd5b506101a76103c736600461165e565b610788565b6102b3610795565b3480156103e057600080fd5b506102046103ef366004611726565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561042657600080fd5b506102b36104353660046116e8565b610a67565b6000610447338484610abc565b5060015b92915050565b600061045f6009600a61184e565b61046d906305f5e10061185d565b905090565b600061047f848484610be1565b6104d184336104cc856040518060600160405280602881526020016119c4602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611275565b610abc565b5060019392505050565b6000546001600160a01b0316331461050e5760405162461bcd60e51b815260040161050590611874565b60405180910390fd5b30600090815260016020526040902054801561052d5761052d816112af565b47801561053d5761053d81611429565b5050565b6000546001600160a01b0316331461056b5760405162461bcd60e51b815260040161050590611874565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105df5760405162461bcd60e51b815260040161050590611874565b600019600a819055600260068190556008556040519081527f9db9a6bb34668471bb42c5125336636b21681b762cc518e445a94386af2d44379060200160405180910390a1565b6000546001600160a01b031633146106505760405162461bcd60e51b815260040161050590611874565b600c546001600160a01b03908116908316036106c05760405162461bcd60e51b815260206004820152602960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201526834b9a0a6a6a830b4b960b91b6064820152608401610505565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107155760405162461bcd60e51b815260040161050590611874565b600c54600160a01b900460ff161561076f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610505565b600c805462ff00ff60a01b19166201000160a01b179055565b6000610447338484610be1565b6000546001600160a01b031633146107bf5760405162461bcd60e51b815260040161050590611874565b600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107f53082600019610abc565b600b60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086c91906118a9565b6001600160a01b031663c9c6539630600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f291906118a9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561093f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096391906118a9565b600c80546001600160a01b0319166001600160a01b0392909216918217905561098d9060016106c0565b600b546001600160a01b031663f305d71934306109bf816001600160a01b031660009081526001602052604090205490565b6000806109d46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a3c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a6191906118c6565b50505050565b6000546001600160a01b03163314610a915760405162461bcd60e51b815260040161050590611874565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6001600160a01b038316610b1e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610505565b6001600160a01b038216610b7f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610505565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610c455760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610505565b6001600160a01b038216610ca75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610505565b60008111610d095760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610505565b6001600160a01b03831660009081526003602052604090205460ff16158015610d4b57506001600160a01b03821660009081526003602052604090205460ff16155b15610da957600c54600160a01b900460ff16610da95760405162461bcd60e51b815260206004820152601b60248201527f54726164696e6720686164206e6f74206f70656e6564207965742e00000000006044820152606401610505565b6001600160a01b03831660009081526004602052604090205460ff168015610ddf5750600b546001600160a01b03838116911614155b8015610e0457506001600160a01b03821660009081526003602052604090205460ff16155b15610e5b57600a54811115610e5b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610505565b600c54600160a81b900460ff1680610e8d57506001600160a01b038316301480610e8d57506001600160a01b03821630145b15610f26576001600160a01b038316600090815260016020526040902054610eb59082611463565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ee490826114ac565b6001600160a01b0380841660008181526001602052604090819020939093559151908516906000805160206119ec83398151915290610bd49085815260200190565b30600090815260016020526040902054600c54600160a81b900460ff16158015610f6957506001600160a01b03841660009081526004602052604090205460ff16155b8015610f7e5750600c54600160b01b900460ff165b8015610fa357506001600160a01b03841660009081526003602052604090205460ff16155b8015610fc857506001600160a01b03831660009081526003602052604090205460ff16155b8015610fd45750600081115b15610ff457610fe2816112af565b478015610ff257610ff247611429565b505b6001600160a01b03841660009081526003602052604081205460019060ff16801561103857506001600160a01b03851660009081526004602052604090205460ff16155b156110dd5761105d60646110576007548761150b90919063ffffffff16565b9061158d565b91506005546001600160a01b031660009081526001602052604090205461108490836114ac565b6005546001600160a01b03166000908152600160205260409020556005546040516001600160a01b03918216918816906000805160206119ec833981519152906110d19086815260200190565b60405180910390a35060005b801561126d576110fd60646110576006548761150b90919063ffffffff16565b6001600160a01b03861660009081526004602052604090205490925060ff16801561113157506001600160a01b0386163014155b156111535761115060646110576008548761150b90919063ffffffff16565b91505b81156111bb573060009081526001602052604090205461117390836114ac565b30600081815260016020526040908190209290925590516001600160a01b038816906000805160206119ec833981519152906111b29086815260200190565b60405180910390a35b6001600160a01b0386166000908152600160205260409020546111de9085611463565b6001600160a01b0387166000908152600160205260409020556112236112048584611463565b6001600160a01b038716600090815260016020526040902054906114ac565b6001600160a01b0380871660008181526001602052604090209290925587166000805160206119ec83398151915261125b8786611463565b60405190815260200160405180910390a35b505050505050565b600081848411156112995760405162461bcd60e51b815260040161050591906115f8565b5060006112a684866118f4565b95945050505050565b600c805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112f7576112f7611907565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611350573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137491906118a9565b8160018151811061138757611387611907565b6001600160a01b039283166020918202929092010152600b546113ad9130911684610abc565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac947906113e690859060009086903090429060040161191d565b600060405180830381600087803b15801561140057600080fd5b505af1158015611414573d6000803e3d6000fd5b5050600c805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561053d573d6000803e3d6000fd5b60006114a583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611275565b9392505050565b6000806114b9838561198e565b9050838110156114a55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610505565b60008260000361151d5750600061044b565b6000611529838561185d565b90508261153685836119a1565b146114a55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610505565b60006114a583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836115eb5760405162461bcd60e51b815260040161050591906115f8565b5060006112a684866119a1565b600060208083528351808285015260005b8181101561162557858101830151858201604001528201611609565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461165b57600080fd5b50565b6000806040838503121561167157600080fd5b823561167c81611646565b946020939093013593505050565b60008060006060848603121561169f57600080fd5b83356116aa81611646565b925060208401356116ba81611646565b929592945050506040919091013590565b6000602082840312156116dd57600080fd5b81356114a581611646565b600080604083850312156116fb57600080fd5b823561170681611646565b91506020830135801515811461171b57600080fd5b809150509250929050565b6000806040838503121561173957600080fd5b823561174481611646565b9150602083013561171b81611646565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117a557816000190482111561178b5761178b611754565b8085161561179857918102915b93841c939080029061176f565b509250929050565b6000826117bc5750600161044b565b816117c95750600061044b565b81600181146117df57600281146117e957611805565b600191505061044b565b60ff8411156117fa576117fa611754565b50506001821b61044b565b5060208310610133831016604e8410600b8410161715611828575081810a61044b565b611832838361176a565b806000190482111561184657611846611754565b029392505050565b60006114a560ff8416836117ad565b808202811582820484141761044b5761044b611754565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156118bb57600080fd5b81516114a581611646565b6000806000606084860312156118db57600080fd5b8351925060208401519150604084015190509250925092565b8181038181111561044b5761044b611754565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561196d5784516001600160a01b031683529383019391830191600101611948565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561044b5761044b611754565b6000826119be57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ab9b97b8e2f3eba439413c3f7fb8221cba317aca297c004210aa90228885778964736f6c63430008130033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063715018a6116100ab5780638da5cb5b1161006f5780638da5cb5b1461036057806395d89b411461037e578063a9059cbb146103ac578063bc37e1a3146103cc578063dd62ed3e146103d4578063ef422a181461041a57600080fd5b8063715018a6146102eb578063751039fc146103005780637d1db4a514610315578063844d591c1461032b5780638a8c523c1461034b57600080fd5b8063313ce567116100f2578063313ce567146102325780633ecad2711461024e57806349bd5a5e1461027e57806351bc3c851461029e57806370a08231146102b557600080fd5b806306fdde031461013a578063095ea7b3146101875780631694505e146101b757806318160ddd146101ef57806323b872dd1461021257600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152601281527110995b1b184814185e48141c9bdd1bd8dbdb60721b60208201525b60405161017e91906115f8565b60405180910390f35b34801561019357600080fd5b506101a76101a236600461165e565b61043a565b604051901515815260200161017e565b3480156101c357600080fd5b50600b546101d7906001600160a01b031681565b6040516001600160a01b03909116815260200161017e565b3480156101fb57600080fd5b50610204610451565b60405190815260200161017e565b34801561021e57600080fd5b506101a761022d36600461168a565b610472565b34801561023e57600080fd5b506040516009815260200161017e565b34801561025a57600080fd5b506101a76102693660046116cb565b60046020526000908152604090205460ff1681565b34801561028a57600080fd5b50600c546101d7906001600160a01b031681565b3480156102aa57600080fd5b506102b36104db565b005b3480156102c157600080fd5b506102046102d03660046116cb565b6001600160a01b031660009081526001602052604090205490565b3480156102f757600080fd5b506102b3610541565b34801561030c57600080fd5b506102b36105b5565b34801561032157600080fd5b50610204600a5481565b34801561033757600080fd5b506102b36103463660046116e8565b610626565b34801561035757600080fd5b506102b36106eb565b34801561036c57600080fd5b506000546001600160a01b03166101d7565b34801561038a57600080fd5b5060408051808201909152600581526442454c4c4160d81b6020820152610171565b3480156103b857600080fd5b506101a76103c736600461165e565b610788565b6102b3610795565b3480156103e057600080fd5b506102046103ef366004611726565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561042657600080fd5b506102b36104353660046116e8565b610a67565b6000610447338484610abc565b5060015b92915050565b600061045f6009600a61184e565b61046d906305f5e10061185d565b905090565b600061047f848484610be1565b6104d184336104cc856040518060600160405280602881526020016119c4602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611275565b610abc565b5060019392505050565b6000546001600160a01b0316331461050e5760405162461bcd60e51b815260040161050590611874565b60405180910390fd5b30600090815260016020526040902054801561052d5761052d816112af565b47801561053d5761053d81611429565b5050565b6000546001600160a01b0316331461056b5760405162461bcd60e51b815260040161050590611874565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105df5760405162461bcd60e51b815260040161050590611874565b600019600a819055600260068190556008556040519081527f9db9a6bb34668471bb42c5125336636b21681b762cc518e445a94386af2d44379060200160405180910390a1565b6000546001600160a01b031633146106505760405162461bcd60e51b815260040161050590611874565b600c546001600160a01b03908116908316036106c05760405162461bcd60e51b815260206004820152602960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201526834b9a0a6a6a830b4b960b91b6064820152608401610505565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107155760405162461bcd60e51b815260040161050590611874565b600c54600160a01b900460ff161561076f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610505565b600c805462ff00ff60a01b19166201000160a01b179055565b6000610447338484610be1565b6000546001600160a01b031633146107bf5760405162461bcd60e51b815260040161050590611874565b600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107f53082600019610abc565b600b60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086c91906118a9565b6001600160a01b031663c9c6539630600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f291906118a9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561093f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096391906118a9565b600c80546001600160a01b0319166001600160a01b0392909216918217905561098d9060016106c0565b600b546001600160a01b031663f305d71934306109bf816001600160a01b031660009081526001602052604090205490565b6000806109d46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a3c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a6191906118c6565b50505050565b6000546001600160a01b03163314610a915760405162461bcd60e51b815260040161050590611874565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6001600160a01b038316610b1e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610505565b6001600160a01b038216610b7f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610505565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610c455760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610505565b6001600160a01b038216610ca75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610505565b60008111610d095760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610505565b6001600160a01b03831660009081526003602052604090205460ff16158015610d4b57506001600160a01b03821660009081526003602052604090205460ff16155b15610da957600c54600160a01b900460ff16610da95760405162461bcd60e51b815260206004820152601b60248201527f54726164696e6720686164206e6f74206f70656e6564207965742e00000000006044820152606401610505565b6001600160a01b03831660009081526004602052604090205460ff168015610ddf5750600b546001600160a01b03838116911614155b8015610e0457506001600160a01b03821660009081526003602052604090205460ff16155b15610e5b57600a54811115610e5b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610505565b600c54600160a81b900460ff1680610e8d57506001600160a01b038316301480610e8d57506001600160a01b03821630145b15610f26576001600160a01b038316600090815260016020526040902054610eb59082611463565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ee490826114ac565b6001600160a01b0380841660008181526001602052604090819020939093559151908516906000805160206119ec83398151915290610bd49085815260200190565b30600090815260016020526040902054600c54600160a81b900460ff16158015610f6957506001600160a01b03841660009081526004602052604090205460ff16155b8015610f7e5750600c54600160b01b900460ff165b8015610fa357506001600160a01b03841660009081526003602052604090205460ff16155b8015610fc857506001600160a01b03831660009081526003602052604090205460ff16155b8015610fd45750600081115b15610ff457610fe2816112af565b478015610ff257610ff247611429565b505b6001600160a01b03841660009081526003602052604081205460019060ff16801561103857506001600160a01b03851660009081526004602052604090205460ff16155b156110dd5761105d60646110576007548761150b90919063ffffffff16565b9061158d565b91506005546001600160a01b031660009081526001602052604090205461108490836114ac565b6005546001600160a01b03166000908152600160205260409020556005546040516001600160a01b03918216918816906000805160206119ec833981519152906110d19086815260200190565b60405180910390a35060005b801561126d576110fd60646110576006548761150b90919063ffffffff16565b6001600160a01b03861660009081526004602052604090205490925060ff16801561113157506001600160a01b0386163014155b156111535761115060646110576008548761150b90919063ffffffff16565b91505b81156111bb573060009081526001602052604090205461117390836114ac565b30600081815260016020526040908190209290925590516001600160a01b038816906000805160206119ec833981519152906111b29086815260200190565b60405180910390a35b6001600160a01b0386166000908152600160205260409020546111de9085611463565b6001600160a01b0387166000908152600160205260409020556112236112048584611463565b6001600160a01b038716600090815260016020526040902054906114ac565b6001600160a01b0380871660008181526001602052604090209290925587166000805160206119ec83398151915261125b8786611463565b60405190815260200160405180910390a35b505050505050565b600081848411156112995760405162461bcd60e51b815260040161050591906115f8565b5060006112a684866118f4565b95945050505050565b600c805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112f7576112f7611907565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611350573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137491906118a9565b8160018151811061138757611387611907565b6001600160a01b039283166020918202929092010152600b546113ad9130911684610abc565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac947906113e690859060009086903090429060040161191d565b600060405180830381600087803b15801561140057600080fd5b505af1158015611414573d6000803e3d6000fd5b5050600c805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561053d573d6000803e3d6000fd5b60006114a583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611275565b9392505050565b6000806114b9838561198e565b9050838110156114a55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610505565b60008260000361151d5750600061044b565b6000611529838561185d565b90508261153685836119a1565b146114a55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610505565b60006114a583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836115eb5760405162461bcd60e51b815260040161050591906115f8565b5060006112a684866119a1565b600060208083528351808285015260005b8181101561162557858101830151858201604001528201611609565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461165b57600080fd5b50565b6000806040838503121561167157600080fd5b823561167c81611646565b946020939093013593505050565b60008060006060848603121561169f57600080fd5b83356116aa81611646565b925060208401356116ba81611646565b929592945050506040919091013590565b6000602082840312156116dd57600080fd5b81356114a581611646565b600080604083850312156116fb57600080fd5b823561170681611646565b91506020830135801515811461171b57600080fd5b809150509250929050565b6000806040838503121561173957600080fd5b823561174481611646565b9150602083013561171b81611646565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117a557816000190482111561178b5761178b611754565b8085161561179857918102915b93841c939080029061176f565b509250929050565b6000826117bc5750600161044b565b816117c95750600061044b565b81600181146117df57600281146117e957611805565b600191505061044b565b60ff8411156117fa576117fa611754565b50506001821b61044b565b5060208310610133831016604e8410600b8410161715611828575081810a61044b565b611832838361176a565b806000190482111561184657611846611754565b029392505050565b60006114a560ff8416836117ad565b808202811582820484141761044b5761044b611754565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156118bb57600080fd5b81516114a581611646565b6000806000606084860312156118db57600080fd5b8351925060208401519150604084015190509250925092565b8181038181111561044b5761044b611754565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561196d5784516001600160a01b031683529383019391830191600101611948565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561044b5761044b611754565b6000826119be57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ab9b97b8e2f3eba439413c3f7fb8221cba317aca297c004210aa90228885778964736f6c63430008130033

Deployed Bytecode Sourcemap

4263:9118:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5790:83;;;;;;;;;;-1:-1:-1;5860:5:0;;;;;;;;;;;;-1:-1:-1;;;5860:5:0;;;;5790:83;;;;;;;:::i;:::-;;;;;;;;6673:186;;;;;;;;;;-1:-1:-1;6673:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6673:186:0;1023:187:1;5156:41:0;;;;;;;;;;-1:-1:-1;5156:41:0;;;;-1:-1:-1;;;;;5156:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;5156:41:0;1215:229:1;6067:95:0;;;;;;;;;;;;;:::i;:::-;;;1595:25:1;;;1583:2;1568:18;6067:95:0;1449:177:1;6867:446:0;;;;;;;;;;-1:-1:-1;6867:446:0;;;;;:::i;:::-;;:::i;5976:83::-;;;;;;;;;;-1:-1:-1;5976:83:0;;4726:1;2234:36:1;;2222:2;2207:18;5976:83:0;2092:184:1;4531:44:0;;;;;;;;;;-1:-1:-1;4531:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5204:28;;;;;;;;;;-1:-1:-1;5204:28:0;;;;-1:-1:-1;;;;;5204:28:0;;;12298:330;;;;;;;;;;;;;:::i;:::-;;6170:119;;;;;;;;;;-1:-1:-1;6170:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6263:18:0;6236:7;6263:18;;;:9;:18;;;;;;;6170:119;2949:148;;;;;;;;;;;;;:::i;11124:199::-;;;;;;;;;;;;;:::i;5096:51::-;;;;;;;;;;;;;;;;13098:280;;;;;;;;;;-1:-1:-1;13098:280:0;;;;;:::i;:::-;;:::i;12084:169::-;;;;;;;;;;;;;:::i;2735:79::-;;;;;;;;;;-1:-1:-1;2773:7:0;2800:6;-1:-1:-1;;;;;2800:6:0;2735:79;;5881:87;;;;;;;;;;-1:-1:-1;5953:7:0;;;;;;;;;;;;-1:-1:-1;;;5953:7:0;;;;5881:87;;6297:192;;;;;;;;;;-1:-1:-1;6297:192:0;;;;;:::i;:::-;;:::i;11331:745::-;;;:::i;6497:168::-;;;;;;;;;;-1:-1:-1;6497:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6630:18:0;;;6603:7;6630:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6497:168;12636:162;;;;;;;;;;-1:-1:-1;12636:162:0;;;;;:::i;:::-;;:::i;6673:186::-;6773:4;6790:39;350:10;6813:7;6822:6;6790:8;:39::i;:::-;-1:-1:-1;6847:4:0;6673:186;;;;;:::o;6067:95::-;6120:7;4783:15;4726:1;4783:2;:15;:::i;:::-;4769:29;;:11;:29;:::i;:::-;6140:14;;6067:95;:::o;6867:446::-;6999:4;7016:36;7026:6;7034:9;7045:6;7016:9;:36::i;:::-;7063:220;7086:6;350:10;7134:138;7190:6;7134:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7134:19:0;;;;;;:11;:19;;;;;;;;350:10;7134:33;;;;;;;;;;:37;:138::i;:::-;7063:8;:220::i;:::-;-1:-1:-1;7301:4:0;6867:446;;;;;:::o;12298:330::-;2862:6;;-1:-1:-1;;;;;2862:6:0;350:10;2862:22;2854:67;;;;-1:-1:-1;;;2854:67:0;;;;;;;:::i;:::-;;;;;;;;;12391:4:::1;12350:20;6263:18:::0;;;:9;:18;;;;;;12412:16;;12408:79:::1;;12445:30;12462:12;12445:16;:30::i;:::-;12518:21;12554:14:::0;;12550:71:::1;;12585:24;12598:10;12585:12;:24::i;:::-;12339:289;;12298:330::o:0;2949:148::-;2862:6;;-1:-1:-1;;;;;2862:6:0;350:10;2862:22;2854:67;;;;-1:-1:-1;;;2854:67:0;;;;;;;:::i;:::-;3056:1:::1;3040:6:::0;;3019:40:::1;::::0;-1:-1:-1;;;;;3040:6:0;;::::1;::::0;3019:40:::1;::::0;3056:1;;3019:40:::1;3087:1;3070:19:::0;;-1:-1:-1;;;;;;3070:19:0::1;::::0;;2949:148::o;11124:199::-;2862:6;;-1:-1:-1;;;;;2862:6:0;350:10;2862:22;2854:67;;;;-1:-1:-1;;;2854:67:0;;;;;;;:::i;:::-;-1:-1:-1;;11178:12:0::1;:26:::0;;;11234:1:::1;11217:14;:18:::0;;;11246:15:::1;:19:::0;11283:32:::1;::::0;1595:25:1;;;11283:32:0::1;::::0;1583:2:1;1568:18;11283:32:0::1;;;;;;;11124:199::o:0;13098:280::-;2862:6;;-1:-1:-1;;;;;2862:6:0;350:10;2862:22;2854:67;;;;-1:-1:-1;;;2854:67:0;;;;;;;:::i;:::-;13245:13:::1;::::0;-1:-1:-1;;;;;13245:13:0;;::::1;13234:24:::0;;::::1;::::0;13212:115:::1;;;::::0;-1:-1:-1;;;13212:115:0;;5806:2:1;13212:115:0::1;::::0;::::1;5788:21:1::0;5845:2;5825:18;;;5818:30;5884:34;5864:18;;;5857:62;-1:-1:-1;;;5935:18:1;;;5928:39;5984:19;;13212:115:0::1;5604:405:1::0;13212:115:0::1;-1:-1:-1::0;;;;;13338:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;13338:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13098:280::o;12084:169::-;2862:6;;-1:-1:-1;;;;;2862:6:0;350:10;2862:22;2854:67;;;;-1:-1:-1;;;2854:67:0;;;;;;;:::i;:::-;12148:11:::1;::::0;-1:-1:-1;;;12148:11:0;::::1;;;12147:12;12139:48;;;::::0;-1:-1:-1;;;12139:48:0;;6216:2:1;12139:48:0::1;::::0;::::1;6198:21:1::0;6255:2;6235:18;;;6228:30;6294:25;6274:18;;;6267:53;6337:18;;12139:48:0::1;6014:347:1::0;12139:48:0::1;12198:11;:18:::0;;-1:-1:-1;;;;12227:18:0;-1:-1:-1;;;12227:18:0;;;12084:169::o;6297:192::-;6400:4;6417:42;350:10;6441:9;6452:6;6417:9;:42::i;11331:745::-;2862:6;;-1:-1:-1;;;;;2862:6:0;350:10;2862:22;2854:67;;;;-1:-1:-1;;;2854:67:0;;;;;;;:::i;:::-;11523:15:::1;:34:::0;;-1:-1:-1;;;;;;11523:34:0::1;11457:42;11523:34:::0;;::::1;::::0;;;11570:62:::1;11587:4;11457:42:::0;-1:-1:-1;;11570:8:0::1;:62::i;:::-;11679:15;;;;;;;;;-1:-1:-1::0;;;;;11679:15:0::1;-1:-1:-1::0;;;;;11679:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11661:55:0::1;;11739:4;11759:15;;;;;;;;;-1:-1:-1::0;;;;;11759:15:0::1;-1:-1:-1::0;;;;;11759:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11661:131;::::0;-1:-1:-1;;;;;;11661:131:0::1;::::0;;;;;;-1:-1:-1;;;;;6852:15:1;;;11661:131:0::1;::::0;::::1;6834:34:1::0;6904:15;;6884:18;;;6877:43;6769:18;;11661:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11645:13;:147:::0;;-1:-1:-1;;;;;;11645:147:0::1;-1:-1:-1::0;;;;;11645:147:0;;;::::1;::::0;;::::1;::::0;;11803:41:::1;::::0;-1:-1:-1;11803:20:0::1;:41::i;:::-;11857:15;::::0;-1:-1:-1;;;;;11857:15:0::1;:31;11896:9;11929:4;11949:24;11929:4:::0;-1:-1:-1;;;;;6263:18:0;6236:7;6263:18;;;:9;:18;;;;;;;6170:119;11949:24:::1;11988:1;12004::::0;12020:7:::1;2773::::0;2800:6;-1:-1:-1;;;;;2800:6:0;;2735:79;12020:7:::1;11857:211;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11857:211:0;;;-1:-1:-1;;;;;7290:15:1;;;11857:211:0::1;::::0;::::1;7272:34:1::0;7322:18;;;7315:34;;;;7365:18;;;7358:34;;;;7408:18;;;7401:34;7472:15;;;7451:19;;;7444:44;12042:15:0::1;7504:19:1::0;;;7497:35;7206:19;;11857:211:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11375:701;11331:745::o:0;12636:162::-;2862:6;;-1:-1:-1;;;;;2862:6:0;350:10;2862:22;2854:67;;;;-1:-1:-1;;;2854:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12751:28:0;;;::::1;;::::0;;;:19:::1;:28;::::0;;;;:39;;-1:-1:-1;;12751:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12636:162::o;7321:335::-;-1:-1:-1;;;;;7414:19:0;;7406:68;;;;-1:-1:-1;;;7406:68:0;;8056:2:1;7406:68:0;;;8038:21:1;8095:2;8075:18;;;8068:30;8134:34;8114:18;;;8107:62;-1:-1:-1;;;8185:18:1;;;8178:34;8229:19;;7406:68:0;7854:400:1;7406:68:0;-1:-1:-1;;;;;7493:21:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;8461:2:1;7485:68:0;;;8443:21:1;8500:2;8480:18;;;8473:30;8539:34;8519:18;;;8512:62;-1:-1:-1;;;8590:18:1;;;8583:32;8632:19;;7485:68:0;8259:398:1;7485:68:0;-1:-1:-1;;;;;7564:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7616:32;;1595:25:1;;;7616:32:0;;1568:18:1;7616:32:0;;;;;;;;7321:335;;;:::o;7664:2744::-;-1:-1:-1;;;;;7752:18:0;;7744:68;;;;-1:-1:-1;;;7744:68:0;;8864:2:1;7744:68:0;;;8846:21:1;8903:2;8883:18;;;8876:30;8942:34;8922:18;;;8915:62;-1:-1:-1;;;8993:18:1;;;8986:35;9038:19;;7744:68:0;8662:401:1;7744:68:0;-1:-1:-1;;;;;7831:16:0;;7823:64;;;;-1:-1:-1;;;7823:64:0;;9270:2:1;7823:64:0;;;9252:21:1;9309:2;9289:18;;;9282:30;9348:34;9328:18;;;9321:62;-1:-1:-1;;;9399:18:1;;;9392:33;9442:19;;7823:64:0;9068:399:1;7823:64:0;7915:1;7906:6;:10;7898:64;;;;-1:-1:-1;;;7898:64:0;;9674:2:1;7898:64:0;;;9656:21:1;9713:2;9693:18;;;9686:30;9752:34;9732:18;;;9725:62;-1:-1:-1;;;9803:18:1;;;9796:39;9852:19;;7898:64:0;9472:405:1;7898:64:0;-1:-1:-1;;;;;7979:25:0;;;;;;:19;:25;;;;;;;;7978:26;:54;;;;-1:-1:-1;;;;;;8009:23:0;;;;;;:19;:23;;;;;;;;8008:24;7978:54;7975:136;;;8056:11;;-1:-1:-1;;;8056:11:0;;;;8048:51;;;;-1:-1:-1;;;8048:51:0;;10084:2:1;8048:51:0;;;10066:21:1;10123:2;10103:18;;;10096:30;10162:29;10142:18;;;10135:57;10209:18;;8048:51:0;9882:351:1;8048:51:0;-1:-1:-1;;;;;8141:18:0;;;;;;:12;:18;;;;;;;;:65;;;;-1:-1:-1;8190:15:0;;-1:-1:-1;;;;;8176:30:0;;;8190:15;;8176:30;;8141:65;:106;;;;-1:-1:-1;;;;;;8224:23:0;;;;;;:19;:23;;;;;;;;8223:24;8141:106;8123:223;;;8292:12;;8282:6;:22;;8274:60;;;;-1:-1:-1;;;8274:60:0;;10440:2:1;8274:60:0;;;10422:21:1;10479:2;10459:18;;;10452:30;10518:27;10498:18;;;10491:55;10563:18;;8274:60:0;10238:349:1;8274:60:0;8370:6;;-1:-1:-1;;;8370:6:0;;;;;:56;;-1:-1:-1;;;;;;8381:21:0;;8397:4;8381:21;;:44;;-1:-1:-1;;;;;;8406:19:0;;8420:4;8406:19;8381:44;8366:2035;;;-1:-1:-1;;;;;8461:15:0;;;;;;:9;:15;;;;;;:27;;8481:6;8461:19;:27::i;:::-;-1:-1:-1;;;;;8443:15:0;;;;;;;:9;:15;;;;;;:45;;;;8519:13;;;;;;;:25;;8537:6;8519:17;:25::i;:::-;-1:-1:-1;;;;;8503:13:0;;;;;;;:9;:13;;;;;;;:41;;;;8564:26;;;;;;-1:-1:-1;;;;;;;;;;;8564:26:0;;;8583:6;1595:25:1;;1583:2;1568:18;;1449:177;8366:2035:0;8672:4;8623:28;6263:18;;;:9;:18;;;;;;8718:6;;-1:-1:-1;;;8718:6:0;;;;8717:7;:47;;;;-1:-1:-1;;;;;;8746:18:0;;;;;;:12;:18;;;;;;;;8745:19;8717:47;:79;;;;-1:-1:-1;8785:11:0;;-1:-1:-1;;;8785:11:0;;;;8717:79;:126;;;;-1:-1:-1;;;;;;8818:25:0;;;;;;:19;:25;;;;;;;;8817:26;8717:126;:171;;;;-1:-1:-1;;;;;;8865:23:0;;;;;;:19;:23;;;;;;;;8864:24;8717:171;:216;;;;;8932:1;8909:20;:24;8717:216;8695:520;;;8968:38;8985:20;8968:16;:38::i;:::-;9054:21;9098:22;;9094:106;;9145:35;9158:21;9145:12;:35::i;:::-;8949:266;8695:520;-1:-1:-1;;;;;9307:25:0;;9231:17;9307:25;;;:19;:25;;;;;;9282:4;;9307:25;;:46;;;;-1:-1:-1;;;;;;9337:16:0;;;;;;:12;:16;;;;;;;;9336:17;9307:46;9303:350;;;9386:33;9415:3;9386:24;9397:12;;9386:6;:10;;:24;;;;:::i;:::-;:28;;:33::i;:::-;9374:45;-1:-1:-1;9514:11:0;;-1:-1:-1;;;;;9514:11:0;9504:22;;;;:9;:22;;;;;;:37;;9531:9;9504:26;:37::i;:::-;9489:11;;-1:-1:-1;;;;;9489:11:0;9479:22;;;;:9;:22;;;;;:62;9580:11;;9565:38;;-1:-1:-1;;;;;9580:11:0;;;;9565:38;;;-1:-1:-1;;;;;;;;;;;9565:38:0;;;9593:9;1595:25:1;;1583:2;1568:18;;1449:177;9565:38:0;;;;;;;;-1:-1:-1;9632:5:0;9303:350;9673:7;9669:721;;;9713:35;9744:3;9713:26;9724:14;;9713:6;:10;;:26;;;;:::i;:35::-;-1:-1:-1;;;;;9773:16:0;;;;;;:12;:16;;;;;;9701:47;;-1:-1:-1;9773:16:0;;:41;;;;-1:-1:-1;;;;;;9793:21:0;;9809:4;9793:21;;9773:41;9769:138;;;9851:36;9883:3;9851:27;9862:15;;9851:6;:10;;:27;;;;:::i;:36::-;9839:48;;9769:138;9931:13;;9927:244;;10014:4;9996:24;;;;:9;:24;;;;;;:87;;10051:9;9996:28;:87::i;:::-;9987:4;9969:24;;;;:9;:24;;;;;;;:114;;;;10111:40;;-1:-1:-1;;;;;10111:40:0;;;-1:-1:-1;;;;;;;;;;;10111:40:0;;;10141:9;1595:25:1;;1583:2;1568:18;;1449:177;10111:40:0;;;;;;;;9927:244;-1:-1:-1;;;;;10207:15:0;;;;;;:9;:15;;;;;;:27;;10227:6;10207:19;:27::i;:::-;-1:-1:-1;;;;;10189:15:0;;;;;;:9;:15;;;;;:45;10269:40;10287:21;:6;10298:9;10287:10;:21::i;:::-;-1:-1:-1;;;;;10269:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10253:13:0;;;;;;;:9;:13;;;;;:56;;;;10333:41;;-1:-1:-1;;;;;;;;;;;10352:21:0;:6;10363:9;10352:10;:21::i;:::-;10333:41;;1595:25:1;;;1583:2;1568:18;10333:41:0;;;;;;;9669:721;8608:1793;;;7664:2744;;;:::o;1537:224::-;1657:7;1693:12;1685:6;;;;1677:29;;;;-1:-1:-1;;;1677:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1717:9:0;1729:5;1733:1;1729;:5;:::i;:::-;1717:17;1537:224;-1:-1:-1;;;;;1537:224:0:o;10531:483::-;5440:6;:13;;-1:-1:-1;;;;5440:13:0;-1:-1:-1;;;5440:13:0;;;10633:16:::1;::::0;;10647:1:::1;10633:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10633:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10633:16:0::1;10609:40;;10678:4;10660;10665:1;10660:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10660:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10704:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10704:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10660:7;;10704:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10694:4;10699:1;10694:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10694:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10769:15:::1;::::0;10737:62:::1;::::0;10754:4:::1;::::0;10769:15:::1;10787:11:::0;10737:8:::1;:62::i;:::-;10810:15;::::0;:196:::1;::::0;-1:-1:-1;;;10810:196:0;;-1:-1:-1;;;;;10810:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10891:11;;10810:15:::1;::::0;10933:4;;10960::::1;::::0;10980:15:::1;::::0;10810:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5476:6:0;:14;;-1:-1:-1;;;;5476:14:0;;;-1:-1:-1;;;;10531:483:0:o;11022:94::-;11080:11;;:28;;-1:-1:-1;;;;;11080:11:0;;;;:28;;;;;11101:6;;11080:11;:28;:11;:28;11101:6;11080:11;:28;;;;;;;;;;;;;;;;;;;1393:136;1451:7;1478:43;1482:1;1485;1478:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1471:50;1393:136;-1:-1:-1;;;1393:136:0:o;1206:179::-;1264:7;;1296:5;1300:1;1296;:5;:::i;:::-;1284:17;;1325:1;1320;:6;;1312:46;;;;-1:-1:-1;;;1312:46:0;;12306:2:1;1312:46:0;;;12288:21:1;12345:2;12325:18;;;12318:30;12384:29;12364:18;;;12357:57;12431:18;;1312:46:0;12104:351:1;1769:246:0;1827:7;1851:1;1856;1851:6;1847:47;;-1:-1:-1;1881:1:0;1874:8;;1847:47;1904:9;1916:5;1920:1;1916;:5;:::i;:::-;1904:17;-1:-1:-1;1949:1:0;1940:5;1944:1;1904:17;1940:5;:::i;:::-;:10;1932:56;;;;-1:-1:-1;;;1932:56:0;;12884:2:1;1932:56:0;;;12866:21:1;12923:2;12903:18;;;12896:30;12962:34;12942:18;;;12935:62;-1:-1:-1;;;13013:18:1;;;13006:31;13054:19;;1932:56:0;12682:397:1;2023:132:0;2081:7;2108:39;2112:1;2115;2108:39;;;;;;;;;;;;;;;;;2283:7;2318:12;2311:5;2303:28;;;;-1:-1:-1;;;2303:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2342:9:0;2354:5;2358:1;2354;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2281:247::-;2340:6;2393:2;2381:9;2372:7;2368:23;2364:32;2361:52;;;2409:1;2406;2399:12;2361:52;2448:9;2435:23;2467:31;2492:5;2467:31;:::i;2741:416::-;2806:6;2814;2867:2;2855:9;2846:7;2842:23;2838:32;2835:52;;;2883:1;2880;2873:12;2835:52;2922:9;2909:23;2941:31;2966:5;2941:31;:::i;:::-;2991:5;-1:-1:-1;3048:2:1;3033:18;;3020:32;3090:15;;3083:23;3071:36;;3061:64;;3121:1;3118;3111:12;3061:64;3144:7;3134:17;;;2741:416;;;;;:::o;3162:388::-;3230:6;3238;3291:2;3279:9;3270:7;3266:23;3262:32;3259:52;;;3307:1;3304;3297:12;3259:52;3346:9;3333:23;3365:31;3390:5;3365:31;:::i;:::-;3415:5;-1:-1:-1;3472:2:1;3457:18;;3444:32;3485:33;3444:32;3485:33;:::i;3555:127::-;3616:10;3611:3;3607:20;3604:1;3597:31;3647:4;3644:1;3637:15;3671:4;3668:1;3661:15;3687:422;3776:1;3819:5;3776:1;3833:270;3854:7;3844:8;3841:21;3833:270;;;3913:4;3909:1;3905:6;3901:17;3895:4;3892:27;3889:53;;;3922:18;;:::i;:::-;3972:7;3962:8;3958:22;3955:55;;;3992:16;;;;3955:55;4071:22;;;;4031:15;;;;3833:270;;;3837:3;3687:422;;;;;:::o;4114:806::-;4163:5;4193:8;4183:80;;-1:-1:-1;4234:1:1;4248:5;;4183:80;4282:4;4272:76;;-1:-1:-1;4319:1:1;4333:5;;4272:76;4364:4;4382:1;4377:59;;;;4450:1;4445:130;;;;4357:218;;4377:59;4407:1;4398:10;;4421:5;;;4445:130;4482:3;4472:8;4469:17;4466:43;;;4489:18;;:::i;:::-;-1:-1:-1;;4545:1:1;4531:16;;4560:5;;4357:218;;4659:2;4649:8;4646:16;4640:3;4634:4;4631:13;4627:36;4621:2;4611:8;4608:16;4603:2;4597:4;4594:12;4590:35;4587:77;4584:159;;;-1:-1:-1;4696:19:1;;;4728:5;;4584:159;4775:34;4800:8;4794:4;4775:34;:::i;:::-;4845:6;4841:1;4837:6;4833:19;4824:7;4821:32;4818:58;;;4856:18;;:::i;:::-;4894:20;;4114:806;-1:-1:-1;;;4114:806:1:o;4925:140::-;4983:5;5012:47;5053:4;5043:8;5039:19;5033:4;5012:47;:::i;5070:168::-;5143:9;;;5174;;5191:15;;;5185:22;;5171:37;5161:71;;5212:18;;:::i;5243:356::-;5445:2;5427:21;;;5464:18;;;5457:30;5523:34;5518:2;5503:18;;5496:62;5590:2;5575:18;;5243:356::o;6366:251::-;6436:6;6489:2;6477:9;6468:7;6464:23;6460:32;6457:52;;;6505:1;6502;6495:12;6457:52;6537:9;6531:16;6556:31;6581:5;6556:31;:::i;7543:306::-;7631:6;7639;7647;7700:2;7688:9;7679:7;7675:23;7671:32;7668:52;;;7716:1;7713;7706:12;7668:52;7745:9;7739:16;7729:26;;7795:2;7784:9;7780:18;7774:25;7764:35;;7839:2;7828:9;7824:18;7818:25;7808:35;;7543:306;;;;;:::o;10592:128::-;10659:9;;;10680:11;;;10677:37;;;10694:18;;:::i;10857:127::-;10918:10;10913:3;10909:20;10906:1;10899:31;10949:4;10946:1;10939:15;10973:4;10970:1;10963:15;10989:980;11251:4;11299:3;11288:9;11284:19;11330:6;11319:9;11312:25;11356:2;11394:6;11389:2;11378:9;11374:18;11367:34;11437:3;11432:2;11421:9;11417:18;11410:31;11461:6;11496;11490:13;11527:6;11519;11512:22;11565:3;11554:9;11550:19;11543:26;;11604:2;11596:6;11592:15;11578:29;;11625:1;11635:195;11649:6;11646:1;11643:13;11635:195;;;11714:13;;-1:-1:-1;;;;;11710:39:1;11698:52;;11805:15;;;;11770:12;;;;11746:1;11664:9;11635:195;;;-1:-1:-1;;;;;;;11886:32:1;;;;11881:2;11866:18;;11859:60;-1:-1:-1;;;11950:3:1;11935:19;11928:35;11847:3;10989:980;-1:-1:-1;;;10989:980:1:o;11974:125::-;12039:9;;;12060:10;;;12057:36;;;12073:18;;:::i;12460:217::-;12500:1;12526;12516:132;;12570:10;12565:3;12561:20;12558:1;12551:31;12605:4;12602:1;12595:15;12633:4;12630:1;12623:15;12516:132;-1:-1:-1;12662:9:1;;12460:217::o

Swarm Source

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