ETH Price: $2,550.11 (-4.78%)
Gas: 3 Gwei

Token

BAPHOGE (BPT)
 

Overview

Max Total Supply

1,000,000 BPT

Holders

13

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
16,916.758274826 BPT

Value
$0.00
0x0c840522d6aa317722283c559a9408b8cfaf84e0
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:
BAPHOGE

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-31
*/

// TWITTER: https://twitter.com/BaphometDoge
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
 
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
    );
}
 
contract Ownable is Context {
    address internal _owner;
    address private _previousOwner;
    uint256 public _lockTime;
    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");
        _;
    }

    //Locks the contract for owner for the amount of time provided
    function lock(uint256 time) public virtual onlyOwner {
        _previousOwner = _owner;
        _owner = address(0);
        _lockTime = time;
        emit OwnershipTransferred(_owner, address(0));
    }
    
    //Unlocks the contract for owner when _lockTime is exceeds
    function unlock() public virtual {
        require(_previousOwner == msg.sender, "You don't have permission to unlock.");
        require(block.timestamp > _lockTime , "Contract is locked.");
        emit OwnershipTransferred(_owner, _previousOwner);
        _owner = _previousOwner;
    }
 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
 
}

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;
    }
}
 
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
 
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
 
    function factory() external pure returns (address);
 
    function WETH() external pure returns (address);
 
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}
 
