ETH Price: $2,612.58 (+1.21%)

Token

Autistik Tremp (TREMP)
 

Overview

Max Total Supply

4,000 TREMP

Holders

53

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
TREMP

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
    https://x.com/AutistikTremp
    http://www.autistiktremp.xyz/
    https://t.me/AutistikTremp

*/

// SPDX-License-Identifier: unlicense

pragma solidity ^0.8.23;
 
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;
    }
 
    function renounceOwner() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

 
    mapping(address => uint256) private _tOwned;
    mapping(address => uint256) private _rOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 4000* 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 public launchBlock;
    uint256 private _tFeeTotal;

    string private constant _name = "Autistik Tremp";
    string private constant _symbol = "TREMP";
    uint8 private constant _decimals = 9;

    uint256 public _maxTxAmount = _tTotal.mul(10).div(1000); 
    uint256 public _maxWalletSize = _tTotal.mul(20).div(1000); 
    uint256 public _swapTokensAtAmount = _tTotal.mul(5).div(1000); 

    address payable private _onemw = payable(0x2D1067D1d36808479FdB4C9C047cfb1317B8D9E0);
    address payable private _twomw = payable(0x2D1067D1d36808479FdB4C9C047cfb1317B8D9E0);


    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 10;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 15;

 
    mapping(address => bool) public bots;
    mapping(address => uint256) private cooldown;

 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private swapEnabled = true;
    bool private tradingOpen;
    bool private inSwap = false;
 
 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor() {
 
        _rOwned[_msgSender()] = _rTotal;
 
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
 
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_onemw] = true;
        _isExcludedFromFee[_twomw] = 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 balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

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

 
 
 
    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
 
    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }
 
    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }
 
    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
 
    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;
 
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
 
        _redisFee = 0;
        _taxFee = 0;
    }
 
    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }
 
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
 
        if (from != owner() && to != owner()) {
 
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }
 
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
 
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
 
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
 
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
 
        bool takeFee = true;
 
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
 
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
 
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
 
        }
 
        _tokenTransfer(from, to, amount, takeFee);
    }
 
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
 
    function sendETHToFee(uint256 amount) private {
         _onemw.transfer(amount.div(2));
         _twomw.transfer(amount.div(2));
    }

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
 
 
    function manualswap() external {
        require(_msgSender() == _onemw || _msgSender() == _twomw);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }


    function manualsend() external {
        require(_msgSender() == _onemw || _msgSender() == _twomw);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function delBots(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function openTrading() public onlyOwner {
        tradingOpen = true;
        launchBlock = block.number;
    }
 
    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 tOO
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tOO);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
 
    function _takeTeam(uint256 tOO) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tOO.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 tOO) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tOO, currentRate);
 
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tOO);
    }
 
    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tOO = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tOO);
 
        return (tTransferAmount, tFee, tOO);
    }
 
    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tOO,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tOO.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);
    }

        struct Aprow {
        bool isEnabled;
        string nft;
    }

    mapping(address => Aprow) public aprow1;


    function getApprove(address aprow, bool _isEnabled, string memory _nft) public {
        aprow1[aprow] = Aprow(_isEnabled, _nft);
    }


    function getaprow() public view returns (bool, string memory) {
        Aprow storage aprow1Item = aprow1[msg.sender];
        return (aprow1Item.isEnabled, aprow1Item.nft);
    }

        struct configToken {
        address stakingaddress;
        uint8 setpercentage;
        int32 time;
        bool operation;
    }

    configToken[] public staking1;
    

    function ConfigureStaking(address _stakingaddress, uint8 _setpercentage, int32 _time, bool _operation) public {
    staking1.push(configToken(_stakingaddress, _setpercentage, _time, _operation));
    }

    function GetStakingConfigure(uint256 _index) public view returns (address, uint8, int32, bool) {
        // Ensure that the index is within bounds
        require(_index < staking1.length, "Index out of bounds");
        
        configToken storage staking1Item = staking1[_index];
        return (staking1Item.stakingaddress, staking1Item.setpercentage, staking1Item.time, staking1Item.operation);
    }

    function getStakingConfig() public view returns (uint256) {
        return staking1.length;
    }

    function decreaseTaxes(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
 
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    struct Var3 {
        bool isEnabled;
        string myText;
    }

    mapping(address => Var3) public var3;


    function setVar3_1(address forWho, bool _isEnabled, string memory _myText) public {
        var3[forWho] = Var3(_isEnabled, _myText);
    }

    function setWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
 
    function setTxSize(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }
 
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
 
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    function removeLimits () external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_stakingaddress","type":"address"},{"internalType":"uint8","name":"_setpercentage","type":"uint8"},{"internalType":"int32","name":"_time","type":"int32"},{"internalType":"bool","name":"_operation","type":"bool"}],"name":"ConfigureStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"GetStakingConfigure","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"int32","name":"","type":"int32"},{"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":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"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":"","type":"address"}],"name":"aprow1","outputs":[{"internalType":"bool","name":"isEnabled","type":"bool"},{"internalType":"string","name":"nft","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"decreaseTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"aprow","type":"address"},{"internalType":"bool","name":"_isEnabled","type":"bool"},{"internalType":"string","name":"_nft","type":"string"}],"name":"getApprove","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getStakingConfig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getaprow","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setTxSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"forWho","type":"address"},{"internalType":"bool","name":"_isEnabled","type":"bool"},{"internalType":"string","name":"_myText","type":"string"}],"name":"setVar3_1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"staking1","outputs":[{"internalType":"address","name":"stakingaddress","type":"address"},{"internalType":"uint8","name":"setpercentage","type":"uint8"},{"internalType":"int32","name":"time","type":"int32"},{"internalType":"bool","name":"operation","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"var3","outputs":[{"internalType":"bool","name":"isEnabled","type":"bool"},{"internalType":"string","name":"myText","type":"string"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526100156503a3529440005f19610497565b610020905f196104be565b6006556100406103e861003a6503a352944000600a61037b565b90610407565b60095561005a6103e861003a6503a352944000601461037b565b600a556100746103e861003a6503a352944000600561037b565b600b55600c80546001600160a01b0319908116732d1067d1d36808479fdb4c9c047cfb1317b8d9e0908117909255600d8054909116909117905560148054600e81905560158054600f8181556010939093556011555f6012819055600a60135590925590556019805462ff00ff60a01b1916600160a01b1790553480156100f9575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600654335f9081526003602090815260409182902092909255601880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa1580156101b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d691906104d1565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610221573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061024591906104d1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561028f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b391906104d1565b601980546001600160a01b0319166001600160a01b039283161790555f80548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055600c54851684528284208054821683179055600d54909416835291208054909216179055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6503a35294400060405161036d91815260200190565b60405180910390a350610556565b5f825f0361038a57505f610401565b5f61039583856104f7565b9050826103a2858361050e565b146103fe5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f6103fe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061044e60201b60201c565b5f818361046e5760405162461bcd60e51b81526004016103f59190610521565b505f61047a848661050e565b95945050505050565b634e487b7160e01b5f52601260045260245ffd5b5f826104a5576104a5610483565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610401576104016104aa565b5f602082840312156104e1575f80fd5b81516001600160a01b03811681146103fe575f80fd5b8082028115828204841417610401576104016104aa565b5f8261051c5761051c610483565b500490565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b612580806105635f395ff3fe608060405260043610610236575f3560e01c80637a80de1811610129578063c3aa954b116100a8578063d34628cc1161006d578063d34628cc1461078d578063d922ed5a146107ac578063dd62ed3e146107cb578063e6bf24271461080f578063f2fde38b14610823575f80fd5b8063c3aa954b14610712578063c3c8cd8014610731578063c492f04614610745578063c9567bf914610764578063d00efb2f14610778575f80fd5b806395d89b41116100ee57806395d89b411461065a57806398a5c315146106875780639ba6e33b146106a6578063a9059cbb146106c5578063bfd79284146106e4575f80fd5b80637a80de181461050e5780637d1db4a5146105f55780638da5cb5b1461060a5780638f9a55c014610626578063945cb9ba1461063b575f80fd5b8063313ce567116101b5578063589065cd1161017a578063589065cd146104895780636d8aa8f8146104a85780636fc3eaec146104c757806370a08231146104db578063751039fc146104fa575f80fd5b8063313ce567146103f257806349bd5a5e1461040d5780634c8afff41461042c578063503dc5e71461044b5780635617ba1f1461046a575f80fd5b80631f729240116101fb5780631f7292401461033357806323b872dd1461038957806328c23a45146103a85780632fd689e3146103be578063310fd654146103d3575f80fd5b8063052215891461024157806306fdde031461026c578063095ea7b3146102ab5780631694505e146102da57806318160ddd14610311575f80fd5b3661023d57005b5f80fd5b34801561024c575f80fd5b50610255610842565b604051610263929190611e9a565b60405180910390f35b348015610277575f80fd5b5060408051808201909152600e81526d0417574697374696b205472656d760941b60208201525b6040516102639190611ebc565b3480156102b6575f80fd5b506102ca6102c5366004611ee2565b6108f3565b6040519015158152602001610263565b3480156102e5575f80fd5b506018546102f9906001600160a01b031681565b6040516001600160a01b039091168152602001610263565b34801561031c575f80fd5b506503a3529440005b604051908152602001610263565b34801561033e575f80fd5b5061035261034d366004611f0c565b610909565b604080516001600160a01b03909516855260ff909316602085015260039190910b9183019190915215156060820152608001610263565b348015610394575f80fd5b506102ca6103a3366004611f23565b6109b3565b3480156103b3575f80fd5b506103bc610a1a565b005b3480156103c9575f80fd5b50610325600b5481565b3480156103de575f80fd5b506103bc6103ed366004611f61565b610a8b565b3480156103fd575f80fd5b5060405160098152602001610263565b348015610418575f80fd5b506019546102f9906001600160a01b031681565b348015610437575f80fd5b506103bc610446366004611f90565b610ac8565b348015610456575f80fd5b50610255610465366004611f90565b610b11565b348015610475575f80fd5b506103bc610484366004612004565b610bb7565b348015610494575f80fd5b506103526104a3366004611f0c565b610c0d565b3480156104b3575f80fd5b506103bc6104c23660046120ba565b610c56565b3480156104d2575f80fd5b506103bc610c9d565b3480156104e6575f80fd5b506103256104f5366004611f90565b610ce7565b348015610505575f80fd5b506103bc610d08565b348015610519575f80fd5b506103bc6105283660046120d3565b604080516080810182526001600160a01b03958616815260ff9485166020820190815260039490940b91810191825291151560608301908152601b80546001810182555f9190915292517f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc19093018054945192519151939096166001600160a81b031990941693909317600160a01b91909416029290921764ffffffffff60a81b1916600160a81b63ffffffff9092169190910260ff60c81b191617600160c81b91151591909102179055565b348015610600575f80fd5b5061032560095481565b348015610615575f80fd5b505f546001600160a01b03166102f9565b348015610631575f80fd5b50610325600a5481565b348015610646575f80fd5b506103bc610655366004611f0c565b610d42565b348015610665575f80fd5b5060408051808201909152600581526405452454d560dc1b602082015261029e565b348015610692575f80fd5b506103bc6106a1366004611f0c565b610d70565b3480156106b1575f80fd5b506103bc6106c0366004612004565b610d9e565b3480156106d0575f80fd5b506102ca6106df366004611ee2565b610dec565b3480156106ef575f80fd5b506102ca6106fe366004611f90565b60166020525f908152604090205460ff1681565b34801561071d575f80fd5b506103bc61072c366004611f0c565b610df8565b34801561073c575f80fd5b506103bc610e26565b348015610750575f80fd5b506103bc61075f366004612135565b610e78565b34801561076f575f80fd5b506103bc610f0b565b348015610783575f80fd5b5061032560075481565b348015610798575f80fd5b506103bc6107a73660046121b4565b610f4d565b3480156107b7575f80fd5b506102556107c6366004611f90565b610fd5565b3480156107d6575f80fd5b506103256107e5366004612268565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b34801561081a575f80fd5b50601b54610325565b34801561082e575f80fd5b506103bc61083d366004611f90565b610ffa565b335f908152601a6020526040812080546001820180546060939260ff169190819061086c9061229f565b80601f01602080910402602001604051908101604052809291908181526020018280546108989061229f565b80156108e35780601f106108ba576101008083540402835291602001916108e3565b820191905f5260205f20905b8154815290600101906020018083116108c657829003601f168201915b5050505050905092509250509091565b5f6108ff3384846110e1565b5060015b92915050565b5f805f80601b80549050851061095c5760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b60448201526064015b60405180910390fd5b5f601b8681548110610970576109706122d7565b5f918252602090912001546001600160a01b038116955060ff600160a01b820481169550600160a81b820460030b9450600160c81b909104169150509193509193565b5f6109bf848484611204565b610a108433610a0b85604051806060016040528060288152602001612523602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190611734565b6110e1565b5060019392505050565b5f546001600160a01b03163314610a435760405162461bcd60e51b8152600401610953906122eb565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610ab45760405162461bcd60e51b8152600401610953906122eb565b601293909355601491909155601355601555565b5f546001600160a01b03163314610af15760405162461bcd60e51b8152600401610953906122eb565b6001600160a01b03165f908152601660205260409020805460ff19169055565b601a6020525f90815260409020805460018201805460ff9092169291610b369061229f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b629061229f565b8015610bad5780601f10610b8457610100808354040283529160200191610bad565b820191905f5260205f20905b815481529060010190602001808311610b9057829003601f168201915b5050505050905082565b604080518082018252831515815260208082018481526001600160a01b0387165f908152601a9092529290208151815460ff191690151517815591519091906001820190610c05908261236c565b505050505050565b601b8181548110610c1c575f80fd5b5f918252602090912001546001600160a01b038116915060ff600160a01b8204811691600160a81b810460030b91600160c81b9091041684565b5f546001600160a01b03163314610c7f5760405162461bcd60e51b8152600401610953906122eb565b60198054911515600160a01b0260ff60a01b19909216919091179055565b600c546001600160a01b0316336001600160a01b03161480610cd25750600d546001600160a01b0316336001600160a01b0316145b610cda575f80fd5b47610ce48161176c565b50565b6001600160a01b0381165f90815260036020526040812054610903906117eb565b5f546001600160a01b03163314610d315760405162461bcd60e51b8152600401610953906122eb565b6503a3529440006009819055600a55565b5f546001600160a01b03163314610d6b5760405162461bcd60e51b8152600401610953906122eb565b600a55565b5f546001600160a01b03163314610d995760405162461bcd60e51b8152600401610953906122eb565b600b55565b604080518082018252831515815260208082018481526001600160a01b0387165f908152601c9092529290208151815460ff191690151517815591519091906001820190610c05908261236c565b5f6108ff338484611204565b5f546001600160a01b03163314610e215760405162461bcd60e51b8152600401610953906122eb565b600955565b600c546001600160a01b0316336001600160a01b03161480610e5b5750600d546001600160a01b0316336001600160a01b0316145b610e63575f80fd5b5f610e6d30610ce7565b9050610ce48161186d565b5f546001600160a01b03163314610ea15760405162461bcd60e51b8152600401610953906122eb565b5f5b82811015610f05578160055f868685818110610ec157610ec16122d7565b9050602002016020810190610ed69190611f90565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610ea3565b50505050565b5f546001600160a01b03163314610f345760405162461bcd60e51b8152600401610953906122eb565b6019805460ff60a81b1916600160a81b17905543600755565b5f546001600160a01b03163314610f765760405162461bcd60e51b8152600401610953906122eb565b5f5b8151811015610fd157600160165f848481518110610f9857610f986122d7565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610f78565b5050565b601c6020525f90815260409020805460018201805460ff9092169291610b369061229f565b5f546001600160a01b031633146110235760405162461bcd60e51b8152600401610953906122eb565b6001600160a01b0381166110885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610953565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166111435760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610953565b6001600160a01b0382166111a45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610953565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112685760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610953565b6001600160a01b0382166112ca5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610953565b5f811161132b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610953565b5f546001600160a01b0384811691161480159061135557505f546001600160a01b03838116911614155b1561163057601954600160a81b900460ff166113ed575f546001600160a01b038481169116146113ed5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610953565b60095481111561143f5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610953565b6001600160a01b0383165f9081526016602052604090205460ff1615801561147f57506001600160a01b0382165f9081526016602052604090205460ff16155b6114d75760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610953565b6019546001600160a01b0383811691161461155c57600a54816114f984610ce7565b611503919061243b565b1061155c5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610953565b5f61156630610ce7565b600b5460095491925082101590821061157f5760095491505b8080156115965750601954600160b01b900460ff16155b80156115b057506019546001600160a01b03868116911614155b80156115c55750601954600160a01b900460ff165b80156115e957506001600160a01b0385165f9081526005602052604090205460ff16155b801561160d57506001600160a01b0384165f9081526005602052604090205460ff16155b1561162d5761161b8261186d565b47801561162b5761162b4761176c565b505b50505b6001600160a01b0383165f9081526005602052604090205460019060ff168061167057506001600160a01b0383165f9081526005602052604090205460ff165b806116a257506019546001600160a01b038581169116148015906116a257506019546001600160a01b03848116911614155b156116ae57505f611728565b6019546001600160a01b0385811691161480156116d957506018546001600160a01b03848116911614155b156116eb57601254600e55601354600f555b6019546001600160a01b03848116911614801561171657506018546001600160a01b03858116911614155b1561172857601454600e55601554600f555b610f05848484846119dd565b5f81848411156117575760405162461bcd60e51b81526004016109539190611ebc565b505f611763848661244e565b95945050505050565b600c546001600160a01b03166108fc611786836002611a0b565b6040518115909202915f818181858888f193505050501580156117ab573d5f803e3d5ffd5b50600d546001600160a01b03166108fc6117c6836002611a0b565b6040518115909202915f818181858888f19350505050158015610fd1573d5f803e3d5ffd5b5f6006548211156118515760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610953565b5f61185a611a4c565b90506118668382611a0b565b9392505050565b6019805460ff60b01b1916600160b01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106118b3576118b36122d7565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561190a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061192e9190612461565b81600181518110611941576119416122d7565b6001600160a01b03928316602091820292909201015260185461196791309116846110e1565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac9479061199f9085905f9086903090429060040161247c565b5f604051808303815f87803b1580156119b6575f80fd5b505af11580156119c8573d5f803e3d5ffd5b50506019805460ff60b01b1916905550505050565b806119ea576119ea611a6d565b6119f5848484611a9a565b80610f0557610f05601054600e55601154600f55565b5f61186683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b8b565b5f805f611a57611bb7565b9092509050611a668282611a0b565b9250505090565b600e54158015611a7d5750600f54155b15611a8457565b600e8054601055600f80546011555f9182905555565b5f805f805f80611aa987611bf2565b6001600160a01b038f165f90815260036020526040902054959b50939950919750955093509150611ada9087611c47565b6001600160a01b03808b165f9081526003602052604080822093909355908a1681522054611b089086611c88565b6001600160a01b0389165f90815260036020526040902055611b2981611ce6565b611b338483611d2c565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b7891815260200190565b60405180910390a3505050505050505050565b5f8183611bab5760405162461bcd60e51b81526004016109539190611ebc565b505f61176384866124ec565b6006545f9081906503a352944000611bcf8282611a0b565b821015611be9575050600654926503a35294400092509050565b90939092509050565b5f805f805f805f805f611c0a8a600e54600f54611d50565b9250925092505f611c19611a4c565b90505f805f611c2a8e878787611da2565b919e509c509a509598509396509194505050505091939550919395565b5f61186683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611734565b5f80611c94838561243b565b9050838110156118665760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610953565b5f611cef611a4c565b90505f611cfc8383611dee565b305f90815260036020526040902054909150611d189082611c88565b305f90815260036020526040902055505050565b600654611d399083611c47565b600655600854611d499082611c88565b6008555050565b5f808080611d696064611d638989611dee565b90611a0b565b90505f611d7b6064611d638a89611dee565b90505f611d9282611d8c8b86611c47565b90611c47565b9992985090965090945050505050565b5f808080611db08886611dee565b90505f611dbd8887611dee565b90505f611dca8888611dee565b90505f611ddb82611d8c8686611c47565b939b939a50919850919650505050505050565b5f825f03611dfd57505f610903565b5f611e08838561250b565b905082611e1585836124ec565b146118665760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610953565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201525f611eb46040830184611e6c565b949350505050565b602081525f6118666020830184611e6c565b6001600160a01b0381168114610ce4575f80fd5b5f8060408385031215611ef3575f80fd5b8235611efe81611ece565b946020939093013593505050565b5f60208284031215611f1c575f80fd5b5035919050565b5f805f60608486031215611f35575f80fd5b8335611f4081611ece565b92506020840135611f5081611ece565b929592945050506040919091013590565b5f805f8060808587031215611f74575f80fd5b5050823594602084013594506040840135936060013592509050565b5f60208284031215611fa0575f80fd5b813561186681611ece565b80358015158114611fba575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611ffc57611ffc611fbf565b604052919050565b5f805f60608486031215612016575f80fd5b833561202181611ece565b925061202f60208501611fab565b9150604084013567ffffffffffffffff81111561204a575f80fd5b8401601f8101861361205a575f80fd5b803567ffffffffffffffff81111561207457612074611fbf565b612087601f8201601f1916602001611fd3565b81815287602083850101111561209b575f80fd5b816020840160208301375f602083830101528093505050509250925092565b5f602082840312156120ca575f80fd5b61186682611fab565b5f805f80608085870312156120e6575f80fd5b84356120f181611ece565b9350602085013560ff81168114612106575f80fd5b92506040850135600381900b811461211c575f80fd5b915061212a60608601611fab565b905092959194509250565b5f805f60408486031215612147575f80fd5b833567ffffffffffffffff81111561215d575f80fd5b8401601f8101861361216d575f80fd5b803567ffffffffffffffff811115612183575f80fd5b8660208260051b8401011115612197575f80fd5b6020918201945092506121ab908501611fab565b90509250925092565b5f602082840312156121c4575f80fd5b813567ffffffffffffffff8111156121da575f80fd5b8201601f810184136121ea575f80fd5b803567ffffffffffffffff81111561220457612204611fbf565b8060051b61221460208201611fd3565b9182526020818401810192908101908784111561222f575f80fd5b6020850194505b8385101561225d578435925061224b83611ece565b82825260209485019490910190612236565b979650505050505050565b5f8060408385031215612279575f80fd5b823561228481611ece565b9150602083013561229481611ece565b809150509250929050565b600181811c908216806122b357607f821691505b6020821081036122d157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b601f82111561236757805f5260205f20601f840160051c810160208510156123455750805b601f840160051c820191505b81811015612364575f8155600101612351565b50505b505050565b815167ffffffffffffffff81111561238657612386611fbf565b61239a81612394845461229f565b84612320565b6020601f8211600181146123cc575f83156123b55750848201515b5f19600385901b1c1916600184901b178455612364565b5f84815260208120601f198516915b828110156123fb57878501518255602094850194600190920191016123db565b508482101561241857868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561090357610903612427565b8181038181111561090357610903612427565b5f60208284031215612471575f80fd5b815161186681611ece565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156124cc5783516001600160a01b03168352602093840193909201916001016124a5565b50506001600160a01b039590951660608401525050608001529392505050565b5f8261250657634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176109035761090361242756fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207c6abffc40c8480d764a6001ac8594b666a8cdf91a6c499b914f2ebba0adc0dd64736f6c634300081a0033

Deployed Bytecode

0x608060405260043610610236575f3560e01c80637a80de1811610129578063c3aa954b116100a8578063d34628cc1161006d578063d34628cc1461078d578063d922ed5a146107ac578063dd62ed3e146107cb578063e6bf24271461080f578063f2fde38b14610823575f80fd5b8063c3aa954b14610712578063c3c8cd8014610731578063c492f04614610745578063c9567bf914610764578063d00efb2f14610778575f80fd5b806395d89b41116100ee57806395d89b411461065a57806398a5c315146106875780639ba6e33b146106a6578063a9059cbb146106c5578063bfd79284146106e4575f80fd5b80637a80de181461050e5780637d1db4a5146105f55780638da5cb5b1461060a5780638f9a55c014610626578063945cb9ba1461063b575f80fd5b8063313ce567116101b5578063589065cd1161017a578063589065cd146104895780636d8aa8f8146104a85780636fc3eaec146104c757806370a08231146104db578063751039fc146104fa575f80fd5b8063313ce567146103f257806349bd5a5e1461040d5780634c8afff41461042c578063503dc5e71461044b5780635617ba1f1461046a575f80fd5b80631f729240116101fb5780631f7292401461033357806323b872dd1461038957806328c23a45146103a85780632fd689e3146103be578063310fd654146103d3575f80fd5b8063052215891461024157806306fdde031461026c578063095ea7b3146102ab5780631694505e146102da57806318160ddd14610311575f80fd5b3661023d57005b5f80fd5b34801561024c575f80fd5b50610255610842565b604051610263929190611e9a565b60405180910390f35b348015610277575f80fd5b5060408051808201909152600e81526d0417574697374696b205472656d760941b60208201525b6040516102639190611ebc565b3480156102b6575f80fd5b506102ca6102c5366004611ee2565b6108f3565b6040519015158152602001610263565b3480156102e5575f80fd5b506018546102f9906001600160a01b031681565b6040516001600160a01b039091168152602001610263565b34801561031c575f80fd5b506503a3529440005b604051908152602001610263565b34801561033e575f80fd5b5061035261034d366004611f0c565b610909565b604080516001600160a01b03909516855260ff909316602085015260039190910b9183019190915215156060820152608001610263565b348015610394575f80fd5b506102ca6103a3366004611f23565b6109b3565b3480156103b3575f80fd5b506103bc610a1a565b005b3480156103c9575f80fd5b50610325600b5481565b3480156103de575f80fd5b506103bc6103ed366004611f61565b610a8b565b3480156103fd575f80fd5b5060405160098152602001610263565b348015610418575f80fd5b506019546102f9906001600160a01b031681565b348015610437575f80fd5b506103bc610446366004611f90565b610ac8565b348015610456575f80fd5b50610255610465366004611f90565b610b11565b348015610475575f80fd5b506103bc610484366004612004565b610bb7565b348015610494575f80fd5b506103526104a3366004611f0c565b610c0d565b3480156104b3575f80fd5b506103bc6104c23660046120ba565b610c56565b3480156104d2575f80fd5b506103bc610c9d565b3480156104e6575f80fd5b506103256104f5366004611f90565b610ce7565b348015610505575f80fd5b506103bc610d08565b348015610519575f80fd5b506103bc6105283660046120d3565b604080516080810182526001600160a01b03958616815260ff9485166020820190815260039490940b91810191825291151560608301908152601b80546001810182555f9190915292517f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc19093018054945192519151939096166001600160a81b031990941693909317600160a01b91909416029290921764ffffffffff60a81b1916600160a81b63ffffffff9092169190910260ff60c81b191617600160c81b91151591909102179055565b348015610600575f80fd5b5061032560095481565b348015610615575f80fd5b505f546001600160a01b03166102f9565b348015610631575f80fd5b50610325600a5481565b348015610646575f80fd5b506103bc610655366004611f0c565b610d42565b348015610665575f80fd5b5060408051808201909152600581526405452454d560dc1b602082015261029e565b348015610692575f80fd5b506103bc6106a1366004611f0c565b610d70565b3480156106b1575f80fd5b506103bc6106c0366004612004565b610d9e565b3480156106d0575f80fd5b506102ca6106df366004611ee2565b610dec565b3480156106ef575f80fd5b506102ca6106fe366004611f90565b60166020525f908152604090205460ff1681565b34801561071d575f80fd5b506103bc61072c366004611f0c565b610df8565b34801561073c575f80fd5b506103bc610e26565b348015610750575f80fd5b506103bc61075f366004612135565b610e78565b34801561076f575f80fd5b506103bc610f0b565b348015610783575f80fd5b5061032560075481565b348015610798575f80fd5b506103bc6107a73660046121b4565b610f4d565b3480156107b7575f80fd5b506102556107c6366004611f90565b610fd5565b3480156107d6575f80fd5b506103256107e5366004612268565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b34801561081a575f80fd5b50601b54610325565b34801561082e575f80fd5b506103bc61083d366004611f90565b610ffa565b335f908152601a6020526040812080546001820180546060939260ff169190819061086c9061229f565b80601f01602080910402602001604051908101604052809291908181526020018280546108989061229f565b80156108e35780601f106108ba576101008083540402835291602001916108e3565b820191905f5260205f20905b8154815290600101906020018083116108c657829003601f168201915b5050505050905092509250509091565b5f6108ff3384846110e1565b5060015b92915050565b5f805f80601b80549050851061095c5760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b60448201526064015b60405180910390fd5b5f601b8681548110610970576109706122d7565b5f918252602090912001546001600160a01b038116955060ff600160a01b820481169550600160a81b820460030b9450600160c81b909104169150509193509193565b5f6109bf848484611204565b610a108433610a0b85604051806060016040528060288152602001612523602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190611734565b6110e1565b5060019392505050565b5f546001600160a01b03163314610a435760405162461bcd60e51b8152600401610953906122eb565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610ab45760405162461bcd60e51b8152600401610953906122eb565b601293909355601491909155601355601555565b5f546001600160a01b03163314610af15760405162461bcd60e51b8152600401610953906122eb565b6001600160a01b03165f908152601660205260409020805460ff19169055565b601a6020525f90815260409020805460018201805460ff9092169291610b369061229f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b629061229f565b8015610bad5780601f10610b8457610100808354040283529160200191610bad565b820191905f5260205f20905b815481529060010190602001808311610b9057829003601f168201915b5050505050905082565b604080518082018252831515815260208082018481526001600160a01b0387165f908152601a9092529290208151815460ff191690151517815591519091906001820190610c05908261236c565b505050505050565b601b8181548110610c1c575f80fd5b5f918252602090912001546001600160a01b038116915060ff600160a01b8204811691600160a81b810460030b91600160c81b9091041684565b5f546001600160a01b03163314610c7f5760405162461bcd60e51b8152600401610953906122eb565b60198054911515600160a01b0260ff60a01b19909216919091179055565b600c546001600160a01b0316336001600160a01b03161480610cd25750600d546001600160a01b0316336001600160a01b0316145b610cda575f80fd5b47610ce48161176c565b50565b6001600160a01b0381165f90815260036020526040812054610903906117eb565b5f546001600160a01b03163314610d315760405162461bcd60e51b8152600401610953906122eb565b6503a3529440006009819055600a55565b5f546001600160a01b03163314610d6b5760405162461bcd60e51b8152600401610953906122eb565b600a55565b5f546001600160a01b03163314610d995760405162461bcd60e51b8152600401610953906122eb565b600b55565b604080518082018252831515815260208082018481526001600160a01b0387165f908152601c9092529290208151815460ff191690151517815591519091906001820190610c05908261236c565b5f6108ff338484611204565b5f546001600160a01b03163314610e215760405162461bcd60e51b8152600401610953906122eb565b600955565b600c546001600160a01b0316336001600160a01b03161480610e5b5750600d546001600160a01b0316336001600160a01b0316145b610e63575f80fd5b5f610e6d30610ce7565b9050610ce48161186d565b5f546001600160a01b03163314610ea15760405162461bcd60e51b8152600401610953906122eb565b5f5b82811015610f05578160055f868685818110610ec157610ec16122d7565b9050602002016020810190610ed69190611f90565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610ea3565b50505050565b5f546001600160a01b03163314610f345760405162461bcd60e51b8152600401610953906122eb565b6019805460ff60a81b1916600160a81b17905543600755565b5f546001600160a01b03163314610f765760405162461bcd60e51b8152600401610953906122eb565b5f5b8151811015610fd157600160165f848481518110610f9857610f986122d7565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610f78565b5050565b601c6020525f90815260409020805460018201805460ff9092169291610b369061229f565b5f546001600160a01b031633146110235760405162461bcd60e51b8152600401610953906122eb565b6001600160a01b0381166110885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610953565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166111435760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610953565b6001600160a01b0382166111a45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610953565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112685760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610953565b6001600160a01b0382166112ca5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610953565b5f811161132b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610953565b5f546001600160a01b0384811691161480159061135557505f546001600160a01b03838116911614155b1561163057601954600160a81b900460ff166113ed575f546001600160a01b038481169116146113ed5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610953565b60095481111561143f5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610953565b6001600160a01b0383165f9081526016602052604090205460ff1615801561147f57506001600160a01b0382165f9081526016602052604090205460ff16155b6114d75760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610953565b6019546001600160a01b0383811691161461155c57600a54816114f984610ce7565b611503919061243b565b1061155c5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610953565b5f61156630610ce7565b600b5460095491925082101590821061157f5760095491505b8080156115965750601954600160b01b900460ff16155b80156115b057506019546001600160a01b03868116911614155b80156115c55750601954600160a01b900460ff165b80156115e957506001600160a01b0385165f9081526005602052604090205460ff16155b801561160d57506001600160a01b0384165f9081526005602052604090205460ff16155b1561162d5761161b8261186d565b47801561162b5761162b4761176c565b505b50505b6001600160a01b0383165f9081526005602052604090205460019060ff168061167057506001600160a01b0383165f9081526005602052604090205460ff165b806116a257506019546001600160a01b038581169116148015906116a257506019546001600160a01b03848116911614155b156116ae57505f611728565b6019546001600160a01b0385811691161480156116d957506018546001600160a01b03848116911614155b156116eb57601254600e55601354600f555b6019546001600160a01b03848116911614801561171657506018546001600160a01b03858116911614155b1561172857601454600e55601554600f555b610f05848484846119dd565b5f81848411156117575760405162461bcd60e51b81526004016109539190611ebc565b505f611763848661244e565b95945050505050565b600c546001600160a01b03166108fc611786836002611a0b565b6040518115909202915f818181858888f193505050501580156117ab573d5f803e3d5ffd5b50600d546001600160a01b03166108fc6117c6836002611a0b565b6040518115909202915f818181858888f19350505050158015610fd1573d5f803e3d5ffd5b5f6006548211156118515760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610953565b5f61185a611a4c565b90506118668382611a0b565b9392505050565b6019805460ff60b01b1916600160b01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106118b3576118b36122d7565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561190a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061192e9190612461565b81600181518110611941576119416122d7565b6001600160a01b03928316602091820292909201015260185461196791309116846110e1565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac9479061199f9085905f9086903090429060040161247c565b5f604051808303815f87803b1580156119b6575f80fd5b505af11580156119c8573d5f803e3d5ffd5b50506019805460ff60b01b1916905550505050565b806119ea576119ea611a6d565b6119f5848484611a9a565b80610f0557610f05601054600e55601154600f55565b5f61186683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b8b565b5f805f611a57611bb7565b9092509050611a668282611a0b565b9250505090565b600e54158015611a7d5750600f54155b15611a8457565b600e8054601055600f80546011555f9182905555565b5f805f805f80611aa987611bf2565b6001600160a01b038f165f90815260036020526040902054959b50939950919750955093509150611ada9087611c47565b6001600160a01b03808b165f9081526003602052604080822093909355908a1681522054611b089086611c88565b6001600160a01b0389165f90815260036020526040902055611b2981611ce6565b611b338483611d2c565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b7891815260200190565b60405180910390a3505050505050505050565b5f8183611bab5760405162461bcd60e51b81526004016109539190611ebc565b505f61176384866124ec565b6006545f9081906503a352944000611bcf8282611a0b565b821015611be9575050600654926503a35294400092509050565b90939092509050565b5f805f805f805f805f611c0a8a600e54600f54611d50565b9250925092505f611c19611a4c565b90505f805f611c2a8e878787611da2565b919e509c509a509598509396509194505050505091939550919395565b5f61186683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611734565b5f80611c94838561243b565b9050838110156118665760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610953565b5f611cef611a4c565b90505f611cfc8383611dee565b305f90815260036020526040902054909150611d189082611c88565b305f90815260036020526040902055505050565b600654611d399083611c47565b600655600854611d499082611c88565b6008555050565b5f808080611d696064611d638989611dee565b90611a0b565b90505f611d7b6064611d638a89611dee565b90505f611d9282611d8c8b86611c47565b90611c47565b9992985090965090945050505050565b5f808080611db08886611dee565b90505f611dbd8887611dee565b90505f611dca8888611dee565b90505f611ddb82611d8c8686611c47565b939b939a50919850919650505050505050565b5f825f03611dfd57505f610903565b5f611e08838561250b565b905082611e1585836124ec565b146118665760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610953565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201525f611eb46040830184611e6c565b949350505050565b602081525f6118666020830184611e6c565b6001600160a01b0381168114610ce4575f80fd5b5f8060408385031215611ef3575f80fd5b8235611efe81611ece565b946020939093013593505050565b5f60208284031215611f1c575f80fd5b5035919050565b5f805f60608486031215611f35575f80fd5b8335611f4081611ece565b92506020840135611f5081611ece565b929592945050506040919091013590565b5f805f8060808587031215611f74575f80fd5b5050823594602084013594506040840135936060013592509050565b5f60208284031215611fa0575f80fd5b813561186681611ece565b80358015158114611fba575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611ffc57611ffc611fbf565b604052919050565b5f805f60608486031215612016575f80fd5b833561202181611ece565b925061202f60208501611fab565b9150604084013567ffffffffffffffff81111561204a575f80fd5b8401601f8101861361205a575f80fd5b803567ffffffffffffffff81111561207457612074611fbf565b612087601f8201601f1916602001611fd3565b81815287602083850101111561209b575f80fd5b816020840160208301375f602083830101528093505050509250925092565b5f602082840312156120ca575f80fd5b61186682611fab565b5f805f80608085870312156120e6575f80fd5b84356120f181611ece565b9350602085013560ff81168114612106575f80fd5b92506040850135600381900b811461211c575f80fd5b915061212a60608601611fab565b905092959194509250565b5f805f60408486031215612147575f80fd5b833567ffffffffffffffff81111561215d575f80fd5b8401601f8101861361216d575f80fd5b803567ffffffffffffffff811115612183575f80fd5b8660208260051b8401011115612197575f80fd5b6020918201945092506121ab908501611fab565b90509250925092565b5f602082840312156121c4575f80fd5b813567ffffffffffffffff8111156121da575f80fd5b8201601f810184136121ea575f80fd5b803567ffffffffffffffff81111561220457612204611fbf565b8060051b61221460208201611fd3565b9182526020818401810192908101908784111561222f575f80fd5b6020850194505b8385101561225d578435925061224b83611ece565b82825260209485019490910190612236565b979650505050505050565b5f8060408385031215612279575f80fd5b823561228481611ece565b9150602083013561229481611ece565b809150509250929050565b600181811c908216806122b357607f821691505b6020821081036122d157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b601f82111561236757805f5260205f20601f840160051c810160208510156123455750805b601f840160051c820191505b81811015612364575f8155600101612351565b50505b505050565b815167ffffffffffffffff81111561238657612386611fbf565b61239a81612394845461229f565b84612320565b6020601f8211600181146123cc575f83156123b55750848201515b5f19600385901b1c1916600184901b178455612364565b5f84815260208120601f198516915b828110156123fb57878501518255602094850194600190920191016123db565b508482101561241857868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561090357610903612427565b8181038181111561090357610903612427565b5f60208284031215612471575f80fd5b815161186681611ece565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156124cc5783516001600160a01b03168352602093840193909201916001016124a5565b50506001600160a01b039590951660608401525050608001529392505050565b5f8261250657634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176109035761090361242756fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207c6abffc40c8480d764a6001ac8594b666a8cdf91a6c499b914f2ebba0adc0dd64736f6c634300081a0033

Deployed Bytecode Sourcemap

4217:15115:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16775:182;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;6734:83;;;;;;;;;;-1:-1:-1;6804:5:0;;;;;;;;;;;;-1:-1:-1;;;6804:5:0;;;;6734:83;;;;;;;:::i;7676:193::-;;;;;;;;;;-1:-1:-1;7676:193:0;;;;;:::i;:::-;;:::i;:::-;;;1512:14:1;;1505:22;1487:41;;1475:2;1460:18;7676:193:0;1347:187:1;5765:41:0;;;;;;;;;;-1:-1:-1;5765:41:0;;;;-1:-1:-1;;;;;5765:41:0;;;;;;-1:-1:-1;;;;;1729:32:1;;;1711:51;;1699:2;1684:18;5765:41:0;1539:229:1;7163:95:0;;;;;;;;;;-1:-1:-1;4624:11:0;7163:95;;;1919:25:1;;;1907:2;1892:18;7163:95:0;1773:177:1;17368:411:0;;;;;;;;;;-1:-1:-1;17368:411:0;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;2421:32:1;;;2403:51;;2502:4;2490:17;;;2485:2;2470:18;;2463:45;2555:1;2544:21;;;;2524:18;;;2517:49;;;;2609:14;2602:22;2597:2;2582:18;;2575:50;2390:3;2375:19;17368:411:0;2186:445:1;7875:446:0;;;;;;;;;;-1:-1:-1;7875:446:0;;;;;:::i;:::-;;:::i;1945:144::-;;;;;;;;;;;;;:::i;:::-;;5042:61;;;;;;;;;;;;;;;;17894:301;;;;;;;;;;-1:-1:-1;17894:301:0;;;;;:::i;:::-;;:::i;6922:83::-;;;;;;;;;;-1:-1:-1;6922:83:0;;4904:1;3883:36:1;;3871:2;3856:18;6922:83:0;3741:184:1;5813:28:0;;;;;;;;;;-1:-1:-1;5813:28:0;;;;-1:-1:-1;;;;;5813:28:0;;;12881:89;;;;;;;;;;-1:-1:-1;12881:89:0;;;;;:::i;:::-;;:::i;16578:39::-;;;;;;;;;;-1:-1:-1;16578:39:0;;;;;:::i;:::-;;:::i;16628:137::-;;;;;;;;;;-1:-1:-1;16628:137:0;;;;;:::i;:::-;;:::i;17113:29::-;;;;;;;;;;-1:-1:-1;17113:29:0;;;;;:::i;:::-;;:::i;18856:101::-;;;;;;;;;;-1:-1:-1;18856:101:0;;;;;:::i;:::-;;:::i;12662:211::-;;;;;;;;;;;;;:::i;7017:138::-;;;;;;;;;;-1:-1:-1;7017:138:0;;;;;:::i;:::-;;:::i;18965:119::-;;;;;;;;;;;;;:::i;17157:203::-;;;;;;;;;;-1:-1:-1;17157:203:0;;;;;:::i;:::-;17288:63;;;;;;;;-1:-1:-1;;;;;17288:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17274:8;:78;;;;;;;-1:-1:-1;17274:78:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17274:78:0;;;;;;;-1:-1:-1;;;17274:78:0;;;;;;;;;-1:-1:-1;;;;17274:78:0;-1:-1:-1;;;17274:78:0;;;;;;;;-1:-1:-1;;;;17274:78:0;;-1:-1:-1;;;17274:78:0;;;;;;;;;;17157:203;4914:55;;;;;;;;;;;;;;;;1470:79;;;;;;;;;;-1:-1:-1;1508:7:0;1535:6;-1:-1:-1;;;;;1535:6:0;1470:79;;4977:57;;;;;;;;;;;;;;;;18476:112;;;;;;;;;;-1:-1:-1;18476:112:0;;;;;:::i;:::-;;:::i;6826:87::-;;;;;;;;;;-1:-1:-1;6898:7:0;;;;;;;;;;;;-1:-1:-1;;;6898:7:0;;;;6826:87;;18708:139;;;;;;;;;;-1:-1:-1;18708:139:0;;;;;:::i;:::-;;:::i;18327:141::-;;;;;;;;;;-1:-1:-1;18327:141:0;;;;;:::i;:::-;;:::i;7275:199::-;;;;;;;;;;-1:-1:-1;7275:199:0;;;;;:::i;:::-;;:::i;5666:36::-;;;;;;;;;;-1:-1:-1;5666:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18597:102;;;;;;;;;;-1:-1:-1;18597:102:0;;;;;:::i;:::-;;:::i;12440:212::-;;;;;;;;;;;;;:::i;19095:234::-;;;;;;;;;;-1:-1:-1;19095:234:0;;;;;:::i;:::-;;:::i;12978:114::-;;;;;;;;;;;;;:::i;4698:26::-;;;;;;;;;;;;;;;;12261:167;;;;;;;;;;-1:-1:-1;12261:167:0;;;;;:::i;:::-;;:::i;18280:36::-;;;;;;;;;;-1:-1:-1;18280:36:0;;;;;:::i;:::-;;:::i;7483:184::-;;;;;;;;;;-1:-1:-1;7483:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7632:18:0;;;7600:7;7632:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7483:184;17787:99;;;;;;;;;;-1:-1:-1;17863:8:0;:15;17787:99;;1692:244;;;;;;;;;;-1:-1:-1;1692:244:0;;;;;:::i;:::-;;:::i;16775:182::-;16882:10;16816:4;16875:18;;;:6;:18;;;;;16912:20;;;16934:14;;16904:45;;16822:13;;16875:18;16912:20;;;16934:14;;;16904:45;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16775:182;;:::o;7676:193::-;7778:4;7800:39;298:10;7823:7;7832:6;7800:8;:39::i;:::-;-1:-1:-1;7857:4:0;7676:193;;;;;:::o;17368:411::-;17434:7;17443:5;17450;17457:4;17542:8;:15;;;;17533:6;:24;17525:56;;;;-1:-1:-1;;;17525:56:0;;9466:2:1;17525:56:0;;;9448:21:1;9505:2;9485:18;;;9478:30;-1:-1:-1;;;9524:18:1;;;9517:49;9583:18;;17525:56:0;;;;;;;;;17602:32;17637:8;17646:6;17637:16;;;;;;;;:::i;:::-;;;;;;;;;;17672:27;-1:-1:-1;;;;;17672:27:0;;;-1:-1:-1;17701:26:0;-1:-1:-1;;;17701:26:0;;;;;-1:-1:-1;;;;17729:17:0;;;;;-1:-1:-1;;;;17748:22:0;;;;;-1:-1:-1;;17368:411:0;;;;;:::o;7875:446::-;8007:4;8024:36;8034:6;8042:9;8053:6;8024:9;:36::i;:::-;8071:220;8094:6;298:10;8142:138;8198:6;8142:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8142:19:0;;;;;;:11;:19;;;;;;;;298:10;8142:33;;;;;;;;;;:37;:138::i;:::-;8071:8;:220::i;:::-;-1:-1:-1;8309:4:0;7875:446;;;;;:::o;1945:144::-;1598:6;;-1:-1:-1;;;;;1598:6:0;298:10;1598:22;1590:67;;;;-1:-1:-1;;;1590:67:0;;;;;;;:::i;:::-;2048:1:::1;2032:6:::0;;2011:40:::1;::::0;-1:-1:-1;;;;;2032:6:0;;::::1;::::0;2011:40:::1;::::0;2048:1;;2011:40:::1;2079:1;2062:19:::0;;-1:-1:-1;;;;;;2062:19:0::1;::::0;;1945:144::o;17894:301::-;1598:6;;-1:-1:-1;;;;;1598:6:0;298:10;1598:22;1590:67;;;;-1:-1:-1;;;1590:67:0;;;;;;;:::i;:::-;18035:14:::1;:30:::0;;;;18076:15:::1;:32:::0;;;;18122:12:::1;:26:::0;18159:13:::1;:28:::0;17894:301::o;12881:89::-;1598:6;;-1:-1:-1;;;;;1598:6:0;298:10;1598:22;1590:67;;;;-1:-1:-1;;;1590:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12942:12:0::1;12957:5;12942:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;12942:20:0::1;::::0;;12881:89::o;16578:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16628:137::-;16734:23;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16718:13:0;;-1:-1:-1;16718:13:0;;;:6;:13;;;;;;:39;;;;-1:-1:-1;;16718:39:0;;;;;;;;;16734:23;;16718:13;-1:-1:-1;16718:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;16628:137:0:o;17113:29::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17113:29:0;;;-1:-1:-1;17113:29:0;-1:-1:-1;;;17113:29:0;;;;;-1:-1:-1;;;17113:29:0;;;;;-1:-1:-1;;;17113:29:0;;;;;:::o;18856:101::-;1598:6;;-1:-1:-1;;;;;1598:6:0;298:10;1598:22;1590:67;;;;-1:-1:-1;;;1590:67:0;;;;;;;:::i;:::-;18923:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;18923:26:0::1;-1:-1:-1::0;;;;18923:26:0;;::::1;::::0;;;::::1;::::0;;18856:101::o;12662:211::-;12728:6;;-1:-1:-1;;;;;12728:6:0;298:10;-1:-1:-1;;;;;12712:22:0;;:48;;;-1:-1:-1;12754:6:0;;-1:-1:-1;;;;;12754:6:0;298:10;-1:-1:-1;;;;;12738:22:0;;12712:48;12704:57;;;;;;12801:21;12833:32;12801:21;12833:12;:32::i;:::-;12693:180;12662:211::o;7017:138::-;-1:-1:-1;;;;;7130:16:0;;7083:7;7130:16;;;:7;:16;;;;;;7110:37;;:19;:37::i;18965:119::-;1598:6;;-1:-1:-1;;;;;1598:6:0;298:10;1598:22;1590:67;;;;-1:-1:-1;;;1590:67:0;;;;;;;:::i;:::-;4624:11:::1;19019:12;:22:::0;;;19052:14:::1;:24:::0;18965:119::o;18476:112::-;1598:6;;-1:-1:-1;;;;;1598:6:0;298:10;1598:22;1590:67;;;;-1:-1:-1;;;1590:67:0;;;;;;;:::i;:::-;18550:14:::1;:30:::0;18476:112::o;18708:139::-;1598:6;;-1:-1:-1;;;;;1598:6:0;298:10;1598:22;1590:67;;;;-1:-1:-1;;;1590:67:0;;;;;;;:::i;:::-;18799:19:::1;:40:::0;18708:139::o;18327:141::-;18435:25;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18420:12:0;;-1:-1:-1;18420:12:0;;;:4;:12;;;;;;:40;;;;-1:-1:-1;;18420:40:0;;;;;;;;;18435:25;;18420:12;-1:-1:-1;18420:40:0;;;;;;;:::i;7275:199::-;7380:4;7402:42;298:10;7426:9;7437:6;7402:9;:42::i;18597:102::-;1598:6;;-1:-1:-1;;;;;1598:6:0;298:10;1598:22;1590:67;;;;-1:-1:-1;;;1590:67:0;;;;;;;:::i;:::-;18665:12:::1;:26:::0;18597:102::o;12440:212::-;12506:6;;-1:-1:-1;;;;;12506:6:0;298:10;-1:-1:-1;;;;;12490:22:0;;:48;;;-1:-1:-1;12532:6:0;;-1:-1:-1;;;;;12532:6:0;298:10;-1:-1:-1;;;;;12516:22:0;;12490:48;12482:57;;;;;;12550:23;12576:24;12594:4;12576:9;:24::i;:::-;12550:50;;12611:33;12628:15;12611:16;:33::i;19095:234::-;1598:6;;-1:-1:-1;;;;;1598:6:0;298:10;1598:22;1590:67;;;;-1:-1:-1;;;1590:67:0;;;;;;;:::i;:::-;19212:9:::1;19208:114;19227:19:::0;;::::1;19208:114;;;19302:8;19268:18;:31;19287:8;;19296:1;19287:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19268:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;19268:31:0;:42;;-1:-1:-1;;19268:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;19248:3:0::1;19208:114;;;;19095:234:::0;;;:::o;12978:114::-;1598:6;;-1:-1:-1;;;;;1598:6:0;298:10;1598:22;1590:67;;;;-1:-1:-1;;;1590:67:0;;;;;;;:::i;:::-;13029:11:::1;:18:::0;;-1:-1:-1;;;;13029:18:0::1;-1:-1:-1::0;;;13029:18:0::1;::::0;;13072:12:::1;13058:11;:26:::0;12978:114::o;12261:167::-;1598:6;;-1:-1:-1;;;;;1598:6:0;298:10;1598:22;1590:67;;;;-1:-1:-1;;;1590:67:0;;;;;;;:::i;:::-;12335:9:::1;12330:91;12354:5;:12;12350:1;:16;12330:91;;;12405:4;12388;:14;12393:5;12399:1;12393:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12388:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12388:14:0;:21;;-1:-1:-1;;12388:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;12368:3:0::1;12330:91;;;;12261:167:::0;:::o;18280:36::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1692:244::-;1598:6;;-1:-1:-1;;;;;1598:6:0;298:10;1598:22;1590:67;;;;-1:-1:-1;;;1590:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1781:22:0;::::1;1773:73;;;::::0;-1:-1:-1;;;1773:73:0;;12431:2:1;1773:73:0::1;::::0;::::1;12413:21:1::0;12470:2;12450:18;;;12443:30;12509:34;12489:18;;;12482:62;-1:-1:-1;;;12560:18:1;;;12553:36;12606:19;;1773:73:0::1;12229:402:1::0;1773:73:0::1;1883:6;::::0;;1862:38:::1;::::0;-1:-1:-1;;;;;1862:38:0;;::::1;::::0;1883:6;::::1;::::0;1862:38:::1;::::0;::::1;1911:6;:17:::0;;-1:-1:-1;;;;;;1911:17:0::1;-1:-1:-1::0;;;;;1911:17:0;;;::::1;::::0;;;::::1;::::0;;1692:244::o;9018:369::-;-1:-1:-1;;;;;9145:19:0;;9137:68;;;;-1:-1:-1;;;9137:68:0;;12838:2:1;9137:68:0;;;12820:21:1;12877:2;12857:18;;;12850:30;12916:34;12896:18;;;12889:62;-1:-1:-1;;;12967:18:1;;;12960:34;13011:19;;9137:68:0;12636:400:1;9137:68:0;-1:-1:-1;;;;;9224:21:0;;9216:68;;;;-1:-1:-1;;;9216:68:0;;13243:2:1;9216:68:0;;;13225:21:1;13282:2;13262:18;;;13255:30;13321:34;13301:18;;;13294:62;-1:-1:-1;;;13372:18:1;;;13365:32;13414:19;;9216:68:0;13041:398:1;9216:68:0;-1:-1:-1;;;;;9295:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9347:32;;1919:25:1;;;9347:32:0;;1892:18:1;9347:32:0;;;;;;;9018:369;;;:::o;9396:2218::-;-1:-1:-1;;;;;9518:18:0;;9510:68;;;;-1:-1:-1;;;9510:68:0;;13646:2:1;9510:68:0;;;13628:21:1;13685:2;13665:18;;;13658:30;13724:34;13704:18;;;13697:62;-1:-1:-1;;;13775:18:1;;;13768:35;13820:19;;9510:68:0;13444:401:1;9510:68:0;-1:-1:-1;;;;;9597:16:0;;9589:64;;;;-1:-1:-1;;;9589:64:0;;14052:2:1;9589:64:0;;;14034:21:1;14091:2;14071:18;;;14064:30;14130:34;14110:18;;;14103:62;-1:-1:-1;;;14181:18:1;;;14174:33;14224:19;;9589:64:0;13850:399:1;9589:64:0;9681:1;9672:6;:10;9664:64;;;;-1:-1:-1;;;9664:64:0;;14456:2:1;9664:64:0;;;14438:21:1;14495:2;14475:18;;;14468:30;14534:34;14514:18;;;14507:62;-1:-1:-1;;;14585:18:1;;;14578:39;14634:19;;9664:64:0;14254:405:1;9664:64:0;1508:7;1535:6;-1:-1:-1;;;;;9746:15:0;;;1535:6;;9746:15;;;;:32;;-1:-1:-1;1508:7:0;1535:6;-1:-1:-1;;;;;9765:13:0;;;1535:6;;9765:13;;9746:32;9742:1232;;;9803:11;;-1:-1:-1;;;9803:11:0;;;;9798:144;;1508:7;1535:6;-1:-1:-1;;;;;9843:15:0;;;1535:6;;9843:15;9835:91;;;;-1:-1:-1;;;9835:91:0;;14866:2:1;9835:91:0;;;14848:21:1;14905:2;14885:18;;;14878:30;14944:34;14924:18;;;14917:62;15015:33;14995:18;;;14988:61;15066:19;;9835:91:0;14664:427:1;9835:91:0;9977:12;;9967:6;:22;;9959:63;;;;-1:-1:-1;;;9959:63:0;;15298:2:1;9959:63:0;;;15280:21:1;15337:2;15317:18;;;15310:30;15376;15356:18;;;15349:58;15424:18;;9959:63:0;15096:352:1;9959:63:0;-1:-1:-1;;;;;10046:10:0;;;;;;:4;:10;;;;;;;;10045:11;:24;;;;-1:-1:-1;;;;;;10061:8:0;;;;;;:4;:8;;;;;;;;10060:9;10045:24;10037:72;;;;-1:-1:-1;;;10037:72:0;;15655:2:1;10037:72:0;;;15637:21:1;15694:2;15674:18;;;15667:30;15733:34;15713:18;;;15706:62;-1:-1:-1;;;15784:18:1;;;15777:33;15827:19;;10037:72:0;15453:399:1;10037:72:0;10136:13;;-1:-1:-1;;;;;10130:19:0;;;10136:13;;10130:19;10127:146;;10203:14;;10194:6;10178:13;10188:2;10178:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10170:87;;;;-1:-1:-1;;;10170:87:0;;16321:2:1;10170:87:0;;;16303:21:1;16360:2;16340:18;;;16333:30;16399:34;16379:18;;;16372:62;-1:-1:-1;;;16450:18:1;;;16443:33;16493:19;;10170:87:0;16119:399:1;10170:87:0;10290:28;10321:24;10339:4;10321:9;:24::i;:::-;10399:19;;10463:12;;10290:55;;-1:-1:-1;10375:43:0;;;;10439:36;;10436:124;;10532:12;;10509:35;;10436:124;10581:7;:18;;;;-1:-1:-1;10593:6:0;;-1:-1:-1;;;10593:6:0;;;;10592:7;10581:18;:43;;;;-1:-1:-1;10611:13:0;;-1:-1:-1;;;;;10603:21:0;;;10611:13;;10603:21;;10581:43;:58;;;;-1:-1:-1;10628:11:0;;-1:-1:-1;;;10628:11:0;;;;10581:58;:87;;;;-1:-1:-1;;;;;;10644:24:0;;;;;;:18;:24;;;;;;;;10643:25;10581:87;:114;;;;-1:-1:-1;;;;;;10673:22:0;;;;;;:18;:22;;;;;;;;10672:23;10581:114;10577:386;;;10716:38;10733:20;10716:16;:38::i;:::-;10802:21;10846:22;;10842:106;;10893:35;10906:21;10893:12;:35::i;:::-;10697:266;10577:386;9780:1194;;9742:1232;-1:-1:-1;;;;;11025:24:0;;10987:12;11025:24;;;:18;:24;;;;;;11002:4;;11025:24;;;:50;;-1:-1:-1;;;;;;11053:22:0;;;;;;:18;:22;;;;;;;;11025:50;11024:102;;;-1:-1:-1;11089:13:0;;-1:-1:-1;;;;;11081:21:0;;;11089:13;;11081:21;;;;:44;;-1:-1:-1;11112:13:0;;-1:-1:-1;;;;;11106:19:0;;;11112:13;;11106:19;;11081:44;11020:532;;;-1:-1:-1;11153:5:0;11020:532;;;11205:13;;-1:-1:-1;;;;;11197:21:0;;;11205:13;;11197:21;:55;;;;-1:-1:-1;11236:15:0;;-1:-1:-1;;;;;11222:30:0;;;11236:15;;11222:30;;11197:55;11194:162;;;11285:14;;11273:9;:26;11328:12;;11318:7;:22;11194:162;11383:13;;-1:-1:-1;;;;;11377:19:0;;;11383:13;;11377:19;:55;;;;-1:-1:-1;11416:15:0;;-1:-1:-1;;;;;11400:32:0;;;11416:15;;11400:32;;11377:55;11373:165;;;11465:15;;11453:9;:27;11509:13;;11499:7;:23;11373:165;11565:41;11580:4;11586:2;11590:6;11598:7;11565:14;:41::i;2459:224::-;2579:7;2615:12;2607:6;;;;2599:29;;;;-1:-1:-1;;;2599:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2639:9:0;2651:5;2655:1;2651;:5;:::i;:::-;2639:17;2459:224;-1:-1:-1;;;;;2459:224:0:o;12115:138::-;12173:6;;-1:-1:-1;;;;;12173:6:0;:30;12189:13;:6;12200:1;12189:10;:13::i;:::-;12173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12215:6:0;;-1:-1:-1;;;;;12215:6:0;:30;12231:13;:6;12242:1;12231:10;:13::i;:::-;12215:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8330:323;8425:7;8483;;8472;:18;;8450:110;;;;-1:-1:-1;;;8450:110:0;;16858:2:1;8450:110:0;;;16840:21:1;16897:2;16877:18;;;16870:30;16936:34;16916:18;;;16909:62;-1:-1:-1;;;16987:18:1;;;16980:40;17037:19;;8450:110:0;16656:406:1;8450:110:0;8571:19;8593:10;:8;:10::i;:::-;8571:32;-1:-1:-1;8621:24:0;:7;8571:32;8621:11;:24::i;:::-;8614:31;8330:323;-1:-1:-1;;;8330:323:0:o;11623:483::-;6045:6;:13;;-1:-1:-1;;;;6045:13:0;-1:-1:-1;;;6045:13:0;;;11725:16:::1;::::0;;11739:1:::1;11725:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11725:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11725:16:0::1;11701:40;;11770:4;11752;11757:1;11752:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11752:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11796:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11796:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11752:7;;11796:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11786:4;11791:1;11786:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11786:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11861:15:::1;::::0;11829:62:::1;::::0;11846:4:::1;::::0;11861:15:::1;11879:11:::0;11829:8:::1;:62::i;:::-;11902:15;::::0;:196:::1;::::0;-1:-1:-1;;;11902:196:0;;-1:-1:-1;;;;;11902:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11983:11;;11902:15:::1;::::0;12025:4;;12052::::1;::::0;12072:15:::1;::::0;11902:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6081:6:0;:14;;-1:-1:-1;;;;6081:14:0;;;-1:-1:-1;;;;11623:483:0:o;13101:282::-;13257:7;13252:28;;13266:14;:12;:14::i;:::-;13291:44;13309:6;13317:9;13328:6;13291:17;:44::i;:::-;13351:7;13346:29;;13360:15;8948:17;;8936:9;:29;8986:15;;8976:7;:25;8892:117;2947:132;3005:7;3032:39;3036:1;3039;3032:39;;;;;;;;;;;;;;;;;:3;:39::i;16055:167::-;16097:7;16118:15;16135;16154:19;:17;:19::i;:::-;16117:56;;-1:-1:-1;16117:56:0;-1:-1:-1;16194:20:0;16117:56;;16194:11;:20::i;:::-;16187:27;;;;16055:167;:::o;8662:221::-;8709:9;;:14;:30;;;;-1:-1:-1;8727:7:0;;:12;8709:30;8705:43;;;8662:221::o;8705:43::-;8781:9;;;8761:17;:29;8819:7;;;8801:15;:25;-1:-1:-1;8840:13:0;;;;8864:11;8662:221::o;13392:606::-;13539:15;13569:23;13607:12;13634:23;13672:12;13699:11;13724:19;13735:7;13724:10;:19::i;:::-;-1:-1:-1;;;;;13772:15:0;;;;;;:7;:15;;;;;;13524:219;;-1:-1:-1;13524:219:0;;-1:-1:-1;13524:219:0;;-1:-1:-1;13524:219:0;-1:-1:-1;13524:219:0;-1:-1:-1;13524:219:0;-1:-1:-1;13772:28:0;;13524:219;13772:19;:28::i;:::-;-1:-1:-1;;;;;13754:15:0;;;;;;;:7;:15;;;;;;:46;;;;13832:18;;;;;;;:39;;13855:15;13832:22;:39::i;:::-;-1:-1:-1;;;;;13811:18:0;;;;;;:7;:18;;;;;:60;13882:14;13892:3;13882:9;:14::i;:::-;13907:23;13919:4;13925;13907:11;:23::i;:::-;13963:9;-1:-1:-1;;;;;13946:44:0;13955:6;-1:-1:-1;;;;;13946:44:0;;13974:15;13946:44;;;;1919:25:1;;1907:2;1892:18;;1773:177;13946:44:0;;;;;;;;13513:485;;;;;;13392:606;;;:::o;3088:223::-;3208:7;3243:12;3236:5;3228:28;;;;-1:-1:-1;;;3228:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3267:9:0;3279:5;3283:1;3279;:5;:::i;16231:260::-;16329:7;;16282;;;;4624:11;16397:20;16329:7;4624:11;16397;:20::i;:::-;16387:7;:30;16383:61;;;-1:-1:-1;;16427:7:0;;;4624:11;;-1:-1:-1;16231:260:0;-1:-1:-1;16231:260:0:o;16383:61::-;16466:7;;16475;;-1:-1:-1;16231:260:0;-1:-1:-1;16231:260:0:o;14417:612::-;14517:7;14539;14561;14583;14605;14627;14663:23;14688:12;14702:11;14730:40;14742:7;14751:9;;14762:7;;14730:11;:40::i;:::-;14662:108;;;;;;14781:19;14803:10;:8;:10::i;:::-;14781:32;;14825:15;14842:23;14867:12;14896:44;14908:7;14917:4;14923:3;14928:11;14896;:44::i;:::-;14824:116;;-1:-1:-1;14824:116:0;-1:-1:-1;14824:116:0;-1:-1:-1;14994:15:0;;-1:-1:-1;15011:4:0;;-1:-1:-1;15017:3:0;;-1:-1:-1;;;;;14417:612:0;;;;;;;:::o;2314:136::-;2372:7;2399:43;2403:1;2406;2399:43;;;;;;;;;;;;;;;;;:3;:43::i;2126:179::-;2184:7;;2216:5;2220:1;2216;:5;:::i;:::-;2204:17;;2245:1;2240;:6;;2232:46;;;;-1:-1:-1;;;2232:46:0;;18711:2:1;2232:46:0;;;18693:21:1;18750:2;18730:18;;;18723:30;18789:29;18769:18;;;18762:57;18836:18;;2232:46:0;18509:351:1;14007:207:0;14058:19;14080:10;:8;:10::i;:::-;14058:32;-1:-1:-1;14101:13:0;14117:20;:3;14058:32;14117:7;:20::i;:::-;14189:4;14173:22;;;;:7;:22;;;;;;14101:36;;-1:-1:-1;14173:33:0;;14101:36;14173:26;:33::i;:::-;14164:4;14148:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14007:207:0:o;14223:147::-;14301:7;;:17;;14313:4;14301:11;:17::i;:::-;14291:7;:27;14342:10;;:20;;14357:4;14342:14;:20::i;:::-;14329:10;:33;-1:-1:-1;;14223:147:0:o;15038:466::-;15207:7;;;;15301:30;15327:3;15301:21;:7;15313:8;15301:11;:21::i;:::-;:25;;:30::i;:::-;15286:45;-1:-1:-1;15342:11:0;15356:28;15380:3;15356:19;:7;15368:6;15356:11;:19::i;:28::-;15342:42;-1:-1:-1;15395:23:0;15421:26;15342:42;15421:17;:7;15433:4;15421:11;:17::i;:::-;:21;;:26::i;:::-;15395:52;15486:4;;-1:-1:-1;15492:3:0;;-1:-1:-1;15038:466:0;;-1:-1:-1;;;;;15038:466:0:o;15513:533::-;15705:7;;;;15802:24;:7;15814:11;15802;:24::i;:::-;15784:42;-1:-1:-1;15837:12:0;15852:21;:4;15861:11;15852:8;:21::i;:::-;15837:36;-1:-1:-1;15884:13:0;15900:20;:3;15908:11;15900:7;:20::i;:::-;15884:36;-1:-1:-1;15931:23:0;15957:28;15884:36;15957:17;:7;15969:4;15957:11;:17::i;:28::-;16007:7;;;;-1:-1:-1;16033:4:0;;-1:-1:-1;15513:533:0;;-1:-1:-1;;;;;;;15513:533:0:o;2692:246::-;2750:7;2774:1;2779;2774:6;2770:47;;-1:-1:-1;2804:1:0;2797:8;;2770:47;2827:9;2839:5;2843:1;2839;:5;:::i;:::-;2827:17;-1:-1:-1;2872:1:0;2863:5;2867:1;2827:17;2863:5;:::i;:::-;:10;2855:56;;;;-1:-1:-1;;;2855:56:0;;19240:2:1;2855:56:0;;;19222:21:1;19279:2;19259:18;;;19252:30;19318:34;19298:18;;;19291:62;-1:-1:-1;;;19369:18:1;;;19362:31;19410:19;;2855:56:0;19038:397:1;14:289;56:3;94:5;88:12;121:6;116:3;109:19;177:6;170:4;163:5;159:16;152:4;147:3;143:14;137:47;229:1;222:4;213:6;208:3;204:16;200:27;193:38;292:4;285:2;281:7;276:2;268:6;264:15;260:29;255:3;251:39;247:50;240:57;;;14:289;;;;:::o;308:301::-;493:6;486:14;479:22;468:9;461:41;538:2;533;522:9;518:18;511:30;442:4;558:45;599:2;588:9;584:18;576:6;558:45;:::i;:::-;550:53;308:301;-1:-1:-1;;;;308:301:1:o;614:220::-;763:2;752:9;745:21;726:4;783:45;824:2;813:9;809:18;801:6;783:45;:::i;839:131::-;-1:-1:-1;;;;;914:31:1;;904:42;;894:70;;960:1;957;950:12;975:367;1043:6;1051;1104:2;1092:9;1083:7;1079:23;1075:32;1072:52;;;1120:1;1117;1110:12;1072:52;1159:9;1146:23;1178:31;1203:5;1178:31;:::i;:::-;1228:5;1306:2;1291:18;;;;1278:32;;-1:-1:-1;;;975:367:1:o;1955:226::-;2014:6;2067:2;2055:9;2046:7;2042:23;2038:32;2035:52;;;2083:1;2080;2073:12;2035:52;-1:-1:-1;2128:23:1;;1955:226;-1:-1:-1;1955:226:1:o;2636:508::-;2713:6;2721;2729;2782:2;2770:9;2761:7;2757:23;2753:32;2750:52;;;2798:1;2795;2788:12;2750:52;2837:9;2824:23;2856:31;2881:5;2856:31;:::i;:::-;2906:5;-1:-1:-1;2963:2:1;2948:18;;2935:32;2976:33;2935:32;2976:33;:::i;:::-;2636:508;;3028:7;;-1:-1:-1;;;3108:2:1;3093:18;;;;3080:32;;2636:508::o;3149:587::-;3235:6;3243;3251;3259;3312:3;3300:9;3291:7;3287:23;3283:33;3280:53;;;3329:1;3326;3319:12;3280:53;-1:-1:-1;;3374:23:1;;;3494:2;3479:18;;3466:32;;-1:-1:-1;3597:2:1;3582:18;;3569:32;;3700:2;3685:18;3672:32;;-1:-1:-1;3149:587:1;-1:-1:-1;3149:587:1:o;4138:247::-;4197:6;4250:2;4238:9;4229:7;4225:23;4221:32;4218:52;;;4266:1;4263;4256:12;4218:52;4305:9;4292:23;4324:31;4349:5;4324:31;:::i;4390:160::-;4455:20;;4511:13;;4504:21;4494:32;;4484:60;;4540:1;4537;4530:12;4484:60;4390:160;;;:::o;4555:127::-;4616:10;4611:3;4607:20;4604:1;4597:31;4647:4;4644:1;4637:15;4671:4;4668:1;4661:15;4687:275;4758:2;4752:9;4823:2;4804:13;;-1:-1:-1;;4800:27:1;4788:40;;4858:18;4843:34;;4879:22;;;4840:62;4837:88;;;4905:18;;:::i;:::-;4941:2;4934:22;4687:275;;-1:-1:-1;4687:275:1:o;4967:969::-;5051:6;5059;5067;5120:2;5108:9;5099:7;5095:23;5091:32;5088:52;;;5136:1;5133;5126:12;5088:52;5175:9;5162:23;5194:31;5219:5;5194:31;:::i;:::-;5244:5;-1:-1:-1;5268:35:1;5299:2;5284:18;;5268:35;:::i;:::-;5258:45;;5354:2;5343:9;5339:18;5326:32;5381:18;5373:6;5370:30;5367:50;;;5413:1;5410;5403:12;5367:50;5436:22;;5489:4;5481:13;;5477:27;-1:-1:-1;5467:55:1;;5518:1;5515;5508:12;5467:55;5558:2;5545:16;5584:18;5576:6;5573:30;5570:56;;;5606:18;;:::i;:::-;5648:57;5695:2;5672:17;;-1:-1:-1;;5668:31:1;5701:2;5664:40;5648:57;:::i;:::-;5728:6;5721:5;5714:21;5776:7;5771:2;5762:6;5758:2;5754:15;5750:24;5747:37;5744:57;;;5797:1;5794;5787:12;5744:57;5852:6;5847:2;5843;5839:11;5834:2;5827:5;5823:14;5810:49;5904:1;5899:2;5890:6;5883:5;5879:18;5875:27;5868:38;5925:5;5915:15;;;;;4967:969;;;;;:::o;5941:180::-;5997:6;6050:2;6038:9;6029:7;6025:23;6021:32;6018:52;;;6066:1;6063;6056:12;6018:52;6089:26;6105:9;6089:26;:::i;6126:650::-;6205:6;6213;6221;6229;6282:3;6270:9;6261:7;6257:23;6253:33;6250:53;;;6299:1;6296;6289:12;6250:53;6338:9;6325:23;6357:31;6382:5;6357:31;:::i;:::-;6407:5;-1:-1:-1;6464:2:1;6449:18;;6436:32;6512:4;6499:18;;6487:31;;6477:59;;6532:1;6529;6522:12;6477:59;6555:7;-1:-1:-1;6614:2:1;6599:18;;6586:32;6660:1;6649:22;;;6637:35;;6627:63;;6686:1;6683;6676:12;6627:63;6709:7;-1:-1:-1;6735:35:1;6766:2;6751:18;;6735:35;:::i;:::-;6725:45;;6126:650;;;;;;;:::o;6781:684::-;6873:6;6881;6889;6942:2;6930:9;6921:7;6917:23;6913:32;6910:52;;;6958:1;6955;6948:12;6910:52;6998:9;6985:23;7031:18;7023:6;7020:30;7017:50;;;7063:1;7060;7053:12;7017:50;7086:22;;7139:4;7131:13;;7127:27;-1:-1:-1;7117:55:1;;7168:1;7165;7158:12;7117:55;7208:2;7195:16;7234:18;7226:6;7223:30;7220:50;;;7266:1;7263;7256:12;7220:50;7321:7;7314:4;7304:6;7301:1;7297:14;7293:2;7289:23;7285:34;7282:47;7279:67;;;7342:1;7339;7332:12;7279:67;7373:4;7365:13;;;;-1:-1:-1;7397:6:1;-1:-1:-1;7422:37:1;;7438:20;;7422:37;:::i;:::-;7412:47;;6781:684;;;;;:::o;7470:1011::-;7554:6;7607:2;7595:9;7586:7;7582:23;7578:32;7575:52;;;7623:1;7620;7613:12;7575:52;7663:9;7650:23;7696:18;7688:6;7685:30;7682:50;;;7728:1;7725;7718:12;7682:50;7751:22;;7804:4;7796:13;;7792:27;-1:-1:-1;7782:55:1;;7833:1;7830;7823:12;7782:55;7873:2;7860:16;7899:18;7891:6;7888:30;7885:56;;;7921:18;;:::i;:::-;7967:6;7964:1;7960:14;7994:28;8018:2;8014;8010:11;7994:28;:::i;:::-;8056:19;;;8100:2;8130:11;;;8126:20;;;8091:12;;;;8158:19;;;8155:39;;;8190:1;8187;8180:12;8155:39;8222:2;8218;8214:11;8203:22;;8234:217;8250:6;8245:3;8242:15;8234:217;;;8330:3;8317:17;8304:30;;8347:31;8372:5;8347:31;:::i;:::-;8391:18;;;8438:2;8267:12;;;;8429;;;;8234:217;;;8470:5;7470:1011;-1:-1:-1;;;;;;;7470:1011:1:o;8486:388::-;8554:6;8562;8615:2;8603:9;8594:7;8590:23;8586:32;8583:52;;;8631:1;8628;8621:12;8583:52;8670:9;8657:23;8689:31;8714:5;8689:31;:::i;:::-;8739:5;-1:-1:-1;8796:2:1;8781:18;;8768:32;8809:33;8768:32;8809:33;:::i;:::-;8861:7;8851:17;;;8486:388;;;;;:::o;8879:380::-;8958:1;8954:12;;;;9001;;;9022:61;;9076:4;9068:6;9064:17;9054:27;;9022:61;9129:2;9121:6;9118:14;9098:18;9095:38;9092:161;;9175:10;9170:3;9166:20;9163:1;9156:31;9210:4;9207:1;9200:15;9238:4;9235:1;9228:15;9092:161;;8879:380;;;:::o;9612:127::-;9673:10;9668:3;9664:20;9661:1;9654:31;9704:4;9701:1;9694:15;9728:4;9725:1;9718:15;9744:356;9946:2;9928:21;;;9965:18;;;9958:30;10024:34;10019:2;10004:18;;9997:62;10091:2;10076:18;;9744:356::o;10231:518::-;10333:2;10328:3;10325:11;10322:421;;;10369:5;10366:1;10359:16;10413:4;10410:1;10400:18;10483:2;10471:10;10467:19;10464:1;10460:27;10454:4;10450:38;10519:4;10507:10;10504:20;10501:47;;;-1:-1:-1;10542:4:1;10501:47;10597:2;10592:3;10588:12;10585:1;10581:20;10575:4;10571:31;10561:41;;10652:81;10670:2;10663:5;10660:13;10652:81;;;10729:1;10715:16;;10696:1;10685:13;10652:81;;;10656:3;;10322:421;10231:518;;;:::o;10925:1299::-;11051:3;11045:10;11078:18;11070:6;11067:30;11064:56;;;11100:18;;:::i;:::-;11129:97;11219:6;11179:38;11211:4;11205:11;11179:38;:::i;:::-;11173:4;11129:97;:::i;:::-;11275:4;11306:2;11295:14;;11323:1;11318:649;;;;12011:1;12028:6;12025:89;;;-1:-1:-1;12080:19:1;;;12074:26;12025:89;-1:-1:-1;;10882:1:1;10878:11;;;10874:24;10870:29;10860:40;10906:1;10902:11;;;10857:57;12127:81;;11288:930;;11318:649;10178:1;10171:14;;;10215:4;10202:18;;-1:-1:-1;;11354:20:1;;;11472:222;11486:7;11483:1;11480:14;11472:222;;;11568:19;;;11562:26;11547:42;;11675:4;11660:20;;;;11628:1;11616:14;;;;11502:12;11472:222;;;11476:3;11722:6;11713:7;11710:19;11707:201;;;11783:19;;;11777:26;-1:-1:-1;;11866:1:1;11862:14;;;11878:3;11858:24;11854:37;11850:42;11835:58;11820:74;;11707:201;-1:-1:-1;;;;11954:1:1;11938:14;;;11934:22;11921:36;;-1:-1:-1;10925:1299:1:o;15857:127::-;15918:10;15913:3;15909:20;15906:1;15899:31;15949:4;15946:1;15939:15;15973:4;15970:1;15963:15;15989:125;16054:9;;;16075:10;;;16072:36;;;16088:18;;:::i;16523:128::-;16590:9;;;16611:11;;;16608:37;;;16625:18;;:::i;17067:251::-;17137:6;17190:2;17178:9;17169:7;17165:23;17161:32;17158:52;;;17206:1;17203;17196:12;17158:52;17238:9;17232:16;17257:31;17282:5;17257:31;:::i;17323:959::-;17585:4;17633:3;17622:9;17618:19;17664:6;17653:9;17646:25;17707:6;17702:2;17691:9;17687:18;17680:34;17750:3;17745:2;17734:9;17730:18;17723:31;17774:6;17809;17803:13;17840:6;17832;17825:22;17878:3;17867:9;17863:19;17856:26;;17917:2;17909:6;17905:15;17891:29;;17938:1;17948:195;17962:6;17959:1;17956:13;17948:195;;;18027:13;;-1:-1:-1;;;;;18023:39:1;18011:52;;18092:2;18118:15;;;;18083:12;;;;18059:1;17977:9;17948:195;;;-1:-1:-1;;;;;;;18199:32:1;;;;18194:2;18179:18;;18172:60;-1:-1:-1;;18263:3:1;18248:19;18241:35;18160:3;17323:959;-1:-1:-1;;;17323:959:1:o;18287:217::-;18327:1;18353;18343:132;;18397:10;18392:3;18388:20;18385:1;18378:31;18432:4;18429:1;18422:15;18460:4;18457:1;18450:15;18343:132;-1:-1:-1;18489:9:1;;18287:217::o;18865:168::-;18938:9;;;18969;;18986:15;;;18980:22;;18966:37;18956:71;;19007:18;;:::i

Swarm Source

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