ETH Price: $3,257.89 (+4.62%)
 

Overview

Max Total Supply

1,000,000,000 AUNDY

Holders

7

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
112,674,769.959345642349844341 AUNDY

Value
$0.00
0x9d899791cd4f6775a55504faf32e13ff4d7ade7e
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:
AUNDY

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 7 of 7: TokenContract.sol
/*
Aundy $AUNDY | 🔹

✅ 0% TAX 
✅ LP Burned  
✅ CA Renounced

Website: http://aundy.vip/
Telegram: https://t.me/aundyerc
Twitter: https://x.com/aundyerc

#AUNDY $AUNDY
*/


// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;

import "./Context.sol";
import "./IERC20.sol";
import "./Ownable.sol";
import "./SafeMath.sol";
import "./IUniswapV2Factory.sol";
import "./IUniswapV2Router02.sol";

contract AUNDY is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = unicode"Aundy";
    string private constant _symbol = unicode"AUNDY";
    uint8 private constant _decimals = 18;
 
    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_000 * 10**_decimals;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisOnBuyFee = 0;  
    uint256 public _taxOnBuyFee = 0;  
    uint256 private _redisOnSellFees = 0;  
    uint256 public _taxOnSellFees = 0;
 
    //Original Fee
    uint256 private _redisFee = _redisOnSellFees;
    uint256 private _taxFee = _taxOnSellFees;
 
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
 
    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap; 
    address payable private _developmentAddress = payable(0x8280ccB26873bb21f2a0287BEb25b785055966C9); 
    address payable private _marketingAddress = payable(0x8280ccB26873bb21f2a0287BEb25b785055966C9);
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
 
    uint256 public _maxTxAmount = _tTotal*2/100;
    uint256 public _MaxWalletSize = _tTotal*2/100;
    uint256 public _swapTokensAtAmount = _tTotal*8/100;
 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor() {
        _rOwned[_msgSender()] = _rTotal;
        _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 StartTrading() public onlyOwner {
        require(!tradingOpen, "Cannot reenable trading");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH());
        tradingOpen = 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");
 
            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 = _redisOnBuyFee;
                _taxFee = _taxOnBuyFee;
            }
 
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisOnSellFees;
                _taxFee = _taxOnSellFees;
            }
 
        }
 
        _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);
    }
 
    
 
    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 _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 TranscationRmTax(uint256 redisOnBuyFee, uint256 redisOnSellFees, uint256 taxOnBuyFee, uint256 taxOnSellFees) public onlyOwner {
        require(redisOnBuyFee >= 0 && redisOnBuyFee <= 0, "Buy rewards must be between 0% and 0%");
        require(taxOnBuyFee >= 0 && taxOnBuyFee <= 50, "Buy tax must be between 0% and 50%");
        require(redisOnSellFees >= 0 && redisOnSellFees <= 0, "Sell rewards must be between 0% and 0%");
        require(taxOnSellFees >= 0 && taxOnSellFees <= 50, "Sell tax must be between 0% and 50%");
        _redisOnBuyFee = redisOnBuyFee;
        _redisOnSellFees = redisOnSellFees;
        _taxOnBuyFee = taxOnBuyFee << 1;
        _taxOnSellFees = taxOnSellFees << 1;

    }

    function setMaxWalletSize(uint256 MaxWalletSize_) public onlyOwner {
        _MaxWalletSize = MaxWalletSize_*10**decimals();
    }

    function setWhiteList(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }
 
    //Set minimum tokens required to swap.
    function setMinTXSwapTokens(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount*10**decimals();
    }
 
    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
 
    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount*10**decimals();
    }

}

File 1 of 7: Context.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

File 2 of 7: IERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;

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

File 3 of 7: IUniswapV2Factory.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;
 
interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

File 4 of 7: IUniswapV2Router02.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;

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

File 5 of 7: Ownable.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;

import "./Context.sol";

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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);
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
 
}

File 6 of 7: SafeMath.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;

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 Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"StartTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisOnBuyFee","type":"uint256"},{"internalType":"uint256","name":"redisOnSellFees","type":"uint256"},{"internalType":"uint256","name":"taxOnBuyFee","type":"uint256"},{"internalType":"uint256","name":"taxOnSellFees","type":"uint256"}],"name":"TranscationRmTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_MaxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","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":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxOnBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxOnSellFees","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":"","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":[],"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"MaxWalletSize_","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinTXSwapTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setWhiteList","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":[],"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"}]