contract BAPHOGE is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = "BAPHOGE";
    string private constant _symbol = "BPT";
    uint8 private constant _decimals = 9;
 
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1_000_000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;  
    uint256 private _taxFeeOnBuy = 4;  
    uint256 private _redisFeeOnSell = 0;  
    uint256 private _taxFeeOnSell = 28;
 
    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
 
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
 
    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap; 
    address payable private _developmentAddress = payable(0x8aFFcBc1778c0cEEFf5642E46f20579a2aA74f64); 
    address payable private _marketingAddress = payable(0x89890e93Dac5d1a7a9ec7F0EDd8B9238d2Db06A3);
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
 
    uint256 public _maxTxAmount = 20000 * 10**9;
    uint256 public _maxWalletSize = 30000 * 10**9; 
    uint256 public _swapTokensAtAmount = _tTotal.mul(5).div(10000);
 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor() {
 
        _rOwned[_msgSender()] = _rTotal;
 
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
 
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;
 
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
 
    function name() public pure returns (string memory) {
        return _name;
    }
 
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
 
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
 
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
 
    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
 
    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;
 
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
 
        _redisFee = 0;
        _taxFee = 0;
    }
 
    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }
 
    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 (from != owner() && to != owner()) {
 
            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }
 
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
 
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
 
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
 
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
 
        bool takeFee = true;
 
        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
 
            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
 
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
 
        }
 
        _tokenTransfer(from, to, amount, takeFee);
    }
 
    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) private {
        _marketingAddress.transfer(amount.mul(1).div(2));
        _developmentAddress.transfer(amount.mul(1).div(2));
    }
 
    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }
 
    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
 
    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
 
    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
 
    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
 
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }
 
    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
 
    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }
 
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }
 
    receive() external payable {}
 
    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
 
    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }
 
    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }
 
    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }
 
    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
 
    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        require(redisFeeOnBuy >= 0 && redisFeeOnBuy <= 0, "Buy rewards must be between 0% and 0%");
        require(taxFeeOnBuy >= 0 && taxFeeOnBuy <= 5, "Buy tax must be between 0% and 5%");
        require(redisFeeOnSell >= 0 && redisFeeOnSell <= 0, "Sell rewards must be between 0% and 0%");
        require(taxFeeOnSell >= 0 && taxFeeOnSell <= 30, "Sell tax must be between 0% and 30%");

        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;

    }
 
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
 
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
 
    function setMaxTxnAmount(uint256 amountPercent) public onlyOwner {
        _maxTxAmount = (_tTotal * amountPercent ) / 100;
    }

    function setMaxWalletSize(uint256 amountPercent) public onlyOwner {
        _maxWalletSize = (_tTotal * amountPercent ) / 100;
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }
 
    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","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":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"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"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001966038d7ea4c68000600019620004df565b62000027906000196200050c565b600755600060098190556004600a55600b819055601c600c819055600d829055600e819055600f91909155601055601380546001600160a01b0319908116738affcbc1778c0ceeff5642e46f20579a2aa74f6417909155601480549091167389890e93dac5d1a7a9ec7f0edd8b9238d2db06a31790556016805461ffff60a81b1916600160b01b1790556512309ce54000601755651b48eb57e00060185562000103612710620000ef66038d7ea4c68000600562000f44620003ac602090811b91909117901c565b6200044360201b62000fcd1790919060201c565b6019553480156200011357600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506007543360009081526003602090815260409182902092909255601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa158015620001d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f7919062000522565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026b919062000522565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df919062000522565b601680546001600160a01b0319166001600160a01b03928316179055600080548216815260066020526040808220805460ff1990811660019081179092553084528284208054821683179055601354851684528284208054821683179055601454909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c680006040516200039d91815260200190565b60405180910390a350620005d6565b600082600003620003c0575060006200043d565b6000620003ce83856200054d565b905082620003dd85836200056f565b146200043a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200043a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200048d60201b60201c565b60008183620004b15760405162461bcd60e51b815260040162000431919062000586565b506000620004c084866200056f565b95945050505050565b634e487b7160e01b600052601260045260246000fd5b600082620004f157620004f1620004c9565b500690565b634e487b7160e01b600052601160045260246000fd5b818103818111156200043d576200043d620004f6565b6000602082840312156200053557600080fd5b81516001600160a01b03811681146200043a57600080fd5b60008160001904831182151516156200056a576200056a620004f6565b500290565b600082620005815762000581620004c9565b500490565b600060208083528351808285015260005b81811015620005b55785810183015185820160400152820162000597565b506000604082860101526040601f19601f8301168501019250505092915050565b61221a80620005e66000396000f3fe6080604052600436106101fc5760003560e01c80637d1db4a51161010d578063a69df4b5116100a0578063c492f0461161006f578063c492f046146105bc578063dd467064146105dc578063dd62ed3e146105fc578063ea1644d514610642578063f2fde38b1461066257600080fd5b8063a69df4b514610542578063a9059cbb14610557578063bfd7928414610577578063c3c8cd80146105a757600080fd5b80638f9a55c0116100dc5780638f9a55c0146104c057806395d89b41146104d657806398a5c31514610502578063a2a957bb1461052257600080fd5b80637d1db4a51461043f5780637f2feddc146104555780638da5cb5b146104825780638f70ccf7146104a057600080fd5b806349bd5a5e1161019057806370a082311161015f57806370a08231146103bf578063715018a6146103df57806374010ece146103f4578063751039fc1461041457806379af25a61461042957600080fd5b806349bd5a5e1461034a5780636b9990531461036a5780636d8aa8f81461038a5780636fc3eaec146103aa57600080fd5b806318160ddd116101cc57806318160ddd146102d457806323b872dd146102f85780632fd689e314610318578063313ce5671461032e57600080fd5b8062b8cf2a1461020857806306fdde031461022a578063095ea7b31461026c5780631694505e1461029c57600080fd5b3661020357005b600080fd5b34801561021457600080fd5b50610228610223366004611d5d565b610682565b005b34801561023657600080fd5b50604080518082019091526007815266424150484f474560c81b60208201525b6040516102639190611e22565b60405180910390f35b34801561027857600080fd5b5061028c610287366004611e70565b610721565b6040519015158152602001610263565b3480156102a857600080fd5b506015546102bc906001600160a01b031681565b6040516001600160a01b039091168152602001610263565b3480156102e057600080fd5b5066038d7ea4c680005b604051908152602001610263565b34801561030457600080fd5b5061028c610313366004611e9c565b610738565b34801561032457600080fd5b506102ea60195481565b34801561033a57600080fd5b5060405160098152602001610263565b34801561035657600080fd5b506016546102bc906001600160a01b031681565b34801561037657600080fd5b50610228610385366004611edd565b6107a1565b34801561039657600080fd5b506102286103a5366004611f0a565b6107ec565b3480156103b657600080fd5b50610228610834565b3480156103cb57600080fd5b506102ea6103da366004611edd565b61087f565b3480156103eb57600080fd5b506102286108a1565b34801561040057600080fd5b5061022861040f366004611f25565b610903565b34801561042057600080fd5b50610228610950565b34801561043557600080fd5b506102ea60025481565b34801561044b57600080fd5b506102ea60175481565b34801561046157600080fd5b506102ea610470366004611edd565b60126020526000908152604090205481565b34801561048e57600080fd5b506000546001600160a01b03166102bc565b3480156104ac57600080fd5b506102286104bb366004611f0a565b61098c565b3480156104cc57600080fd5b506102ea60185481565b3480156104e257600080fd5b5060408051808201909152600381526210941560ea1b6020820152610256565b34801561050e57600080fd5b5061022861051d366004611f25565b6109d4565b34801561052e57600080fd5b5061022861053d366004611f3e565b610a03565b34801561054e57600080fd5b50610228610bb2565b34801561056357600080fd5b5061028c610572366004611e70565b610cae565b34801561058357600080fd5b5061028c610592366004611edd565b60116020526000908152604090205460ff1681565b3480156105b357600080fd5b50610228610cbb565b3480156105c857600080fd5b506102286105d7366004611f70565b610d0f565b3480156105e857600080fd5b506102286105f7366004611f25565b610db0565b34801561060857600080fd5b506102ea610617366004611ff4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561064e57600080fd5b5061022861065d366004611f25565b610e1f565b34801561066e57600080fd5b5061022861067d366004611edd565b610e6c565b6000546001600160a01b031633146106b55760405162461bcd60e51b81526004016106ac9061202d565b60405180910390fd5b60005b815181101561071d576001601160008484815181106106d9576106d9612062565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107158161208e565b9150506106b8565b5050565b600061072e33848461100f565b5060015b92915050565b6000610745848484611133565b61079784336107928560405180606001604052806028815260200161219d602891396001600160a01b038a166000908152600560209081526040808320338452909152902054919061166f565b61100f565b5060019392505050565b6000546001600160a01b031633146107cb5760405162461bcd60e51b81526004016106ac9061202d565b6001600160a01b03166000908152601160205260409020805460ff19169055565b6000546001600160a01b031633146108165760405162461bcd60e51b81526004016106ac9061202d565b60168054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b0316148061086957506014546001600160a01b0316336001600160a01b0316145b61087257600080fd5b4761087c816116a9565b50565b6001600160a01b0381166000908152600360205260408120546107329061173e565b6000546001600160a01b031633146108cb5760405162461bcd60e51b81526004016106ac9061202d565b600080546040516001600160a01b03909116906000805160206121c5833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461092d5760405162461bcd60e51b81526004016106ac9061202d565b60646109408266038d7ea4c680006120a7565b61094a91906120c6565b60175550565b6000546001600160a01b0316331461097a5760405162461bcd60e51b81526004016106ac9061202d565b66038d7ea4c680006017819055601855565b6000546001600160a01b031633146109b65760405162461bcd60e51b81526004016106ac9061202d565b60168054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109fe5760405162461bcd60e51b81526004016106ac9061202d565b601955565b6000546001600160a01b03163314610a2d5760405162461bcd60e51b81526004016106ac9061202d565b8315610a895760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420302560d81b60648201526084016106ac565b6005821115610ae45760405162461bcd60e51b815260206004820152602160248201527f42757920746178206d757374206265206265747765656e20302520616e6420356044820152602560f81b60648201526084016106ac565b8215610b415760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420302560d01b60648201526084016106ac565b601e811115610b9e5760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526233302560e81b60648201526084016106ac565b600993909355600b91909155600a55600c55565b6001546001600160a01b03163314610c185760405162461bcd60e51b8152602060048201526024808201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c60448201526337b1b59760e11b60648201526084016106ac565b6002544211610c5f5760405162461bcd60e51b815260206004820152601360248201527221b7b73a3930b1ba1034b9903637b1b5b2b21760691b60448201526064016106ac565b600154600080546040516001600160a01b0393841693909116916000805160206121c583398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b600061072e338484611133565b6013546001600160a01b0316336001600160a01b03161480610cf057506014546001600160a01b0316336001600160a01b0316145b610cf957600080fd5b6000610d043061087f565b905061087c816117bb565b6000546001600160a01b03163314610d395760405162461bcd60e51b81526004016106ac9061202d565b60005b82811015610daa578160066000868685818110610d5b57610d5b612062565b9050602002016020810190610d709190611edd565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610da28161208e565b915050610d3c565b50505050565b6000546001600160a01b03163314610dda5760405162461bcd60e51b81526004016106ac9061202d565b60008054600180546001600160a01b03199081166001600160a01b03841617909155168155600282905560405181906000805160206121c5833981519152908290a350565b6000546001600160a01b03163314610e495760405162461bcd60e51b81526004016106ac9061202d565b6064610e5c8266038d7ea4c680006120a7565b610e6691906120c6565b60185550565b6000546001600160a01b03163314610e965760405162461bcd60e51b81526004016106ac9061202d565b6001600160a01b038116610efb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ac565b600080546040516001600160a01b03808516939216916000805160206121c583398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082600003610f5657506000610732565b6000610f6283856120a7565b905082610f6f85836120c6565b14610fc65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ac565b9392505050565b6000610fc683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611935565b6001600160a01b0383166110715760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ac565b6001600160a01b0382166110d25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ac565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111975760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106ac565b6001600160a01b0382166111f95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106ac565b6000811161125b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106ac565b6000546001600160a01b0384811691161480159061128757506000546001600160a01b03838116911614155b1561156857601654600160a01b900460ff16611320576000546001600160a01b038481169116146113205760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106ac565b6017548111156113725760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106ac565b6001600160a01b03831660009081526011602052604090205460ff161580156113b457506001600160a01b03821660009081526011602052604090205460ff16155b61140c5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016106ac565b6016546001600160a01b03838116911614611491576018548161142e8461087f565b61143891906120e8565b106114915760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106ac565b600061149c3061087f565b6019546017549192508210159082106114b55760175491505b8080156114cc5750601654600160a81b900460ff16155b80156114e657506016546001600160a01b03868116911614155b80156114fb5750601654600160b01b900460ff165b801561152057506001600160a01b03851660009081526006602052604090205460ff16155b801561154557506001600160a01b03841660009081526006602052604090205460ff16155b1561156557611553826117bb565b47801561156357611563476116a9565b505b50505b6001600160a01b03831660009081526006602052604090205460019060ff16806115aa57506001600160a01b03831660009081526006602052604090205460ff165b806115dc57506016546001600160a01b038581169116148015906115dc57506016546001600160a01b03848116911614155b156115e957506000611663565b6016546001600160a01b03858116911614801561161457506015546001600160a01b03848116911614155b1561162657600954600d55600a54600e555b6016546001600160a01b03848116911614801561165157506015546001600160a01b03858116911614155b1561166357600b54600d55600c54600e555b610daa84848484611963565b600081848411156116935760405162461bcd60e51b81526004016106ac9190611e22565b5060006116a084866120fb565b95945050505050565b6014546001600160a01b03166108fc6116ce60026116c8856001610f44565b90610fcd565b6040518115909202916000818181858888f193505050501580156116f6573d6000803e3d6000fd5b506013546001600160a01b03166108fc61171660026116c8856001610f44565b6040518115909202916000818181858888f1935050505015801561071d573d6000803e3d6000fd5b60006007548211156117a55760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106ac565b60006117af611991565b9050610fc68382610fcd565b6016805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061180357611803612062565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561185c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611880919061210e565b8160018151811061189357611893612062565b6001600160a01b0392831660209182029290920101526015546118b9913091168461100f565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906118f290859060009086903090429060040161212b565b600060405180830381600087803b15801561190c57600080fd5b505af1158015611920573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b600081836119565760405162461bcd60e51b81526004016106ac9190611e22565b5060006116a084866120c6565b80611970576119706119b4565b61197b8484846119e2565b80610daa57610daa600f54600d55601054600e55565b600080600061199e611ad9565b90925090506119ad8282610fcd565b9250505090565b600d541580156119c45750600e54155b156119cb57565b600d8054600f55600e805460105560009182905555565b6000806000806000806119f487611b17565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150611a269087611b74565b6001600160a01b03808b1660009081526003602052604080822093909355908a1681522054611a559086611bb6565b6001600160a01b038916600090815260036020526040902055611a7781611c15565b611a818483611c5f565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611ac691815260200190565b60405180910390a3505050505050505050565b600754600090819066038d7ea4c68000611af38282610fcd565b821015611b0e5750506007549266038d7ea4c6800092509050565b90939092509050565b6000806000806000806000806000611b348a600d54600e54611c83565b9250925092506000611b44611991565b90506000806000611b578e878787611cd2565b919e509c509a509598509396509194505050505091939550919395565b6000610fc683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061166f565b600080611bc383856120e8565b905083811015610fc65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106ac565b6000611c1f611991565b90506000611c2d8383610f44565b30600090815260036020526040902054909150611c4a9082611bb6565b30600090815260036020526040902055505050565b600754611c6c9083611b74565b600755600854611c7c9082611bb6565b6008555050565b6000808080611c9760646116c88989610f44565b90506000611caa60646116c88a89610f44565b90506000611cc282611cbc8b86611b74565b90611b74565b9992985090965090945050505050565b6000808080611ce18886610f44565b90506000611cef8887610f44565b90506000611cfd8888610f44565b90506000611d0f82611cbc8686611b74565b939b939a50919850919650505050505050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461087c57600080fd5b8035611d5881611d38565b919050565b60006020808385031215611d7057600080fd5b823567ffffffffffffffff80821115611d8857600080fd5b818501915085601f830112611d9c57600080fd5b813581811115611dae57611dae611d22565b8060051b604051601f19603f83011681018181108582111715611dd357611dd3611d22565b604052918252848201925083810185019188831115611df157600080fd5b938501935b82851015611e1657611e0785611d4d565b84529385019392850192611df6565b98975050505050505050565b600060208083528351808285015260005b81811015611e4f57858101830151858201604001528201611e33565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611e8357600080fd5b8235611e8e81611d38565b946020939093013593505050565b600080600060608486031215611eb157600080fd5b8335611ebc81611d38565b92506020840135611ecc81611d38565b929592945050506040919091013590565b600060208284031215611eef57600080fd5b8135610fc681611d38565b80358015158114611d5857600080fd5b600060208284031215611f1c57600080fd5b610fc682611efa565b600060208284031215611f3757600080fd5b5035919050565b60008060008060808587031215611f5457600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611f8557600080fd5b833567ffffffffffffffff80821115611f9d57600080fd5b818601915086601f830112611fb157600080fd5b813581811115611fc057600080fd5b8760208260051b8501011115611fd557600080fd5b602092830195509350611feb9186019050611efa565b90509250925092565b6000806040838503121561200757600080fd5b823561201281611d38565b9150602083013561202281611d38565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016120a0576120a0612078565b5060010190565b60008160001904831182151516156120c1576120c1612078565b500290565b6000826120e357634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561073257610732612078565b8181038181111561073257610732612078565b60006020828403121561212057600080fd5b8151610fc681611d38565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561217b5784516001600160a01b031683529383019391830191600101612156565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122018c7e531a9e89425f8a5dff67e82fd1e4cb42d99100d135c10720a884ed20a0f64736f6c63430008100033

