ETH Price: $3,209.78 (-3.22%)
 

Overview

Max Total Supply

1,000,000,000,000 $YWRLD

Holders

33

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
13,074,432,297.211939525 $YWRLD

Value
$0.00
0x949e335CF8Ca0E27be5da3F6F213aA58a89d6A53
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:
YonWorld

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-12-29
*/

/**

This token is for the true degens and for the man Yon himself who has helped so many come up. If you don't know Yon you better get to know. This man is killing the game and helping many rise with him. You can get access to his private group here - https://www.patreon.com/join/Yonworld
I created this token for y'all. Take it and run with it. Blow the fucking roof off this bitch 🚀 
Initial liquidity will be low so that you can make those huge gains. Initial lock will be 1 week and will be continue to be extended as long as the project is alive. 
I will solely communicate through the announcement channel. The telegram group is for y'all to run with.

Supply - 1,000,000,000
Max Wallet 2% - To protect you from huge dumps.

Buy/Sell tax:
10% DAO Treasury
5% marketing/dev

The treasury tax will be spent however Yon sees fit. Yon, communicate with us by commenting on our posts in the announcement channel

Telegram group - https://t.me/YonsWorld
Announcement channel https://t.me/Yons_World 
Website - https://yonsworld.com
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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 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 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 YonWorld is Context, IERC20, Ownable {
    
    using SafeMath for uint256;

    string private constant _name = "Yon World";
    string private constant _symbol = "$YWRLD";
    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;
    mapping (address => bool) public _isExcludedMaxTxAmount;
    mapping(address => bool) private _isExcludedFromReflection;
    address[] private _excludedFromReflection;

    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000 * 1e9 * 1e9; //1,000,000,000,000
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    mapping(address => bool) public bots;
    
    uint256 private _reflectionFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 15;
    
    uint256 private _reflectionFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 15;
    
    uint256 private _reflectionFee = _reflectionFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    
    uint256 private _previousReflectionFee = _reflectionFee;
    uint256 private _previousTaxFee = _taxFee;
    
    address payable public _YWRLDTreasury = payable(0xd7E6Bb13d839d7463c89C7EeAfcCB9Fc4dcF0bc6); 
    address payable public _growth = payable(0x51A5CC44d0CdB83F3D9F7A2c90871e7B40CfffBd); 
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    bool private inSwap = false;
    bool private swapEnabled = true;
    bool public tradingActive = false;
    
    uint256 public _maxTxAmount = 2000 * 1e7 * 1e9; 
    uint256 public _maxWalletSize = 2000 * 1e7 * 1e9; 
    uint256 public _swapTokensAtAmount = 3000 * 1e6 * 1e9; 

    event ExcludeFromReflection(address excludedAddress);
    event IncludeInReflection(address includedAddress);

    event ExcludeFromFee(address excludedAddress);
    event IncludeInFee(address includedAddress);

    event Updatedgrowth(address mktg); 
    event UpdatedYWRLDTreasury(address YWRLD); 

    event SetBuyFee(uint256 buyMktgFee, uint256 buyReflectionFee);
    event SetSellFee(uint256 sellMktgFee, uint256 sellReflectionFee);
    
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    
    constructor () {
               
        _rOwned[_msgSender()] = _rTotal;
        
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_YWRLDTreasury] = true;
        _isExcludedFromFee[_growth] = true;

        excludeFromMaxTxAmount(owner(), true);
        excludeFromMaxTxAmount(address(this), true);
        excludeFromMaxTxAmount(address(_YWRLDTreasury), true);
        excludeFromMaxTxAmount(address(_growth), 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 excludeFromFee(address account) external onlyOwner {
        _isExcludedFromFee[account] = true;
        emit ExcludeFromFee(account);
    }

    function includeInFee(address account) external onlyOwner {
        _isExcludedFromFee[account] = false;
        emit IncludeInFee(account);
    }

    function excludeFromReflection(address account) public onlyOwner {
        require(!_isExcludedFromReflection[account], "Account is already excluded");
        require(_excludedFromReflection.length + 1 <= 50, "Cannot exclude more than 50 accounts.  Include a previously excluded address.");
        if (_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcludedFromReflection[account] = true;
        _excludedFromReflection.push(account);
    }

    function includeInReflection(address account) public onlyOwner {
        require(_isExcludedFromReflection[account], "Account is not excluded from reflection");
        for (uint256 i = 0; i < _excludedFromReflection.length; i++) {
            if (_excludedFromReflection[i] == account) {
                _excludedFromReflection[i] = _excludedFromReflection[_excludedFromReflection.length - 1];
                _tOwned[account] = 0;
                _isExcludedFromReflection[account] = false;
                _excludedFromReflection.pop();
                break;
            }
        }
    }

    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 (_reflectionFee == 0 && _taxFee == 0) return;
    
        _previousReflectionFee = _reflectionFee;
        _previousTaxFee = _taxFee;
        
        _reflectionFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _reflectionFee = _previousReflectionFee;
        _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()) {
            
            if (!tradingActive) 
              
            if(to != uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
                require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
                require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
            
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        
        bool takeFee = true;

        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
            
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _reflectionFee = _reflectionFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
    
            if (!_isExcludedFromFee[from]) {
                        require(amount <= _maxTxAmount, "Sell transfer amount exceeds the maxTransactionAmount.");
                }
                
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _reflectionFee = _reflectionFeeOnSell;
                _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 {
        _YWRLDTreasury.transfer(amount.div(2));
        _growth.transfer(amount.div(2));
    }

    function manualSwap() external {
        require(_msgSender() == _YWRLDTreasury);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualSend() external {
        require(_msgSender() == _YWRLDTreasury || _msgSender() == _growth);
        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, _reflectionFee, _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 reflectionFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(reflectionFee).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 reflectionFeeOnBuy, uint256 reflectionFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _reflectionFeeOnBuy = reflectionFeeOnBuy;
        _taxFeeOnBuy = taxFeeOnBuy;
        
        _reflectionFeeOnSell = reflectionFeeOnSell;
        _taxFeeOnSell = taxFeeOnSell;
        
        require(_reflectionFeeOnBuy + _taxFeeOnBuy <= 25);
        require(_reflectionFeeOnSell + _taxFeeOnSell <= 25); 
    }

    function enableTrading() internal onlyOwner {
        tradingActive = true;        
    }
    
    function airdrop(address[] memory airdropWallets, uint256[] memory amounts) external onlyOwner returns (bool){
        require(!tradingActive, "Trading is already active, cannot relaunch.");
        require(airdropWallets.length < 200, "Can only airdrop 200 wallets per txn due to gas limits"); 
        for(uint256 i = 0; i < airdropWallets.length; i++){
            address wallet = airdropWallets[i];
            uint256 amount = amounts[i];
            _transfer(msg.sender, wallet, amount);
        }
        enableTrading();
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        excludeFromMaxTxAmount(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        excludeFromMaxTxAmount(address(uniswapV2Pair), true);
        return true;
    }

    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
    
    function setMaxTxAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function excludeFromMaxTxAmount(address updAds, bool isEx) public onlyOwner {
        _isExcludedMaxTxAmount[updAds] = isEx;
    }
    
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function _setYWRLDTreasury(address YWRLDTreasury) external onlyOwner {
        require(_YWRLDTreasury != address(0), "_YWRLDTreasury cannot be 0");
        _isExcludedFromFee[YWRLDTreasury] = false;
        YWRLDTreasury = payable(_YWRLDTreasury);
        _isExcludedFromFee[YWRLDTreasury] = true;
        emit UpdatedYWRLDTreasury(_YWRLDTreasury);
    }

    function _setgrowth(address growth) external onlyOwner {
        require(_growth != address(0), "_growth cannot be 0");
        _isExcludedFromFee[growth] = false;
        growth = payable(_growth);
        _isExcludedFromFee[growth] = true;
        emit Updatedgrowth(_growth);
    }
}

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":"address","name":"excludedAddress","type":"address"}],"name":"ExcludeFromFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"excludedAddress","type":"address"}],"name":"ExcludeFromReflection","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"includedAddress","type":"address"}],"name":"IncludeInFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"includedAddress","type":"address"}],"name":"IncludeInReflection","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":false,"internalType":"uint256","name":"buyMktgFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"buyReflectionFee","type":"uint256"}],"name":"SetBuyFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"sellMktgFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sellReflectionFee","type":"uint256"}],"name":"SetSellFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"YWRLD","type":"address"}],"name":"UpdatedYWRLDTreasury","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"mktg","type":"address"}],"name":"Updatedgrowth","type":"event"},{"inputs":[],"name":"_YWRLDTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_growth","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTxAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"YWRLDTreasury","type":"address"}],"name":"_setYWRLDTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"growth","type":"address"}],"name":"_setgrowth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"airdropWallets","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdrop","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReflection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReflection","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":[{"internalType":"uint256","name":"reflectionFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"reflectionFeeOnSell","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":"maxTxAmount","type":"uint256"}],"name":"setMaxTxAmount","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":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60806040526200001b683635c9adc5dea00000600019620002d4565b6200002990600019620002b0565b6009556000600c819055600f600d819055600e82905580805560108290556011819055601291909155601355601480546001600160a01b031990811673d7e6bb13d839d7463c89c7eeafccb9fc4dcf0bc617909155601580549091167351a5cc44d0cdb83f3d9f7a2c90871e7b40cfffbd1790556017805462ffffff60a01b1916600160a81b1790556801158e460913d0000060188190556019556729a2241af62c0000601a55348015620000dd57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506009543360009081526002602090815260408083209390935581546001600160a01b03908116835260059091528282208054600160ff19918216811790925530845284842080548216831790556014548316845284842080548216831790556015548316845293832080549094161790925554620001a09116600162000226565b620001ad30600162000226565b601454620001c6906001600160a01b0316600162000226565b601554620001df906001600160a01b0316600162000226565b604051683635c9adc5dea00000815233906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3620002f5565b6000546001600160a01b03163314620002855760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600082821015620002cf57634e487b7160e01b81526011600452602481fd5b500390565b600082620002f057634e487b7160e01b81526012600452602481fd5b500690565b61296980620003056000396000f3fe60806040526004361061021d5760003560e01c80636b99905311610123578063a2a957bb116100ab578063ea1644d51161006f578063ea1644d5146106a4578063ea2f0b37146106c4578063ec28438a146106e4578063f2fde38b14610704578063f42938901461072457600080fd5b8063a2a957bb146105cd578063a9059cbb146105ed578063bbc0c7421461060d578063bfd792841461062e578063dd62ed3e1461065e57600080fd5b80638da5cb5b116100f25780638da5cb5b1461052a5780638f9a55c01461054857806390bd58da1461055e57806395d89b411461057e57806398a5c315146105ad57600080fd5b80636b999053146104b457806370a08231146104d45780637d1db4a5146104f45780638aec071f1461050a57600080fd5b80632fd689e3116101a657806349bd5a5e1161017557806349bd5a5e1461040f57806351bc3c851461042f578063563912bd14610444578063595cc84f14610474578063672434821461049457600080fd5b80632fd689e31461039d578063313ce567146103b35780633e7cffd9146103cf578063437823ec146103ef57600080fd5b80631694505e116101ed5780631694505e146102df57806318160ddd1461031757806323b872dd1461033d57806327334a081461035d5780632ae894ba1461037d57600080fd5b8062b8cf2a1461022957806305f82a451461024b57806306fdde031461026b578063095ea7b3146102af57600080fd5b3661022457005b600080fd5b34801561023557600080fd5b506102496102443660046125b4565b610739565b005b34801561025757600080fd5b506102496102663660046124a8565b6107e6565b34801561027757600080fd5b50604080518082019091526009815268165bdb8815dbdc9b1960ba1b60208201525b6040516102a691906126f4565b60405180910390f35b3480156102bb57600080fd5b506102cf6102ca366004612589565b6109e1565b60405190151581526020016102a6565b3480156102eb57600080fd5b506016546102ff906001600160a01b031681565b6040516001600160a01b0390911681526020016102a6565b34801561032357600080fd5b50683635c9adc5dea000005b6040519081526020016102a6565b34801561034957600080fd5b506102cf610358366004612518565b6109f8565b34801561036957600080fd5b506102496103783660046124a8565b610a61565b34801561038957600080fd5b506014546102ff906001600160a01b031681565b3480156103a957600080fd5b5061032f601a5481565b3480156103bf57600080fd5b50604051600981526020016102a6565b3480156103db57600080fd5b506015546102ff906001600160a01b031681565b3480156103fb57600080fd5b5061024961040a3660046124a8565b610c4f565b34801561041b57600080fd5b506017546102ff906001600160a01b031681565b34801561043b57600080fd5b50610249610cd4565b34801561045057600080fd5b506102cf61045f3660046124a8565b60066020526000908152604090205460ff1681565b34801561048057600080fd5b5061024961048f366004612558565b610d0d565b3480156104a057600080fd5b506102cf6104af3660046125ef565b610d62565b3480156104c057600080fd5b506102496104cf3660046124a8565b6110e6565b3480156104e057600080fd5b5061032f6104ef3660046124a8565b611131565b34801561050057600080fd5b5061032f60185481565b34801561051657600080fd5b506102496105253660046124a8565b611153565b34801561053657600080fd5b506000546001600160a01b03166102ff565b34801561055457600080fd5b5061032f60195481565b34801561056a57600080fd5b506102496105793660046124a8565b61123b565b34801561058a57600080fd5b50604080518082019091526006815265091655d4931160d21b6020820152610299565b3480156105b957600080fd5b506102496105c83660046126ab565b61132d565b3480156105d957600080fd5b506102496105e83660046126c3565b61135c565b3480156105f957600080fd5b506102cf610608366004612589565b6113d4565b34801561061957600080fd5b506017546102cf90600160b01b900460ff1681565b34801561063a57600080fd5b506102cf6106493660046124a8565b600b6020526000908152604090205460ff1681565b34801561066a57600080fd5b5061032f6106793660046124e0565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156106b057600080fd5b506102496106bf3660046126ab565b6113e1565b3480156106d057600080fd5b506102496106df3660046124a8565b611410565b3480156106f057600080fd5b506102496106ff3660046126ab565b61148b565b34801561071057600080fd5b5061024961071f3660046124a8565b6114ba565b34801561073057600080fd5b506102496115a4565b6000546001600160a01b0316331461076c5760405162461bcd60e51b815260040161076390612747565b60405180910390fd5b60005b81518110156107e2576001600b600084848151811061079e57634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107da816128af565b91505061076f565b5050565b6000546001600160a01b031633146108105760405162461bcd60e51b815260040161076390612747565b6001600160a01b03811660009081526007602052604090205460ff166108885760405162461bcd60e51b815260206004820152602760248201527f4163636f756e74206973206e6f74206578636c756465642066726f6d207265666044820152663632b1ba34b7b760c91b6064820152608401610763565b60005b6008548110156107e257816001600160a01b0316600882815481106108c057634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b031614156109cf57600880546108eb90600190612898565b8154811061090957634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600880546001600160a01b03909216918390811061094357634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600382526040808220829055600790925220805460ff1916905560088054806109a957634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b806109d9816128af565b91505061088b565b60006109ee3384846115ec565b5060015b92915050565b6000610a05848484611710565b610a578433610a528560405180606001604052806028815260200161290c602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611c51565b6115ec565b5060019392505050565b6000546001600160a01b03163314610a8b5760405162461bcd60e51b815260040161076390612747565b6001600160a01b03811660009081526007602052604090205460ff1615610af45760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610763565b600854603290610b05906001612841565b1115610b8f5760405162461bcd60e51b815260206004820152604d60248201527f43616e6e6f74206578636c756465206d6f7265207468616e203530206163636f60448201527f756e74732e2020496e636c75646520612070726576696f75736c79206578636c60648201526c3ab232b21030b2323932b9b99760991b608482015260a401610763565b6001600160a01b03811660009081526002602052604090205415610be9576001600160a01b038116600090815260026020526040902054610bcf90611c8b565b6001600160a01b0382166000908152600360205260409020555b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b6000546001600160a01b03163314610c795760405162461bcd60e51b815260040161076390612747565b6001600160a01b038116600081815260056020908152604091829020805460ff1916600117905590519182527f58c3e0504c69d3a92726966f152a771e0f8f6ad4daca1ae9055a38aba1fd2b6291015b60405180910390a150565b6014546001600160a01b0316336001600160a01b031614610cf457600080fd5b6000610cff30611131565b9050610d0a81611d0f565b50565b6000546001600160a01b03163314610d375760405162461bcd60e51b815260040161076390612747565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600080546001600160a01b03163314610d8d5760405162461bcd60e51b815260040161076390612747565b601754600160b01b900460ff1615610dfb5760405162461bcd60e51b815260206004820152602b60248201527f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60448201526a3a103932b630bab731b41760a91b6064820152608401610763565b60c8835110610e6b5760405162461bcd60e51b815260206004820152603660248201527f43616e206f6e6c792061697264726f70203230302077616c6c657473207065726044820152752074786e2064756520746f20676173206c696d69747360501b6064820152608401610763565b60005b8351811015610eef576000848281518110610e9957634e487b7160e01b600052603260045260246000fd5b602002602001015190506000848381518110610ec557634e487b7160e01b600052603260045260246000fd5b60200260200101519050610eda338383611710565b50508080610ee7906128af565b915050610e6e565b50610ef8611eb4565b737a250d5630b4cf539739df2c5dacb4c659f2488d610f18816001610d0d565b601680546001600160a01b0319166001600160a01b038316908117909155610f4b903090683635c9adc5dea000006115ec565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f8457600080fd5b505afa158015610f98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbc91906124c4565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561100457600080fd5b505afa158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103c91906124c4565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561108457600080fd5b505af1158015611098573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bc91906124c4565b601780546001600160a01b0319166001600160a01b03929092169182179055610a57906001610d0d565b6000546001600160a01b031633146111105760405162461bcd60e51b815260040161076390612747565b6001600160a01b03166000908152600b60205260409020805460ff19169055565b6001600160a01b0381166000908152600260205260408120546109f290611c8b565b6000546001600160a01b0316331461117d5760405162461bcd60e51b815260040161076390612747565b6015546001600160a01b03166111cb5760405162461bcd60e51b815260206004820152601360248201527205f67726f7774682063616e6e6f74206265203606c1b6044820152606401610763565b6001600160a01b039081166000908152600560209081526040808320805460ff199081169091556015805486168086529483902080549092166001179091555490519316835290917f396eeb40fb7d71aef82855bba2c6bf0c2c94540a6d0e206e52c1bca8516c0c229101610cc9565b6000546001600160a01b031633146112655760405162461bcd60e51b815260040161076390612747565b6014546001600160a01b03166112bd5760405162461bcd60e51b815260206004820152601a60248201527f5f5957524c4454726561737572792063616e6e6f7420626520300000000000006044820152606401610763565b6001600160a01b039081166000908152600560209081526040808320805460ff199081169091556014805486168086529483902080549092166001179091555490519316835290917fec3d6dfef335f6608c37ac34ad3c35b6c3bc938e6749302a38a53114c1f780449101610cc9565b6000546001600160a01b031633146113575760405162461bcd60e51b815260040161076390612747565b601a55565b6000546001600160a01b031633146113865760405162461bcd60e51b815260040161076390612747565b600c849055600d829055600e839055600f81905560196113a68386612841565b11156113b157600080fd5b6019600f54600e546113c39190612841565b11156113ce57600080fd5b50505050565b60006109ee338484611710565b6000546001600160a01b0316331461140b5760405162461bcd60e51b815260040161076390612747565b601955565b6000546001600160a01b0316331461143a5760405162461bcd60e51b815260040161076390612747565b6001600160a01b038116600081815260056020908152604091829020805460ff1916905590519182527f4f6a6b6efe34ec6478021aa9fb7f6980e78ea3a10c74074a8ce49d5d3ebf1f7e9101610cc9565b6000546001600160a01b031633146114b55760405162461bcd60e51b815260040161076390612747565b601855565b6000546001600160a01b031633146114e45760405162461bcd60e51b815260040161076390612747565b6001600160a01b0381166115495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610763565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6014546001600160a01b0316336001600160a01b031614806115d957506015546001600160a01b0316336001600160a01b0316145b6115e257600080fd5b47610d0a81611ef3565b6001600160a01b03831661164e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610763565b6001600160a01b0382166116af5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610763565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166117745760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610763565b6001600160a01b0382166117d65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610763565b600081116118385760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610763565b6000546001600160a01b0384811691161480159061186457506000546001600160a01b03838116911614155b15611ab957601754600160b01b900460ff16611a2c576017546001600160a01b038381169116148015906118a657506016546001600160a01b03838116911614155b80156118cb57506001600160a01b03821660009081526005602052604090205460ff16155b15611a2c57601954816118dd84611131565b6118e79190612841565b106119405760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610763565b6018548111156119925760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610763565b6001600160a01b0383166000908152600b602052604090205460ff161580156119d457506001600160a01b0382166000908152600b602052604090205460ff16155b611a2c5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610763565b6000611a3730611131565b601a54601854919250821015908210611a505760185491505b808015611a675750601754600160a01b900460ff16155b8015611a8157506017546001600160a01b03868116911614155b8015611a965750601754600160a81b900460ff165b15611ab657611aa482611d0f565b478015611ab457611ab447611ef3565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680611afb57506001600160a01b03831660009081526005602052604090205460ff165b80611b2d57506017546001600160a01b03858116911614801590611b2d57506017546001600160a01b03848116911614155b15611b3a57506000611c45565b6017546001600160a01b038581169116148015611b6557506016546001600160a01b03848116911614155b15611b7757600c54601055600d546011555b6001600160a01b03841660009081526005602052604090205460ff16611c0857601854821115611c085760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610763565b6017546001600160a01b038481169116148015611c3357506016546001600160a01b03858116911614155b15611c4557600e54601055600f546011555b6113ce84848484611f78565b60008184841115611c755760405162461bcd60e51b815260040161076391906126f4565b506000611c828486612898565b95945050505050565b6000600954821115611cf25760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610763565b6000611cfc611fa6565b9050611d088382611fc9565b9392505050565b6017805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611d6557634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611db957600080fd5b505afa158015611dcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df191906124c4565b81600181518110611e1257634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601654611e3891309116846115ec565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac94790611e7190859060009086903090429060040161277c565b600060405180830381600087803b158015611e8b57600080fd5b505af1158015611e9f573d6000803e3d6000fd5b50506017805460ff60a01b1916905550505050565b6000546001600160a01b03163314611ede5760405162461bcd60e51b815260040161076390612747565b6017805460ff60b01b1916600160b01b179055565b6014546001600160a01b03166108fc611f0d836002611fc9565b6040518115909202916000818181858888f19350505050158015611f35573d6000803e3d6000fd5b506015546001600160a01b03166108fc611f50836002611fc9565b6040518115909202916000818181858888f193505050501580156107e2573d6000803e3d6000fd5b80611f8557611f8561200b565b611f90848484612039565b806113ce576113ce601254601055601354601155565b6000806000611fb3612130565b9092509050611fc28282611fc9565b9250505090565b6000611d0883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612172565b60105415801561201b5750601154155b1561202257565b601080546012556011805460135560009182905555565b60008060008060008061204b876121a0565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061207d90876121fd565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546120ac908661223f565b6001600160a01b0389166000908152600260205260409020556120ce8161229e565b6120d884836122e8565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161211d91815260200190565b60405180910390a3505050505050505050565b6009546000908190683635c9adc5dea0000061214c8282611fc9565b82101561216957505060095492683635c9adc5dea0000092509050565b90939092509050565b600081836121935760405162461bcd60e51b815260040161076391906126f4565b506000611c828486612859565b60008060008060008060008060006121bd8a60105460115461230c565b92509250925060006121cd611fa6565b905060008060006121e08e878787612361565b919e509c509a509598509396509194505050505091939550919395565b6000611d0883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c51565b60008061224c8385612841565b905083811015611d085760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610763565b60006122a8611fa6565b905060006122b683836123b1565b306000908152600260205260409020549091506122d3908261223f565b30600090815260026020526040902055505050565b6009546122f590836121fd565b600955600a54612305908261223f565b600a555050565b6000808080612326606461232089896123b1565b90611fc9565b9050600061233960646123208a896123b1565b905060006123518261234b8b866121fd565b906121fd565b9992985090965090945050505050565b600080808061237088866123b1565b9050600061237e88876123b1565b9050600061238c88886123b1565b9050600061239e8261234b86866121fd565b939b939a50919850919650505050505050565b6000826123c0575060006109f2565b60006123cc8385612879565b9050826123d98583612859565b14611d085760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610763565b600082601f830112612440578081fd5b813560206124556124508361281d565b6127ec565b80838252828201915082860187848660051b8901011115612474578586fd5b855b8581101561249b578135612489816128f6565b84529284019290840190600101612476565b5090979650505050505050565b6000602082840312156124b9578081fd5b8135611d08816128f6565b6000602082840312156124d5578081fd5b8151611d08816128f6565b600080604083850312156124f2578081fd5b82356124fd816128f6565b9150602083013561250d816128f6565b809150509250929050565b60008060006060848603121561252c578081fd5b8335612537816128f6565b92506020840135612547816128f6565b929592945050506040919091013590565b6000806040838503121561256a578182fd5b8235612575816128f6565b91506020830135801515811461250d578182fd5b6000806040838503121561259b578182fd5b82356125a6816128f6565b946020939093013593505050565b6000602082840312156125c5578081fd5b813567ffffffffffffffff8111156125db578182fd5b6125e784828501612430565b949350505050565b60008060408385031215612601578182fd5b823567ffffffffffffffff80821115612618578384fd5b61262486838701612430565b935060209150818501358181111561263a578384fd5b85019050601f8101861361264c578283fd5b803561265a6124508261281d565b80828252848201915084840189868560051b8701011115612679578687fd5b8694505b8385101561269b57803583526001949094019391850191850161267d565b5080955050505050509250929050565b6000602082840312156126bc578081fd5b5035919050565b600080600080608085870312156126d8578081fd5b5050823594602084013594506040840135936060013592509050565b6000602080835283518082850152825b8181101561272057858101830151858201604001528201612704565b818111156127315783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156127cb5784516001600160a01b0316835293830193918301916001016127a6565b50506001600160a01b03969096166060850152505050608001529392505050565b604051601f8201601f1916810167ffffffffffffffff81118282101715612815576128156128e0565b604052919050565b600067ffffffffffffffff821115612837576128376128e0565b5060051b60200190565b60008219821115612854576128546128ca565b500190565b60008261287457634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612893576128936128ca565b500290565b6000828210156128aa576128aa6128ca565b500390565b60006000198214156128c3576128c36128ca565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610d0a57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122083ac306f40fb8c3e691fcf08c4054adc893304ec92305e50d0bcecb4ca9ba9be64736f6c63430008040033

Deployed Bytecode

0x60806040526004361061021d5760003560e01c80636b99905311610123578063a2a957bb116100ab578063ea1644d51161006f578063ea1644d5146106a4578063ea2f0b37146106c4578063ec28438a146106e4578063f2fde38b14610704578063f42938901461072457600080fd5b8063a2a957bb146105cd578063a9059cbb146105ed578063bbc0c7421461060d578063bfd792841461062e578063dd62ed3e1461065e57600080fd5b80638da5cb5b116100f25780638da5cb5b1461052a5780638f9a55c01461054857806390bd58da1461055e57806395d89b411461057e57806398a5c315146105ad57600080fd5b80636b999053146104b457806370a08231146104d45780637d1db4a5146104f45780638aec071f1461050a57600080fd5b80632fd689e3116101a657806349bd5a5e1161017557806349bd5a5e1461040f57806351bc3c851461042f578063563912bd14610444578063595cc84f14610474578063672434821461049457600080fd5b80632fd689e31461039d578063313ce567146103b35780633e7cffd9146103cf578063437823ec146103ef57600080fd5b80631694505e116101ed5780631694505e146102df57806318160ddd1461031757806323b872dd1461033d57806327334a081461035d5780632ae894ba1461037d57600080fd5b8062b8cf2a1461022957806305f82a451461024b57806306fdde031461026b578063095ea7b3146102af57600080fd5b3661022457005b600080fd5b34801561023557600080fd5b506102496102443660046125b4565b610739565b005b34801561025757600080fd5b506102496102663660046124a8565b6107e6565b34801561027757600080fd5b50604080518082019091526009815268165bdb8815dbdc9b1960ba1b60208201525b6040516102a691906126f4565b60405180910390f35b3480156102bb57600080fd5b506102cf6102ca366004612589565b6109e1565b60405190151581526020016102a6565b3480156102eb57600080fd5b506016546102ff906001600160a01b031681565b6040516001600160a01b0390911681526020016102a6565b34801561032357600080fd5b50683635c9adc5dea000005b6040519081526020016102a6565b34801561034957600080fd5b506102cf610358366004612518565b6109f8565b34801561036957600080fd5b506102496103783660046124a8565b610a61565b34801561038957600080fd5b506014546102ff906001600160a01b031681565b3480156103a957600080fd5b5061032f601a5481565b3480156103bf57600080fd5b50604051600981526020016102a6565b3480156103db57600080fd5b506015546102ff906001600160a01b031681565b3480156103fb57600080fd5b5061024961040a3660046124a8565b610c4f565b34801561041b57600080fd5b506017546102ff906001600160a01b031681565b34801561043b57600080fd5b50610249610cd4565b34801561045057600080fd5b506102cf61045f3660046124a8565b60066020526000908152604090205460ff1681565b34801561048057600080fd5b5061024961048f366004612558565b610d0d565b3480156104a057600080fd5b506102cf6104af3660046125ef565b610d62565b3480156104c057600080fd5b506102496104cf3660046124a8565b6110e6565b3480156104e057600080fd5b5061032f6104ef3660046124a8565b611131565b34801561050057600080fd5b5061032f60185481565b34801561051657600080fd5b506102496105253660046124a8565b611153565b34801561053657600080fd5b506000546001600160a01b03166102ff565b34801561055457600080fd5b5061032f60195481565b34801561056a57600080fd5b506102496105793660046124a8565b61123b565b34801561058a57600080fd5b50604080518082019091526006815265091655d4931160d21b6020820152610299565b3480156105b957600080fd5b506102496105c83660046126ab565b61132d565b3480156105d957600080fd5b506102496105e83660046126c3565b61135c565b3480156105f957600080fd5b506102cf610608366004612589565b6113d4565b34801561061957600080fd5b506017546102cf90600160b01b900460ff1681565b34801561063a57600080fd5b506102cf6106493660046124a8565b600b6020526000908152604090205460ff1681565b34801561066a57600080fd5b5061032f6106793660046124e0565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156106b057600080fd5b506102496106bf3660046126ab565b6113e1565b3480156106d057600080fd5b506102496106df3660046124a8565b611410565b3480156106f057600080fd5b506102496106ff3660046126ab565b61148b565b34801561071057600080fd5b5061024961071f3660046124a8565b6114ba565b34801561073057600080fd5b506102496115a4565b6000546001600160a01b0316331461076c5760405162461bcd60e51b815260040161076390612747565b60405180910390fd5b60005b81518110156107e2576001600b600084848151811061079e57634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107da816128af565b91505061076f565b5050565b6000546001600160a01b031633146108105760405162461bcd60e51b815260040161076390612747565b6001600160a01b03811660009081526007602052604090205460ff166108885760405162461bcd60e51b815260206004820152602760248201527f4163636f756e74206973206e6f74206578636c756465642066726f6d207265666044820152663632b1ba34b7b760c91b6064820152608401610763565b60005b6008548110156107e257816001600160a01b0316600882815481106108c057634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b031614156109cf57600880546108eb90600190612898565b8154811061090957634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600880546001600160a01b03909216918390811061094357634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600382526040808220829055600790925220805460ff1916905560088054806109a957634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b806109d9816128af565b91505061088b565b60006109ee3384846115ec565b5060015b92915050565b6000610a05848484611710565b610a578433610a528560405180606001604052806028815260200161290c602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611c51565b6115ec565b5060019392505050565b6000546001600160a01b03163314610a8b5760405162461bcd60e51b815260040161076390612747565b6001600160a01b03811660009081526007602052604090205460ff1615610af45760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610763565b600854603290610b05906001612841565b1115610b8f5760405162461bcd60e51b815260206004820152604d60248201527f43616e6e6f74206578636c756465206d6f7265207468616e203530206163636f60448201527f756e74732e2020496e636c75646520612070726576696f75736c79206578636c60648201526c3ab232b21030b2323932b9b99760991b608482015260a401610763565b6001600160a01b03811660009081526002602052604090205415610be9576001600160a01b038116600090815260026020526040902054610bcf90611c8b565b6001600160a01b0382166000908152600360205260409020555b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b6000546001600160a01b03163314610c795760405162461bcd60e51b815260040161076390612747565b6001600160a01b038116600081815260056020908152604091829020805460ff1916600117905590519182527f58c3e0504c69d3a92726966f152a771e0f8f6ad4daca1ae9055a38aba1fd2b6291015b60405180910390a150565b6014546001600160a01b0316336001600160a01b031614610cf457600080fd5b6000610cff30611131565b9050610d0a81611d0f565b50565b6000546001600160a01b03163314610d375760405162461bcd60e51b815260040161076390612747565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600080546001600160a01b03163314610d8d5760405162461bcd60e51b815260040161076390612747565b601754600160b01b900460ff1615610dfb5760405162461bcd60e51b815260206004820152602b60248201527f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60448201526a3a103932b630bab731b41760a91b6064820152608401610763565b60c8835110610e6b5760405162461bcd60e51b815260206004820152603660248201527f43616e206f6e6c792061697264726f70203230302077616c6c657473207065726044820152752074786e2064756520746f20676173206c696d69747360501b6064820152608401610763565b60005b8351811015610eef576000848281518110610e9957634e487b7160e01b600052603260045260246000fd5b602002602001015190506000848381518110610ec557634e487b7160e01b600052603260045260246000fd5b60200260200101519050610eda338383611710565b50508080610ee7906128af565b915050610e6e565b50610ef8611eb4565b737a250d5630b4cf539739df2c5dacb4c659f2488d610f18816001610d0d565b601680546001600160a01b0319166001600160a01b038316908117909155610f4b903090683635c9adc5dea000006115ec565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f8457600080fd5b505afa158015610f98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbc91906124c4565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561100457600080fd5b505afa158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103c91906124c4565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561108457600080fd5b505af1158015611098573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bc91906124c4565b601780546001600160a01b0319166001600160a01b03929092169182179055610a57906001610d0d565b6000546001600160a01b031633146111105760405162461bcd60e51b815260040161076390612747565b6001600160a01b03166000908152600b60205260409020805460ff19169055565b6001600160a01b0381166000908152600260205260408120546109f290611c8b565b6000546001600160a01b0316331461117d5760405162461bcd60e51b815260040161076390612747565b6015546001600160a01b03166111cb5760405162461bcd60e51b815260206004820152601360248201527205f67726f7774682063616e6e6f74206265203606c1b6044820152606401610763565b6001600160a01b039081166000908152600560209081526040808320805460ff199081169091556015805486168086529483902080549092166001179091555490519316835290917f396eeb40fb7d71aef82855bba2c6bf0c2c94540a6d0e206e52c1bca8516c0c229101610cc9565b6000546001600160a01b031633146112655760405162461bcd60e51b815260040161076390612747565b6014546001600160a01b03166112bd5760405162461bcd60e51b815260206004820152601a60248201527f5f5957524c4454726561737572792063616e6e6f7420626520300000000000006044820152606401610763565b6001600160a01b039081166000908152600560209081526040808320805460ff199081169091556014805486168086529483902080549092166001179091555490519316835290917fec3d6dfef335f6608c37ac34ad3c35b6c3bc938e6749302a38a53114c1f780449101610cc9565b6000546001600160a01b031633146113575760405162461bcd60e51b815260040161076390612747565b601a55565b6000546001600160a01b031633146113865760405162461bcd60e51b815260040161076390612747565b600c849055600d829055600e839055600f81905560196113a68386612841565b11156113b157600080fd5b6019600f54600e546113c39190612841565b11156113ce57600080fd5b50505050565b60006109ee338484611710565b6000546001600160a01b0316331461140b5760405162461bcd60e51b815260040161076390612747565b601955565b6000546001600160a01b0316331461143a5760405162461bcd60e51b815260040161076390612747565b6001600160a01b038116600081815260056020908152604091829020805460ff1916905590519182527f4f6a6b6efe34ec6478021aa9fb7f6980e78ea3a10c74074a8ce49d5d3ebf1f7e9101610cc9565b6000546001600160a01b031633146114b55760405162461bcd60e51b815260040161076390612747565b601855565b6000546001600160a01b031633146114e45760405162461bcd60e51b815260040161076390612747565b6001600160a01b0381166115495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610763565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6014546001600160a01b0316336001600160a01b031614806115d957506015546001600160a01b0316336001600160a01b0316145b6115e257600080fd5b47610d0a81611ef3565b6001600160a01b03831661164e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610763565b6001600160a01b0382166116af5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610763565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166117745760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610763565b6001600160a01b0382166117d65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610763565b600081116118385760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610763565b6000546001600160a01b0384811691161480159061186457506000546001600160a01b03838116911614155b15611ab957601754600160b01b900460ff16611a2c576017546001600160a01b038381169116148015906118a657506016546001600160a01b03838116911614155b80156118cb57506001600160a01b03821660009081526005602052604090205460ff16155b15611a2c57601954816118dd84611131565b6118e79190612841565b106119405760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610763565b6018548111156119925760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610763565b6001600160a01b0383166000908152600b602052604090205460ff161580156119d457506001600160a01b0382166000908152600b602052604090205460ff16155b611a2c5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610763565b6000611a3730611131565b601a54601854919250821015908210611a505760185491505b808015611a675750601754600160a01b900460ff16155b8015611a8157506017546001600160a01b03868116911614155b8015611a965750601754600160a81b900460ff165b15611ab657611aa482611d0f565b478015611ab457611ab447611ef3565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680611afb57506001600160a01b03831660009081526005602052604090205460ff165b80611b2d57506017546001600160a01b03858116911614801590611b2d57506017546001600160a01b03848116911614155b15611b3a57506000611c45565b6017546001600160a01b038581169116148015611b6557506016546001600160a01b03848116911614155b15611b7757600c54601055600d546011555b6001600160a01b03841660009081526005602052604090205460ff16611c0857601854821115611c085760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610763565b6017546001600160a01b038481169116148015611c3357506016546001600160a01b03858116911614155b15611c4557600e54601055600f546011555b6113ce84848484611f78565b60008184841115611c755760405162461bcd60e51b815260040161076391906126f4565b506000611c828486612898565b95945050505050565b6000600954821115611cf25760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610763565b6000611cfc611fa6565b9050611d088382611fc9565b9392505050565b6017805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611d6557634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611db957600080fd5b505afa158015611dcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df191906124c4565b81600181518110611e1257634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601654611e3891309116846115ec565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac94790611e7190859060009086903090429060040161277c565b600060405180830381600087803b158015611e8b57600080fd5b505af1158015611e9f573d6000803e3d6000fd5b50506017805460ff60a01b1916905550505050565b6000546001600160a01b03163314611ede5760405162461bcd60e51b815260040161076390612747565b6017805460ff60b01b1916600160b01b179055565b6014546001600160a01b03166108fc611f0d836002611fc9565b6040518115909202916000818181858888f19350505050158015611f35573d6000803e3d6000fd5b506015546001600160a01b03166108fc611f50836002611fc9565b6040518115909202916000818181858888f193505050501580156107e2573d6000803e3d6000fd5b80611f8557611f8561200b565b611f90848484612039565b806113ce576113ce601254601055601354601155565b6000806000611fb3612130565b9092509050611fc28282611fc9565b9250505090565b6000611d0883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612172565b60105415801561201b5750601154155b1561202257565b601080546012556011805460135560009182905555565b60008060008060008061204b876121a0565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061207d90876121fd565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546120ac908661223f565b6001600160a01b0389166000908152600260205260409020556120ce8161229e565b6120d884836122e8565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161211d91815260200190565b60405180910390a3505050505050505050565b6009546000908190683635c9adc5dea0000061214c8282611fc9565b82101561216957505060095492683635c9adc5dea0000092509050565b90939092509050565b600081836121935760405162461bcd60e51b815260040161076391906126f4565b506000611c828486612859565b60008060008060008060008060006121bd8a60105460115461230c565b92509250925060006121cd611fa6565b905060008060006121e08e878787612361565b919e509c509a509598509396509194505050505091939550919395565b6000611d0883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c51565b60008061224c8385612841565b905083811015611d085760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610763565b60006122a8611fa6565b905060006122b683836123b1565b306000908152600260205260409020549091506122d3908261223f565b30600090815260026020526040902055505050565b6009546122f590836121fd565b600955600a54612305908261223f565b600a555050565b6000808080612326606461232089896123b1565b90611fc9565b9050600061233960646123208a896123b1565b905060006123518261234b8b866121fd565b906121fd565b9992985090965090945050505050565b600080808061237088866123b1565b9050600061237e88876123b1565b9050600061238c88886123b1565b9050600061239e8261234b86866121fd565b939b939a50919850919650505050505050565b6000826123c0575060006109f2565b60006123cc8385612879565b9050826123d98583612859565b14611d085760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610763565b600082601f830112612440578081fd5b813560206124556124508361281d565b6127ec565b80838252828201915082860187848660051b8901011115612474578586fd5b855b8581101561249b578135612489816128f6565b84529284019290840190600101612476565b5090979650505050505050565b6000602082840312156124b9578081fd5b8135611d08816128f6565b6000602082840312156124d5578081fd5b8151611d08816128f6565b600080604083850312156124f2578081fd5b82356124fd816128f6565b9150602083013561250d816128f6565b809150509250929050565b60008060006060848603121561252c578081fd5b8335612537816128f6565b92506020840135612547816128f6565b929592945050506040919091013590565b6000806040838503121561256a578182fd5b8235612575816128f6565b91506020830135801515811461250d578182fd5b6000806040838503121561259b578182fd5b82356125a6816128f6565b946020939093013593505050565b6000602082840312156125c5578081fd5b813567ffffffffffffffff8111156125db578182fd5b6125e784828501612430565b949350505050565b60008060408385031215612601578182fd5b823567ffffffffffffffff80821115612618578384fd5b61262486838701612430565b935060209150818501358181111561263a578384fd5b85019050601f8101861361264c578283fd5b803561265a6124508261281d565b80828252848201915084840189868560051b8701011115612679578687fd5b8694505b8385101561269b57803583526001949094019391850191850161267d565b5080955050505050509250929050565b6000602082840312156126bc578081fd5b5035919050565b600080600080608085870312156126d8578081fd5b5050823594602084013594506040840135936060013592509050565b6000602080835283518082850152825b8181101561272057858101830151858201604001528201612704565b818111156127315783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156127cb5784516001600160a01b0316835293830193918301916001016127a6565b50506001600160a01b03969096166060850152505050608001529392505050565b604051601f8201601f1916810167ffffffffffffffff81118282101715612815576128156128e0565b604052919050565b600067ffffffffffffffff821115612837576128376128e0565b5060051b60200190565b60008219821115612854576128546128ca565b500190565b60008261287457634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612893576128936128ca565b500290565b6000828210156128aa576128aa6128ca565b500390565b60006000198214156128c3576128c36128ca565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610d0a57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122083ac306f40fb8c3e691fcf08c4054adc893304ec92305e50d0bcecb4ca9ba9be64736f6c63430008040033

Deployed Bytecode Sourcemap

4984:17272:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15719:169;;;;;;;;;;-1:-1:-1;15719:169:0;;;;;:::i;:::-;;:::i;:::-;;9673:603;;;;;;;;;;-1:-1:-1;9673:603:0;;;;;:::i;:::-;;:::i;8096:83::-;;;;;;;;;;-1:-1:-1;8166:5:0;;;;;;;;;;;;-1:-1:-1;;;8166:5:0;;;;8096:83;;;;;;;:::i;:::-;;;;;;;;10476:193;;;;;;;;;;-1:-1:-1;10476:193:0;;;;;:::i;:::-;;:::i;:::-;;;6259:14:1;;6252:22;6234:41;;6222:2;6207:18;10476:193:0;6189:92:1;6513:41:0;;;;;;;;;;-1:-1:-1;6513:41:0;;;;-1:-1:-1;;;;;6513:41:0;;;;;;-1:-1:-1;;;;;5301:32:1;;;5283:51;;5271:2;5256:18;6513:41:0;5238:102:1;8373:95:0;;;;;;;;;;-1:-1:-1;5715:16:0;8373:95;;;15615:25:1;;;15603:2;15588:18;8373:95:0;15570:76:1;10677:446:0;;;;;;;;;;-1:-1:-1;10677:446:0;;;;;:::i;:::-;;:::i;9146:519::-;;;;;;;;;;-1:-1:-1;9146:519:0;;;;;:::i;:::-;;:::i;6316:91::-;;;;;;;;;;-1:-1:-1;6316:91:0;;;;-1:-1:-1;;;;;6316:91:0;;;6830:53;;;;;;;;;;;;;;;;8282:83;;;;;;;;;;-1:-1:-1;8282:83:0;;5212:1;16781:36:1;;16769:2;16754:18;8282:83:0;16736:87:1;6415:84:0;;;;;;;;;;-1:-1:-1;6415:84:0;;;;-1:-1:-1;;;;;6415:84:0;;;8829:152;;;;;;;;;;-1:-1:-1;8829:152:0;;;;;:::i;:::-;;:::i;6561:28::-;;;;;;;;;;-1:-1:-1;6561:28:0;;;;-1:-1:-1;;;;;6561:28:0;;;15285:194;;;;;;;;;;;;;:::i;5454:55::-;;;;;;;;;;-1:-1:-1;5454:55:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;21328:132;;;;;;;;;;-1:-1:-1;21328:132:0;;;;;:::i;:::-;;:::i;20010:1044::-;;;;;;;;;;-1:-1:-1;20010:1044:0;;;;;:::i;:::-;;:::i;15896:92::-;;;;;;;;;;-1:-1:-1;15896:92:0;;;;;:::i;:::-;;:::i;8476:138::-;;;;;;;;;;-1:-1:-1;8476:138:0;;;;;:::i;:::-;;:::i;6720:46::-;;;;;;;;;;;;;;;;21963:290;;;;;;;;;;-1:-1:-1;21963:290:0;;;;;:::i;:::-;;:::i;2405:79::-;;;;;;;;;;-1:-1:-1;2443:7:0;2470:6;-1:-1:-1;;;;;2470:6:0;2405:79;;6774:48;;;;;;;;;;;;;;;;21595:360;;;;;;;;;;-1:-1:-1;21595:360:0;;;;;:::i;:::-;;:::i;8187:87::-;;;;;;;;;;-1:-1:-1;8259:7:0;;;;;;;;;;;;-1:-1:-1;;;8259:7:0;;;;8187:87;;21062:139;;;;;;;;;;-1:-1:-1;21062:139:0;;;;;:::i;:::-;;:::i;19435:464::-;;;;;;;;;;-1:-1:-1;19435:464:0;;;;;:::i;:::-;;:::i;8622:199::-;;;;;;;;;;-1:-1:-1;8622:199:0;;;;;:::i;:::-;;:::i;6674:33::-;;;;;;;;;;-1:-1:-1;6674:33:0;;;;-1:-1:-1;;;6674:33:0;;;;;;5853:36;;;;;;;;;;-1:-1:-1;5853:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10284:184;;;;;;;;;;-1:-1:-1;10284:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;10433:18:0;;;10401:7;10433:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10284:184;21472:115;;;;;;;;;;-1:-1:-1;21472:115:0;;;;;:::i;:::-;;:::i;8989:149::-;;;;;;;;;;-1:-1:-1;8989:149:0;;;;;:::i;:::-;;:::i;21213:107::-;;;;;;;;;;-1:-1:-1;21213:107:0;;;;;:::i;:::-;;:::i;2623:244::-;;;;;;;;;;-1:-1:-1;2623:244:0;;;;;:::i;:::-;;:::i;15487:220::-;;;;;;;;;;;;;:::i;15719:169::-;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;;;;;;;;;15795:9:::1;15790:91;15814:5;:12;15810:1;:16;15790:91;;;15865:4;15848;:14;15853:5;15859:1;15853:8;;;;;;-1:-1:-1::0;;;15853:8:0::1;;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;15848:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;15848:14:0;:21;;-1:-1:-1;;15848:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15828:3;::::1;::::0;::::1;:::i;:::-;;;;15790:91;;;;15719:169:::0;:::o;9673:603::-;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9755:34:0;::::1;;::::0;;;:25:::1;:34;::::0;;;;;::::1;;9747:86;;;::::0;-1:-1:-1;;;9747:86:0;;14777:2:1;9747:86:0::1;::::0;::::1;14759:21:1::0;14816:2;14796:18;;;14789:30;14855:34;14835:18;;;14828:62;-1:-1:-1;;;14906:18:1;;;14899:37;14953:19;;9747:86:0::1;14749:229:1::0;9747:86:0::1;9849:9;9844:425;9868:23;:30:::0;9864:34;::::1;9844:425;;;9954:7;-1:-1:-1::0;;;;;9924:37:0::1;:23;9948:1;9924:26;;;;;;-1:-1:-1::0;;;9924:26:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;9924:26:0::1;:37;9920:338;;;10011:23;10035:30:::0;;:34:::1;::::0;10068:1:::1;::::0;10035:34:::1;:::i;:::-;10011:59;;;;;;-1:-1:-1::0;;;10011:59:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;9982:23:::1;:26:::0;;-1:-1:-1;;;;;10011:59:0;;::::1;::::0;10006:1;;9982:26;::::1;;;-1:-1:-1::0;;;9982:26:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:88:::0;;-1:-1:-1;;;;;;9982:88:0::1;-1:-1:-1::0;;;;;9982:88:0;;::::1;;::::0;;10089:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;10128:25:::1;:34:::0;;;;:42;;-1:-1:-1;;10128:42:0::1;::::0;;10189:23:::1;:29:::0;;;::::1;;-1:-1:-1::0;;;10189:29:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;10189:29:0;;;;;-1:-1:-1;;;;;;10189:29:0::1;::::0;;;;;15790:91:::1;15719:169:::0;:::o;9920:338::-:1;9900:3:::0;::::1;::::0;::::1;:::i;:::-;;;;9844:425;;10476:193:::0;10578:4;10600:39;1244:10;10623:7;10632:6;10600:8;:39::i;:::-;-1:-1:-1;10657:4:0;10476:193;;;;;:::o;10677:446::-;10809:4;10826:36;10836:6;10844:9;10855:6;10826:9;:36::i;:::-;10873:220;10896:6;1244:10;10944:138;11000:6;10944:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10944:19:0;;;;;;:11;:19;;;;;;;;1244:10;10944:33;;;;;;;;;;:37;:138::i;:::-;10873:8;:220::i;:::-;-1:-1:-1;11111:4:0;10677:446;;;;;:::o;9146:519::-;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9231:34:0;::::1;;::::0;;;:25:::1;:34;::::0;;;;;::::1;;9230:35;9222:75;;;::::0;-1:-1:-1;;;9222:75:0;;10843:2:1;9222:75:0::1;::::0;::::1;10825:21:1::0;10882:2;10862:18;;;10855:30;10921:29;10901:18;;;10894:57;10968:18;;9222:75:0::1;10815:177:1::0;9222:75:0::1;9316:23;:30:::0;9354:2:::1;::::0;9316:34:::1;::::0;9349:1:::1;9316:34;:::i;:::-;:40;;9308:130;;;::::0;-1:-1:-1;;;9308:130:0;;15185:2:1;9308:130:0::1;::::0;::::1;15167:21:1::0;15224:2;15204:18;;;15197:30;15263:34;15243:18;;;15236:62;15334:34;15314:18;;;15307:62;-1:-1:-1;;;15385:19:1;;;15378:44;15439:19;;9308:130:0::1;15157:307:1::0;9308:130:0::1;-1:-1:-1::0;;;;;9453:16:0;::::1;9472:1;9453:16:::0;;;:7:::1;:16;::::0;;;;;:20;9449:109:::1;;-1:-1:-1::0;;;;;9529:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;9509:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;9490:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;9449:109:::1;-1:-1:-1::0;;;;;9568:34:0::1;;::::0;;;:25:::1;:34;::::0;;;;:41;;-1:-1:-1;;9568:41:0::1;9605:4;9568:41:::0;;::::1;::::0;;;9620:23:::1;:37:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;9620:37:0::1;::::0;;::::1;::::0;;9146:519::o;8829:152::-;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8900:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;;:34;;-1:-1:-1;;8900:34:0::1;8930:4;8900:34;::::0;;8950:23;;5283:51:1;;;8950:23:0::1;::::0;5256:18:1;8950:23:0::1;;;;;;;;8829:152:::0;:::o;15285:194::-;15351:14;;-1:-1:-1;;;;;15351:14:0;1244:10;-1:-1:-1;;;;;15335:30:0;;15327:39;;;;;;15377:23;15403:24;15421:4;15403:9;:24::i;:::-;15377:50;;15438:33;15455:15;15438:16;:33::i;:::-;15285:194;:::o;21328:132::-;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21415:30:0;;;::::1;;::::0;;;:22:::1;:30;::::0;;;;:37;;-1:-1:-1;;21415:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21328:132::o;20010:1044::-;20114:4;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;20139:13:::1;::::0;-1:-1:-1;;;20139:13:0;::::1;;;20138:14;20130:70;;;::::0;-1:-1:-1;;;20130:70:0;;14365:2:1;20130:70:0::1;::::0;::::1;14347:21:1::0;14404:2;14384:18;;;14377:30;14443:34;14423:18;;;14416:62;-1:-1:-1;;;14494:18:1;;;14487:41;14545:19;;20130:70:0::1;14337:233:1::0;20130:70:0::1;20243:3;20219:14;:21;:27;20211:94;;;::::0;-1:-1:-1;;;20211:94:0;;8082:2:1;20211:94:0::1;::::0;::::1;8064:21:1::0;8121:2;8101:18;;;8094:30;8160:34;8140:18;;;8133:62;-1:-1:-1;;;8211:18:1;;;8204:52;8273:19;;20211:94:0::1;8054:244:1::0;20211:94:0::1;20321:9;20317:205;20340:14;:21;20336:1;:25;20317:205;;;20382:14;20399;20414:1;20399:17;;;;;;-1:-1:-1::0;;;20399:17:0::1;;;;;;;;;;;;;;;20382:34;;20431:14;20448:7;20456:1;20448:10;;;;;;-1:-1:-1::0;;;20448:10:0::1;;;;;;;;;;;;;;;20431:27;;20473:37;20483:10;20495:6;20503;20473:9;:37::i;:::-;20317:205;;20363:3;;;;;:::i;:::-;;;;20317:205;;;;20532:15;:13;:15::i;:::-;20615:42;20669:55;20615:42:::0;20719:4:::1;20669:22;:55::i;:::-;20735:15;:34:::0;;-1:-1:-1;;;;;;20735:34:0::1;-1:-1:-1::0;;;;;20735:34:0;::::1;::::0;;::::1;::::0;;;20780:58:::1;::::0;20797:4:::1;::::0;5715:16:::1;20780:8;:58::i;:::-;20883:16;-1:-1:-1::0;;;;;20883:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20865:56:0::1;;20930:4;20937:16;-1:-1:-1::0;;;;;20937:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20865:96;::::0;-1:-1:-1;;;;;;20865:96:0::1;::::0;;;;;;-1:-1:-1;;;;;6015:15:1;;;20865:96:0::1;::::0;::::1;5997:34:1::0;6067:15;;6047:18;;;6040:43;5932:18;;20865:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20849:13;:112:::0;;-1:-1:-1;;;;;;20849:112:0::1;-1:-1:-1::0;;;;;20849:112:0;;;::::1;::::0;;::::1;::::0;;20972:52:::1;::::0;-1:-1:-1;20972:22:0::1;:52::i;15896:92::-:0;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15960:12:0::1;15975:5;15960:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;15960:20:0::1;::::0;;15896:92::o;8476:138::-;-1:-1:-1;;;;;8589:16:0;;8542:7;8589:16;;;:7;:16;;;;;;8569:37;;:19;:37::i;21963:290::-;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;22037:7:::1;::::0;-1:-1:-1;;;;;22037:7:0::1;22029:53;;;::::0;-1:-1:-1;;;22029:53:0;;7330:2:1;22029:53:0::1;::::0;::::1;7312:21:1::0;7369:2;7349:18;;;7342:30;-1:-1:-1;;;7388:18:1;;;7381:49;7447:18;;22029:53:0::1;7302:169:1::0;22029:53:0::1;-1:-1:-1::0;;;;;22093:26:0;;::::1;22122:5;22093:26:::0;;;:18:::1;:26;::::0;;;;;;;:34;;-1:-1:-1;;22093:34:0;;::::1;::::0;;;22155:7:::1;::::0;;;::::1;22174:26:::0;;;;;;;:33;;;;::::1;-1:-1:-1::0;22174:33:0::1;::::0;;;22237:7;22223:22;;22237:7;::::1;5283:51:1::0;;22155:7:0;;22223:22:::1;::::0;5256:18:1;22223:22:0::1;5238:102:1::0;21595:360:0;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;21683:14:::1;::::0;-1:-1:-1;;;;;21683:14:0::1;21675:67;;;::::0;-1:-1:-1;;;21675:67:0;;11622:2:1;21675:67:0::1;::::0;::::1;11604:21:1::0;11661:2;11641:18;;;11634:30;11700:28;11680:18;;;11673:56;11746:18;;21675:67:0::1;11594:176:1::0;21675:67:0::1;-1:-1:-1::0;;;;;21753:33:0;;::::1;21789:5;21753:33:::0;;;:18:::1;:33;::::0;;;;;;;:41;;-1:-1:-1;;21753:41:0;;::::1;::::0;;;21829:14:::1;::::0;;;::::1;21855:33:::0;;;;;;;:40;;;;::::1;-1:-1:-1::0;21855:40:0::1;::::0;;;21932:14;21911:36;;21932:14;::::1;5283:51:1::0;;21829:14:0;;21911:36:::1;::::0;5256:18:1;21911:36:0::1;5238:102:1::0;21062:139:0;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;21153:19:::1;:40:::0;21062:139::o;19435:464::-;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;19579:19:::1;:40:::0;;;19630:12:::1;:26:::0;;;19677:20:::1;:42:::0;;;19730:13:::1;:28:::0;;;19825:2:::1;19787:34;19645:11:::0;19601:18;19787:34:::1;:::i;:::-;:40;;19779:49;;;::::0;::::1;;19887:2;19870:13;;19847:20;;:36;;;;:::i;:::-;:42;;19839:51;;;::::0;::::1;;19435:464:::0;;;;:::o;8622:199::-;8727:4;8749:42;1244:10;8773:9;8784:6;8749:9;:42::i;21472:115::-;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;21549:14:::1;:30:::0;21472:115::o;8989:149::-;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9058:27:0;::::1;9088:5;9058:27:::0;;;:18:::1;:27;::::0;;;;;;;;:35;;-1:-1:-1;;9058:35:0::1;::::0;;9109:21;;5283:51:1;;;9109:21:0::1;::::0;5256:18:1;9109:21:0::1;5238:102:1::0;21213:107:0;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;21286:12:::1;:26:::0;21213:107::o;2623:244::-;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2712:22:0;::::1;2704:73;;;::::0;-1:-1:-1;;;2704:73:0;;9273:2:1;2704:73:0::1;::::0;::::1;9255:21:1::0;9312:2;9292:18;;;9285:30;9351:34;9331:18;;;9324:62;-1:-1:-1;;;9402:18:1;;;9395:36;9448:19;;2704:73:0::1;9245:228:1::0;2704:73:0::1;2814:6;::::0;;2793:38:::1;::::0;-1:-1:-1;;;;;2793:38:0;;::::1;::::0;2814:6;::::1;::::0;2793:38:::1;::::0;::::1;2842:6;:17:::0;;-1:-1:-1;;;;;;2842:17:0::1;-1:-1:-1::0;;;;;2842:17:0;;;::::1;::::0;;;::::1;::::0;;2623:244::o;15487:220::-;15553:14;;-1:-1:-1;;;;;15553:14:0;1244:10;-1:-1:-1;;;;;15537:30:0;;:57;;;-1:-1:-1;15587:7:0;;-1:-1:-1;;;;;15587:7:0;1244:10;-1:-1:-1;;;;;15571:23:0;;15537:57;15529:66;;;;;;15635:21;15667:32;15635:21;15667:12;:32::i;11856:369::-;-1:-1:-1;;;;;11983:19:0;;11975:68;;;;-1:-1:-1;;;11975:68:0;;13960:2:1;11975:68:0;;;13942:21:1;13999:2;13979:18;;;13972:30;14038:34;14018:18;;;14011:62;-1:-1:-1;;;14089:18:1;;;14082:34;14133:19;;11975:68:0;13932:226:1;11975:68:0;-1:-1:-1;;;;;12062:21:0;;12054:68;;;;-1:-1:-1;;;12054:68:0;;9680:2:1;12054:68:0;;;9662:21:1;9719:2;9699:18;;;9692:30;9758:34;9738:18;;;9731:62;-1:-1:-1;;;9809:18:1;;;9802:32;9851:19;;12054:68:0;9652:224:1;12054:68:0;-1:-1:-1;;;;;12133:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12185:32;;15615:25:1;;;12185:32:0;;15588:18:1;12185:32:0;;;;;;;11856:369;;;:::o;12233:2398::-;-1:-1:-1;;;;;12355:18:0;;12347:68;;;;-1:-1:-1;;;12347:68:0;;13150:2:1;12347:68:0;;;13132:21:1;13189:2;13169:18;;;13162:30;13228:34;13208:18;;;13201:62;-1:-1:-1;;;13279:18:1;;;13272:35;13324:19;;12347:68:0;13122:227:1;12347:68:0;-1:-1:-1;;;;;12434:16:0;;12426:64;;;;-1:-1:-1;;;12426:64:0;;7678:2:1;12426:64:0;;;7660:21:1;7717:2;7697:18;;;7690:30;7756:34;7736:18;;;7729:62;-1:-1:-1;;;7807:18:1;;;7800:33;7850:19;;12426:64:0;7650:225:1;12426:64:0;12518:1;12509:6;:10;12501:64;;;;-1:-1:-1;;;12501:64:0;;12740:2:1;12501:64:0;;;12722:21:1;12779:2;12759:18;;;12752:30;12818:34;12798:18;;;12791:62;-1:-1:-1;;;12869:18:1;;;12862:39;12918:19;;12501:64:0;12712:231:1;12501:64:0;2443:7;2470:6;-1:-1:-1;;;;;12582:15:0;;;2470:6;;12582:15;;;;:32;;-1:-1:-1;2443:7:0;2470:6;-1:-1:-1;;;;;12601:13:0;;;2470:6;;12601:13;;12582:32;12578:1164;;;12650:13;;-1:-1:-1;;;12650:13:0;;;;12645:431;;12704:13;;-1:-1:-1;;;;;12698:19:0;;;12704:13;;12698:19;;;;:53;;-1:-1:-1;12735:15:0;;-1:-1:-1;;;;;12721:30:0;;;12735:15;;12721:30;;12698:53;:81;;;;-1:-1:-1;;;;;;12757:22:0;;;;;;:18;:22;;;;;;;;12755:24;12698:81;12695:381;;;12833:14;;12824:6;12808:13;12818:2;12808:9;:13::i;:::-;:22;;;;:::i;:::-;:39;12800:87;;;;-1:-1:-1;;;12800:87:0;;13556:2:1;12800:87:0;;;13538:21:1;13595:2;13575:18;;;13568:30;13634:34;13614:18;;;13607:62;-1:-1:-1;;;13685:18:1;;;13678:33;13728:19;;12800:87:0;13528:225:1;12800:87:0;12924:12;;12914:6;:22;;12906:63;;;;-1:-1:-1;;;12906:63:0;;8916:2:1;12906:63:0;;;8898:21:1;8955:2;8935:18;;;8928:30;8994;8974:18;;;8967:58;9042:18;;12906:63:0;8888:178:1;12906:63:0;-1:-1:-1;;;;;12997:10:0;;;;;;:4;:10;;;;;;;;12996:11;:24;;;;-1:-1:-1;;;;;;13012:8:0;;;;;;:4;:8;;;;;;;;13011:9;12996:24;12988:72;;;;-1:-1:-1;;;12988:72:0;;10083:2:1;12988:72:0;;;10065:21:1;10122:2;10102:18;;;10095:30;10161:34;10141:18;;;10134:62;-1:-1:-1;;;10212:18:1;;;10205:33;10255:19;;12988:72:0;10055:225:1;12988:72:0;13104:28;13135:24;13153:4;13135:9;:24::i;:::-;13213:19;;13276:12;;13104:55;;-1:-1:-1;13189:43:0;;;;13252:36;;13249:124;;13345:12;;13322:35;;13249:124;13405:7;:18;;;;-1:-1:-1;13417:6:0;;-1:-1:-1;;;13417:6:0;;;;13416:7;13405:18;:43;;;;-1:-1:-1;13435:13:0;;-1:-1:-1;;;;;13427:21:0;;;13435:13;;13427:21;;13405:43;:58;;;;-1:-1:-1;13452:11:0;;-1:-1:-1;;;13452:11:0;;;;13405:58;13401:330;;;13484:38;13501:20;13484:16;:38::i;:::-;13570:21;13614:22;;13610:106;;13661:35;13674:21;13661:12;:35::i;:::-;13401:330;;12578:1164;;;-1:-1:-1;;;;;13799:24:0;;13762:12;13799:24;;;:18;:24;;;;;;13777:4;;13799:24;;;:50;;-1:-1:-1;;;;;;13827:22:0;;;;;;:18;:22;;;;;;;;13799:50;13798:102;;;-1:-1:-1;13863:13:0;;-1:-1:-1;;;;;13855:21:0;;;13863:13;;13855:21;;;;:44;;-1:-1:-1;13886:13:0;;-1:-1:-1;;;;;13880:19:0;;;13886:13;;13880:19;;13855:44;13794:776;;;-1:-1:-1;13927:5:0;13794:776;;;13990:13;;-1:-1:-1;;;;;13982:21:0;;;13990:13;;13982:21;:55;;;;-1:-1:-1;14021:15:0;;-1:-1:-1;;;;;14007:30:0;;;14021:15;;14007:30;;13982:55;13979:172;;;14075:19;;14058:14;:36;14123:12;;14113:7;:22;13979:172;-1:-1:-1;;;;;14176:24:0;;;;;;:18;:24;;;;;;;;14171:167;;14247:12;;14237:6;:22;;14229:89;;;;-1:-1:-1;;;14229:89:0;;11199:2:1;14229:89:0;;;11181:21:1;11238:2;11218:18;;;11211:30;11277:34;11257:18;;;11250:62;-1:-1:-1;;;11328:18:1;;;11321:52;11390:19;;14229:89:0;11171:244:1;14229:89:0;14380:13;;-1:-1:-1;;;;;14374:19:0;;;14380:13;;14374:19;:55;;;;-1:-1:-1;14413:15:0;;-1:-1:-1;;;;;14397:32:0;;;14413:15;;14397:32;;14374:55;14370:175;;;14467:20;;14450:14;:37;14516:13;;14506:7;:23;14370:175;14582:41;14597:4;14603:2;14607:6;14615:7;14582:14;:41::i;3235:224::-;3355:7;3391:12;3383:6;;;;3375:29;;;;-1:-1:-1;;;3375:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3415:9:0;3427:5;3431:1;3427;:5;:::i;:::-;3415:17;3235:224;-1:-1:-1;;;;;3235:224:0:o;11131:323::-;11226:7;11284;;11273;:18;;11251:110;;;;-1:-1:-1;;;11251:110:0;;8505:2:1;11251:110:0;;;8487:21:1;8544:2;8524:18;;;8517:30;8583:34;8563:18;;;8556:62;-1:-1:-1;;;8634:18:1;;;8627:40;8684:19;;11251:110:0;8477:232:1;11251:110:0;11372:19;11394:10;:8;:10::i;:::-;11372:32;-1:-1:-1;11422:24:0;:7;11372:32;11422:11;:24::i;:::-;11415:31;11131:323;-1:-1:-1;;;11131:323:0:o;14641:483::-;7437:6;:13;;-1:-1:-1;;;;7437:13:0;-1:-1:-1;;;7437:13:0;;;14743:16:::1;::::0;;14757:1:::1;14743:16:::0;;;;;::::1;::::0;;-1:-1:-1;;14743:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14743:16:0::1;14719:40;;14788:4;14770;14775:1;14770:7;;;;;;-1:-1:-1::0;;;14770:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;14770:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;14814:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;14814:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;14770:7;;14814:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14804:4;14809:1;14804:7;;;;;;-1:-1:-1::0;;;14804:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;14804:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;14879:15:::1;::::0;14847:62:::1;::::0;14864:4:::1;::::0;14879:15:::1;14897:11:::0;14847:8:::1;:62::i;:::-;14920:15;::::0;:196:::1;::::0;-1:-1:-1;;;14920:196:0;;-1:-1:-1;;;;;14920:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;15001:11;;14920:15:::1;::::0;15043:4;;15070::::1;::::0;15090:15:::1;::::0;14920:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7473:6:0;:14;;-1:-1:-1;;;;7473:14:0;;;-1:-1:-1;;;;14641:483:0:o;19907:91::-;2532:6;;-1:-1:-1;;;;;2532:6:0;1244:10;2532:22;2524:67;;;;-1:-1:-1;;;2524:67:0;;;;;;;:::i;:::-;19962:13:::1;:20:::0;;-1:-1:-1;;;;19962:20:0::1;-1:-1:-1::0;;;19962:20:0::1;::::0;;19907:91::o;15132:145::-;15189:14;;-1:-1:-1;;;;;15189:14:0;:38;15213:13;:6;15224:1;15213:10;:13::i;:::-;15189:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15238:7:0;;-1:-1:-1;;;;;15238:7:0;:31;15255:13;:6;15266:1;15255:10;:13::i;:::-;15238:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15996:282;16152:7;16147:28;;16161:14;:12;:14::i;:::-;16186:44;16204:6;16212:9;16223:6;16186:17;:44::i;:::-;16246:7;16241:29;;16255:15;11782:22;;11765:14;:39;11825:15;;11815:7;:25;11721:127;18986:166;19028:7;19049:15;19066;19085:19;:17;:19::i;:::-;19048:56;;-1:-1:-1;19048:56:0;-1:-1:-1;19124:20:0;19048:56;;19124:11;:20::i;:::-;19117:27;;;;18986:166;:::o;3721:132::-;3779:7;3806:39;3810:1;3813;3806:39;;;;;;;;;;;;;;;;;:3;:39::i;11462:251::-;11509:14;;:19;:35;;;;-1:-1:-1;11532:7:0;;:12;11509:35;11505:48;;;11462:251::o;11505:48::-;11594:14;;;11569:22;:39;11637:7;;;11619:15;:25;-1:-1:-1;11665:18:0;;;;11694:11;11462:251::o;16286:610::-;16433:15;16463:23;16501:12;16528:23;16566:12;16593:13;16620:19;16631:7;16620:10;:19::i;:::-;-1:-1:-1;;;;;16668:15:0;;;;;;:7;:15;;;;;;16418:221;;-1:-1:-1;16418:221:0;;-1:-1:-1;16418:221:0;;-1:-1:-1;16418:221:0;-1:-1:-1;16418:221:0;-1:-1:-1;16418:221:0;-1:-1:-1;16668:28:0;;16418:221;16668:19;:28::i;:::-;-1:-1:-1;;;;;16650:15:0;;;;;;;:7;:15;;;;;;:46;;;;16728:18;;;;;;;:39;;16751:15;16728:22;:39::i;:::-;-1:-1:-1;;;;;16707:18:0;;;;;;:7;:18;;;;;:60;16778:16;16788:5;16778:9;:16::i;:::-;16805:23;16817:4;16823;16805:11;:23::i;:::-;16861:9;-1:-1:-1;;;;;16844:44:0;16853:6;-1:-1:-1;;;;;16844:44:0;;16872:15;16844:44;;;;15615:25:1;;15603:2;15588:18;;15570:76;16844:44:0;;;;;;;;16286:610;;;;;;;;;:::o;19160:263::-;19258:7;;19211;;;;5715:16;19326:20;19258:7;5715:16;19326:11;:20::i;:::-;19316:7;:30;19312:61;;;-1:-1:-1;;19356:7:0;;;5715:16;;-1:-1:-1;19160:263:0;-1:-1:-1;19160:263:0:o;19312:61::-;19398:7;;19407;;-1:-1:-1;19160:263:0;-1:-1:-1;19160:263:0:o;3861:223::-;3981:7;4016:12;4009:5;4001:28;;;;-1:-1:-1;;;4001:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4040:9:0;4052:5;4056:1;4052;:5;:::i;17315:630::-;17415:7;17437;17459;17481;17503;17525;17561:23;17586:12;17600:13;17630:45;17642:7;17651:14;;17667:7;;17630:11;:45::i;:::-;17560:115;;;;;;17686:19;17708:10;:8;:10::i;:::-;17686:32;;17730:15;17747:23;17772:12;17801:46;17813:7;17822:4;17828:5;17835:11;17801;:46::i;:::-;17729:118;;-1:-1:-1;17729:118:0;-1:-1:-1;17729:118:0;-1:-1:-1;17908:15:0;;-1:-1:-1;17925:4:0;;-1:-1:-1;17931:5:0;;-1:-1:-1;;;;;17315:630:0;;;;;;;:::o;3091:136::-;3149:7;3176:43;3180:1;3183;3176:43;;;;;;;;;;;;;;;;;:3;:43::i;2904:179::-;2962:7;;2994:5;2998:1;2994;:5;:::i;:::-;2982:17;;3023:1;3018;:6;;3010:46;;;;-1:-1:-1;;;3010:46:0;;10487:2:1;3010:46:0;;;10469:21:1;10526:2;10506:18;;;10499:30;10565:29;10545:18;;;10538:57;10612:18;;3010:46:0;10459:177:1;16904:211:0;16957:19;16979:10;:8;:10::i;:::-;16957:32;-1:-1:-1;17000:13:0;17016:22;:5;16957:32;17016:9;:22::i;:::-;17090:4;17074:22;;;;:7;:22;;;;;;17000:38;;-1:-1:-1;17074:33:0;;17000:38;17074:26;:33::i;:::-;17065:4;17049:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;16904:211:0:o;17123:147::-;17201:7;;:17;;17213:4;17201:11;:17::i;:::-;17191:7;:27;17242:10;;:20;;17257:4;17242:14;:20::i;:::-;17229:10;:33;-1:-1:-1;;17123:147:0:o;17953:481::-;18127:7;;;;18221:35;18252:3;18221:26;:7;18233:13;18221:11;:26::i;:::-;:30;;:35::i;:::-;18206:50;-1:-1:-1;18267:13:0;18283:28;18307:3;18283:19;:7;18295:6;18283:11;:19::i;:28::-;18267:44;-1:-1:-1;18322:23:0;18348:28;18267:44;18348:17;:7;18360:4;18348:11;:17::i;:::-;:21;;:28::i;:::-;18322:54;18414:4;;-1:-1:-1;18420:5:0;;-1:-1:-1;17953:481:0;;-1:-1:-1;;;;;17953:481:0:o;18442:536::-;18636:7;;;;18733:24;:7;18745:11;18733;:24::i;:::-;18715:42;-1:-1:-1;18768:12:0;18783:21;:4;18792:11;18783:8;:21::i;:::-;18768:36;-1:-1:-1;18815:13:0;18831:22;:5;18841:11;18831:9;:22::i;:::-;18815:38;-1:-1:-1;18864:23:0;18890:28;18815:38;18890:17;:7;18902:4;18890:11;:17::i;:28::-;18939:7;;;;-1:-1:-1;18965:4:0;;-1:-1:-1;18442:536:0;;-1:-1:-1;;;;;;;18442:536:0:o;3467:246::-;3525:7;3549:6;3545:47;;-1:-1:-1;3579:1:0;3572:8;;3545:47;3602:9;3614:5;3618:1;3614;:5;:::i;:::-;3602:17;-1:-1:-1;3647:1:0;3638:5;3642:1;3602:17;3638:5;:::i;:::-;:10;3630:56;;;;-1:-1:-1;;;3630:56:0;;11977:2:1;3630:56:0;;;11959:21:1;12016:2;11996:18;;;11989:30;12055:34;12035:18;;;12028:62;-1:-1:-1;;;12106:18:1;;;12099:31;12147:19;;3630:56:0;11949:223:1;14:768;68:5;121:3;114:4;106:6;102:17;98:27;88:2;;143:5;136;129:20;88:2;183:6;170:20;209:4;233:60;249:43;289:2;249:43;:::i;:::-;233:60;:::i;:::-;315:3;339:2;334:3;327:15;367:2;362:3;358:12;351:19;;402:2;394:6;390:15;454:3;449:2;443;440:1;436:10;428:6;424:23;420:32;417:41;414:2;;;475:5;468;461:20;414:2;501:5;515:238;529:2;526:1;523:9;515:238;;;600:3;587:17;617:31;642:5;617:31;:::i;:::-;661:18;;699:12;;;;731;;;;547:1;540:9;515:238;;;-1:-1:-1;771:5:1;;78:704;-1:-1:-1;;;;;;;78:704:1:o;787:257::-;846:6;899:2;887:9;878:7;874:23;870:32;867:2;;;920:6;912;905:22;867:2;964:9;951:23;983:31;1008:5;983:31;:::i;1049:261::-;1119:6;1172:2;1160:9;1151:7;1147:23;1143:32;1140:2;;;1193:6;1185;1178:22;1140:2;1230:9;1224:16;1249:31;1274:5;1249:31;:::i;1315:398::-;1383:6;1391;1444:2;1432:9;1423:7;1419:23;1415:32;1412:2;;;1465:6;1457;1450:22;1412:2;1509:9;1496:23;1528:31;1553:5;1528:31;:::i;:::-;1578:5;-1:-1:-1;1635:2:1;1620:18;;1607:32;1648:33;1607:32;1648:33;:::i;:::-;1700:7;1690:17;;;1402:311;;;;;:::o;1718:466::-;1795:6;1803;1811;1864:2;1852:9;1843:7;1839:23;1835:32;1832:2;;;1885:6;1877;1870:22;1832:2;1929:9;1916:23;1948:31;1973:5;1948:31;:::i;:::-;1998:5;-1:-1:-1;2055:2:1;2040:18;;2027:32;2068:33;2027:32;2068:33;:::i;:::-;1822:362;;2120:7;;-1:-1:-1;;;2174:2:1;2159:18;;;;2146:32;;1822:362::o;2189:436::-;2254:6;2262;2315:2;2303:9;2294:7;2290:23;2286:32;2283:2;;;2336:6;2328;2321:22;2283:2;2380:9;2367:23;2399:31;2424:5;2399:31;:::i;:::-;2449:5;-1:-1:-1;2506:2:1;2491:18;;2478:32;2548:15;;2541:23;2529:36;;2519:2;;2584:6;2576;2569:22;2630:325;2698:6;2706;2759:2;2747:9;2738:7;2734:23;2730:32;2727:2;;;2780:6;2772;2765:22;2727:2;2824:9;2811:23;2843:31;2868:5;2843:31;:::i;:::-;2893:5;2945:2;2930:18;;;;2917:32;;-1:-1:-1;;;2717:238:1:o;2960:368::-;3044:6;3097:2;3085:9;3076:7;3072:23;3068:32;3065:2;;;3118:6;3110;3103:22;3065:2;3163:9;3150:23;3196:18;3188:6;3185:30;3182:2;;;3233:6;3225;3218:22;3182:2;3261:61;3314:7;3305:6;3294:9;3290:22;3261:61;:::i;:::-;3251:71;3055:273;-1:-1:-1;;;;3055:273:1:o;3333:1204::-;3451:6;3459;3512:2;3500:9;3491:7;3487:23;3483:32;3480:2;;;3533:6;3525;3518:22;3480:2;3578:9;3565:23;3607:18;3648:2;3640:6;3637:14;3634:2;;;3669:6;3661;3654:22;3634:2;3697:61;3750:7;3741:6;3730:9;3726:22;3697:61;:::i;:::-;3687:71;;3777:2;3767:12;;3832:2;3821:9;3817:18;3804:32;3861:2;3851:8;3848:16;3845:2;;;3882:6;3874;3867:22;3845:2;3910:24;;;-1:-1:-1;3965:4:1;3957:13;;3953:27;-1:-1:-1;3943:2:1;;3999:6;3991;3984:22;3943:2;4040;4027:16;4063:60;4079:43;4119:2;4079:43;:::i;4063:60::-;4145:3;4169:2;4164:3;4157:15;4197:2;4192:3;4188:12;4181:19;;4228:2;4224;4220:11;4276:7;4271:2;4265;4262:1;4258:10;4254:2;4250:19;4246:28;4243:41;4240:2;;;4302:6;4294;4287:22;4240:2;4329:6;4320:15;;4344:163;4358:2;4355:1;4352:9;4344:163;;;4415:17;;4403:30;;4376:1;4369:9;;;;;4453:12;;;;4485;;4344:163;;;4348:3;4526:5;4516:15;;;;;;;3470:1067;;;;;:::o;4542:190::-;4601:6;4654:2;4642:9;4633:7;4629:23;4625:32;4622:2;;;4675:6;4667;4660:22;4622:2;-1:-1:-1;4703:23:1;;4612:120;-1:-1:-1;4612:120:1:o;4737:395::-;4823:6;4831;4839;4847;4900:3;4888:9;4879:7;4875:23;4871:33;4868:2;;;4922:6;4914;4907:22;4868:2;-1:-1:-1;;4950:23:1;;;5020:2;5005:18;;4992:32;;-1:-1:-1;5071:2:1;5056:18;;5043:32;;5122:2;5107:18;5094:32;;-1:-1:-1;4858:274:1;-1:-1:-1;4858:274:1:o;6520:603::-;6632:4;6661:2;6690;6679:9;6672:21;6722:6;6716:13;6765:6;6760:2;6749:9;6745:18;6738:34;6790:4;6803:140;6817:6;6814:1;6811:13;6803:140;;;6912:14;;;6908:23;;6902:30;6878:17;;;6897:2;6874:26;6867:66;6832:10;;6803:140;;;6961:6;6958:1;6955:13;6952:2;;;7031:4;7026:2;7017:6;7006:9;7002:22;6998:31;6991:45;6952:2;-1:-1:-1;7107:2:1;7086:15;-1:-1:-1;;7082:29:1;7067:45;;;;7114:2;7063:54;;6641:482;-1:-1:-1;;;6641:482:1:o;12177:356::-;12379:2;12361:21;;;12398:18;;;12391:30;12457:34;12452:2;12437:18;;12430:62;12524:2;12509:18;;12351:182::o;15651:983::-;15913:4;15961:3;15950:9;15946:19;15992:6;15981:9;15974:25;16018:2;16056:6;16051:2;16040:9;16036:18;16029:34;16099:3;16094:2;16083:9;16079:18;16072:31;16123:6;16158;16152:13;16189:6;16181;16174:22;16227:3;16216:9;16212:19;16205:26;;16266:2;16258:6;16254:15;16240:29;;16287:4;16300:195;16314:6;16311:1;16308:13;16300:195;;;16379:13;;-1:-1:-1;;;;;16375:39:1;16363:52;;16470:15;;;;16435:12;;;;16411:1;16329:9;16300:195;;;-1:-1:-1;;;;;;;16551:32:1;;;;16546:2;16531:18;;16524:60;-1:-1:-1;;;16615:3:1;16600:19;16593:35;16512:3;15922:712;-1:-1:-1;;;15922:712:1:o;16828:275::-;16899:2;16893:9;16964:2;16945:13;;-1:-1:-1;;16941:27:1;16929:40;;16999:18;16984:34;;17020:22;;;16981:62;16978:2;;;17046:18;;:::i;:::-;17082:2;17075:22;16873:230;;-1:-1:-1;16873:230:1:o;17108:183::-;17168:4;17201:18;17193:6;17190:30;17187:2;;;17223:18;;:::i;:::-;-1:-1:-1;17268:1:1;17264:14;17280:4;17260:25;;17177:114::o;17296:128::-;17336:3;17367:1;17363:6;17360:1;17357:13;17354:2;;;17373:18;;:::i;:::-;-1:-1:-1;17409:9:1;;17344:80::o;17429:217::-;17469:1;17495;17485:2;;-1:-1:-1;;;17520:31:1;;17574:4;17571:1;17564:15;17602:4;17527:1;17592:15;17485:2;-1:-1:-1;17631:9:1;;17475:171::o;17651:168::-;17691:7;17757:1;17753;17749:6;17745:14;17742:1;17739:21;17734:1;17727:9;17720:17;17716:45;17713:2;;;17764:18;;:::i;:::-;-1:-1:-1;17804:9:1;;17703:116::o;17824:125::-;17864:4;17892:1;17889;17886:8;17883:2;;;17897:18;;:::i;:::-;-1:-1:-1;17934:9:1;;17873:76::o;17954:135::-;17993:3;-1:-1:-1;;18014:17:1;;18011:2;;;18034:18;;:::i;:::-;-1:-1:-1;18081:1:1;18070:13;;18001:88::o;18094:127::-;18155:10;18150:3;18146:20;18143:1;18136:31;18186:4;18183:1;18176:15;18210:4;18207:1;18200:15;18226:127;18287:10;18282:3;18278:20;18275:1;18268:31;18318:4;18315:1;18308:15;18342:4;18339:1;18332:15;18358:131;-1:-1:-1;;;;;18433:31:1;;18423:42;;18413:2;;18479:1;18476;18469:12

Swarm Source

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