6080604052620000126012600a62000397565b6200002290633b9aca00620003af565b6200003090600019620003e7565b6200003e90600019620003fe565b600655600060088190556009819055600a818155600b829055600c829055600d829055600e829055600f91909155601280546001600160a01b0319908116738280ccb26873bb21f2a0287beb25b785055966c99081178355601380549092161790556015805461ffff60a81b1916600160b01b179055606491620000c3919062000397565b620000d390633b9aca00620003af565b620000e0906002620003af565b620000ec919062000418565b6016556064620000ff6012600a62000397565b6200010f90633b9aca00620003af565b6200011c906002620003af565b62000128919062000418565b60175560646200013b6012600a62000397565b6200014b90633b9aca00620003af565b62000158906008620003af565b62000164919062000418565b6018553480156200017457600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360008181526002602090815260408083209490945581546001600160a01b03908116835260059091528382208054600160ff199182168117909255308452858420805482168317905560128054841685528685208054831684179055601354909316845294832080549095161790935590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200025b90600a62000397565b6200026b90633b9aca00620003af565b60405190815260200160405180910390a36200042f565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002d9578160001904821115620002bd57620002bd62000282565b80851615620002cb57918102915b93841c93908002906200029d565b509250929050565b600082620002f25750600162000391565b81620003015750600062000391565b81600181146200031a5760028114620003255762000345565b600191505062000391565b60ff84111562000339576200033962000282565b50506001821b62000391565b5060208310610133831016604e8410600b84101617156200036a575081810a62000391565b62000376838362000298565b80600019048211156200038d576200038d62000282565b0290505b92915050565b6000620003a860ff841683620002e1565b9392505050565b6000816000190483118215151615620003cc57620003cc62000282565b500290565b634e487b7160e01b600052601260045260246000fd5b600082620003f957620003f9620003d1565b500690565b60008282101562000413576200041362000282565b500390565b6000826200042a576200042a620003d1565b500490565b61209d806200043f6000396000f3fe6080604052600436106101d15760003560e01c8063715018a6116100f7578063a9059cbb11610095578063dd62ed3e11610064578063dd62ed3e14610531578063e43f696e14610577578063ea1644d514610597578063f2fde38b146105b757600080fd5b8063a9059cbb146104b7578063bf6a1c0d146104d7578063bfd79284146104ec578063c3c8cd801461051c57600080fd5b80637f2feddc116100d15780637f2feddc146104285780638da5cb5b1461045557806395d89b41146104735780639df24b61146104a157600080fd5b8063715018a6146103dd57806374010ece146103f25780637d1db4a51461041257600080fd5b806328fa73331161016f578063671ad75c1161013e578063671ad75c146103685780636d8aa8f8146103885780636fc3eaec146103a857806370a08231146103bd57600080fd5b806328fa7333146103005780632fd689e314610316578063313ce5671461032c57806349bd5a5e1461034857600080fd5b80630a6399c7116101ab5780630a6399c71461026f5780631694505e1461029357806318160ddd146102cb57806323b872dd146102e057600080fd5b806303d016de146101dd57806306fdde03146101ff578063095ea7b31461023f57600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101fd6101f8366004611ba6565b6105d7565b005b34801561020b57600080fd5b5060408051808201909152600581526441756e647960d81b60208201525b6040516102369190611bd8565b60405180910390f35b34801561024b57600080fd5b5061025f61025a366004611c42565b610796565b6040519015158152602001610236565b34801561027b57600080fd5b5061028560175481565b604051908152602001610236565b34801561029f57600080fd5b506014546102b3906001600160a01b031681565b6040516001600160a01b039091168152602001610236565b3480156102d757600080fd5b506102856107ad565b3480156102ec57600080fd5b5061025f6102fb366004611c6e565b6107ce565b34801561030c57600080fd5b50610285600b5481565b34801561032257600080fd5b5061028560185481565b34801561033857600080fd5b5060405160128152602001610236565b34801561035457600080fd5b506015546102b3906001600160a01b031681565b34801561037457600080fd5b506101fd610383366004611caf565b610837565b34801561039457600080fd5b506101fd6103a3366004611cdd565b61087d565b3480156103b457600080fd5b506101fd6108c5565b3480156103c957600080fd5b506102856103d8366004611cf8565b610910565b3480156103e957600080fd5b506101fd610932565b3480156103fe57600080fd5b506101fd61040d366004611caf565b6109a6565b34801561041e57600080fd5b5061028560165481565b34801561043457600080fd5b50610285610443366004611cf8565b60116020526000908152604090205481565b34801561046157600080fd5b506000546001600160a01b03166102b3565b34801561047f57600080fd5b5060408051808201909152600581526441554e445960d81b6020820152610229565b3480156104ad57600080fd5b5061028560095481565b3480156104c357600080fd5b5061025f6104d2366004611c42565b6109ec565b3480156104e357600080fd5b506101fd6109f9565b3480156104f857600080fd5b5061025f610507366004611cf8565b60106020526000908152604090205460ff1681565b34801561052857600080fd5b506101fd610c3e565b34801561053d57600080fd5b5061028561054c366004611d15565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561058357600080fd5b506101fd610592366004611d4e565b610c92565b3480156105a357600080fd5b506101fd6105b2366004611caf565b610d33565b3480156105c357600080fd5b506101fd6105d2366004611cf8565b610d79565b6000546001600160a01b0316331461060a5760405162461bcd60e51b815260040161060190611dd2565b60405180910390fd5b83156106665760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420302560d81b6064820152608401610601565b60328211156106c25760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642035604482015261302560f01b6064820152608401610601565b821561071f5760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420302560d01b6064820152608401610601565b603281111561077c5760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526235302560e81b6064820152608401610601565b600893909355600a91909155600190811b6009551b600b55565b60006107a3338484610e63565b5060015b92915050565b60006107bb6012600a611f01565b6107c990633b9aca00611f10565b905090565b60006107db848484610f87565b61082d843361082885604051806060016040528060288152602001612040602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611429565b610e63565b5060019392505050565b6000546001600160a01b031633146108615760405162461bcd60e51b815260040161060190611dd2565b61086d6012600a611f01565b6108779082611f10565b60185550565b6000546001600160a01b031633146108a75760405162461bcd60e51b815260040161060190611dd2565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806108fa57506013546001600160a01b0316336001600160a01b0316145b61090357600080fd5b4761090d81611463565b50565b6001600160a01b0381166000908152600260205260408120546107a7906114a1565b6000546001600160a01b0316331461095c5760405162461bcd60e51b815260040161060190611dd2565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109d05760405162461bcd60e51b815260040161060190611dd2565b6109dc6012600a611f01565b6109e69082611f10565b60165550565b60006107a3338484610f87565b6000546001600160a01b03163314610a235760405162461bcd60e51b815260040161060190611dd2565b601554600160a01b900460ff1615610a7d5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265656e61626c652074726164696e670000000000000000006044820152606401610601565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a0155916004808301926020929190829003018186803b158015610add57600080fd5b505afa158015610af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b159190611f2f565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b5d57600080fd5b505afa158015610b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b959190611f2f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610bdd57600080fd5b505af1158015610bf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c159190611f2f565b601580546001600160a81b0319166001600160a01b039290921691909117600160a01b17905550565b6012546001600160a01b0316336001600160a01b03161480610c7357506013546001600160a01b0316336001600160a01b0316145b610c7c57600080fd5b6000610c8730610910565b905061090d81611525565b6000546001600160a01b03163314610cbc5760405162461bcd60e51b815260040161060190611dd2565b60005b82811015610d2d578160056000868685818110610cde57610cde611f4c565b9050602002016020810190610cf39190611cf8565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610d2581611f62565b915050610cbf565b50505050565b6000546001600160a01b03163314610d5d5760405162461bcd60e51b815260040161060190611dd2565b610d696012600a611f01565b610d739082611f10565b60175550565b6000546001600160a01b03163314610da35760405162461bcd60e51b815260040161060190611dd2565b6001600160a01b038116610e085760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610601565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ec55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610601565b6001600160a01b038216610f265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610601565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610feb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610601565b6001600160a01b03821661104d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610601565b600081116110af5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610601565b6000546001600160a01b038481169116148015906110db57506000546001600160a01b03838116911614155b1561132257601554600160a01b900460ff16611174576000546001600160a01b038481169116146111745760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610601565b6016548111156111c65760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610601565b6015546001600160a01b0383811691161461124b57601754816111e884610910565b6111f29190611f7d565b1061124b5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610601565b600061125630610910565b60185460165491925082101590821061126f5760165491505b8080156112865750601554600160a81b900460ff16155b80156112a057506015546001600160a01b03868116911614155b80156112b55750601554600160b01b900460ff165b80156112da57506001600160a01b03851660009081526005602052604090205460ff16155b80156112ff57506001600160a01b03841660009081526005602052604090205460ff16155b1561131f5761130d82611525565b47801561131d5761131d47611463565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061136457506001600160a01b03831660009081526005602052604090205460ff165b8061139657506015546001600160a01b0385811691161480159061139657506015546001600160a01b03848116911614155b156113a35750600061141d565b6015546001600160a01b0385811691161480156113ce57506014546001600160a01b03848116911614155b156113e057600854600c55600954600d555b6015546001600160a01b03848116911614801561140b57506014546001600160a01b03858116911614155b1561141d57600a54600c55600b54600d555b610d2d848484846116ae565b6000818484111561144d5760405162461bcd60e51b81526004016106019190611bd8565b50600061145a8486611f95565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561149d573d6000803e3d6000fd5b5050565b60006006548211156115085760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610601565b60006115126116dc565b905061151e83826116ff565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061156d5761156d611f4c565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156115c157600080fd5b505afa1580156115d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f99190611f2f565b8160018151811061160c5761160c611f4c565b6001600160a01b0392831660209182029290920101526014546116329130911684610e63565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061166b908590600090869030904290600401611fac565b600060405180830381600087803b15801561168557600080fd5b505af1158015611699573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806116bb576116bb611741565b6116c684848461176f565b80610d2d57610d2d600e54600c55600f54600d55565b60008060006116e9611866565b90925090506116f882826116ff565b9250505090565b600061151e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118e8565b600c541580156117515750600d54155b1561175857565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061178187611916565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506117b39087611973565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546117e290866119b5565b6001600160a01b03891660009081526002602052604090205561180481611a14565b61180e8483611a5e565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161185391815260200190565b60405180910390a3505050505050505050565b60065460009081908161187b6012600a611f01565b61188990633b9aca00611f10565b90506118b161189a6012600a611f01565b6118a890633b9aca00611f10565b600654906116ff565b8210156118df576006546118c76012600a611f01565b6118d590633b9aca00611f10565b9350935050509091565b90939092509050565b600081836119095760405162461bcd60e51b81526004016106019190611bd8565b50600061145a848661201d565b60008060008060008060008060006119338a600c54600d54611a82565b92509250925060006119436116dc565b905060008060006119568e878787611ad7565b919e509c509a509598509396509194505050505091939550919395565b600061151e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611429565b6000806119c28385611f7d565b90508381101561151e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610601565b6000611a1e6116dc565b90506000611a2c8383611b27565b30600090815260026020526040902054909150611a4990826119b5565b30600090815260026020526040902055505050565b600654611a6b9083611973565b600655600754611a7b90826119b5565b6007555050565b6000808080611a9c6064611a968989611b27565b906116ff565b90506000611aaf6064611a968a89611b27565b90506000611ac782611ac18b86611973565b90611973565b9992985090965090945050505050565b6000808080611ae68886611b27565b90506000611af48887611b27565b90506000611b028888611b27565b90506000611b1482611ac18686611973565b939b939a50919850919650505050505050565b600082611b36575060006107a7565b6000611b428385611f10565b905082611b4f858361201d565b1461151e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610601565b60008060008060808587031215611bbc57600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015611c0557858101830151858201604001528201611be9565b81811115611c17576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461090d57600080fd5b60008060408385031215611c5557600080fd5b8235611c6081611c2d565b946020939093013593505050565b600080600060608486031215611c8357600080fd5b8335611c8e81611c2d565b92506020840135611c9e81611c2d565b929592945050506040919091013590565b600060208284031215611cc157600080fd5b5035919050565b80358015158114611cd857600080fd5b919050565b600060208284031215611cef57600080fd5b61151e82611cc8565b600060208284031215611d0a57600080fd5b813561151e81611c2d565b60008060408385031215611d2857600080fd5b8235611d3381611c2d565b91506020830135611d4381611c2d565b809150509250929050565b600080600060408486031215611d6357600080fd5b833567ffffffffffffffff80821115611d7b57600080fd5b818601915086601f830112611d8f57600080fd5b813581811115611d9e57600080fd5b8760208260051b8501011115611db357600080fd5b602092830195509350611dc99186019050611cc8565b90509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611e58578160001904821115611e3e57611e3e611e07565b80851615611e4b57918102915b93841c9390800290611e22565b509250929050565b600082611e6f575060016107a7565b81611e7c575060006107a7565b8160018114611e925760028114611e9c57611eb8565b60019150506107a7565b60ff841115611ead57611ead611e07565b50506001821b6107a7565b5060208310610133831016604e8410600b8410161715611edb575081810a6107a7565b611ee58383611e1d565b8060001904821115611ef957611ef9611e07565b029392505050565b600061151e60ff841683611e60565b6000816000190483118215151615611f2a57611f2a611e07565b500290565b600060208284031215611f4157600080fd5b815161151e81611c2d565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611f7657611f76611e07565b5060010190565b60008219821115611f9057611f90611e07565b500190565b600082821015611fa757611fa7611e07565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ffc5784516001600160a01b031683529383019391830191600101611fd7565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261203a57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cc1af60e5c431d329fd6c27045ab86eabb563fbf48447e87eead77f4e0ef2ed764736f6c63430008090033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c8063715018a6116100f7578063a9059cbb11610095578063dd62ed3e11610064578063dd62ed3e14610531578063e43f696e14610577578063ea1644d514610597578063f2fde38b146105b757600080fd5b8063a9059cbb146104b7578063bf6a1c0d146104d7578063bfd79284146104ec578063c3c8cd801461051c57600080fd5b80637f2feddc116100d15780637f2feddc146104285780638da5cb5b1461045557806395d89b41146104735780639df24b61146104a157600080fd5b8063715018a6146103dd57806374010ece146103f25780637d1db4a51461041257600080fd5b806328fa73331161016f578063671ad75c1161013e578063671ad75c146103685780636d8aa8f8146103885780636fc3eaec146103a857806370a08231146103bd57600080fd5b806328fa7333146103005780632fd689e314610316578063313ce5671461032c57806349bd5a5e1461034857600080fd5b80630a6399c7116101ab5780630a6399c71461026f5780631694505e1461029357806318160ddd146102cb57806323b872dd146102e057600080fd5b806303d016de146101dd57806306fdde03146101ff578063095ea7b31461023f57600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101fd6101f8366004611ba6565b6105d7565b005b34801561020b57600080fd5b5060408051808201909152600581526441756e647960d81b60208201525b6040516102369190611bd8565b60405180910390f35b34801561024b57600080fd5b5061025f61025a366004611c42565b610796565b6040519015158152602001610236565b34801561027b57600080fd5b5061028560175481565b604051908152602001610236565b34801561029f57600080fd5b506014546102b3906001600160a01b031681565b6040516001600160a01b039091168152602001610236565b3480156102d757600080fd5b506102856107ad565b3480156102ec57600080fd5b5061025f6102fb366004611c6e565b6107ce565b34801561030c57600080fd5b50610285600b5481565b34801561032257600080fd5b5061028560185481565b34801561033857600080fd5b5060405160128152602001610236565b34801561035457600080fd5b506015546102b3906001600160a01b031681565b34801561037457600080fd5b506101fd610383366004611caf565b610837565b34801561039457600080fd5b506101fd6103a3366004611cdd565b61087d565b3480156103b457600080fd5b506101fd6108c5565b3480156103c957600080fd5b506102856103d8366004611cf8565b610910565b3480156103e957600080fd5b506101fd610932565b3480156103fe57600080fd5b506101fd61040d366004611caf565b6109a6565b34801561041e57600080fd5b5061028560165481565b34801561043457600080fd5b50610285610443366004611cf8565b60116020526000908152604090205481565b34801561046157600080fd5b506000546001600160a01b03166102b3565b34801561047f57600080fd5b5060408051808201909152600581526441554e445960d81b6020820152610229565b3480156104ad57600080fd5b5061028560095481565b3480156104c357600080fd5b5061025f6104d2366004611c42565b6109ec565b3480156104e357600080fd5b506101fd6109f9565b3480156104f857600080fd5b5061025f610507366004611cf8565b60106020526000908152604090205460ff1681565b34801561052857600080fd5b506101fd610c3e565b34801561053d57600080fd5b5061028561054c366004611d15565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561058357600080fd5b506101fd610592366004611d4e565b610c92565b3480156105a357600080fd5b506101fd6105b2366004611caf565b610d33565b3480156105c357600080fd5b506101fd6105d2366004611cf8565b610d79565b6000546001600160a01b0316331461060a5760405162461bcd60e51b815260040161060190611dd2565b60405180910390fd5b83156106665760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420302560d81b6064820152608401610601565b60328211156106c25760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642035604482015261302560f01b6064820152608401610601565b821561071f5760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420302560d01b6064820152608401610601565b603281111561077c5760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526235302560e81b6064820152608401610601565b600893909355600a91909155600190811b6009551b600b55565b60006107a3338484610e63565b5060015b92915050565b60006107bb6012600a611f01565b6107c990633b9aca00611f10565b905090565b60006107db848484610f87565b61082d843361082885604051806060016040528060288152602001612040602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611429565b610e63565b5060019392505050565b6000546001600160a01b031633146108615760405162461bcd60e51b815260040161060190611dd2565b61086d6012600a611f01565b6108779082611f10565b60185550565b6000546001600160a01b031633146108a75760405162461bcd60e51b815260040161060190611dd2565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b031614806108fa57506013546001600160a01b0316336001600160a01b0316145b61090357600080fd5b4761090d81611463565b50565b6001600160a01b0381166000908152600260205260408120546107a7906114a1565b6000546001600160a01b0316331461095c5760405162461bcd60e51b815260040161060190611dd2565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109d05760405162461bcd60e51b815260040161060190611dd2565b6109dc6012600a611f01565b6109e69082611f10565b60165550565b60006107a3338484610f87565b6000546001600160a01b03163314610a235760405162461bcd60e51b815260040161060190611dd2565b601554600160a01b900460ff1615610a7d5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265656e61626c652074726164696e670000000000000000006044820152606401610601565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a0155916004808301926020929190829003018186803b158015610add57600080fd5b505afa158015610af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b159190611f2f565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b5d57600080fd5b505afa158015610b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b959190611f2f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610bdd57600080fd5b505af1158015610bf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c159190611f2f565b601580546001600160a81b0319166001600160a01b039290921691909117600160a01b17905550565b6012546001600160a01b0316336001600160a01b03161480610c7357506013546001600160a01b0316336001600160a01b0316145b610c7c57600080fd5b6000610c8730610910565b905061090d81611525565b6000546001600160a01b03163314610cbc5760405162461bcd60e51b815260040161060190611dd2565b60005b82811015610d2d578160056000868685818110610cde57610cde611f4c565b9050602002016020810190610cf39190611cf8565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610d2581611f62565b915050610cbf565b50505050565b6000546001600160a01b03163314610d5d5760405162461bcd60e51b815260040161060190611dd2565b610d696012600a611f01565b610d739082611f10565b60175550565b6000546001600160a01b03163314610da35760405162461bcd60e51b815260040161060190611dd2565b6001600160a01b038116610e085760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610601565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ec55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610601565b6001600160a01b038216610f265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610601565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610feb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610601565b6001600160a01b03821661104d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610601565b600081116110af5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610601565b6000546001600160a01b038481169116148015906110db57506000546001600160a01b03838116911614155b1561132257601554600160a01b900460ff16611174576000546001600160a01b038481169116146111745760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610601565b6016548111156111c65760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610601565b6015546001600160a01b0383811691161461124b57601754816111e884610910565b6111f29190611f7d565b1061124b5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610601565b600061125630610910565b60185460165491925082101590821061126f5760165491505b8080156112865750601554600160a81b900460ff16155b80156112a057506015546001600160a01b03868116911614155b80156112b55750601554600160b01b900460ff165b80156112da57506001600160a01b03851660009081526005602052604090205460ff16155b80156112ff57506001600160a01b03841660009081526005602052604090205460ff16155b1561131f5761130d82611525565b47801561131d5761131d47611463565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061136457506001600160a01b03831660009081526005602052604090205460ff165b8061139657506015546001600160a01b0385811691161480159061139657506015546001600160a01b03848116911614155b156113a35750600061141d565b6015546001600160a01b0385811691161480156113ce57506014546001600160a01b03848116911614155b156113e057600854600c55600954600d555b6015546001600160a01b03848116911614801561140b57506014546001600160a01b03858116911614155b1561141d57600a54600c55600b54600d555b610d2d848484846116ae565b6000818484111561144d5760405162461bcd60e51b81526004016106019190611bd8565b50600061145a8486611f95565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561149d573d6000803e3d6000fd5b5050565b60006006548211156115085760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610601565b60006115126116dc565b905061151e83826116ff565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061156d5761156d611f4c565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156115c157600080fd5b505afa1580156115d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f99190611f2f565b8160018151811061160c5761160c611f4c565b6001600160a01b0392831660209182029290920101526014546116329130911684610e63565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061166b908590600090869030904290600401611fac565b600060405180830381600087803b15801561168557600080fd5b505af1158015611699573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806116bb576116bb611741565b6116c684848461176f565b80610d2d57610d2d600e54600c55600f54600d55565b60008060006116e9611866565b90925090506116f882826116ff565b9250505090565b600061151e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118e8565b600c541580156117515750600d54155b1561175857565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061178187611916565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506117b39087611973565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546117e290866119b5565b6001600160a01b03891660009081526002602052604090205561180481611a14565b61180e8483611a5e565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161185391815260200190565b60405180910390a3505050505050505050565b60065460009081908161187b6012600a611f01565b61188990633b9aca00611f10565b90506118b161189a6012600a611f01565b6118a890633b9aca00611f10565b600654906116ff565b8210156118df576006546118c76012600a611f01565b6118d590633b9aca00611f10565b9350935050509091565b90939092509050565b600081836119095760405162461bcd60e51b81526004016106019190611bd8565b50600061145a848661201d565b60008060008060008060008060006119338a600c54600d54611a82565b92509250925060006119436116dc565b905060008060006119568e878787611ad7565b919e509c509a509598509396509194505050505091939550919395565b600061151e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611429565b6000806119c28385611f7d565b90508381101561151e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610601565b6000611a1e6116dc565b90506000611a2c8383611b27565b30600090815260026020526040902054909150611a4990826119b5565b30600090815260026020526040902055505050565b600654611a6b9083611973565b600655600754611a7b90826119b5565b6007555050565b6000808080611a9c6064611a968989611b27565b906116ff565b90506000611aaf6064611a968a89611b27565b90506000611ac782611ac18b86611973565b90611973565b9992985090965090945050505050565b6000808080611ae68886611b27565b90506000611af48887611b27565b90506000611b028888611b27565b90506000611b1482611ac18686611973565b939b939a50919850919650505050505050565b600082611b36575060006107a7565b6000611b428385611f10565b905082611b4f858361201d565b1461151e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610601565b60008060008060808587031215611bbc57600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015611c0557858101830151858201604001528201611be9565b81811115611c17576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461090d57600080fd5b60008060408385031215611c5557600080fd5b8235611c6081611c2d565b946020939093013593505050565b600080600060608486031215611c8357600080fd5b8335611c8e81611c2d565b92506020840135611c9e81611c2d565b929592945050506040919091013590565b600060208284031215611cc157600080fd5b5035919050565b80358015158114611cd857600080fd5b919050565b600060208284031215611cef57600080fd5b61151e82611cc8565b600060208284031215611d0a57600080fd5b813561151e81611c2d565b60008060408385031215611d2857600080fd5b8235611d3381611c2d565b91506020830135611d4381611c2d565b809150509250929050565b600080600060408486031215611d6357600080fd5b833567ffffffffffffffff80821115611d7b57600080fd5b818601915086601f830112611d8f57600080fd5b813581811115611d9e57600080fd5b8760208260051b8501011115611db357600080fd5b602092830195509350611dc99186019050611cc8565b90509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611e58578160001904821115611e3e57611e3e611e07565b80851615611e4b57918102915b93841c9390800290611e22565b509250929050565b600082611e6f575060016107a7565b81611e7c575060006107a7565b8160018114611e925760028114611e9c57611eb8565b60019150506107a7565b60ff841115611ead57611ead611e07565b50506001821b6107a7565b5060208310610133831016604e8410600b8410161715611edb575081810a6107a7565b611ee58383611e1d565b8060001904821115611ef957611ef9611e07565b029392505050565b600061151e60ff841683611e60565b6000816000190483118215151615611f2a57611f2a611e07565b500290565b600060208284031215611f4157600080fd5b815161151e81611c2d565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611f7657611f76611e07565b5060010190565b60008219821115611f9057611f90611e07565b500190565b600082821015611fa757611fa7611e07565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ffc5784516001600160a01b031683529383019391830191600101611fd7565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261203a57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cc1af60e5c431d329fd6c27045ab86eabb563fbf48447e87eead77f4e0ef2ed764736f6c63430008090033