Deployed Bytecode

0x6080604052600436106101fc5760003560e01c80637d1db4a51161010d578063a69df4b5116100a0578063c492f0461161006f578063c492f046146105bc578063dd467064146105dc578063dd62ed3e146105fc578063ea1644d514610642578063f2fde38b1461066257600080fd5b8063a69df4b514610542578063a9059cbb14610557578063bfd7928414610577578063c3c8cd80146105a757600080fd5b80638f9a55c0116100dc5780638f9a55c0146104c057806395d89b41146104d657806398a5c31514610502578063a2a957bb1461052257600080fd5b80637d1db4a51461043f5780637f2feddc146104555780638da5cb5b146104825780638f70ccf7146104a057600080fd5b806349bd5a5e1161019057806370a082311161015f57806370a08231146103bf578063715018a6146103df57806374010ece146103f4578063751039fc1461041457806379af25a61461042957600080fd5b806349bd5a5e1461034a5780636b9990531461036a5780636d8aa8f81461038a5780636fc3eaec146103aa57600080fd5b806318160ddd116101cc57806318160ddd146102d457806323b872dd146102f85780632fd689e314610318578063313ce5671461032e57600080fd5b8062b8cf2a1461020857806306fdde031461022a578063095ea7b31461026c5780631694505e1461029c57600080fd5b3661020357005b600080fd5b34801561021457600080fd5b50610228610223366004611d5d565b610682565b005b34801561023657600080fd5b50604080518082019091526007815266424150484f474560c81b60208201525b6040516102639190611e22565b60405180910390f35b34801561027857600080fd5b5061028c610287366004611e70565b610721565b6040519015158152602001610263565b3480156102a857600080fd5b506015546102bc906001600160a01b031681565b6040516001600160a01b039091168152602001610263565b3480156102e057600080fd5b5066038d7ea4c680005b604051908152602001610263565b34801561030457600080fd5b5061028c610313366004611e9c565b610738565b34801561032457600080fd5b506102ea60195481565b34801561033a57600080fd5b5060405160098152602001610263565b34801561035657600080fd5b506016546102bc906001600160a01b031681565b34801561037657600080fd5b50610228610385366004611edd565b6107a1565b34801561039657600080fd5b506102286103a5366004611f0a565b6107ec565b3480156103b657600080fd5b50610228610834565b3480156103cb57600080fd5b506102ea6103da366004611edd565b61087f565b3480156103eb57600080fd5b506102286108a1565b34801561040057600080fd5b5061022861040f366004611f25565b610903565b34801561042057600080fd5b50610228610950565b34801561043557600080fd5b506102ea60025481565b34801561044b57600080fd5b506102ea60175481565b34801561046157600080fd5b506102ea610470366004611edd565b60126020526000908152604090205481565b34801561048e57600080fd5b506000546001600160a01b03166102bc565b3480156104ac57600080fd5b506102286104bb366004611f0a565b61098c565b3480156104cc57600080fd5b506102ea60185481565b3480156104e257600080fd5b5060408051808201909152600381526210941560ea1b6020820152610256565b34801561050e57600080fd5b5061022861051d366004611f25565b6109d4565b34801561052e57600080fd5b5061022861053d366004611f3e565b610a03565b34801561054e57600080fd5b50610228610bb2565b34801561056357600080fd5b5061028c610572366004611e70565b610cae565b34801561058357600080fd5b5061028c610592366004611edd565b60116020526000908152604090205460ff1681565b3480156105b357600080fd5b50610228610cbb565b3480156105c857600080fd5b506102286105d7366004611f70565b610d0f565b3480156105e857600080fd5b506102286105f7366004611f25565b610db0565b34801561060857600080fd5b506102ea610617366004611ff4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561064e57600080fd5b5061022861065d366004611f25565b610e1f565b34801561066e57600080fd5b5061022861067d366004611edd565b610e6c565b6000546001600160a01b031633146106b55760405162461bcd60e51b81526004016106ac9061202d565b60405180910390fd5b60005b815181101561071d576001601160008484815181106106d9576106d9612062565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107158161208e565b9150506106b8565b5050565b600061072e33848461100f565b5060015b92915050565b6000610745848484611133565b61079784336107928560405180606001604052806028815260200161219d602891396001600160a01b038a166000908152600560209081526040808320338452909152902054919061166f565b61100f565b5060019392505050565b6000546001600160a01b031633146107cb5760405162461bcd60e51b81526004016106ac9061202d565b6001600160a01b03166000908152601160205260409020805460ff19169055565b6000546001600160a01b031633146108165760405162461bcd60e51b81526004016106ac9061202d565b60168054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b0316148061086957506014546001600160a01b0316336001600160a01b0316145b61087257600080fd5b4761087c816116a9565b50565b6001600160a01b0381166000908152600360205260408120546107329061173e565b6000546001600160a01b031633146108cb5760405162461bcd60e51b81526004016106ac9061202d565b600080546040516001600160a01b03909116906000805160206121c5833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461092d5760405162461bcd60e51b81526004016106ac9061202d565b60646109408266038d7ea4c680006120a7565b61094a91906120c6565b60175550565b6000546001600160a01b0316331461097a5760405162461bcd60e51b81526004016106ac9061202d565b66038d7ea4c680006017819055601855565b6000546001600160a01b031633146109b65760405162461bcd60e51b81526004016106ac9061202d565b60168054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109fe5760405162461bcd60e51b81526004016106ac9061202d565b601955565b6000546001600160a01b03163314610a2d5760405162461bcd60e51b81526004016106ac9061202d565b8315610a895760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420302560d81b60648201526084016106ac565b6005821115610ae45760405162461bcd60e51b815260206004820152602160248201527f42757920746178206d757374206265206265747765656e20302520616e6420356044820152602560f81b60648201526084016106ac565b8215610b415760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420302560d01b60648201526084016106ac565b601e811115610b9e5760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526233302560e81b60648201526084016106ac565b600993909355600b91909155600a55600c55565b6001546001600160a01b03163314610c185760405162461bcd60e51b8152602060048201526024808201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c60448201526337b1b59760e11b60648201526084016106ac565b6002544211610c5f5760405162461bcd60e51b815260206004820152601360248201527221b7b73a3930b1ba1034b9903637b1b5b2b21760691b60448201526064016106ac565b600154600080546040516001600160a01b0393841693909116916000805160206121c583398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b600061072e338484611133565b6013546001600160a01b0316336001600160a01b03161480610cf057506014546001600160a01b0316336001600160a01b0316145b610cf957600080fd5b6000610d043061087f565b905061087c816117bb565b6000546001600160a01b03163314610d395760405162461bcd60e51b81526004016106ac9061202d565b60005b82811015610daa578160066000868685818110610d5b57610d5b612062565b9050602002016020810190610d709190611edd565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610da28161208e565b915050610d3c565b50505050565b6000546001600160a01b03163314610dda5760405162461bcd60e51b81526004016106ac9061202d565b60008054600180546001600160a01b03199081166001600160a01b03841617909155168155600282905560405181906000805160206121c5833981519152908290a350565b6000546001600160a01b03163314610e495760405162461bcd60e51b81526004016106ac9061202d565b6064610e5c8266038d7ea4c680006120a7565b610e6691906120c6565b60185550565b6000546001600160a01b03163314610e965760405162461bcd60e51b81526004016106ac9061202d565b6001600160a01b038116610efb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ac565b600080546040516001600160a01b03808516939216916000805160206121c583398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082600003610f5657506000610732565b6000610f6283856120a7565b905082610f6f85836120c6565b14610fc65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ac565b9392505050565b6000610fc683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611935565b6001600160a01b0383166110715760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ac565b6001600160a01b0382166110d25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ac565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111975760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106ac565b6001600160a01b0382166111f95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106ac565b6000811161125b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106ac565b6000546001600160a01b0384811691161480159061128757506000546001600160a01b03838116911614155b1561156857601654600160a01b900460ff16611320576000546001600160a01b038481169116146113205760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106ac565b6017548111156113725760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106ac565b6001600160a01b03831660009081526011602052604090205460ff161580156113b457506001600160a01b03821660009081526011602052604090205460ff16155b61140c5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016106ac565b6016546001600160a01b03838116911614611491576018548161142e8461087f565b61143891906120e8565b106114915760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106ac565b600061149c3061087f565b6019546017549192508210159082106114b55760175491505b8080156114cc5750601654600160a81b900460ff16155b80156114e657506016546001600160a01b03868116911614155b80156114fb5750601654600160b01b900460ff165b801561152057506001600160a01b03851660009081526006602052604090205460ff16155b801561154557506001600160a01b03841660009081526006602052604090205460ff16155b1561156557611553826117bb565b47801561156357611563476116a9565b505b50505b6001600160a01b03831660009081526006602052604090205460019060ff16806115aa57506001600160a01b03831660009081526006602052604090205460ff165b806115dc57506016546001600160a01b038581169116148015906115dc57506016546001600160a01b03848116911614155b156115e957506000611663565b6016546001600160a01b03858116911614801561161457506015546001600160a01b03848116911614155b1561162657600954600d55600a54600e555b6016546001600160a01b03848116911614801561165157506015546001600160a01b03858116911614155b1561166357600b54600d55600c54600e555b610daa84848484611963565b600081848411156116935760405162461bcd60e51b81526004016106ac9190611e22565b5060006116a084866120fb565b95945050505050565b6014546001600160a01b03166108fc6116ce60026116c8856001610f44565b90610fcd565b6040518115909202916000818181858888f193505050501580156116f6573d6000803e3d6000fd5b506013546001600160a01b03166108fc61171660026116c8856001610f44565b6040518115909202916000818181858888f1935050505015801561071d573d6000803e3d6000fd5b60006007548211156117a55760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106ac565b60006117af611991565b9050610fc68382610fcd565b6016805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061180357611803612062565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561185c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611880919061210e565b8160018151811061189357611893612062565b6001600160a01b0392831660209182029290920101526015546118b9913091168461100f565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906118f290859060009086903090429060040161212b565b600060405180830381600087803b15801561190c57600080fd5b505af1158015611920573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b600081836119565760405162461bcd60e51b81526004016106ac9190611e22565b5060006116a084866120c6565b80611970576119706119b4565b61197b8484846119e2565b80610daa57610daa600f54600d55601054600e55565b600080600061199e611ad9565b90925090506119ad8282610fcd565b9250505090565b600d541580156119c45750600e54155b156119cb57565b600d8054600f55600e805460105560009182905555565b6000806000806000806119f487611b17565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150611a269087611b74565b6001600160a01b03808b1660009081526003602052604080822093909355908a1681522054611a559086611bb6565b6001600160a01b038916600090815260036020526040902055611a7781611c15565b611a818483611c5f565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611ac691815260200190565b60405180910390a3505050505050505050565b600754600090819066038d7ea4c68000611af38282610fcd565b821015611b0e5750506007549266038d7ea4c6800092509050565b90939092509050565b6000806000806000806000806000611b348a600d54600e54611c83565b9250925092506000611b44611991565b90506000806000611b578e878787611cd2565b919e509c509a509598509396509194505050505091939550919395565b6000610fc683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061166f565b600080611bc383856120e8565b905083811015610fc65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106ac565b6000611c1f611991565b90506000611c2d8383610f44565b30600090815260036020526040902054909150611c4a9082611bb6565b30600090815260036020526040902055505050565b600754611c6c9083611b74565b600755600854611c7c9082611bb6565b6008555050565b6000808080611c9760646116c88989610f44565b90506000611caa60646116c88a89610f44565b90506000611cc282611cbc8b86611b74565b90611b74565b9992985090965090945050505050565b6000808080611ce18886610f44565b90506000611cef8887610f44565b90506000611cfd8888610f44565b90506000611d0f82611cbc8686611b74565b939b939a50919850919650505050505050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461087c57600080fd5b8035611d5881611d38565b919050565b60006020808385031215611d7057600080fd5b823567ffffffffffffffff80821115611d8857600080fd5b818501915085601f830112611d9c57600080fd5b813581811115611dae57611dae611d22565b8060051b604051601f19603f83011681018181108582111715611dd357611dd3611d22565b604052918252848201925083810185019188831115611df157600080fd5b938501935b82851015611e1657611e0785611d4d565b84529385019392850192611df6565b98975050505050505050565b600060208083528351808285015260005b81811015611e4f57858101830151858201604001528201611e33565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611e8357600080fd5b8235611e8e81611d38565b946020939093013593505050565b600080600060608486031215611eb157600080fd5b8335611ebc81611d38565b92506020840135611ecc81611d38565b929592945050506040919091013590565b600060208284031215611eef57600080fd5b8135610fc681611d38565b80358015158114611d5857600080fd5b600060208284031215611f1c57600080fd5b610fc682611efa565b600060208284031215611f3757600080fd5b5035919050565b60008060008060808587031215611f5457600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611f8557600080fd5b833567ffffffffffffffff80821115611f9d57600080fd5b818601915086601f830112611fb157600080fd5b813581811115611fc057600080fd5b8760208260051b8501011115611fd557600080fd5b602092830195509350611feb9186019050611efa565b90509250925092565b6000806040838503121561200757600080fd5b823561201281611d38565b9150602083013561202281611d38565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016120a0576120a0612078565b5060010190565b60008160001904831182151516156120c1576120c1612078565b500290565b6000826120e357634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561073257610732612078565b8181038181111561073257610732612078565b60006020828403121561212057600080fd5b8151610fc681611d38565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561217b5784516001600160a01b031683529383019391830191600101612156565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122018c7e531a9e89425f8a5dff67e82fd1e4cb42d99100d135c10720a884ed20a0f64736f6c63430008100033