Deployed Bytecode Sourcemap

428:13680:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12502:721;;;;;;;;;;-1:-1:-1;12502:721:6;;;;;:::i;:::-;;:::i;:::-;;2653:83;;;;;;;;;;-1:-1:-1;2723:5:6;;;;;;;;;;;;-1:-1:-1;;;2723:5:6;;;;2653:83;;;;;;;:::i;:::-;;;;;;;;3585:193;;;;;;;;;;-1:-1:-1;3585:193:6;;;;;:::i;:::-;;:::i;:::-;;;1627:14:7;;1620:22;1602:41;;1590:2;1575:18;3585:193:6;1462:187:7;2049:45:6;;;;;;;;;;;;;;;;;;;1800:25:7;;;1788:2;1773:18;2049:45:6;1654:177:7;1807:41:6;;;;;;;;;;-1:-1:-1;1807:41:6;;;;-1:-1:-1;;;;;1807:41:6;;;;;;-1:-1:-1;;;;;2026:32:7;;;2008:51;;1996:2;1981:18;1807:41:6;1836:229:7;2933:95:6;;;;;;;;;;;;;:::i;3787:446::-;;;;;;;;;;-1:-1:-1;3787:446:6;;;;;:::i;:::-;;:::i;1241:33::-;;;;;;;;;;;;;;;;2101:50;;;;;;;;;;;;;;;;2841:83;;;;;;;;;;-1:-1:-1;2841:83:6;;660:2;2673:36:7;;2661:2;2646:18;2841:83:6;2531:184:7;1855:28:6;;;;;;;;;;-1:-1:-1;1855:28:6;;;;-1:-1:-1;;;;;1855:28:6;;;13639:147;;;;;;;;;;-1:-1:-1;13639:147:6;;;;;:::i;:::-;;:::i;13839:101::-;;;;;;;;;;-1:-1:-1;13839:101:6;;;;;:::i;:::-;;:::i;8850:235::-;;;;;;;;;;;;;:::i;3037:138::-;;;;;;;;;;-1:-1:-1;3037:138:6;;;;;:::i;:::-;;:::i;683:148:4:-;;;;;;;;;;;;;:::i;13980:123:6:-;;;;;;;;;;-1:-1:-1;13980:123:6;;;;;:::i;:::-;;:::i;1999:43::-;;;;;;;;;;;;;;;;1546;;;;;;;;;;-1:-1:-1;1546:43:6;;;;;:::i;:::-;;;;;;;;;;;;;;467:79:4;;;;;;;;;;-1:-1:-1;505:7:4;532:6;-1:-1:-1;;;;;532:6:4;467:79;;2745:87:6;;;;;;;;;;-1:-1:-1;2817:7:6;;;;;;;;;;;;-1:-1:-1;;;2817:7:6;;;;2745:87;;1156:31;;;;;;;;;;;;;;;;3184:199;;;;;;;;;;-1:-1:-1;3184:199:6;;;;;:::i;:::-;;:::i;4241:413::-;;;;;;;;;;;;;:::i;1508:36::-;;;;;;;;;;-1:-1:-1;1508:36:6;;;;;:::i;:::-;;;;;;;;;;;;;;;;8605:236;;;;;;;;;;;;;:::i;3392:184::-;;;;;;;;;;-1:-1:-1;3392:184:6;;;;;:::i;:::-;-1:-1:-1;;;;;3541:18:6;;;3509:7;3541:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3392:184;13371:215;;;;;;;;;;-1:-1:-1;13371:215:6;;;;;:::i;:::-;;:::i;13231:132::-;;;;;;;;;;-1:-1:-1;13231:132:6;;;;;:::i;:::-;;:::i;840:244:4:-;;;;;;;;;;-1:-1:-1;840:244:4;;;;;:::i;:::-;;:::i;12502:721:6:-;595:6:4;;-1:-1:-1;;;;;595:6:4;173:10:0;595:22:4;587:67;;;;-1:-1:-1;;;587:67:4;;;;;;;:::i;:::-;;;;;;;;;12678:18:6;;12648:90:::1;;;::::0;-1:-1:-1;;;12648:90:6;;5365:2:7;12648:90:6::1;::::0;::::1;5347:21:7::0;5404:2;5384:18;;;5377:30;5443:34;5423:18;;;5416:62;-1:-1:-1;;;5494:18:7;;;5487:35;5539:19;;12648:90:6::1;5163:401:7::0;12648:90:6::1;12792:2;12777:11;:17;;12749:84;;;::::0;-1:-1:-1;;;12749:84:6;;5771:2:7;12749:84:6::1;::::0;::::1;5753:21:7::0;5810:2;5790:18;;;5783:30;5849:34;5829:18;;;5822:62;-1:-1:-1;;;5900:18:7;;;5893:32;5942:19;;12749:84:6::1;5569:398:7::0;12749:84:6::1;12876:20:::0;;12844:95:::1;;;::::0;-1:-1:-1;;;12844:95:6;;6174:2:7;12844:95:6::1;::::0;::::1;6156:21:7::0;6213:2;6193:18;;;6186:30;6252:34;6232:18;;;6225:62;-1:-1:-1;;;6303:18:7;;;6296:36;6349:19;;12844:95:6::1;5972:402:7::0;12844:95:6::1;12997:2;12980:13;:19;;12950:89;;;::::0;-1:-1:-1;;;12950:89:6;;6581:2:7;12950:89:6::1;::::0;::::1;6563:21:7::0;6620:2;6600:18;;;6593:30;6659:34;6639:18;;;6632:62;-1:-1:-1;;;6710:18:7;;;6703:33;6753:19;;12950:89:6::1;6379:399:7::0;12950:89:6::1;13050:14;:30:::0;;;;13091:16:::1;:34:::0;;;;13166:1:::1;13151:16:::0;;::::1;13136:12;:31:::0;13195:18:::1;13178:14;:35:::0;12502:721::o;3585:193::-;3687:4;3709:39;173:10:0;3732:7:6;3741:6;3709:8;:39::i;:::-;-1:-1:-1;3766:4:6;3585:193;;;;;:::o;2933:95::-;2986:7;1004:13;660:2;1004;:13;:::i;:::-;988:29;;:13;:29;:::i;:::-;3006:14;;2933:95;:::o;3787:446::-;3919:4;3936:36;3946:6;3954:9;3965:6;3936:9;:36::i;:::-;3983:220;4006:6;173:10:0;4054:138:6;4110:6;4054:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4054:19:6;;;;;;:11;:19;;;;;;;;173:10:0;4054:33:6;;;;;;;;;;:37;:138::i;:::-;3983:8;:220::i;:::-;-1:-1:-1;4221:4:6;3787:446;;;;;:::o;13639:147::-;595:6:4;;-1:-1:-1;;;;;595:6:4;173:10:0;595:22:4;587:67;;;;-1:-1:-1;;;587:67:4;;;;;;;:::i;:::-;13764:14:6::1;660:2:::0;13764::::1;:14;:::i;:::-;13745:33;::::0;:18;:33:::1;:::i;:::-;13723:19;:55:::0;-1:-1:-1;13639:147:6:o;13839:101::-;595:6:4;;-1:-1:-1;;;;;595:6:4;173:10:0;595:22:4;587:67;;;;-1:-1:-1;;;587:67:4;;;;;;;:::i;:::-;13906:11:6::1;:26:::0;;;::::1;;-1:-1:-1::0;;;13906:26:6::1;-1:-1:-1::0;;;;13906:26:6;;::::1;::::0;;;::::1;::::0;;13839:101::o;8850:235::-;8916:19;;-1:-1:-1;;;;;8916:19:6;173:10:0;-1:-1:-1;;;;;8900:35:6;;:72;;;-1:-1:-1;8955:17:6;;-1:-1:-1;;;;;8955:17:6;173:10:0;-1:-1:-1;;;;;8939:33:6;;8900:72;8892:81;;;;;;9013:21;9045:32;9013:21;9045:12;:32::i;:::-;8881:204;8850:235::o;3037:138::-;-1:-1:-1;;;;;3150:16:6;;3103:7;3150:16;;;:7;:16;;;;;;3130:37;;:19;:37::i;683:148:4:-;595:6;;-1:-1:-1;;;;;595:6:4;173:10:0;595:22:4;587:67;;;;-1:-1:-1;;;587:67:4;;;;;;;:::i;:::-;790:1:::1;774:6:::0;;753:40:::1;::::0;-1:-1:-1;;;;;774:6:4;;::::1;::::0;753:40:::1;::::0;790:1;;753:40:::1;821:1;804:19:::0;;-1:-1:-1;;;;;;804:19:4::1;::::0;;683:148::o;13980:123:6:-;595:6:4;;-1:-1:-1;;;;;595:6:4;173:10:0;595:22:4;587:67;;;;-1:-1:-1;;;587:67:4;;;;;;;:::i;:::-;14081:14:6::1;660:2:::0;14081::::1;:14;:::i;:::-;14069:26;::::0;:11;:26:::1;:::i;:::-;14054:12;:41:::0;-1:-1:-1;13980:123:6:o;3184:199::-;3289:4;3311:42;173:10:0;3335:9:6;3346:6;3311:9;:42::i;4241:413::-;595:6:4;;-1:-1:-1;;;;;595:6:4;173:10:0;595:22:4;587:67;;;;-1:-1:-1;;;587:67:4;;;;;;;:::i;:::-;4302:11:6::1;::::0;-1:-1:-1;;;4302:11:6;::::1;;;4301:12;4293:48;;;::::0;-1:-1:-1;;;4293:48:6;;8673:2:7;4293:48:6::1;::::0;::::1;8655:21:7::0;8712:2;8692:18;;;8685:30;8751:25;8731:18;;;8724:53;8794:18;;4293:48:6::1;8471:347:7::0;4293:48:6::1;4463:15;:34:::0;;-1:-1:-1;;;;;;4463:34:6::1;4409:42;4463:34:::0;;::::1;::::0;;;4542:26:::1;::::0;;-1:-1:-1;;;4542:26:6;;;;4409:42;;4542:24:::1;::::0;:26:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;4409:42;4542:26;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;4524:53:6::1;;4586:4;4593:16;-1:-1:-1::0;;;;;4593:21:6::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4524:93;::::0;-1:-1:-1;;;;;;4524:93:6::1;::::0;;;;;;-1:-1:-1;;;;;9309:15:7;;;4524:93:6::1;::::0;::::1;9291:34:7::0;9361:15;;9341:18;;;9334:43;9226:18;;4524:93:6::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4508:13;:109:::0;;-1:-1:-1;;;;;;4628:18:6;-1:-1:-1;;;;;4508:109:6;;;::::1;4628:18:::0;;;;-1:-1:-1;;;4628:18:6::1;::::0;;-1:-1:-1;4241:413:6:o;8605:236::-;8671:19;;-1:-1:-1;;;;;8671:19:6;173:10:0;-1:-1:-1;;;;;8655:35:6;;:72;;;-1:-1:-1;8710:17:6;;-1:-1:-1;;;;;8710:17:6;173:10:0;-1:-1:-1;;;;;8694:33:6;;8655:72;8647:81;;;;;;8739:23;8765:24;8783:4;8765:9;:24::i;:::-;8739:50;;8800:33;8817:15;8800:16;:33::i;13371:215::-;595:6:4;;-1:-1:-1;;;;;595:6:4;173:10:0;595:22:4;587:67;;;;-1:-1:-1;;;587:67:4;;;;;;;:::i;:::-;13469:9:6::1;13465:114;13484:19:::0;;::::1;13465:114;;;13559:8;13525:18;:31;13544:8;;13553:1;13544:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13525:31:6::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;13525:31:6;:42;;-1:-1:-1;;13525:42:6::1;::::0;::::1;;::::0;;;::::1;::::0;;13505:3;::::1;::::0;::::1;:::i;:::-;;;;13465:114;;;;13371:215:::0;;;:::o;13231:132::-;595:6:4;;-1:-1:-1;;;;;595:6:4;173:10:0;595:22:4;587:67;;;;-1:-1:-1;;;587:67:4;;;;;;;:::i;:::-;13341:14:6::1;660:2:::0;13341::::1;:14;:::i;:::-;13326:29;::::0;:14;:29:::1;:::i;:::-;13309:14;:46:::0;-1:-1:-1;13231:132:6:o;840:244:4:-;595:6;;-1:-1:-1;;;;;595:6:4;173:10:0;595:22:4;587:67;;;;-1:-1:-1;;;587:67:4;;;;;;;:::i;:::-;-1:-1:-1;;;;;929:22:4;::::1;921:73;;;::::0;-1:-1:-1;;;921:73:4;;9862:2:7;921:73:4::1;::::0;::::1;9844:21:7::0;9901:2;9881:18;;;9874:30;9940:34;9920:18;;;9913:62;-1:-1:-1;;;9991:18:7;;;9984:36;10037:19;;921:73:4::1;9660:402:7::0;921:73:4::1;1031:6;::::0;;1010:38:::1;::::0;-1:-1:-1;;;;;1010:38:4;;::::1;::::0;1031:6;::::1;::::0;1010:38:::1;::::0;::::1;1059:6;:17:::0;;-1:-1:-1;;;;;;1059:17:4::1;-1:-1:-1::0;;;;;1059:17:4;;;::::1;::::0;;;::::1;::::0;;840:244::o;5351:369:6:-;-1:-1:-1;;;;;5478:19:6;;5470:68;;;;-1:-1:-1;;;5470:68:6;;10269:2:7;5470:68:6;;;10251:21:7;10308:2;10288:18;;;10281:30;10347:34;10327:18;;;10320:62;-1:-1:-1;;;10398:18:7;;;10391:34;10442:19;;5470:68:6;10067:400:7;5470:68:6;-1:-1:-1;;;;;5557:21:6;;5549:68;;;;-1:-1:-1;;;5549:68:6;;10674:2:7;5549:68:6;;;10656:21:7;10713:2;10693:18;;;10686:30;10752:34;10732:18;;;10725:62;-1:-1:-1;;;10803:18:7;;;10796:32;10845:19;;5549:68:6;10472:398:7;5549:68:6;-1:-1:-1;;;;;5628:18:6;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5680:32;;1800:25:7;;;5680:32:6;;1773:18:7;5680:32:6;;;;;;;5351:369;;;:::o;5729:2258::-;-1:-1:-1;;;;;5851:18:6;;5843:68;;;;-1:-1:-1;;;5843:68:6;;11077:2:7;5843:68:6;;;11059:21:7;11116:2;11096:18;;;11089:30;11155:34;11135:18;;;11128:62;-1:-1:-1;;;11206:18:7;;;11199:35;11251:19;;5843:68:6;10875:401:7;5843:68:6;-1:-1:-1;;;;;5930:16:6;;5922:64;;;;-1:-1:-1;;;5922:64:6;;11483:2:7;5922:64:6;;;11465:21:7;11522:2;11502:18;;;11495:30;11561:34;11541:18;;;11534:62;-1:-1:-1;;;11612:18:7;;;11605:33;11655:19;;5922:64:6;11281:399:7;5922:64:6;6014:1;6005:6;:10;5997:64;;;;-1:-1:-1;;;5997:64:6;;11887:2:7;5997:64:6;;;11869:21:7;11926:2;11906:18;;;11899:30;11965:34;11945:18;;;11938:62;-1:-1:-1;;;12016:18:7;;;12009:39;12065:19;;5997:64:6;11685:405:7;5997:64:6;505:7:4;532:6;-1:-1:-1;;;;;6079:15:6;;;532:6:4;;6079:15:6;;;;:32;;-1:-1:-1;505:7:4;532:6;-1:-1:-1;;;;;6098:13:6;;;532:6:4;;6098:13:6;;6079:32;6075:1178;;;6169:11;;-1:-1:-1;;;6169:11:6;;;;6164:144;;505:7:4;532:6;-1:-1:-1;;;;;6209:15:6;;;532:6:4;;6209:15:6;6201:91;;;;-1:-1:-1;;;6201:91:6;;12297:2:7;6201:91:6;;;12279:21:7;12336:2;12316:18;;;12309:30;12375:34;12355:18;;;12348:62;12446:33;12426:18;;;12419:61;12497:19;;6201:91:6;12095:427:7;6201:91:6;6343:12;;6333:6;:22;;6325:63;;;;-1:-1:-1;;;6325:63:6;;12729:2:7;6325:63:6;;;12711:21:7;12768:2;12748:18;;;12741:30;12807;12787:18;;;12780:58;12855:18;;6325:63:6;12527:352:7;6325:63:6;6415:13;;-1:-1:-1;;;;;6409:19:6;;;6415:13;;6409:19;6406:146;;6482:14;;6473:6;6457:13;6467:2;6457:9;:13::i;:::-;:22;;;;:::i;:::-;:39;6449:87;;;;-1:-1:-1;;;6449:87:6;;13219:2:7;6449:87:6;;;13201:21:7;13258:2;13238:18;;;13231:30;13297:34;13277:18;;;13270:62;-1:-1:-1;;;13348:18:7;;;13341:33;13391:19;;6449:87:6;13017:399:7;6449:87:6;6569:28;6600:24;6618:4;6600:9;:24::i;:::-;6678:19;;6742:12;;6569:55;;-1:-1:-1;6654:43:6;;;;6718:36;;6715:124;;6811:12;;6788:35;;6715:124;6860:7;:18;;;;-1:-1:-1;6872:6:6;;-1:-1:-1;;;6872:6:6;;;;6871:7;6860:18;:43;;;;-1:-1:-1;6890:13:6;;-1:-1:-1;;;;;6882:21:6;;;6890:13;;6882:21;;6860:43;:58;;;;-1:-1:-1;6907:11:6;;-1:-1:-1;;;6907:11:6;;;;6860:58;:87;;;;-1:-1:-1;;;;;;6923:24:6;;;;;;:18;:24;;;;;;;;6922:25;6860:87;:114;;;;-1:-1:-1;;;;;;6952:22:6;;;;;;:18;:22;;;;;;;;6951:23;6860:114;6856:386;;;6995:38;7012:20;6995:16;:38::i;:::-;7081:21;7125:22;;7121:106;;7172:35;7185:21;7172:12;:35::i;:::-;6976:266;6856:386;6113:1140;;6075:1178;-1:-1:-1;;;;;7331:24:6;;7266:12;7331:24;;;:18;:24;;;;;;7281:4;;7331:24;;;:50;;-1:-1:-1;;;;;;7359:22:6;;;;;;:18;:22;;;;;;;;7331:50;7330:102;;;-1:-1:-1;7395:13:6;;-1:-1:-1;;;;;7387:21:6;;;7395:13;;7387:21;;;;:44;;-1:-1:-1;7418:13:6;;-1:-1:-1;;;;;7412:19:6;;;7418:13;;7412:19;;7387:44;7326:599;;;-1:-1:-1;7459:5:6;7326:599;;;7543:13;;-1:-1:-1;;;;;7535:21:6;;;7543:13;;7535:21;:55;;;;-1:-1:-1;7574:15:6;;-1:-1:-1;;;;;7560:30:6;;;7574:15;;7560:30;;7535:55;7532:162;;;7623:14;;7611:9;:26;7666:12;;7656:7;:22;7532:162;7754:13;;-1:-1:-1;;;;;7748:19:6;;;7754:13;;7748:19;:55;;;;-1:-1:-1;7787:15:6;;-1:-1:-1;;;;;7771:32:6;;;7787:15;;7771:32;;7748:55;7744:167;;;7836:16;;7824:9;:28;7881:14;;7871:7;:24;7744:167;7938:41;7953:4;7959:2;7963:6;7971:7;7938:14;:41::i;416:224:5:-;536:7;572:12;564:6;;;;556:29;;;;-1:-1:-1;;;556:29:5;;;;;;;;:::i;:::-;-1:-1:-1;596:9:5;608:5;612:1;608;:5;:::i;:::-;596:17;416:224;-1:-1:-1;;;;;416:224:5:o;8488:99:6:-;8545:17;;:34;;-1:-1:-1;;;;;8545:17:6;;;;:34;;;;;8572:6;;8545:17;:34;:17;:34;8572:6;8545:17;:34;;;;;;;;;;;;;;;;;;;;;8488:99;:::o;4663:323::-;4758:7;4816;;4805;:18;;4783:110;;;;-1:-1:-1;;;4783:110:6;;13753:2:7;4783:110:6;;;13735:21:7;13792:2;13772:18;;;13765:30;13831:34;13811:18;;;13804:62;-1:-1:-1;;;13882:18:7;;;13875:40;13932:19;;4783:110:6;13551:406:7;4783:110:6;4904:19;4926:10;:8;:10::i;:::-;4904:32;-1:-1:-1;4954:24:6;:7;4904:32;4954:11;:24::i;:::-;4947:31;4663:323;-1:-1:-1;;;4663:323:6:o;7996:483::-;2246:6;:13;;-1:-1:-1;;;;2246:13:6;-1:-1:-1;;;2246:13:6;;;8098:16:::1;::::0;;8112:1:::1;8098:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8098:16:6::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8098:16:6::1;8074:40;;8143:4;8125;8130:1;8125:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8125:23:6;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8169:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8169:22:6;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8125:7;;8169:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8159:4;8164:1;8159:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8159:32:6;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8234:15:::1;::::0;8202:62:::1;::::0;8219:4:::1;::::0;8234:15:::1;8252:11:::0;8202:8:::1;:62::i;:::-;8275:15;::::0;:196:::1;::::0;-1:-1:-1;;;8275:196:6;;-1:-1:-1;;;;;8275:15:6;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;8356:11;;8275:15:::1;::::0;8398:4;;8425::::1;::::0;8445:15:::1;::::0;8275:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;2282:6:6;:14;;-1:-1:-1;;;;2282:14:6;;;-1:-1:-1;;;;7996:483:6:o;9094:282::-;9250:7;9245:28;;9259:14;:12;:14::i;:::-;9284:44;9302:6;9310:9;9321:6;9284:17;:44::i;:::-;9344:7;9339:29;;9353:15;5281:17;;5269:9;:29;5319:15;;5309:7;:25;5225:117;12063:164;12105:7;12126:15;12143;12162:19;:17;:19::i;:::-;12125:56;;-1:-1:-1;12125:56:6;-1:-1:-1;12199:20:6;12125:56;;12199:11;:20::i;:::-;12192:27;;;;12063:164;:::o;904:132:5:-;962:7;989:39;993:1;996;989:39;;;;;;;;;;;;;;;;;:3;:39::i;4995:221:6:-;5042:9;;:14;:30;;;;-1:-1:-1;5060:7:6;;:12;5042:30;5038:43;;;4995:221::o;5038:43::-;5114:9;;;5094:17;:29;5152:7;;;5134:15;:25;-1:-1:-1;5173:13:6;;;;5197:11;4995:221::o;9385:610::-;9532:15;9562:23;9600:12;9627:23;9665:12;9692:13;9719:19;9730:7;9719:10;:19::i;:::-;-1:-1:-1;;;;;9767:15:6;;;;;;:7;:15;;;;;;9517:221;;-1:-1:-1;9517:221:6;;-1:-1:-1;9517:221:6;;-1:-1:-1;9517:221:6;-1:-1:-1;9517:221:6;-1:-1:-1;9517:221:6;-1:-1:-1;9767:28:6;;9517:221;9767:19;:28::i;:::-;-1:-1:-1;;;;;9749:15:6;;;;;;;:7;:15;;;;;;:46;;;;9827:18;;;;;;;:39;;9850:15;9827:22;:39::i;:::-;-1:-1:-1;;;;;9806:18:6;;;;;;:7;:18;;;;;:60;9877:16;9887:5;9877:9;:16::i;:::-;9904:23;9916:4;9922;9904:11;:23::i;:::-;9960:9;-1:-1:-1;;;;;9943:44:6;9952:6;-1:-1:-1;;;;;9943:44:6;;9971:15;9943:44;;;;1800:25:7;;1788:2;1773:18;;1654:177;9943:44:6;;;;;;;;9506:489;;;;;;9385:610;;;:::o;12236:257::-;12334:7;;12287;;;;;1004:13;660:2;1004;:13;:::i;:::-;988:29;;:13;:29;:::i;:::-;12352:25;-1:-1:-1;12402:20:6;1004:13;660:2;1004;:13;:::i;:::-;988:29;;:13;:29;:::i;:::-;12402:7;;;:11;:20::i;:::-;12392:7;:30;12388:61;;;12432:7;;1004:13;660:2;1004;:13;:::i;:::-;988:29;;:13;:29;:::i;:::-;12424:25;;;;;;12236:257;;:::o;12388:61::-;12468:7;;12477;;-1:-1:-1;12236:257:6;-1:-1:-1;12236:257:6:o;1045:223:5:-;1165:7;1200:12;1193:5;1185:28;;;;-1:-1:-1;;;1185:28:5;;;;;;;;:::i;:::-;-1:-1:-1;1224:9:5;1236:5;1240:1;1236;:5;:::i;10418:615:6:-;10518:7;10540;10562;10584;10606;10628;10664:23;10689:12;10703:13;10733:40;10745:7;10754:9;;10765:7;;10733:11;:40::i;:::-;10663:110;;;;;;10784:19;10806:10;:8;:10::i;:::-;10784:32;;10828:15;10845:23;10870:12;10899:46;10911:7;10920:4;10926:5;10933:11;10899;:46::i;:::-;10827:118;;-1:-1:-1;10827:118:6;-1:-1:-1;10827:118:6;-1:-1:-1;10996:15:6;;-1:-1:-1;11013:4:6;;-1:-1:-1;11019:5:6;;-1:-1:-1;;;;;10418:615:6;;;;;;;:::o;271:136:5:-;329:7;356:43;360:1;363;356:43;;;;;;;;;;;;;;;;;:3;:43::i;83:179::-;141:7;;173:5;177:1;173;:5;:::i;:::-;161:17;;202:1;197;:6;;189:46;;;;-1:-1:-1;;;189:46:5;;15503:2:7;189:46:5;;;15485:21:7;15542:2;15522:18;;;15515:30;15581:29;15561:18;;;15554:57;15628:18;;189:46:5;15301:351:7;10004:211:6;10057:19;10079:10;:8;:10::i;:::-;10057:32;-1:-1:-1;10100:13:6;10116:22;:5;10057:32;10116:9;:22::i;:::-;10190:4;10174:22;;;;:7;:22;;;;;;10100:38;;-1:-1:-1;10174:33:6;;10100:38;10174:26;:33::i;:::-;10165:4;10149:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;10004:211:6:o;10224:147::-;10302:7;;:17;;10314:4;10302:11;:17::i;:::-;10292:7;:27;10343:10;;:20;;10358:4;10343:14;:20::i;:::-;10330:10;:33;-1:-1:-1;;10224:147:6:o;11042:469::-;11211:7;;;;11305:30;11331:3;11305:21;:7;11317:8;11305:11;:21::i;:::-;:25;;:30::i;:::-;11290:45;-1:-1:-1;11346:13:6;11362:28;11386:3;11362:19;:7;11374:6;11362:11;:19::i;:28::-;11346:44;-1:-1:-1;11401:23:6;11427:28;11346:44;11427:17;:7;11439:4;11427:11;:17::i;:::-;:21;;:28::i;:::-;11401:54;11491:4;;-1:-1:-1;11497:5:6;;-1:-1:-1;11042:469:6;;-1:-1:-1;;;;;11042:469:6:o;11520:534::-;11714:7;;;;11811:24;:7;11823:11;11811;:24::i;:::-;11793:42;-1:-1:-1;11846:12:6;11861:21;:4;11870:11;11861:8;:21::i;:::-;11846:36;-1:-1:-1;11893:13:6;11909:22;:5;11919:11;11909:9;:22::i;:::-;11893:38;-1:-1:-1;11942:23:6;11968:28;11893:38;11968:17;:7;11980:4;11968:11;:17::i;:28::-;12015:7;;;;-1:-1:-1;12041:4:6;;-1:-1:-1;11520:534:6;;-1:-1:-1;;;;;;;11520:534:6:o;649:246:5:-;707:7;731:6;727:47;;-1:-1:-1;761:1:5;754:8;;727:47;784:9;796:5;800:1;796;:5;:::i;:::-;784:17;-1:-1:-1;829:1:5;820:5;824:1;784:17;820:5;:::i;:::-;:10;812:56;;;;-1:-1:-1;;;812:56:5;;15859:2:7;812:56:5;;;15841:21:7;15898:2;15878:18;;;15871:30;15937:34;15917:18;;;15910:62;-1:-1:-1;;;15988:18:7;;;15981:31;16029:19;;812:56:5;15657:397:7;14:385;100:6;108;116;124;177:3;165:9;156:7;152:23;148:33;145:53;;;194:1;191;184:12;145:53;-1:-1:-1;;217:23:7;;;287:2;272:18;;259:32;;-1:-1:-1;338:2:7;323:18;;310:32;;389:2;374:18;361:32;;-1:-1:-1;14:385:7;-1:-1:-1;14:385:7:o;404:597::-;516:4;545:2;574;563:9;556:21;606:6;600:13;649:6;644:2;633:9;629:18;622:34;674:1;684:140;698:6;695:1;692:13;684:140;;;793:14;;;789:23;;783:30;759:17;;;778:2;755:26;748:66;713:10;;684:140;;;842:6;839:1;836:13;833:91;;;912:1;907:2;898:6;887:9;883:22;879:31;872:42;833:91;-1:-1:-1;985:2:7;964:15;-1:-1:-1;;960:29:7;945:45;;;;992:2;941:54;;404:597;-1:-1:-1;;;404:597:7:o;1006:131::-;-1:-1:-1;;;;;1081:31:7;;1071:42;;1061:70;;1127:1;1124;1117:12;1142:315;1210:6;1218;1271:2;1259:9;1250:7;1246:23;1242:32;1239:52;;;1287:1;1284;1277:12;1239:52;1326:9;1313:23;1345:31;1370:5;1345:31;:::i;:::-;1395:5;1447:2;1432:18;;;;1419:32;;-1:-1:-1;;;1142:315:7:o;2070:456::-;2147:6;2155;2163;2216:2;2204:9;2195:7;2191:23;2187:32;2184:52;;;2232:1;2229;2222:12;2184:52;2271:9;2258:23;2290:31;2315:5;2290:31;:::i;:::-;2340:5;-1:-1:-1;2397:2:7;2382:18;;2369:32;2410:33;2369:32;2410:33;:::i;:::-;2070:456;;2462:7;;-1:-1:-1;;;2516:2:7;2501:18;;;;2488:32;;2070:456::o;2928:180::-;2987:6;3040:2;3028:9;3019:7;3015:23;3011:32;3008:52;;;3056:1;3053;3046:12;3008:52;-1:-1:-1;3079:23:7;;2928:180;-1:-1:-1;2928:180:7:o;3113:160::-;3178:20;;3234:13;;3227:21;3217:32;;3207:60;;3263:1;3260;3253:12;3207:60;3113:160;;;:::o;3278:180::-;3334:6;3387:2;3375:9;3366:7;3362:23;3358:32;3355:52;;;3403:1;3400;3393:12;3355:52;3426:26;3442:9;3426:26;:::i;3463:247::-;3522:6;3575:2;3563:9;3554:7;3550:23;3546:32;3543:52;;;3591:1;3588;3581:12;3543:52;3630:9;3617:23;3649:31;3674:5;3649:31;:::i;3715:388::-;3783:6;3791;3844:2;3832:9;3823:7;3819:23;3815:32;3812:52;;;3860:1;3857;3850:12;3812:52;3899:9;3886:23;3918:31;3943:5;3918:31;:::i;:::-;3968:5;-1:-1:-1;4025:2:7;4010:18;;3997:32;4038:33;3997:32;4038:33;:::i;:::-;4090:7;4080:17;;;3715:388;;;;;:::o;4108:689::-;4200:6;4208;4216;4269:2;4257:9;4248:7;4244:23;4240:32;4237:52;;;4285:1;4282;4275:12;4237:52;4325:9;4312:23;4354:18;4395:2;4387:6;4384:14;4381:34;;;4411:1;4408;4401:12;4381:34;4449:6;4438:9;4434:22;4424:32;;4494:7;4487:4;4483:2;4479:13;4475:27;4465:55;;4516:1;4513;4506:12;4465:55;4556:2;4543:16;4582:2;4574:6;4571:14;4568:34;;;4598:1;4595;4588:12;4568:34;4653:7;4646:4;4636:6;4633:1;4629:14;4625:2;4621:23;4617:34;4614:47;4611:67;;;4674:1;4671;4664:12;4611:67;4705:4;4697:13;;;;-1:-1:-1;4729:6:7;-1:-1:-1;4754:37:7;;4770:20;;;-1:-1:-1;4754:37:7;:::i;:::-;4744:47;;4108:689;;;;;:::o;4802:356::-;5004:2;4986:21;;;5023:18;;;5016:30;5082:34;5077:2;5062:18;;5055:62;5149:2;5134:18;;4802:356::o;6783:127::-;6844:10;6839:3;6835:20;6832:1;6825:31;6875:4;6872:1;6865:15;6899:4;6896:1;6889:15;6915:422;7004:1;7047:5;7004:1;7061:270;7082:7;7072:8;7069:21;7061:270;;;7141:4;7137:1;7133:6;7129:17;7123:4;7120:27;7117:53;;;7150:18;;:::i;:::-;7200:7;7190:8;7186:22;7183:55;;;7220:16;;;;7183:55;7299:22;;;;7259:15;;;;7061:270;;;7065:3;6915:422;;;;;:::o;7342:806::-;7391:5;7421:8;7411:80;;-1:-1:-1;7462:1:7;7476:5;;7411:80;7510:4;7500:76;;-1:-1:-1;7547:1:7;7561:5;;7500:76;7592:4;7610:1;7605:59;;;;7678:1;7673:130;;;;7585:218;;7605:59;7635:1;7626:10;;7649:5;;;7673:130;7710:3;7700:8;7697:17;7694:43;;;7717:18;;:::i;:::-;-1:-1:-1;;7773:1:7;7759:16;;7788:5;;7585:218;;7887:2;7877:8;7874:16;7868:3;7862:4;7859:13;7855:36;7849:2;7839:8;7836:16;7831:2;7825:4;7822:12;7818:35;7815:77;7812:159;;;-1:-1:-1;7924:19:7;;;7956:5;;7812:159;8003:34;8028:8;8022:4;8003:34;:::i;:::-;8073:6;8069:1;8065:6;8061:19;8052:7;8049:32;8046:58;;;8084:18;;:::i;:::-;8122:20;;7342:806;-1:-1:-1;;;7342:806:7:o;8153:140::-;8211:5;8240:47;8281:4;8271:8;8267:19;8261:4;8240:47;:::i;8298:168::-;8338:7;8404:1;8400;8396:6;8392:14;8389:1;8386:21;8381:1;8374:9;8367:17;8363:45;8360:71;;;8411:18;;:::i;:::-;-1:-1:-1;8451:9:7;;8298:168::o;8823:251::-;8893:6;8946:2;8934:9;8925:7;8921:23;8917:32;8914:52;;;8962:1;8959;8952:12;8914:52;8994:9;8988:16;9013:31;9038:5;9013:31;:::i;9388:127::-;9449:10;9444:3;9440:20;9437:1;9430:31;9480:4;9477:1;9470:15;9504:4;9501:1;9494:15;9520:135;9559:3;-1:-1:-1;;9580:17:7;;9577:43;;;9600:18;;:::i;:::-;-1:-1:-1;9647:1:7;9636:13;;9520:135::o;12884:128::-;12924:3;12955:1;12951:6;12948:1;12945:13;12942:39;;;12961:18;;:::i;:::-;-1:-1:-1;12997:9:7;;12884:128::o;13421:125::-;13461:4;13489:1;13486;13483:8;13480:34;;;13494:18;;:::i;:::-;-1:-1:-1;13531:9:7;;13421:125::o;14094:980::-;14356:4;14404:3;14393:9;14389:19;14435:6;14424:9;14417:25;14461:2;14499:6;14494:2;14483:9;14479:18;14472:34;14542:3;14537:2;14526:9;14522:18;14515:31;14566:6;14601;14595:13;14632:6;14624;14617:22;14670:3;14659:9;14655:19;14648:26;;14709:2;14701:6;14697:15;14683:29;;14730:1;14740:195;14754:6;14751:1;14748:13;14740:195;;;14819:13;;-1:-1:-1;;;;;14815:39:7;14803:52;;14910:15;;;;14875:12;;;;14851:1;14769:9;14740:195;;;-1:-1:-1;;;;;;;14991:32:7;;;;14986:2;14971:18;;14964:60;-1:-1:-1;;;15055:3:7;15040:19;15033:35;14952:3;14094:980;-1:-1:-1;;;14094:980:7:o;15079:217::-;15119:1;15145;15135:132;;15189:10;15184:3;15180:20;15177:1;15170:31;15224:4;15221:1;15214:15;15252:4;15249:1;15242:15;15135:132;-1:-1:-1;15281:9:7;;15079:217::o

Swarm Source

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