Deployed Bytecode Sourcemap

4819:14090:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13617:169;;;;;;;;;;-1:-1:-1;13617:169:0;;;;;:::i;:::-;;:::i;:::-;;7336:83;;;;;;;;;;-1:-1:-1;7406:5:0;;;;;;;;;;;;-1:-1:-1;;;7406:5:0;;;;7336:83;;;;;;;:::i;:::-;;;;;;;;8268:193;;;;;;;;;;-1:-1:-1;8268:193:0;;;;;:::i;:::-;;:::i;:::-;;;2585:14:1;;2578:22;2560:41;;2548:2;2533:18;8268:193:0;2420:187:1;6172:41:0;;;;;;;;;;-1:-1:-1;6172:41:0;;;;-1:-1:-1;;;;;6172:41:0;;;;;;-1:-1:-1;;;;;2802:32:1;;;2784:51;;2772:2;2757:18;6172:41:0;2612:229:1;7616:95:0;;;;;;;;;;-1:-1:-1;5366:17:0;7616:95;;;2992:25:1;;;2980:2;2965:18;7616:95:0;2846:177:1;8470:446:0;;;;;;;;;;-1:-1:-1;8470:446:0;;;;;:::i;:::-;;:::i;6467:62::-;;;;;;;;;;;;;;;;7524:83;;;;;;;;;;-1:-1:-1;7524:83:0;;5039:1;3631:36:1;;3619:2;3604:18;7524:83:0;3489:184:1;6220:28:0;;;;;;;;;;-1:-1:-1;6220:28:0;;;;-1:-1:-1;;;;;6220:28:0;;;13795:92;;;;;;;;;;-1:-1:-1;13795:92:0;;;;;:::i;:::-;;:::i;18152:101::-;;;;;;;;;;-1:-1:-1;18152:101:0;;;;;:::i;:::-;;:::i;13373:235::-;;;;;;;;;;;;;:::i;7720:138::-;;;;;;;;;;-1:-1:-1;7720:138:0;;;;;:::i;:::-;;:::i;2293:148::-;;;;;;;;;;;;;:::i;18262:131::-;;;;;;;;;;-1:-1:-1;18262:131:0;;;;;:::i;:::-;;:::i;18543:118::-;;;;;;;;;;;;;:::i;1112:24::-;;;;;;;;;;;;;;;;6364:43;;;;;;;;;;;;;;;;5911;;;;;;;;;;-1:-1:-1;5911:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1423:79;;;;;;;;;;-1:-1:-1;1461:7:0;1488:6;-1:-1:-1;;;;;1488:6:0;1423:79;;13018:101;;;;;;;;;;-1:-1:-1;13018:101:0;;;;;:::i;:::-;;:::i;6414:45::-;;;;;;;;;;;;;;;;7428:87;;;;;;;;;;-1:-1:-1;7500:7:0;;;;;;;;;;;;-1:-1:-1;;;7500:7:0;;;;7428:87;;18004:139;;;;;;;;;;-1:-1:-1;18004:139:0;;;;;:::i;:::-;;:::i;17304:691::-;;;;;;;;;;-1:-1:-1;17304:691:0;;;;;:::i;:::-;;:::i;1990:294::-;;;;;;;;;;;;;:::i;7867:199::-;;;;;;;;;;-1:-1:-1;7867:199:0;;;;;:::i;:::-;;:::i;5873:36::-;;;;;;;;;;-1:-1:-1;5873:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13128:236;;;;;;;;;;;;;:::i;18670:234::-;;;;;;;;;;-1:-1:-1;18670:234:0;;;;;:::i;:::-;;:::i;1706:208::-;;;;;;;;;;-1:-1:-1;1706:208:0;;;;;:::i;:::-;;:::i;8075:184::-;;;;;;;;;;-1:-1:-1;8075:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;8224:18:0;;;8192:7;8224:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8075:184;18401:134;;;;;;;;;;-1:-1:-1;18401:134:0;;;;;:::i;:::-;;:::i;2450:244::-;;;;;;;;;;-1:-1:-1;2450:244:0;;;;;:::i;:::-;;:::i;13617:169::-;1551:6;;-1:-1:-1;;;;;1551:6:0;220:10;1551:22;1543:67;;;;-1:-1:-1;;;1543:67:0;;;;;;;:::i;:::-;;;;;;;;;13693:9:::1;13688:91;13712:5;:12;13708:1;:16;13688:91;;;13763:4;13746;:14;13751:5;13757:1;13751:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13746:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13746:14:0;:21;;-1:-1:-1;;13746:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13726:3;::::1;::::0;::::1;:::i;:::-;;;;13688:91;;;;13617:169:::0;:::o;8268:193::-;8370:4;8392:39;220:10;8415:7;8424:6;8392:8;:39::i;:::-;-1:-1:-1;8449:4:0;8268:193;;;;;:::o;8470:446::-;8602:4;8619:36;8629:6;8637:9;8648:6;8619:9;:36::i;:::-;8666:220;8689:6;220:10;8737:138;8793:6;8737:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8737:19:0;;;;;;:11;:19;;;;;;;;220:10;8737:33;;;;;;;;;;:37;:138::i;:::-;8666:8;:220::i;:::-;-1:-1:-1;8904:4:0;8470:446;;;;;:::o;13795:92::-;1551:6;;-1:-1:-1;;;;;1551:6:0;220:10;1551:22;1543:67;;;;-1:-1:-1;;;1543:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13859:12:0::1;13874:5;13859:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13859:20:0::1;::::0;;13795:92::o;18152:101::-;1551:6;;-1:-1:-1;;;;;1551:6:0;220:10;1551:22;1543:67;;;;-1:-1:-1;;;1543:67:0;;;;;;;:::i;:::-;18219:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;18219:26:0::1;-1:-1:-1::0;;;;18219:26:0;;::::1;::::0;;;::::1;::::0;;18152:101::o;13373:235::-;13439:19;;-1:-1:-1;;;;;13439:19:0;220:10;-1:-1:-1;;;;;13423:35:0;;:72;;;-1:-1:-1;13478:17:0;;-1:-1:-1;;;;;13478:17:0;220:10;-1:-1:-1;;;;;13462:33:0;;13423:72;13415:81;;;;;;13536:21;13568:32;13536:21;13568:12;:32::i;:::-;13404:204;13373:235::o;7720:138::-;-1:-1:-1;;;;;7833:16:0;;7786:7;7833:16;;;:7;:16;;;;;;7813:37;;:19;:37::i;2293:148::-;1551:6;;-1:-1:-1;;;;;1551:6:0;220:10;1551:22;1543:67;;;;-1:-1:-1;;;1543:67:0;;;;;;;:::i;:::-;2400:1:::1;2384:6:::0;;2363:40:::1;::::0;-1:-1:-1;;;;;2384:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;2363:40:0;2400:1;;2363:40:::1;2431:1;2414:19:::0;;-1:-1:-1;;;;;;2414:19:0::1;::::0;;2293:148::o;18262:131::-;1551:6;;-1:-1:-1;;;;;1551:6:0;220:10;1551:22;1543:67;;;;-1:-1:-1;;;1543:67:0;;;;;;;:::i;:::-;18382:3:::1;18354:23;18364:13:::0;5366:17:::1;18354:23;:::i;:::-;18353:32;;;;:::i;:::-;18338:12;:47:::0;-1:-1:-1;18262:131:0:o;18543:118::-;1551:6;;-1:-1:-1;;;;;1551:6:0;220:10;1551:22;1543:67;;;;-1:-1:-1;;;1543:67:0;;;;;;;:::i;:::-;5366:17:::1;18596:12;:22:::0;;;18629:14:::1;:24:::0;18543:118::o;13018:101::-;1551:6;;-1:-1:-1;;;;;1551:6:0;220:10;1551:22;1543:67;;;;-1:-1:-1;;;1543:67:0;;;;;;;:::i;:::-;13085:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;13085:26:0::1;-1:-1:-1::0;;;;13085:26:0;;::::1;::::0;;;::::1;::::0;;13018:101::o;18004:139::-;1551:6;;-1:-1:-1;;;;;1551:6:0;220:10;1551:22;1543:67;;;;-1:-1:-1;;;1543:67:0;;;;;;;:::i;:::-;18095:19:::1;:40:::0;18004:139::o;17304:691::-;1551:6;;-1:-1:-1;;;;;1551:6:0;220:10;1551:22;1543:67;;;;-1:-1:-1;;;1543:67:0;;;;;;;:::i;:::-;17468:18;;17438:90:::1;;;::::0;-1:-1:-1;;;17438:90:0;;7512:2:1;17438:90:0::1;::::0;::::1;7494:21:1::0;7551:2;7531:18;;;7524:30;7590:34;7570:18;;;7563:62;-1:-1:-1;;;7641:18:1;;;7634:35;7686:19;;17438:90:0::1;7310:401:1::0;17438:90:0::1;17582:1;17567:11;:16;;17539:82;;;::::0;-1:-1:-1;;;17539:82:0;;7918:2:1;17539:82:0::1;::::0;::::1;7900:21:1::0;7957:2;7937:18;;;7930:30;7996:34;7976:18;;;7969:62;-1:-1:-1;;;8047:18:1;;;8040:31;8088:19;;17539:82:0::1;7716:397:1::0;17539:82:0::1;17663:19:::0;;17632:93:::1;;;::::0;-1:-1:-1;;;17632:93:0;;8320:2:1;17632:93:0::1;::::0;::::1;8302:21:1::0;8359:2;8339:18;;;8332:30;8398:34;8378:18;;;8371:62;-1:-1:-1;;;8449:18:1;;;8442:36;8495:19;;17632:93:0::1;8118:402:1::0;17632:93:0::1;17781:2;17765:12;:18;;17736:87;;;::::0;-1:-1:-1;;;17736:87:0;;8727:2:1;17736:87:0::1;::::0;::::1;8709:21:1::0;8766:2;8746:18;;;8739:30;8805:34;8785:18;;;8778:62;-1:-1:-1;;;8856:18:1;;;8849:33;8899:19;;17736:87:0::1;8525:399:1::0;17736:87:0::1;17836:14;:30:::0;;;;17877:15:::1;:32:::0;;;;17920:12:::1;:26:::0;17957:13:::1;:28:::0;17304:691::o;1990:294::-;2042:14;;-1:-1:-1;;;;;2042:14:0;2060:10;2042:28;2034:77;;;;-1:-1:-1;;;2034:77:0;;9131:2:1;2034:77:0;;;9113:21:1;9170:2;9150:18;;;9143:30;9209:34;9189:18;;;9182:62;-1:-1:-1;;;9260:18:1;;;9253:34;9304:19;;2034:77:0;8929:400:1;2034:77:0;2148:9;;2130:15;:27;2122:60;;;;-1:-1:-1;;;2122:60:0;;9536:2:1;2122:60:0;;;9518:21:1;9575:2;9555:18;;;9548:30;-1:-1:-1;;;9594:18:1;;;9587:49;9653:18;;2122:60:0;9334:343:1;2122:60:0;2227:14;;;2219:6;;2198:44;;-1:-1:-1;;;;;2227:14:0;;;;2219:6;;;;-1:-1:-1;;;;;;;;;;;2198:44:0;;2262:14;;;2253:23;;-1:-1:-1;;;;;;2253:23:0;-1:-1:-1;;;;;2262:14:0;;;2253:23;;;;;;1990:294::o;7867:199::-;7972:4;7994:42;220:10;8018:9;8029:6;7994:9;:42::i;13128:236::-;13194:19;;-1:-1:-1;;;;;13194:19:0;220:10;-1:-1:-1;;;;;13178:35:0;;:72;;;-1:-1:-1;13233:17:0;;-1:-1:-1;;;;;13233:17:0;220:10;-1:-1:-1;;;;;13217:33:0;;13178:72;13170:81;;;;;;13262:23;13288:24;13306:4;13288:9;:24::i;:::-;13262:50;;13323:33;13340:15;13323:16;:33::i;18670:234::-;1551:6;;-1:-1:-1;;;;;1551:6:0;220:10;1551:22;1543:67;;;;-1:-1:-1;;;1543:67:0;;;;;;;:::i;:::-;18787:9:::1;18783:114;18802:19:::0;;::::1;18783:114;;;18877:8;18843:18;:31;18862:8;;18871:1;18862:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18843:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18843:31:0;:42;;-1:-1:-1;;18843:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18823:3;::::1;::::0;::::1;:::i;:::-;;;;18783:114;;;;18670:234:::0;;;:::o;1706:208::-;1551:6;;-1:-1:-1;;;;;1551:6:0;220:10;1551:22;1543:67;;;;-1:-1:-1;;;1543:67:0;;;;;;;:::i;:::-;1787:6:::1;::::0;;;1770:23;;-1:-1:-1;;;;;;1770:23:0;;::::1;-1:-1:-1::0;;;;;1787:6:0;::::1;1770:23;::::0;;;1804:19:::1;::::0;;1834:9:::1;:16:::0;;;1866:40:::1;::::0;1787:6;;-1:-1:-1;;;;;;;;;;;1866:40:0;1787:6;;1866:40:::1;1706:208:::0;:::o;18401:134::-;1551:6;;-1:-1:-1;;;;;1551:6:0;220:10;1551:22;1543:67;;;;-1:-1:-1;;;1543:67:0;;;;;;;:::i;:::-;18524:3:::1;18496:23;18506:13:::0;5366:17:::1;18496:23;:::i;:::-;18495:32;;;;:::i;:::-;18478:14;:49:::0;-1:-1:-1;18401:134:0:o;2450:244::-;1551:6;;-1:-1:-1;;;;;1551:6:0;220:10;1551:22;1543:67;;;;-1:-1:-1;;;1543:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2539:22:0;::::1;2531:73;;;::::0;-1:-1:-1;;;2531:73:0;;9884:2:1;2531:73:0::1;::::0;::::1;9866:21:1::0;9923:2;9903:18;;;9896:30;9962:34;9942:18;;;9935:62;-1:-1:-1;;;10013:18:1;;;10006:36;10059:19;;2531:73:0::1;9682:402:1::0;2531:73:0::1;2641:6;::::0;;2620:38:::1;::::0;-1:-1:-1;;;;;2620:38:0;;::::1;::::0;2641:6;::::1;::::0;-1:-1:-1;;;;;;;;;;;2620:38:0;::::1;2669:6;:17:::0;;-1:-1:-1;;;;;;2669:17:0::1;-1:-1:-1::0;;;;;2669:17:0;;;::::1;::::0;;;::::1;::::0;;2450:244::o;3294:246::-;3352:7;3376:1;3381;3376:6;3372:47;;-1:-1:-1;3406:1:0;3399:8;;3372:47;3429:9;3441:5;3445:1;3441;:5;:::i;:::-;3429:17;-1:-1:-1;3474:1:0;3465:5;3469:1;3429:17;3465:5;:::i;:::-;:10;3457:56;;;;-1:-1:-1;;;3457:56:0;;10291:2:1;3457:56:0;;;10273:21:1;10330:2;10310:18;;;10303:30;10369:34;10349:18;;;10342:62;-1:-1:-1;;;10420:18:1;;;10413:31;10461:19;;3457:56:0;10089:397:1;3457:56:0;3531:1;3294:246;-1:-1:-1;;;3294:246:0:o;3549:132::-;3607:7;3634:39;3638:1;3641;3634:39;;;;;;;;;;;;;;;;;:3;:39::i;9613:369::-;-1:-1:-1;;;;;9740:19:0;;9732:68;;;;-1:-1:-1;;;9732:68:0;;10693:2:1;9732:68:0;;;10675:21:1;10732:2;10712:18;;;10705:30;10771:34;10751:18;;;10744:62;-1:-1:-1;;;10822:18:1;;;10815:34;10866:19;;9732:68:0;10491:400:1;9732:68:0;-1:-1:-1;;;;;9819:21:0;;9811:68;;;;-1:-1:-1;;;9811:68:0;;11098:2:1;9811:68:0;;;11080:21:1;11137:2;11117:18;;;11110:30;11176:34;11156:18;;;11149:62;-1:-1:-1;;;11227:18:1;;;11220:32;11269:19;;9811:68:0;10896:398:1;9811:68:0;-1:-1:-1;;;;;9890:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9942:32;;2992:25:1;;;9942:32:0;;2965:18:1;9942:32:0;;;;;;;9613:369;;;:::o;9991:2343::-;-1:-1:-1;;;;;10113:18:0;;10105:68;;;;-1:-1:-1;;;10105:68:0;;11501:2:1;10105:68:0;;;11483:21:1;11540:2;11520:18;;;11513:30;11579:34;11559:18;;;11552:62;-1:-1:-1;;;11630:18:1;;;11623:35;11675:19;;10105:68:0;11299:401:1;10105:68:0;-1:-1:-1;;;;;10192:16:0;;10184:64;;;;-1:-1:-1;;;10184:64:0;;11907:2:1;10184:64:0;;;11889:21:1;11946:2;11926:18;;;11919:30;11985:34;11965:18;;;11958:62;-1:-1:-1;;;12036:18:1;;;12029:33;12079:19;;10184:64:0;11705:399:1;10184:64:0;10276:1;10267:6;:10;10259:64;;;;-1:-1:-1;;;10259:64:0;;12311:2:1;10259:64:0;;;12293:21:1;12350:2;12330:18;;;12323:30;12389:34;12369:18;;;12362:62;-1:-1:-1;;;12440:18:1;;;12433:39;12489:19;;10259:64:0;12109:405:1;10259:64:0;1461:7;1488:6;-1:-1:-1;;;;;10341:15:0;;;1488:6;;10341:15;;;;:32;;-1:-1:-1;1461:7:0;1488:6;-1:-1:-1;;;;;10360:13:0;;;1488:6;;10360:13;;10341:32;10337:1265;;;10431:11;;-1:-1:-1;;;10431:11:0;;;;10426:144;;1461:7;1488:6;-1:-1:-1;;;;;10471:15:0;;;1488:6;;10471:15;10463:91;;;;-1:-1:-1;;;10463:91:0;;12721:2:1;10463:91:0;;;12703:21:1;12760:2;12740:18;;;12733:30;12799:34;12779:18;;;12772:62;12870:33;12850:18;;;12843:61;12921:19;;10463:91:0;12519:427:1;10463:91:0;10605:12;;10595:6;:22;;10587:63;;;;-1:-1:-1;;;10587:63:0;;13153:2:1;10587:63:0;;;13135:21:1;13192:2;13172:18;;;13165:30;13231;13211:18;;;13204:58;13279:18;;10587:63:0;12951:352:1;10587:63:0;-1:-1:-1;;;;;10674:10:0;;;;;;:4;:10;;;;;;;;10673:11;:24;;;;-1:-1:-1;;;;;;10689:8:0;;;;;;:4;:8;;;;;;;;10688:9;10673:24;10665:72;;;;-1:-1:-1;;;10665:72:0;;13510:2:1;10665:72:0;;;13492:21:1;13549:2;13529:18;;;13522:30;13588:34;13568:18;;;13561:62;-1:-1:-1;;;13639:18:1;;;13632:33;13682:19;;10665:72:0;13308:399:1;10665:72:0;10764:13;;-1:-1:-1;;;;;10758:19:0;;;10764:13;;10758:19;10755:146;;10831:14;;10822:6;10806:13;10816:2;10806:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10798:87;;;;-1:-1:-1;;;10798:87:0;;14044:2:1;10798:87:0;;;14026:21:1;14083:2;14063:18;;;14056:30;14122:34;14102:18;;;14095:62;-1:-1:-1;;;14173:18:1;;;14166:33;14216:19;;10798:87:0;13842:399:1;10798:87:0;10918:28;10949:24;10967:4;10949:9;:24::i;:::-;11027:19;;11091:12;;10918:55;;-1:-1:-1;11003:43:0;;;;11067:36;;11064:124;;11160:12;;11137:35;;11064:124;11209:7;:18;;;;-1:-1:-1;11221:6:0;;-1:-1:-1;;;11221:6:0;;;;11220:7;11209:18;:43;;;;-1:-1:-1;11239:13:0;;-1:-1:-1;;;;;11231:21:0;;;11239:13;;11231:21;;11209:43;:58;;;;-1:-1:-1;11256:11:0;;-1:-1:-1;;;11256:11:0;;;;11209:58;:87;;;;-1:-1:-1;;;;;;11272:24:0;;;;;;:18;:24;;;;;;;;11271:25;11209:87;:114;;;;-1:-1:-1;;;;;;11301:22:0;;;;;;:18;:22;;;;;;;;11300:23;11209:114;11205:386;;;11344:38;11361:20;11344:16;:38::i;:::-;11430:21;11474:22;;11470:106;;11521:35;11534:21;11521:12;:35::i;:::-;11325:266;11205:386;10375:1227;;10337:1265;-1:-1:-1;;;;;11680:24:0;;11615:12;11680:24;;;:18;:24;;;;;;11630:4;;11680:24;;;:50;;-1:-1:-1;;;;;;11708:22:0;;;;;;:18;:22;;;;;;;;11680:50;11679:102;;;-1:-1:-1;11744:13:0;;-1:-1:-1;;;;;11736:21:0;;;11744:13;;11736:21;;;;:44;;-1:-1:-1;11767:13:0;;-1:-1:-1;;;;;11761:19:0;;;11767:13;;11761:19;;11736:44;11675:597;;;-1:-1:-1;11808:5:0;11675:597;;;11892:13;;-1:-1:-1;;;;;11884:21:0;;;11892:13;;11884:21;:55;;;;-1:-1:-1;11923:15:0;;-1:-1:-1;;;;;11909:30:0;;;11923:15;;11909:30;;11884:55;11881:162;;;11972:14;;11960:9;:26;12015:12;;12005:7;:22;11881:162;12103:13;;-1:-1:-1;;;;;12097:19:0;;;12103:13;;12097:19;:55;;;;-1:-1:-1;12136:15:0;;-1:-1:-1;;;;;12120:32:0;;;12136:15;;12120:32;;12097:55;12093:165;;;12185:15;;12173:9;:27;12229:13;;12219:7;:23;12093:165;12285:41;12300:4;12306:2;12310:6;12318:7;12285:14;:41::i;3061:224::-;3181:7;3217:12;3209:6;;;;3201:29;;;;-1:-1:-1;;;3201:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3241:9:0;3253:5;3257:1;3253;:5;:::i;:::-;3241:17;3061:224;-1:-1:-1;;;;;3061:224:0:o;12835:174::-;12892:17;;-1:-1:-1;;;;;12892:17:0;:48;12919:20;12937:1;12919:13;:6;12892:17;12919:10;:13::i;:::-;:17;;:20::i;:::-;12892:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12951:19:0;;-1:-1:-1;;;;;12951:19:0;:50;12980:20;12998:1;12980:13;:6;12951:19;12980:10;:13::i;:20::-;12951:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8925:323;9020:7;9078;;9067;:18;;9045:110;;;;-1:-1:-1;;;9045:110:0;;14581:2:1;9045:110:0;;;14563:21:1;14620:2;14600:18;;;14593:30;14659:34;14639:18;;;14632:62;-1:-1:-1;;;14710:18:1;;;14703:40;14760:19;;9045:110:0;14379:406:1;9045:110:0;9166:19;9188:10;:8;:10::i;:::-;9166:32;-1:-1:-1;9216:24:0;:7;9166:32;9216:11;:24::i;12343:483::-;6624:6;:13;;-1:-1:-1;;;;6624:13:0;-1:-1:-1;;;6624:13:0;;;12445:16:::1;::::0;;12459:1:::1;12445:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12445:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12445:16:0::1;12421:40;;12490:4;12472;12477:1;12472:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12472:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12516:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12516:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12472:7;;12516:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12506:4;12511:1;12506:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12506:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12581:15:::1;::::0;12549:62:::1;::::0;12566:4:::1;::::0;12581:15:::1;12599:11:::0;12549:8:::1;:62::i;:::-;12622:15;::::0;:196:::1;::::0;-1:-1:-1;;;12622:196:0;;-1:-1:-1;;;;;12622:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12703:11;;12622:15:::1;::::0;12745:4;;12772::::1;::::0;12792:15:::1;::::0;12622:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6660:6:0;:14;;-1:-1:-1;;;;6660:14:0;;;-1:-1:-1;;;;12343:483:0:o;3690:223::-;3810:7;3845:12;3838:5;3830:28;;;;-1:-1:-1;;;3830:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3869:9:0;3881:5;3885:1;3881;:5;:::i;13896:282::-;14052:7;14047:28;;14061:14;:12;:14::i;:::-;14086:44;14104:6;14112:9;14123:6;14086:17;:44::i;:::-;14146:7;14141:29;;14155:15;9543:17;;9531:9;:29;9581:15;;9571:7;:25;9487:117;16865:164;16907:7;16928:15;16945;16964:19;:17;:19::i;:::-;16927:56;;-1:-1:-1;16927:56:0;-1:-1:-1;17001:20:0;16927:56;;17001:11;:20::i;:::-;16994:27;;;;16865:164;:::o;9257:221::-;9304:9;;:14;:30;;;;-1:-1:-1;9322:7:0;;:12;9304:30;9300:43;;;9257:221::o;9300:43::-;9376:9;;;9356:17;:29;9414:7;;;9396:15;:25;-1:-1:-1;9435:13:0;;;;9459:11;9257:221::o;14187:610::-;14334:15;14364:23;14402:12;14429:23;14467:12;14494:13;14521:19;14532:7;14521:10;:19::i;:::-;-1:-1:-1;;;;;14569:15:0;;;;;;:7;:15;;;;;;14319:221;;-1:-1:-1;14319:221:0;;-1:-1:-1;14319:221:0;;-1:-1:-1;14319:221:0;-1:-1:-1;14319:221:0;-1:-1:-1;14319:221:0;-1:-1:-1;14569:28:0;;14319:221;14569:19;:28::i;:::-;-1:-1:-1;;;;;14551:15:0;;;;;;;:7;:15;;;;;;:46;;;;14629:18;;;;;;;:39;;14652:15;14629:22;:39::i;:::-;-1:-1:-1;;;;;14608:18:0;;;;;;:7;:18;;;;;:60;14679:16;14689:5;14679:9;:16::i;:::-;14706:23;14718:4;14724;14706:11;:23::i;:::-;14762:9;-1:-1:-1;;;;;14745:44:0;14754:6;-1:-1:-1;;;;;14745:44:0;;14773:15;14745:44;;;;2992:25:1;;2980:2;2965:18;;2846:177;14745:44:0;;;;;;;;14308:489;;;;;;14187:610;;;:::o;17038:257::-;17136:7;;17089;;;;5366:17;17204:20;17136:7;5366:17;17204:11;:20::i;:::-;17194:7;:30;17190:61;;;-1:-1:-1;;17234:7:0;;;5366:17;;-1:-1:-1;17038:257:0;-1:-1:-1;17038:257:0:o;17190:61::-;17270:7;;17279;;-1:-1:-1;17038:257:0;-1:-1:-1;17038:257:0:o;15220:615::-;15320:7;15342;15364;15386;15408;15430;15466:23;15491:12;15505:13;15535:40;15547:7;15556:9;;15567:7;;15535:11;:40::i;:::-;15465:110;;;;;;15586:19;15608:10;:8;:10::i;:::-;15586:32;;15630:15;15647:23;15672:12;15701:46;15713:7;15722:4;15728:5;15735:11;15701;:46::i;:::-;15629:118;;-1:-1:-1;15629:118:0;-1:-1:-1;15629:118:0;-1:-1:-1;15798:15:0;;-1:-1:-1;15815:4:0;;-1:-1:-1;15821:5:0;;-1:-1:-1;;;;;15220:615:0;;;;;;;:::o;2916:136::-;2974:7;3001:43;3005:1;3008;3001:43;;;;;;;;;;;;;;;;;:3;:43::i;2728:179::-;2786:7;;2818:5;2822:1;2818;:5;:::i;:::-;2806:17;;2847:1;2842;:6;;2834:46;;;;-1:-1:-1;;;2834:46:0;;16233:2:1;2834:46:0;;;16215:21:1;16272:2;16252:18;;;16245:30;16311:29;16291:18;;;16284:57;16358:18;;2834:46:0;16031:351:1;14806:211:0;14859:19;14881:10;:8;:10::i;:::-;14859:32;-1:-1:-1;14902:13:0;14918:22;:5;14859:32;14918:9;:22::i;:::-;14992:4;14976:22;;;;:7;:22;;;;;;14902:38;;-1:-1:-1;14976:33:0;;14902:38;14976:26;:33::i;:::-;14967:4;14951:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14806:211:0:o;15026:147::-;15104:7;;:17;;15116:4;15104:11;:17::i;:::-;15094:7;:27;15145:10;;:20;;15160:4;15145:14;:20::i;:::-;15132:10;:33;-1:-1:-1;;15026:147:0:o;15844:469::-;16013:7;;;;16107:30;16133:3;16107:21;:7;16119:8;16107:11;:21::i;:30::-;16092:45;-1:-1:-1;16148:13:0;16164:28;16188:3;16164:19;:7;16176:6;16164:11;:19::i;:28::-;16148:44;-1:-1:-1;16203:23:0;16229:28;16148:44;16229:17;:7;16241:4;16229:11;:17::i;:::-;:21;;:28::i;:::-;16203:54;16293:4;;-1:-1:-1;16299:5:0;;-1:-1:-1;15844:469:0;;-1:-1:-1;;;;;15844:469:0:o;16322:534::-;16516:7;;;;16613:24;:7;16625:11;16613;:24::i;:::-;16595:42;-1:-1:-1;16648:12:0;16663:21;:4;16672:11;16663:8;:21::i;:::-;16648:36;-1:-1:-1;16695:13:0;16711:22;:5;16721:11;16711:9;:22::i;:::-;16695:38;-1:-1:-1;16744:23:0;16770:28;16695:38;16770:17;:7;16782:4;16770:11;:17::i;:28::-;16817:7;;;;-1:-1:-1;16843:4:0;;-1:-1:-1;16322:534:0;;-1:-1:-1;;;;;;;16322:534:0:o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:1121::-;505:6;536:2;579;567:9;558:7;554:23;550:32;547:52;;;595:1;592;585:12;547:52;635:9;622:23;664:18;705:2;697:6;694:14;691:34;;;721:1;718;711:12;691:34;759:6;748:9;744:22;734:32;;804:7;797:4;793:2;789:13;785:27;775:55;;826:1;823;816:12;775:55;862:2;849:16;884:2;880;877:10;874:36;;;890:18;;:::i;:::-;936:2;933:1;929:10;968:2;962:9;1031:2;1027:7;1022:2;1018;1014:11;1010:25;1002:6;998:38;1086:6;1074:10;1071:22;1066:2;1054:10;1051:18;1048:46;1045:72;;;1097:18;;:::i;:::-;1133:2;1126:22;1183:18;;;1217:15;;;;-1:-1:-1;1259:11:1;;;1255:20;;;1287:19;;;1284:39;;;1319:1;1316;1309:12;1284:39;1343:11;;;;1363:148;1379:6;1374:3;1371:15;1363:148;;;1445:23;1464:3;1445:23;:::i;:::-;1433:36;;1396:12;;;;1489;;;;1363:148;;;1530:6;421:1121;-1:-1:-1;;;;;;;;421:1121:1:o;1547:548::-;1659:4;1688:2;1717;1706:9;1699:21;1749:6;1743:13;1792:6;1787:2;1776:9;1772:18;1765:34;1817:1;1827:140;1841:6;1838:1;1835:13;1827:140;;;1936:14;;;1932:23;;1926:30;1902:17;;;1921:2;1898:26;1891:66;1856:10;;1827:140;;;1831:3;2016:1;2011:2;2002:6;1991:9;1987:22;1983:31;1976:42;2086:2;2079;2075:7;2070:2;2062:6;2058:15;2054:29;2043:9;2039:45;2035:54;2027:62;;;;1547:548;;;;:::o;2100:315::-;2168:6;2176;2229:2;2217:9;2208:7;2204:23;2200:32;2197:52;;;2245:1;2242;2235:12;2197:52;2284:9;2271:23;2303:31;2328:5;2303:31;:::i;:::-;2353:5;2405:2;2390:18;;;;2377:32;;-1:-1:-1;;;2100:315:1:o;3028:456::-;3105:6;3113;3121;3174:2;3162:9;3153:7;3149:23;3145:32;3142:52;;;3190:1;3187;3180:12;3142:52;3229:9;3216:23;3248:31;3273:5;3248:31;:::i;:::-;3298:5;-1:-1:-1;3355:2:1;3340:18;;3327:32;3368:33;3327:32;3368:33;:::i;:::-;3028:456;;3420:7;;-1:-1:-1;;;3474:2:1;3459:18;;;;3446:32;;3028:456::o;3886:247::-;3945:6;3998:2;3986:9;3977:7;3973:23;3969:32;3966:52;;;4014:1;4011;4004:12;3966:52;4053:9;4040:23;4072:31;4097:5;4072:31;:::i;4138:160::-;4203:20;;4259:13;;4252:21;4242:32;;4232:60;;4288:1;4285;4278:12;4303:180;4359:6;4412:2;4400:9;4391:7;4387:23;4383:32;4380:52;;;4428:1;4425;4418:12;4380:52;4451:26;4467:9;4451:26;:::i;4488:180::-;4547:6;4600:2;4588:9;4579:7;4575:23;4571:32;4568:52;;;4616:1;4613;4606:12;4568:52;-1:-1:-1;4639:23:1;;4488:180;-1:-1:-1;4488:180:1:o;4673:385::-;4759:6;4767;4775;4783;4836:3;4824:9;4815:7;4811:23;4807:33;4804:53;;;4853:1;4850;4843:12;4804:53;-1:-1:-1;;4876:23:1;;;4946:2;4931:18;;4918:32;;-1:-1:-1;4997:2:1;4982:18;;4969:32;;5048:2;5033:18;5020:32;;-1:-1:-1;4673:385:1;-1:-1:-1;4673:385:1:o;5063:689::-;5155:6;5163;5171;5224:2;5212:9;5203:7;5199:23;5195:32;5192:52;;;5240:1;5237;5230:12;5192:52;5280:9;5267:23;5309:18;5350:2;5342:6;5339:14;5336:34;;;5366:1;5363;5356:12;5336:34;5404:6;5393:9;5389:22;5379:32;;5449:7;5442:4;5438:2;5434:13;5430:27;5420:55;;5471:1;5468;5461:12;5420:55;5511:2;5498:16;5537:2;5529:6;5526:14;5523:34;;;5553:1;5550;5543:12;5523:34;5608:7;5601:4;5591:6;5588:1;5584:14;5580:2;5576:23;5572:34;5569:47;5566:67;;;5629:1;5626;5619:12;5566:67;5660:4;5652:13;;;;-1:-1:-1;5684:6:1;-1:-1:-1;5709:37:1;;5725:20;;;-1:-1:-1;5709:37:1;:::i;:::-;5699:47;;5063:689;;;;;:::o;5757:388::-;5825:6;5833;5886:2;5874:9;5865:7;5861:23;5857:32;5854:52;;;5902:1;5899;5892:12;5854:52;5941:9;5928:23;5960:31;5985:5;5960:31;:::i;:::-;6010:5;-1:-1:-1;6067:2:1;6052:18;;6039:32;6080:33;6039:32;6080:33;:::i;:::-;6132:7;6122:17;;;5757:388;;;;;:::o;6150:356::-;6352:2;6334:21;;;6371:18;;;6364:30;6430:34;6425:2;6410:18;;6403:62;6497:2;6482:18;;6150:356::o;6511:127::-;6572:10;6567:3;6563:20;6560:1;6553:31;6603:4;6600:1;6593:15;6627:4;6624:1;6617:15;6643:127;6704:10;6699:3;6695:20;6692:1;6685:31;6735:4;6732:1;6725:15;6759:4;6756:1;6749:15;6775:135;6814:3;6835:17;;;6832:43;;6855:18;;:::i;:::-;-1:-1:-1;6902:1:1;6891:13;;6775:135::o;6915:168::-;6955:7;7021:1;7017;7013:6;7009:14;7006:1;7003:21;6998:1;6991:9;6984:17;6980:45;6977:71;;;7028:18;;:::i;:::-;-1:-1:-1;7068:9:1;;6915:168::o;7088:217::-;7128:1;7154;7144:132;;7198:10;7193:3;7189:20;7186:1;7179:31;7233:4;7230:1;7223:15;7261:4;7258:1;7251:15;7144:132;-1:-1:-1;7290:9:1;;7088:217::o;13712:125::-;13777:9;;;13798:10;;;13795:36;;;13811:18;;:::i;14246:128::-;14313:9;;;14334:11;;;14331:37;;;14348:18;;:::i;14790:251::-;14860:6;14913:2;14901:9;14892:7;14888:23;14884:32;14881:52;;;14929:1;14926;14919:12;14881:52;14961:9;14955:16;14980:31;15005:5;14980:31;:::i;15046:980::-;15308:4;15356:3;15345:9;15341:19;15387:6;15376:9;15369:25;15413:2;15451:6;15446:2;15435:9;15431:18;15424:34;15494:3;15489:2;15478:9;15474:18;15467:31;15518:6;15553;15547:13;15584:6;15576;15569:22;15622:3;15611:9;15607:19;15600:26;;15661:2;15653:6;15649:15;15635:29;;15682:1;15692:195;15706:6;15703:1;15700:13;15692:195;;;15771:13;;-1:-1:-1;;;;;15767:39:1;15755:52;;15862:15;;;;15827:12;;;;15803:1;15721:9;15692:195;;;-1:-1:-1;;;;;;;15943:32:1;;;;15938:2;15923:18;;15916:60;-1:-1:-1;;;16007:3:1;15992:19;15985:35;15904:3;15046:980;-1:-1:-1;;;15046:980:1:o

Swarm Source

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