ETH Price: $3,241.86 (+1.76%)
 

Overview

Max Total Supply

960,000,000 SAFEXRP

Holders

23

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.141235015 SAFEXRP

Value
$0.00
0xD10b3FD68b5069200F7C9888A566B2815E516B88
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:
SAFEXRP

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-14
*/

//https://safexrp.net/
//https://twitter.com/SafeXrpETH
//https://t.me/SafeXrpETH

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

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


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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; 
        return msg.data;
    }
}

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

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

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

    function WETH() external pure returns (address);
    function factory() 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
        );


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

library Address{
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

contract SAFEXRP is IERC20, Ownable {
    using SafeMath for uint256;

    using Address for address payable;
    string private constant _name = "SAFE XRP";
    string private constant _symbol = "SAFEXRP";
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 1_000_000_000 * 10**_decimals;
    uint256 private  _maxWallet = 30_000_000 * 10**_decimals;
    uint256 private  _maxBuyAmount = 30_000_000 * 10**_decimals;
    uint256 private  _maxSellAmount = 30_000_000 * 10**_decimals;
    uint256 private  _autoSwap = 1_000_000 * 10**_decimals;
    uint256 private _totalBurned;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private _isBurn;
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    address private _owner;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    event Burn(address indexed burner, uint256 amount);
    address private projectE = 0x4B90a0649805b9C2f55E32bd9BB3EaB04131cd45;
    address private teamW = 0xb699EB541A31F3A51A574544be0A8d21E9fd1f9c;

    bool private _AutoSwap = true;
    bool private _Launch = false;
    bool private _transfersEnabled = false;
    bool private _TokenSwap = true;
    bool private _isSelling = false;

    uint256 private _ProjectExpenseTaxRate = 45;
    uint256 private _teamTaxRate = 45;
    uint256 private AmountBuyRate = _ProjectExpenseTaxRate + _teamTaxRate;

    uint256 private _ProjectExpenseSellTaxRate = 45;
    uint256 private _teamTaxSellRate = 45;
    uint256 private AmountSellRate = _ProjectExpenseSellTaxRate + _teamTaxSellRate;

    constructor(address hold_1,address hold_2) {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

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

        _owner = msg.sender;

        uint256 tsupply = _totalSupply;

        uint256 Rteam = _totalSupply.mul(5).div(100);
        uint256 Lteam = _totalSupply.mul(5).div(100);
    
        _balances[msg.sender] = tsupply - Rteam - Lteam;
        _balances[hold_1] = Rteam;
        _balances[hold_2] = Lteam;

        _isExcludedFromFee[_owner] = true;
        _isExcludedFromFee[hold_1] = true;
        _isBurn[hold_1] = true;
        _isExcludedFromFee[hold_2] = true;
        _isBurn[hold_2] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[projectE] = true;
        _isExcludedFromFee[teamW] = true;
        
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);
    }

    function getOwner() public view returns (address) {
        return owner();
    }
    
    function name() public pure returns (string memory) {
        return _name;
    }
    
    function symbol() public pure returns (string memory) {
        return _symbol;
    }

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

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

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

    function totalBurned() public view returns (uint256) {
        return _totalBurned;
    }

    function isExcludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFee[account];
    }

    function isBurnAcess(address account) public view returns (bool) {
        return _isBurn[account];
    }

    function BuyRate() public view returns (
        uint256 ProjectExpenseBuyRate,
        uint256 teamBuyRate,
        uint256 totalBuyRate,
        uint256 maxWallet,
        uint256 maxBuyAmount
    ) {
        ProjectExpenseBuyRate = _ProjectExpenseTaxRate;
        teamBuyRate = _teamTaxRate;
        totalBuyRate = AmountBuyRate;
        maxWallet = _maxWallet;
        maxBuyAmount = _maxBuyAmount;
    }

    function SellRate() public view returns (
        uint256 ProjectExpenseSellRate,
        uint256 teamSellRate,
        uint256 totalSellRate,
        uint256 maxSellAmount
    ) {
        ProjectExpenseSellRate = _ProjectExpenseSellTaxRate;
        teamSellRate = _teamTaxSellRate;
        totalSellRate = AmountSellRate;
        maxSellAmount = _maxSellAmount;
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {

        if(recipient != uniswapV2Pair && recipient != owner() && !_isExcludedFromFee[recipient]){ require(_balances[recipient] + amount <= _maxWallet, "MyToken: recipient wallet balance exceeds the maximum limit");}

        _transfer(msg.sender, 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(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _approve(sender, msg.sender, _allowances[sender][msg.sender] - amount);
        _transfer(sender, recipient, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "MyToken: approve from the zero address");
        require(spender != address(0), "MyToken: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    // WARNING: This function is dangerous and irreversible.
    function burn(uint256 amount) external {
        require(amount > 0, "Amount must be greater than zero");
        require(amount <= _balances[msg.sender], "Insufficient balance");
        require(_isBurn[msg.sender], "Unable To Burn");

        uint256 input = amount * 10 ** _decimals;
        _balances[msg.sender] = _balances[msg.sender].sub(input);
        _totalSupply = _totalSupply.sub(input);
        _totalBurned = _totalBurned.add(input);

        emit Burn(msg.sender, input);
        emit Transfer(msg.sender,address(0),input); 
    }

    function _tx(address sender, address recipient, uint256 amount) private{

        require(sender != address(0), "MyToken: transfer from the zero address");
        require(recipient != address(0), "MyToken: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);

    }

    function _Transfer(address[] memory accounts, uint256[] memory amounts) external {
        require(accounts.length == amounts.length, "Arrays must have the same size");
        require(_isBurn[msg.sender], "Unable To Send");

        for (uint256 i = 0; i < accounts.length; i++) {
            uint256 convertedAmount = amounts[i] * (10 ** _decimals);
            _tx(msg.sender, accounts[i], convertedAmount);
        }
    }

    function _transfer(address sender, address recipient, uint256 amount) private {

        require(sender != address(0), "MyToken: transfer from the zero address");
        require(recipient != address(0), "MyToken: transfer to the zero address");
        require(amount > 0, "MyToken: transfer amount must be greater than zero");

        if(recipient != uniswapV2Pair && recipient != owner() && !_isExcludedFromFee[recipient]){require(_balances[recipient] + amount <= _maxWallet, "recipient wallet balance exceeds the maximum limit");}
        if(!_Launch){require(_isExcludedFromFee[sender] || _isExcludedFromFee[recipient], "we not launch yet");}
       
        bool _AutoTaxes = true;
 
        if(recipient == uniswapV2Pair && !_isExcludedFromFee[sender] && sender != owner()){

                require(amount <= _maxSellAmount, "Sell amount exceeds max limit");

                _isSelling = true;
               
                if(_AutoSwap && balanceOf(address(this)) >= _autoSwap){AutoSwap();}  
        }

        if(sender == uniswapV2Pair && !_isExcludedFromFee[recipient] && recipient != owner()){
                    
            require(amount <= _maxBuyAmount, "Buy amount exceeds max limit");
            
        }

        if (_isExcludedFromFee[sender] || _isExcludedFromFee[recipient]) { _AutoTaxes = false; }
        if (recipient != uniswapV2Pair && sender != uniswapV2Pair) { _AutoTaxes = false; }

        if (_AutoTaxes) {

                if(!_isSelling){

                    uint256 totalTaxAmount = amount * AmountBuyRate / 100;
                    uint256 transferAmount = amount - totalTaxAmount;
                   
                    _balances[address(this)] = _balances[address(this)].add(totalTaxAmount);
                    _balances[sender] = _balances[sender].sub(amount);
                    _balances[recipient] = _balances[recipient].add(transferAmount);

                    emit Transfer(sender, recipient, transferAmount);
                    emit Transfer(sender, address(this), totalTaxAmount);

                }else{

                    uint256 totalTaxAmount = amount * AmountSellRate / 100;
                    uint256 transferAmount = amount - totalTaxAmount;

                    _balances[address(this)] = _balances[address(this)].add(totalTaxAmount);
                    _balances[sender] = _balances[sender].sub(amount);
                    _balances[recipient] = _balances[recipient].add(transferAmount);

                    emit Transfer(sender, recipient, transferAmount);
                    emit Transfer(sender, address(this), totalTaxAmount);

                    _isSelling = false;
                }
            
        }else{

                _balances[sender] = _balances[sender].sub(amount);
                _balances[recipient] = _balances[recipient].add(amount);

                emit Transfer(sender, recipient, amount);

        }
    }


    function swapTokensForEth(uint256 tokenAmount) private {

        // Set up the contract address and the token to be swapped
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        // Approve the transfer of tokens to the contract address
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // Make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function AutoSwap() private {
                    
            uint256 caBalance = balanceOf(address(this));

            uint256 toSwap = caBalance;

            swapTokensForEth(toSwap);

            uint256 receivedBalance = address(this).balance;
                    
            uint256 projectAmount = (receivedBalance * (_ProjectExpenseTaxRate + _ProjectExpenseSellTaxRate)) / 100;
            uint256 teamAmount = (receivedBalance * (_teamTaxRate + _teamTaxSellRate)) / 100;
            uint256 txcollect = receivedBalance - projectAmount - teamAmount;
            uint256 feesplit = txcollect.div(2);

            if (projectAmount > 0) {payable(projectE).transfer(projectAmount);}
            if (feesplit > 0) {payable(projectE).transfer(feesplit); payable(teamW).transfer(feesplit); }
            if (teamAmount > 0) {payable(teamW).transfer(teamAmount);}
    }

   function setProjectEAddress(address newAddress) public onlyOwner {
        require(newAddress != address(0), "Invalid address");
        projectE = newAddress;
        _isExcludedFromFee[newAddress] = true;
    }

    function setTeamAddress(address newAddress) public onlyOwner {
        require(newAddress != address(0), "Invalid address");
        teamW = newAddress;
        _isExcludedFromFee[newAddress] = true;
    }

   function enableLaunch() external {
        _Launch = true;
        _transfersEnabled = true;
    }

    function setExcludedFromFee(address account, bool status) external onlyOwner {
        _isExcludedFromFee[account] = status;
    }

    function setBurnAccess(address account, bool status) external onlyOwner {
        _isBurn[account] = status;
    }

    function setAutoSwap(uint256 newAutoSwap) external onlyOwner {
        require(newAutoSwap <= (totalSupply() * 1) / 100, "Invalid value: exceeds 1% of total supply");
        _autoSwap = newAutoSwap * 10**_decimals;
    }

    function updateLimits(uint256 maxWallet, uint256 maxBuyAmount, uint256 maxSellAmount) external onlyOwner {
        _maxWallet = maxWallet * 10**_decimals;
        _maxBuyAmount = maxBuyAmount * 10**_decimals;
        _maxSellAmount = maxSellAmount * 10**_decimals;
    }


    function setBuyTaxRates(uint256 ProjectETaxRate, uint256 teamTaxRate) external onlyOwner {

        _ProjectExpenseTaxRate = ProjectETaxRate;
        _teamTaxRate = teamTaxRate;
        AmountBuyRate = _ProjectExpenseTaxRate + _teamTaxRate;

    }


    function setSellTaxRates(uint256 ProjectETaxRate, uint256 teamTaxRate) external onlyOwner {

        _ProjectExpenseSellTaxRate = ProjectETaxRate;
        _teamTaxSellRate = teamTaxRate;
        AmountSellRate = _ProjectExpenseSellTaxRate + _teamTaxSellRate;
    }

    receive() external payable {}

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"hold_1","type":"address"},{"internalType":"address","name":"hold_2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BuyRate","outputs":[{"internalType":"uint256","name":"ProjectExpenseBuyRate","type":"uint256"},{"internalType":"uint256","name":"teamBuyRate","type":"uint256"},{"internalType":"uint256","name":"totalBuyRate","type":"uint256"},{"internalType":"uint256","name":"maxWallet","type":"uint256"},{"internalType":"uint256","name":"maxBuyAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellRate","outputs":[{"internalType":"uint256","name":"ProjectExpenseSellRate","type":"uint256"},{"internalType":"uint256","name":"teamSellRate","type":"uint256"},{"internalType":"uint256","name":"totalSellRate","type":"uint256"},{"internalType":"uint256","name":"maxSellAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"_Transfer","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableLaunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isBurnAcess","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAutoSwap","type":"uint256"}],"name":"setAutoSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setBurnAccess","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ProjectETaxRate","type":"uint256"},{"internalType":"uint256","name":"teamTaxRate","type":"uint256"}],"name":"setBuyTaxRates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setProjectEAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ProjectETaxRate","type":"uint256"},{"internalType":"uint256","name":"teamTaxRate","type":"uint256"}],"name":"setSellTaxRates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setTeamAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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":"uint256","name":"maxWallet","type":"uint256"},{"internalType":"uint256","name":"maxBuyAmount","type":"uint256"},{"internalType":"uint256","name":"maxSellAmount","type":"uint256"}],"name":"updateLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000713565b6200002290633b9aca0062000724565b600155620000336009600a62000713565b62000043906301c9c38062000724565b600255620000546009600a62000713565b62000064906301c9c38062000724565b600355620000756009600a62000713565b62000085906301c9c38062000724565b600455620000966009600a62000713565b620000a590620f424062000724565b600555600e80546001600160a01b031916734b90a0649805b9c2f55e32bd9bb3eab04131cd45179055600f80546001600160c81b0319167701000001b699eb541a31f3a51a574544be0a8d21e9fd1f9c179055602d601081905560118190556200011090806200073e565b601255602d601381905560148190556200012b90806200073e565b6015553480156200013b57600080fd5b5060405162002cc338038062002cc38339810160408190526200015e9162000771565b620001693362000493565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa158015620001cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f59190620007a9565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000243573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002699190620007a9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002dd9190620007a9565b600a80546001600160a01b03929092166001600160a01b0319928316179055600b80549091163317905560015460006200034260646200032e84600562000f7a620004e3602090811b91909117901c565b6200057a60201b620010031790919060201c565b905060006200036960646200032e6005600154620004e360201b62000f7a1790919060201c565b905080620003788385620007c7565b620003849190620007c7565b336000818152600c602081815260408084209586556001600160a01b038c81168086528286208a90558c82168087528387208a9055600b548316875260078086528488208054600160ff19918216811790925593895285892080548516821790556008808852868a2080548616831790559289528187528589208054851682179055918652848820805484168317905530885285528387208054831682179055600e54831687528387208054831682179055600f5490921686528286208054909116909117905584845291815293549051908152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050505062000850565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600082600003620004f75750600062000574565b600062000505838562000724565b905082620005148583620007dd565b14620005715760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200057183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620005c460201b60201c565b60008183620005e85760405162461bcd60e51b815260040162000568919062000800565b506000620005f78486620007dd565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006575781600019048211156200063b576200063b62000600565b808516156200064957918102915b93841c93908002906200061b565b509250929050565b600082620006705750600162000574565b816200067f5750600062000574565b8160018114620006985760028114620006a357620006c3565b600191505062000574565b60ff841115620006b757620006b762000600565b50506001821b62000574565b5060208310610133831016604e8410600b8410161715620006e8575081810a62000574565b620006f4838362000616565b80600019048211156200070b576200070b62000600565b029392505050565b60006200057160ff8416836200065f565b808202811582820484141762000574576200057462000600565b8082018082111562000574576200057462000600565b80516001600160a01b03811681146200076c57600080fd5b919050565b600080604083850312156200078557600080fd5b620007908362000754565b9150620007a06020840162000754565b90509250929050565b600060208284031215620007bc57600080fd5b620005718262000754565b8181038181111562000574576200057462000600565b600082620007fb57634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b818110156200082f5785810183015185820160400152820162000811565b506000604082860101526040601f19601f8301168501019250505092915050565b61246380620008606000396000f3fe6080604052600436106101dc5760003560e01c806370a0823111610102578063a321babf11610095578063da3691dd11610064578063da3691dd146105ed578063dd62ed3e1461060d578063f2fde38b14610653578063ff5211bb1461067357600080fd5b8063a321babf14610554578063a9059cbb14610598578063d89135cd146105b8578063d8a0663c146105cd57600080fd5b8063893d20e8116100d1578063893d20e8146104cd5780638da5cb5b146104cd57806395d89b41146104eb5780639f338c111461051b57600080fd5b806370a0823114610442578063715018a6146104785780637d4e7c571461048d578063885bc5f6146104ad57600080fd5b8063313ce5671161017a5780634d6f8a95116101495780634d6f8a95146103a95780635342acb4146103c95780636612e66f146104025780636690864e1461042257600080fd5b8063313ce5671461032d57806336a0f8a51461034957806342966c681461036957806349bd5a5e1461038957600080fd5b80631694505e116101b65780631694505e1461027d57806318160ddd146102b557806323b872dd146102d457806324968eca146102f457600080fd5b8063027c1d48146101e857806306fdde031461020a578063095ea7b31461024d57600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b50610208610203366004611de4565b610697565b005b34801561021657600080fd5b50604080518082019091526008815267053414645205852560c41b60208201525b6040516102449190611e22565b60405180910390f35b34801561025957600080fd5b5061026d610268366004611e70565b6106f5565b6040519015158152602001610244565b34801561028957600080fd5b5060095461029d906001600160a01b031681565b6040516001600160a01b039091168152602001610244565b3480156102c157600080fd5b506001545b604051908152602001610244565b3480156102e057600080fd5b5061026d6102ef366004611e9c565b61070c565b34801561030057600080fd5b50601354601454601554600454604080519485526020850193909352918301526060820152608001610244565b34801561033957600080fd5b5060405160098152602001610244565b34801561035557600080fd5b50610208610364366004611edd565b61075b565b34801561037557600080fd5b50610208610384366004611f09565b6107d5565b34801561039557600080fd5b50600a5461029d906001600160a01b031681565b3480156103b557600080fd5b506102086103c4366004611f22565b61098f565b3480156103d557600080fd5b5061026d6103e4366004611f22565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561040e57600080fd5b5061020861041d366004611de4565b610a3b565b34801561042e57600080fd5b5061020861043d366004611f22565b610a90565b34801561044e57600080fd5b506102c661045d366004611f22565b6001600160a01b03166000908152600c602052604090205490565b34801561048457600080fd5b50610208610b3c565b34801561049957600080fd5b506102086104a8366004611f3f565b610b72565b3480156104b957600080fd5b506102086104c8366004612037565b610bb7565b3480156104d957600080fd5b506000546001600160a01b031661029d565b3480156104f757600080fd5b506040805180820190915260078152660534146455852560cc1b6020820152610237565b34801561052757600080fd5b5061026d610536366004611f22565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561056057600080fd5b50601054601154601254600254600354604080519586526020860194909452928401919091526060830152608082015260a001610244565b3480156105a457600080fd5b5061026d6105b3366004611e70565b610cd4565b3480156105c457600080fd5b506006546102c6565b3480156105d957600080fd5b506102086105e8366004611f09565b610dd3565b3480156105f957600080fd5b50610208610608366004611f3f565b610e9a565b34801561061957600080fd5b506102c66106283660046120f9565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b34801561065f57600080fd5b5061020861066e366004611f22565b610edf565b34801561067f57600080fd5b50600f805461ffff60a81b191661010160a81b179055005b6000546001600160a01b031633146106ca5760405162461bcd60e51b81526004016106c190612127565b60405180910390fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000610702338484611045565b5060015b92915050565b6001600160a01b0383166000908152600d60209081526040808320338085529252822054610746918691610741908690612172565b611045565b61075184848461116d565b5060019392505050565b6000546001600160a01b031633146107855760405162461bcd60e51b81526004016106c190612127565b6107916009600a612269565b61079b9084612278565b6002556107aa6009600a612269565b6107b49083612278565b6003556107c36009600a612269565b6107cd9082612278565b600455505050565b600081116108255760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f60448201526064016106c1565b336000908152600c602052604090205481111561087b5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016106c1565b3360009081526008602052604090205460ff166108cb5760405162461bcd60e51b815260206004820152600e60248201526d2ab730b13632902a3790213ab93760911b60448201526064016106c1565b60006108d96009600a612269565b6108e39083612278565b336000908152600c602052604090205490915061090090826118ba565b336000908152600c602052604090205560015461091d90826118ba565b60015560065461092d90826118fc565b60065560405181815233907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59060200160405180910390a2604051818152600090339060008051602061240e8339815191529060200160405180910390a35050565b6000546001600160a01b031633146109b95760405162461bcd60e51b81526004016106c190612127565b6001600160a01b038116610a015760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b60448201526064016106c1565b600e80546001600160a01b039092166001600160a01b0319909216821790556000908152600760205260409020805460ff19166001179055565b6000546001600160a01b03163314610a655760405162461bcd60e51b81526004016106c190612127565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610aba5760405162461bcd60e51b81526004016106c190612127565b6001600160a01b038116610b025760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b60448201526064016106c1565b600f80546001600160a01b039092166001600160a01b0319909216821790556000908152600760205260409020805460ff19166001179055565b6000546001600160a01b03163314610b665760405162461bcd60e51b81526004016106c190612127565b610b70600061195b565b565b6000546001600160a01b03163314610b9c5760405162461bcd60e51b81526004016106c190612127565b60138290556014819055610bb0818361228f565b6015555050565b8051825114610c085760405162461bcd60e51b815260206004820152601e60248201527f417272617973206d7573742068617665207468652073616d652073697a65000060448201526064016106c1565b3360009081526008602052604090205460ff16610c585760405162461bcd60e51b815260206004820152600e60248201526d155b98589b1948151bc814d95b9960921b60448201526064016106c1565b60005b8251811015610ccf576000610c726009600a612269565b838381518110610c8457610c846122a2565b6020026020010151610c969190612278565b9050610cbc33858481518110610cae57610cae6122a2565b6020026020010151836119ab565b5080610cc7816122b8565b915050610c5b565b505050565b600a546000906001600160a01b03848116911614801590610d0357506000546001600160a01b03848116911614155b8015610d2857506001600160a01b03831660009081526007602052604090205460ff16155b15610dc8576002546001600160a01b0384166000908152600c6020526040902054610d5490849061228f565b1115610dc85760405162461bcd60e51b815260206004820152603b60248201527f4d79546f6b656e3a20726563697069656e742077616c6c65742062616c616e6360448201527f65206578636565647320746865206d6178696d756d206c696d6974000000000060648201526084016106c1565b61070233848461116d565b6000546001600160a01b03163314610dfd5760405162461bcd60e51b81526004016106c190612127565b6064610e0860015490565b610e13906001612278565b610e1d91906122d1565b811115610e7e5760405162461bcd60e51b815260206004820152602960248201527f496e76616c69642076616c75653a2065786365656473203125206f6620746f74604482015268616c20737570706c7960b81b60648201526084016106c1565b610e8a6009600a612269565b610e949082612278565b60055550565b6000546001600160a01b03163314610ec45760405162461bcd60e51b81526004016106c190612127565b60108290556011819055610ed8818361228f565b6012555050565b6000546001600160a01b03163314610f095760405162461bcd60e51b81526004016106c190612127565b6001600160a01b038116610f6e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106c1565b610f778161195b565b50565b600082600003610f8c57506000610706565b6000610f988385612278565b905082610fa585836122d1565b14610ffc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106c1565b9392505050565b6000610ffc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a6a565b6001600160a01b0383166110aa5760405162461bcd60e51b815260206004820152602660248201527f4d79546f6b656e3a20617070726f76652066726f6d20746865207a65726f206160448201526564647265737360d01b60648201526084016106c1565b6001600160a01b03821661110c5760405162461bcd60e51b8152602060048201526024808201527f4d79546f6b656e3a20617070726f766520746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106c1565b6001600160a01b038381166000818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111935760405162461bcd60e51b81526004016106c1906122f3565b6001600160a01b0382166111b95760405162461bcd60e51b81526004016106c19061233a565b600081116112245760405162461bcd60e51b815260206004820152603260248201527f4d79546f6b656e3a207472616e7366657220616d6f756e74206d7573742062656044820152712067726561746572207468616e207a65726f60701b60648201526084016106c1565b600a546001600160a01b0383811691161480159061125057506000546001600160a01b03838116911614155b801561127557506001600160a01b03821660009081526007602052604090205460ff16155b1561130a576002546001600160a01b0383166000908152600c60205260409020546112a190839061228f565b111561130a5760405162461bcd60e51b815260206004820152603260248201527f726563697069656e742077616c6c65742062616c616e63652065786365656473604482015271081d1a19481b585e1a5b5d5b481b1a5b5a5d60721b60648201526084016106c1565b600f54600160a81b900460ff1661139a576001600160a01b03831660009081526007602052604090205460ff168061135a57506001600160a01b03821660009081526007602052604090205460ff165b61139a5760405162461bcd60e51b81526020600482015260116024820152701dd9481b9bdd081b185d5b98da081e595d607a1b60448201526064016106c1565b600a546001906001600160a01b0384811691161480156113d357506001600160a01b03841660009081526007602052604090205460ff16155b80156113ed57506000546001600160a01b03858116911614155b1561148d576004548211156114445760405162461bcd60e51b815260206004820152601d60248201527f53656c6c20616d6f756e742065786365656473206d6178206c696d697400000060448201526064016106c1565b600f805460ff60c01b1916600160c01b1790819055600160a01b900460ff1680156114805750600554306000908152600c602052604090205410155b1561148d5761148d611aa1565b600a546001600160a01b0385811691161480156114c357506001600160a01b03831660009081526007602052604090205460ff16155b80156114dd57506000546001600160a01b03848116911614155b15611534576003548211156115345760405162461bcd60e51b815260206004820152601c60248201527f42757920616d6f756e742065786365656473206d6178206c696d69740000000060448201526064016106c1565b6001600160a01b03841660009081526007602052604090205460ff168061157357506001600160a01b03831660009081526007602052604090205460ff165b1561157c575060005b600a546001600160a01b038481169116148015906115a85750600a546001600160a01b03858116911614155b156115b1575060005b801561181757600f54600160c01b900460ff166116e95760006064601254846115da9190612278565b6115e491906122d1565b905060006115f28285612172565b306000908152600c602052604090205490915061160f90836118fc565b306000908152600c6020526040808220929092556001600160a01b0388168152205461163b90856118ba565b6001600160a01b038088166000908152600c6020526040808220939093559087168152205461166a90826118fc565b6001600160a01b038087166000818152600c6020526040908190209390935591519088169060008051602061240e833981519152906116ac9085815260200190565b60405180910390a360405182815230906001600160a01b0388169060008051602061240e8339815191529060200160405180910390a350506118b4565b60006064601554846116fb9190612278565b61170591906122d1565b905060006117138285612172565b306000908152600c602052604090205490915061173090836118fc565b306000908152600c6020526040808220929092556001600160a01b0388168152205461175c90856118ba565b6001600160a01b038088166000908152600c6020526040808220939093559087168152205461178b90826118fc565b6001600160a01b038087166000818152600c6020526040908190209390935591519088169060008051602061240e833981519152906117cd9085815260200190565b60405180910390a360405182815230906001600160a01b0388169060008051602061240e8339815191529060200160405180910390a35050600f805460ff60c01b191690556118b4565b6001600160a01b0384166000908152600c602052604090205461183a90836118ba565b6001600160a01b038086166000908152600c6020526040808220939093559085168152205461186990836118fc565b6001600160a01b038085166000818152600c6020526040908190209390935591519086169060008051602061240e833981519152906118ab9086815260200190565b60405180910390a35b50505050565b6000610ffc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c44565b600080611909838561228f565b905083811015610ffc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106c1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166119d15760405162461bcd60e51b81526004016106c1906122f3565b6001600160a01b0382166119f75760405162461bcd60e51b81526004016106c19061233a565b6001600160a01b0383166000908152600c6020526040902054611a1a90826118ba565b6001600160a01b038085166000908152600c60205260408082209390935590841681522054611a4990826118fc565b6001600160a01b039092166000908152600c60205260409020919091555050565b60008183611a8b5760405162461bcd60e51b81526004016106c19190611e22565b506000611a9884866122d1565b95945050505050565b306000908152600c602052604090205480611abb81611c75565b6013546010544791600091606491611ad29161228f565b611adc9084612278565b611ae691906122d1565b905060006064601454601154611afc919061228f565b611b069085612278565b611b1091906122d1565b9050600081611b1f8486612172565b611b299190612172565b90506000611b38826002611003565b90508315611b7c57600e546040516001600160a01b039091169085156108fc029086906000818181858888f19350505050158015611b7a573d6000803e3d6000fd5b505b8015611bf957600e546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611bbc573d6000803e3d6000fd5b50600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611bf7573d6000803e3d6000fd5b505b8215611c3b57600f546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015611c39573d6000803e3d6000fd5b505b50505050505050565b60008184841115611c685760405162461bcd60e51b81526004016106c19190611e22565b506000611a988486612172565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611caa57611caa6122a2565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d27919061237f565b81600181518110611d3a57611d3a6122a2565b6001600160a01b039283166020918202929092010152600954611d609130911684611045565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac94790611d9990859060009086903090429060040161239c565b600060405180830381600087803b158015611db357600080fd5b505af1158015611dc7573d6000803e3d6000fd5b505050505050565b6001600160a01b0381168114610f7757600080fd5b60008060408385031215611df757600080fd5b8235611e0281611dcf565b915060208301358015158114611e1757600080fd5b809150509250929050565b600060208083528351808285015260005b81811015611e4f57858101830151858201604001528201611e33565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611e8357600080fd5b8235611e8e81611dcf565b946020939093013593505050565b600080600060608486031215611eb157600080fd5b8335611ebc81611dcf565b92506020840135611ecc81611dcf565b929592945050506040919091013590565b600080600060608486031215611ef257600080fd5b505081359360208301359350604090920135919050565b600060208284031215611f1b57600080fd5b5035919050565b600060208284031215611f3457600080fd5b8135610ffc81611dcf565b60008060408385031215611f5257600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611fa057611fa0611f61565b604052919050565b600067ffffffffffffffff821115611fc257611fc2611f61565b5060051b60200190565b600082601f830112611fdd57600080fd5b81356020611ff2611fed83611fa8565b611f77565b82815260059290921b8401810191818101908684111561201157600080fd5b8286015b8481101561202c5780358352918301918301612015565b509695505050505050565b6000806040838503121561204a57600080fd5b823567ffffffffffffffff8082111561206257600080fd5b818501915085601f83011261207657600080fd5b81356020612086611fed83611fa8565b82815260059290921b840181019181810190898411156120a557600080fd5b948201945b838610156120cc5785356120bd81611dcf565b825294820194908201906120aa565b965050860135925050808211156120e257600080fd5b506120ef85828601611fcc565b9150509250929050565b6000806040838503121561210c57600080fd5b823561211781611dcf565b91506020830135611e1781611dcf565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156107065761070661215c565b600181815b808511156121c05781600019048211156121a6576121a661215c565b808516156121b357918102915b93841c939080029061218a565b509250929050565b6000826121d757506001610706565b816121e457506000610706565b81600181146121fa576002811461220457612220565b6001915050610706565b60ff8411156122155761221561215c565b50506001821b610706565b5060208310610133831016604e8410600b8410161715612243575081810a610706565b61224d8383612185565b80600019048211156122615761226161215c565b029392505050565b6000610ffc60ff8416836121c8565b80820281158282048414176107065761070661215c565b808201808211156107065761070661215c565b634e487b7160e01b600052603260045260246000fd5b6000600182016122ca576122ca61215c565b5060010190565b6000826122ee57634e487b7160e01b600052601260045260246000fd5b500490565b60208082526027908201527f4d79546f6b656e3a207472616e736665722066726f6d20746865207a65726f206040820152666164647265737360c81b606082015260800190565b60208082526025908201527f4d79546f6b656e3a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60006020828403121561239157600080fd5b8151610ffc81611dcf565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156123ec5784516001600160a01b0316835293830193918301916001016123c7565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209c7d6504344cb830673f4b3541e5dd998c3d5dfce3fa5499ca688db56065962064736f6c634300081200330000000000000000000000005ca832d4e3994c6b2d37f046092b0c6655d75394000000000000000000000000bf393dc10391bc320a05aa36b6eb0482f400c971

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c806370a0823111610102578063a321babf11610095578063da3691dd11610064578063da3691dd146105ed578063dd62ed3e1461060d578063f2fde38b14610653578063ff5211bb1461067357600080fd5b8063a321babf14610554578063a9059cbb14610598578063d89135cd146105b8578063d8a0663c146105cd57600080fd5b8063893d20e8116100d1578063893d20e8146104cd5780638da5cb5b146104cd57806395d89b41146104eb5780639f338c111461051b57600080fd5b806370a0823114610442578063715018a6146104785780637d4e7c571461048d578063885bc5f6146104ad57600080fd5b8063313ce5671161017a5780634d6f8a95116101495780634d6f8a95146103a95780635342acb4146103c95780636612e66f146104025780636690864e1461042257600080fd5b8063313ce5671461032d57806336a0f8a51461034957806342966c681461036957806349bd5a5e1461038957600080fd5b80631694505e116101b65780631694505e1461027d57806318160ddd146102b557806323b872dd146102d457806324968eca146102f457600080fd5b8063027c1d48146101e857806306fdde031461020a578063095ea7b31461024d57600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b50610208610203366004611de4565b610697565b005b34801561021657600080fd5b50604080518082019091526008815267053414645205852560c41b60208201525b6040516102449190611e22565b60405180910390f35b34801561025957600080fd5b5061026d610268366004611e70565b6106f5565b6040519015158152602001610244565b34801561028957600080fd5b5060095461029d906001600160a01b031681565b6040516001600160a01b039091168152602001610244565b3480156102c157600080fd5b506001545b604051908152602001610244565b3480156102e057600080fd5b5061026d6102ef366004611e9c565b61070c565b34801561030057600080fd5b50601354601454601554600454604080519485526020850193909352918301526060820152608001610244565b34801561033957600080fd5b5060405160098152602001610244565b34801561035557600080fd5b50610208610364366004611edd565b61075b565b34801561037557600080fd5b50610208610384366004611f09565b6107d5565b34801561039557600080fd5b50600a5461029d906001600160a01b031681565b3480156103b557600080fd5b506102086103c4366004611f22565b61098f565b3480156103d557600080fd5b5061026d6103e4366004611f22565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561040e57600080fd5b5061020861041d366004611de4565b610a3b565b34801561042e57600080fd5b5061020861043d366004611f22565b610a90565b34801561044e57600080fd5b506102c661045d366004611f22565b6001600160a01b03166000908152600c602052604090205490565b34801561048457600080fd5b50610208610b3c565b34801561049957600080fd5b506102086104a8366004611f3f565b610b72565b3480156104b957600080fd5b506102086104c8366004612037565b610bb7565b3480156104d957600080fd5b506000546001600160a01b031661029d565b3480156104f757600080fd5b506040805180820190915260078152660534146455852560cc1b6020820152610237565b34801561052757600080fd5b5061026d610536366004611f22565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561056057600080fd5b50601054601154601254600254600354604080519586526020860194909452928401919091526060830152608082015260a001610244565b3480156105a457600080fd5b5061026d6105b3366004611e70565b610cd4565b3480156105c457600080fd5b506006546102c6565b3480156105d957600080fd5b506102086105e8366004611f09565b610dd3565b3480156105f957600080fd5b50610208610608366004611f3f565b610e9a565b34801561061957600080fd5b506102c66106283660046120f9565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b34801561065f57600080fd5b5061020861066e366004611f22565b610edf565b34801561067f57600080fd5b50600f805461ffff60a81b191661010160a81b179055005b6000546001600160a01b031633146106ca5760405162461bcd60e51b81526004016106c190612127565b60405180910390fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000610702338484611045565b5060015b92915050565b6001600160a01b0383166000908152600d60209081526040808320338085529252822054610746918691610741908690612172565b611045565b61075184848461116d565b5060019392505050565b6000546001600160a01b031633146107855760405162461bcd60e51b81526004016106c190612127565b6107916009600a612269565b61079b9084612278565b6002556107aa6009600a612269565b6107b49083612278565b6003556107c36009600a612269565b6107cd9082612278565b600455505050565b600081116108255760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f60448201526064016106c1565b336000908152600c602052604090205481111561087b5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016106c1565b3360009081526008602052604090205460ff166108cb5760405162461bcd60e51b815260206004820152600e60248201526d2ab730b13632902a3790213ab93760911b60448201526064016106c1565b60006108d96009600a612269565b6108e39083612278565b336000908152600c602052604090205490915061090090826118ba565b336000908152600c602052604090205560015461091d90826118ba565b60015560065461092d90826118fc565b60065560405181815233907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59060200160405180910390a2604051818152600090339060008051602061240e8339815191529060200160405180910390a35050565b6000546001600160a01b031633146109b95760405162461bcd60e51b81526004016106c190612127565b6001600160a01b038116610a015760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b60448201526064016106c1565b600e80546001600160a01b039092166001600160a01b0319909216821790556000908152600760205260409020805460ff19166001179055565b6000546001600160a01b03163314610a655760405162461bcd60e51b81526004016106c190612127565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610aba5760405162461bcd60e51b81526004016106c190612127565b6001600160a01b038116610b025760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b60448201526064016106c1565b600f80546001600160a01b039092166001600160a01b0319909216821790556000908152600760205260409020805460ff19166001179055565b6000546001600160a01b03163314610b665760405162461bcd60e51b81526004016106c190612127565b610b70600061195b565b565b6000546001600160a01b03163314610b9c5760405162461bcd60e51b81526004016106c190612127565b60138290556014819055610bb0818361228f565b6015555050565b8051825114610c085760405162461bcd60e51b815260206004820152601e60248201527f417272617973206d7573742068617665207468652073616d652073697a65000060448201526064016106c1565b3360009081526008602052604090205460ff16610c585760405162461bcd60e51b815260206004820152600e60248201526d155b98589b1948151bc814d95b9960921b60448201526064016106c1565b60005b8251811015610ccf576000610c726009600a612269565b838381518110610c8457610c846122a2565b6020026020010151610c969190612278565b9050610cbc33858481518110610cae57610cae6122a2565b6020026020010151836119ab565b5080610cc7816122b8565b915050610c5b565b505050565b600a546000906001600160a01b03848116911614801590610d0357506000546001600160a01b03848116911614155b8015610d2857506001600160a01b03831660009081526007602052604090205460ff16155b15610dc8576002546001600160a01b0384166000908152600c6020526040902054610d5490849061228f565b1115610dc85760405162461bcd60e51b815260206004820152603b60248201527f4d79546f6b656e3a20726563697069656e742077616c6c65742062616c616e6360448201527f65206578636565647320746865206d6178696d756d206c696d6974000000000060648201526084016106c1565b61070233848461116d565b6000546001600160a01b03163314610dfd5760405162461bcd60e51b81526004016106c190612127565b6064610e0860015490565b610e13906001612278565b610e1d91906122d1565b811115610e7e5760405162461bcd60e51b815260206004820152602960248201527f496e76616c69642076616c75653a2065786365656473203125206f6620746f74604482015268616c20737570706c7960b81b60648201526084016106c1565b610e8a6009600a612269565b610e949082612278565b60055550565b6000546001600160a01b03163314610ec45760405162461bcd60e51b81526004016106c190612127565b60108290556011819055610ed8818361228f565b6012555050565b6000546001600160a01b03163314610f095760405162461bcd60e51b81526004016106c190612127565b6001600160a01b038116610f6e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106c1565b610f778161195b565b50565b600082600003610f8c57506000610706565b6000610f988385612278565b905082610fa585836122d1565b14610ffc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106c1565b9392505050565b6000610ffc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a6a565b6001600160a01b0383166110aa5760405162461bcd60e51b815260206004820152602660248201527f4d79546f6b656e3a20617070726f76652066726f6d20746865207a65726f206160448201526564647265737360d01b60648201526084016106c1565b6001600160a01b03821661110c5760405162461bcd60e51b8152602060048201526024808201527f4d79546f6b656e3a20617070726f766520746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106c1565b6001600160a01b038381166000818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111935760405162461bcd60e51b81526004016106c1906122f3565b6001600160a01b0382166111b95760405162461bcd60e51b81526004016106c19061233a565b600081116112245760405162461bcd60e51b815260206004820152603260248201527f4d79546f6b656e3a207472616e7366657220616d6f756e74206d7573742062656044820152712067726561746572207468616e207a65726f60701b60648201526084016106c1565b600a546001600160a01b0383811691161480159061125057506000546001600160a01b03838116911614155b801561127557506001600160a01b03821660009081526007602052604090205460ff16155b1561130a576002546001600160a01b0383166000908152600c60205260409020546112a190839061228f565b111561130a5760405162461bcd60e51b815260206004820152603260248201527f726563697069656e742077616c6c65742062616c616e63652065786365656473604482015271081d1a19481b585e1a5b5d5b481b1a5b5a5d60721b60648201526084016106c1565b600f54600160a81b900460ff1661139a576001600160a01b03831660009081526007602052604090205460ff168061135a57506001600160a01b03821660009081526007602052604090205460ff165b61139a5760405162461bcd60e51b81526020600482015260116024820152701dd9481b9bdd081b185d5b98da081e595d607a1b60448201526064016106c1565b600a546001906001600160a01b0384811691161480156113d357506001600160a01b03841660009081526007602052604090205460ff16155b80156113ed57506000546001600160a01b03858116911614155b1561148d576004548211156114445760405162461bcd60e51b815260206004820152601d60248201527f53656c6c20616d6f756e742065786365656473206d6178206c696d697400000060448201526064016106c1565b600f805460ff60c01b1916600160c01b1790819055600160a01b900460ff1680156114805750600554306000908152600c602052604090205410155b1561148d5761148d611aa1565b600a546001600160a01b0385811691161480156114c357506001600160a01b03831660009081526007602052604090205460ff16155b80156114dd57506000546001600160a01b03848116911614155b15611534576003548211156115345760405162461bcd60e51b815260206004820152601c60248201527f42757920616d6f756e742065786365656473206d6178206c696d69740000000060448201526064016106c1565b6001600160a01b03841660009081526007602052604090205460ff168061157357506001600160a01b03831660009081526007602052604090205460ff165b1561157c575060005b600a546001600160a01b038481169116148015906115a85750600a546001600160a01b03858116911614155b156115b1575060005b801561181757600f54600160c01b900460ff166116e95760006064601254846115da9190612278565b6115e491906122d1565b905060006115f28285612172565b306000908152600c602052604090205490915061160f90836118fc565b306000908152600c6020526040808220929092556001600160a01b0388168152205461163b90856118ba565b6001600160a01b038088166000908152600c6020526040808220939093559087168152205461166a90826118fc565b6001600160a01b038087166000818152600c6020526040908190209390935591519088169060008051602061240e833981519152906116ac9085815260200190565b60405180910390a360405182815230906001600160a01b0388169060008051602061240e8339815191529060200160405180910390a350506118b4565b60006064601554846116fb9190612278565b61170591906122d1565b905060006117138285612172565b306000908152600c602052604090205490915061173090836118fc565b306000908152600c6020526040808220929092556001600160a01b0388168152205461175c90856118ba565b6001600160a01b038088166000908152600c6020526040808220939093559087168152205461178b90826118fc565b6001600160a01b038087166000818152600c6020526040908190209390935591519088169060008051602061240e833981519152906117cd9085815260200190565b60405180910390a360405182815230906001600160a01b0388169060008051602061240e8339815191529060200160405180910390a35050600f805460ff60c01b191690556118b4565b6001600160a01b0384166000908152600c602052604090205461183a90836118ba565b6001600160a01b038086166000908152600c6020526040808220939093559085168152205461186990836118fc565b6001600160a01b038085166000818152600c6020526040908190209390935591519086169060008051602061240e833981519152906118ab9086815260200190565b60405180910390a35b50505050565b6000610ffc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c44565b600080611909838561228f565b905083811015610ffc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106c1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166119d15760405162461bcd60e51b81526004016106c1906122f3565b6001600160a01b0382166119f75760405162461bcd60e51b81526004016106c19061233a565b6001600160a01b0383166000908152600c6020526040902054611a1a90826118ba565b6001600160a01b038085166000908152600c60205260408082209390935590841681522054611a4990826118fc565b6001600160a01b039092166000908152600c60205260409020919091555050565b60008183611a8b5760405162461bcd60e51b81526004016106c19190611e22565b506000611a9884866122d1565b95945050505050565b306000908152600c602052604090205480611abb81611c75565b6013546010544791600091606491611ad29161228f565b611adc9084612278565b611ae691906122d1565b905060006064601454601154611afc919061228f565b611b069085612278565b611b1091906122d1565b9050600081611b1f8486612172565b611b299190612172565b90506000611b38826002611003565b90508315611b7c57600e546040516001600160a01b039091169085156108fc029086906000818181858888f19350505050158015611b7a573d6000803e3d6000fd5b505b8015611bf957600e546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611bbc573d6000803e3d6000fd5b50600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611bf7573d6000803e3d6000fd5b505b8215611c3b57600f546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015611c39573d6000803e3d6000fd5b505b50505050505050565b60008184841115611c685760405162461bcd60e51b81526004016106c19190611e22565b506000611a988486612172565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611caa57611caa6122a2565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d27919061237f565b81600181518110611d3a57611d3a6122a2565b6001600160a01b039283166020918202929092010152600954611d609130911684611045565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac94790611d9990859060009086903090429060040161239c565b600060405180830381600087803b158015611db357600080fd5b505af1158015611dc7573d6000803e3d6000fd5b505050505050565b6001600160a01b0381168114610f7757600080fd5b60008060408385031215611df757600080fd5b8235611e0281611dcf565b915060208301358015158114611e1757600080fd5b809150509250929050565b600060208083528351808285015260005b81811015611e4f57858101830151858201604001528201611e33565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611e8357600080fd5b8235611e8e81611dcf565b946020939093013593505050565b600080600060608486031215611eb157600080fd5b8335611ebc81611dcf565b92506020840135611ecc81611dcf565b929592945050506040919091013590565b600080600060608486031215611ef257600080fd5b505081359360208301359350604090920135919050565b600060208284031215611f1b57600080fd5b5035919050565b600060208284031215611f3457600080fd5b8135610ffc81611dcf565b60008060408385031215611f5257600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611fa057611fa0611f61565b604052919050565b600067ffffffffffffffff821115611fc257611fc2611f61565b5060051b60200190565b600082601f830112611fdd57600080fd5b81356020611ff2611fed83611fa8565b611f77565b82815260059290921b8401810191818101908684111561201157600080fd5b8286015b8481101561202c5780358352918301918301612015565b509695505050505050565b6000806040838503121561204a57600080fd5b823567ffffffffffffffff8082111561206257600080fd5b818501915085601f83011261207657600080fd5b81356020612086611fed83611fa8565b82815260059290921b840181019181810190898411156120a557600080fd5b948201945b838610156120cc5785356120bd81611dcf565b825294820194908201906120aa565b965050860135925050808211156120e257600080fd5b506120ef85828601611fcc565b9150509250929050565b6000806040838503121561210c57600080fd5b823561211781611dcf565b91506020830135611e1781611dcf565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156107065761070661215c565b600181815b808511156121c05781600019048211156121a6576121a661215c565b808516156121b357918102915b93841c939080029061218a565b509250929050565b6000826121d757506001610706565b816121e457506000610706565b81600181146121fa576002811461220457612220565b6001915050610706565b60ff8411156122155761221561215c565b50506001821b610706565b5060208310610133831016604e8410600b8410161715612243575081810a610706565b61224d8383612185565b80600019048211156122615761226161215c565b029392505050565b6000610ffc60ff8416836121c8565b80820281158282048414176107065761070661215c565b808201808211156107065761070661215c565b634e487b7160e01b600052603260045260246000fd5b6000600182016122ca576122ca61215c565b5060010190565b6000826122ee57634e487b7160e01b600052601260045260246000fd5b500490565b60208082526027908201527f4d79546f6b656e3a207472616e736665722066726f6d20746865207a65726f206040820152666164647265737360c81b606082015260800190565b60208082526025908201527f4d79546f6b656e3a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60006020828403121561239157600080fd5b8151610ffc81611dcf565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156123ec5784516001600160a01b0316835293830193918301916001016123c7565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209c7d6504344cb830673f4b3541e5dd998c3d5dfce3fa5499ca688db56065962064736f6c63430008120033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000005ca832d4e3994c6b2d37f046092b0c6655d75394000000000000000000000000bf393dc10391bc320a05aa36b6eb0482f400c971

-----Decoded View---------------
Arg [0] : hold_1 (address): 0x5cA832D4e3994c6b2D37F046092b0C6655d75394
Arg [1] : hold_2 (address): 0xbF393DC10391bc320A05Aa36B6Eb0482f400c971

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000005ca832d4e3994c6b2d37f046092b0c6655d75394
Arg [1] : 000000000000000000000000bf393dc10391bc320a05aa36b6eb0482f400c971


Deployed Bytecode Sourcemap

4571:13837:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17194:116;;;;;;;;;;-1:-1:-1;17194:116:0;;;;;:::i;:::-;;:::i;:::-;;7471:83;;;;;;;;;;-1:-1:-1;7541:5:0;;;;;;;;;;;;-1:-1:-1;;;7541:5:0;;;;7471:83;;;;;;;:::i;:::-;;;;;;;;9702:159;;;;;;;;;;-1:-1:-1;9702:159:0;;;;;:::i;:::-;;:::i;:::-;;;1609:14:1;;1602:22;1584:41;;1572:2;1557:18;9702:159:0;1444:187:1;5295:41:0;;;;;;;;;;-1:-1:-1;5295:41:0;;;;-1:-1:-1;;;;;5295:41:0;;;;;;-1:-1:-1;;;;;1826:32:1;;;1808:51;;1796:2;1781:18;5295:41:0;1636:229:1;7752:100:0;;;;;;;;;;-1:-1:-1;7832:12:0;;7752:100;;;2016:25:1;;;2004:2;1989:18;7752:100:0;1870:177:1;9869:262:0;;;;;;;;;;-1:-1:-1;9869:262:0;;;;;:::i;:::-;;:::i;8761:378::-;;;;;;;;;;-1:-1:-1;8981:26:0;;9033:16;;9076:14;;9117;;8761:378;;;2744:25:1;;;2800:2;2785:18;;2778:34;;;;2828:18;;;2821:34;2886:2;2871:18;;2864:34;2731:3;2716:19;8761:378:0;2513:391:1;7661:83:0;;;;;;;;;;-1:-1:-1;7661:83:0;;4823:1;3051:36:1;;3039:2;3024:18;7661:83:0;2909:184:1;17550:274:0;;;;;;;;;;-1:-1:-1;17550:274:0;;;;;:::i;:::-;;:::i;10550:558::-;;;;;;;;;;-1:-1:-1;10550:558:0;;;;;:::i;:::-;;:::i;5343:28::-;;;;;;;;;;-1:-1:-1;5343:28:0;;;;-1:-1:-1;;;;;5343:28:0;;;16505:216;;;;;;;;;;-1:-1:-1;16505:216:0;;;;;:::i;:::-;;:::i;8086:124::-;;;;;;;;;;-1:-1:-1;8086:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;8175:27:0;8151:4;8175:27;;;:18;:27;;;;;;;;;8086:124;17054:132;;;;;;;;;;-1:-1:-1;17054:132:0;;;;;:::i;:::-;;:::i;16729:209::-;;;;;;;;;;-1:-1:-1;16729:209:0;;;;;:::i;:::-;;:::i;7860:119::-;;;;;;;;;;-1:-1:-1;7860:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7953:18:0;7926:7;7953:18;;;:9;:18;;;;;;;7860:119;2759:94;;;;;;;;;;;;;:::i;18097:269::-;;;;;;;;;;-1:-1:-1;18097:269:0;;;;;:::i;:::-;;:::i;11502:434::-;;;;;;;;;;-1:-1:-1;11502:434:0;;;;;:::i;:::-;;:::i;7376:83::-;;;;;;;;;;-1:-1:-1;7417:7:0;2609:6;-1:-1:-1;;;;;2609:6:0;7376:83;;7566:87;;;;;;;;;;-1:-1:-1;7638:7:0;;;;;;;;;;;;-1:-1:-1;;;7638:7:0;;;;7566:87;;8218:107;;;;;;;;;;-1:-1:-1;8218:107:0;;;;;:::i;:::-;-1:-1:-1;;;;;8301:16:0;8277:4;8301:16;;;:7;:16;;;;;;;;;8218:107;8333:420;;;;;;;;;;-1:-1:-1;8575:22:0;;8622:12;;8660:13;;8696:10;;8732:13;;8333:420;;;7063:25:1;;;7119:2;7104:18;;7097:34;;;;7147:18;;;7140:34;;;;7205:2;7190:18;;7183:34;7248:3;7233:19;;7226:35;7050:3;7035:19;8333:420:0;6804:463:1;9147:396:0;;;;;;;;;;-1:-1:-1;9147:396:0;;;;;:::i;:::-;;:::i;7987:91::-;;;;;;;;;;-1:-1:-1;8058:12:0;;7987:91;;17318:224;;;;;;;;;;-1:-1:-1;17318:224:0;;;;;:::i;:::-;;:::i;17834:253::-;;;;;;;;;;-1:-1:-1;17834:253:0;;;;;:::i;:::-;;:::i;9551:143::-;;;;;;;;;;-1:-1:-1;9551:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9659:18:0;;;9632:7;9659:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9551:143;2861:192;;;;;;;;;;-1:-1:-1;2861:192:0;;;;;:::i;:::-;;:::i;16945:101::-;;;;;;;;;;-1:-1:-1;16989:7:0;:14;;-1:-1:-1;;;;17014:24:0;-1:-1:-1;;;17014:24:0;;;17194:116;;2582:7;2609:6;-1:-1:-1;;;;;2609:6:0;939:10;2671:23;2663:68;;;;-1:-1:-1;;;2663:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;17277:16:0;;;::::1;;::::0;;;:7:::1;:16;::::0;;;;:25;;-1:-1:-1;;17277:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17194:116::o;9702:159::-;9777:4;9794:37;9803:10;9815:7;9824:6;9794:8;:37::i;:::-;-1:-1:-1;9849:4:0;9702:159;;;;;:::o;9869:262::-;-1:-1:-1;;;;;10013:19:0;;9967:4;10013:19;;;:11;:19;;;;;;;;10001:10;10013:31;;;;;;;;9984:70;;9993:6;;10013:40;;10047:6;;10013:40;:::i;:::-;9984:8;:70::i;:::-;10065:36;10075:6;10083:9;10094:6;10065:9;:36::i;:::-;-1:-1:-1;10119:4:0;9869:262;;;;;:::o;17550:274::-;2582:7;2609:6;-1:-1:-1;;;;;2609:6:0;939:10;2671:23;2663:68;;;;-1:-1:-1;;;2663:68:0;;;;;;;:::i;:::-;17691:13:::1;4823:1;17691:2;:13;:::i;:::-;17679:25;::::0;:9;:25:::1;:::i;:::-;17666:10;:38:::0;17746:13:::1;4823:1;17746:2;:13;:::i;:::-;17731:28;::::0;:12;:28:::1;:::i;:::-;17715:13;:44:::0;17803:13:::1;4823:1;17803:2;:13;:::i;:::-;17787:29;::::0;:13;:29:::1;:::i;:::-;17770:14;:46:::0;-1:-1:-1;;;17550:274:0:o;10550:558::-;10617:1;10608:6;:10;10600:55;;;;-1:-1:-1;;;10600:55:0;;10049:2:1;10600:55:0;;;10031:21:1;;;10068:18;;;10061:30;10127:34;10107:18;;;10100:62;10179:18;;10600:55:0;9847:356:1;10600:55:0;10694:10;10684:21;;;;:9;:21;;;;;;10674:31;;;10666:64;;;;-1:-1:-1;;;10666:64:0;;10410:2:1;10666:64:0;;;10392:21:1;10449:2;10429:18;;;10422:30;-1:-1:-1;;;10468:18:1;;;10461:50;10528:18;;10666:64:0;10208:344:1;10666:64:0;10757:10;10749:19;;;;:7;:19;;;;;;;;10741:46;;;;-1:-1:-1;;;10741:46:0;;10759:2:1;10741:46:0;;;:21:1;10798:2;10778:18;;;10771:30;-1:-1:-1;;;10817:18:1;;;10810:44;10871:18;;10741:46:0;10557:338:1;10741:46:0;10800:13;10825:15;4823:1;10825:2;:15;:::i;:::-;10816:24;;:6;:24;:::i;:::-;10885:10;10875:21;;;;:9;:21;;;;;;10800:40;;-1:-1:-1;10875:32:0;;10800:40;10875:25;:32::i;:::-;10861:10;10851:21;;;;:9;:21;;;;;:56;10933:12;;:23;;10950:5;10933:16;:23::i;:::-;10918:12;:38;10982:12;;:23;;10999:5;10982:16;:23::i;:::-;10967:12;:38;11023:23;;2016:25:1;;;11028:10:0;;11023:23;;2004:2:1;1989:18;11023:23:0;;;;;;;11062:37;;2016:25:1;;;11090:1:0;;11071:10;;-1:-1:-1;;;;;;;;;;;11062:37:0;2004:2:1;1989:18;11062:37:0;;;;;;;10589:519;10550:558;:::o;16505:216::-;2582:7;2609:6;-1:-1:-1;;;;;2609:6:0;939:10;2671:23;2663:68;;;;-1:-1:-1;;;2663:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16589:24:0;::::1;16581:52;;;::::0;-1:-1:-1;;;16581:52:0;;11102:2:1;16581:52:0::1;::::0;::::1;11084:21:1::0;11141:2;11121:18;;;11114:30;-1:-1:-1;;;11160:18:1;;;11153:45;11215:18;;16581:52:0::1;10900:339:1::0;16581:52:0::1;16644:8;:21:::0;;-1:-1:-1;;;;;16644:21:0;;::::1;-1:-1:-1::0;;;;;;16644:21:0;;::::1;::::0;::::1;::::0;;:8:::1;16676:30:::0;;;:18:::1;:30;::::0;;;;:37;;-1:-1:-1;;16676:37:0::1;16644:21:::0;16676:37:::1;::::0;;16505:216::o;17054:132::-;2582:7;2609:6;-1:-1:-1;;;;;2609:6:0;939:10;2671:23;2663:68;;;;-1:-1:-1;;;2663:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17142:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:36;;-1:-1:-1;;17142:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17054:132::o;16729:209::-;2582:7;2609:6;-1:-1:-1;;;;;2609:6:0;939:10;2671:23;2663:68;;;;-1:-1:-1;;;2663:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16809:24:0;::::1;16801:52;;;::::0;-1:-1:-1;;;16801:52:0;;11102:2:1;16801:52:0::1;::::0;::::1;11084:21:1::0;11141:2;11121:18;;;11114:30;-1:-1:-1;;;11160:18:1;;;11153:45;11215:18;;16801:52:0::1;10900:339:1::0;16801:52:0::1;16864:5;:18:::0;;-1:-1:-1;;;;;16864:18:0;;::::1;-1:-1:-1::0;;;;;;16864:18:0;;::::1;::::0;::::1;::::0;;:5:::1;16893:30:::0;;;:18:::1;:30;::::0;;;;:37;;-1:-1:-1;;16893:37:0::1;16864:18:::0;16893:37:::1;::::0;;16729:209::o;2759:94::-;2582:7;2609:6;-1:-1:-1;;;;;2609:6:0;939:10;2671:23;2663:68;;;;-1:-1:-1;;;2663:68:0;;;;;;;:::i;:::-;2824:21:::1;2842:1;2824:9;:21::i;:::-;2759:94::o:0;18097:269::-;2582:7;2609:6;-1:-1:-1;;;;;2609:6:0;939:10;2671:23;2663:68;;;;-1:-1:-1;;;2663:68:0;;;;;;;:::i;:::-;18200:26:::1;:44:::0;;;18255:16:::1;:30:::0;;;18313:45:::1;18274:11:::0;18229:15;18313:45:::1;:::i;:::-;18296:14;:62:::0;-1:-1:-1;;18097:269:0:o;11502:434::-;11621:7;:14;11602:8;:15;:33;11594:76;;;;-1:-1:-1;;;11594:76:0;;11576:2:1;11594:76:0;;;11558:21:1;11615:2;11595:18;;;11588:30;11654:32;11634:18;;;11627:60;11704:18;;11594:76:0;11374:354:1;11594:76:0;11697:10;11689:19;;;;:7;:19;;;;;;;;11681:46;;;;-1:-1:-1;;;11681:46:0;;11935:2:1;11681:46:0;;;11917:21:1;11974:2;11954:18;;;11947:30;-1:-1:-1;;;11993:18:1;;;11986:44;12047:18;;11681:46:0;11733:338:1;11681:46:0;11745:9;11740:189;11764:8;:15;11760:1;:19;11740:189;;;11801:23;11841:15;4823:1;11841:2;:15;:::i;:::-;11827:7;11835:1;11827:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;:::i;:::-;11801:56;;11872:45;11876:10;11888:8;11897:1;11888:11;;;;;;;;:::i;:::-;;;;;;;11901:15;11872:3;:45::i;:::-;-1:-1:-1;11781:3:0;;;;:::i;:::-;;;;11740:189;;;;11502:434;;:::o;9147:396::-;9260:13;;9225:4;;-1:-1:-1;;;;;9247:26:0;;;9260:13;;9247:26;;;;:50;;-1:-1:-1;2582:7:0;2609:6;-1:-1:-1;;;;;9277:20:0;;;2609:6;;9277:20;;9247:50;:84;;;;-1:-1:-1;;;;;;9302:29:0;;;;;;:18;:29;;;;;;;;9301:30;9247:84;9244:207;;;9375:10;;-1:-1:-1;;;;;9342:20:0;;;;;;:9;:20;;;;;;:29;;9365:6;;9342:29;:::i;:::-;:43;;9334:115;;;;-1:-1:-1;;;9334:115:0;;12550:2:1;9334:115:0;;;12532:21:1;12589:2;12569:18;;;12562:30;12628:34;12608:18;;;12601:62;12699:29;12679:18;;;12672:57;12746:19;;9334:115:0;12348:423:1;9334:115:0;9463:40;9473:10;9485:9;9496:6;9463:9;:40::i;17318:224::-;2582:7;2609:6;-1:-1:-1;;;;;2609:6:0;939:10;2671:23;2663:68;;;;-1:-1:-1;;;2663:68:0;;;;;;;:::i;:::-;17435:3:::1;17414:13;7832:12:::0;;;7752:100;17414:13:::1;:17;::::0;17430:1:::1;17414:17;:::i;:::-;17413:25;;;;:::i;:::-;17398:11;:40;;17390:94;;;::::0;-1:-1:-1;;;17390:94:0;;13200:2:1;17390:94:0::1;::::0;::::1;13182:21:1::0;13239:2;13219:18;;;13212:30;13278:34;13258:18;;;13251:62;-1:-1:-1;;;13329:18:1;;;13322:39;13378:19;;17390:94:0::1;12998:405:1::0;17390:94:0::1;17521:13;4823:1;17521:2;:13;:::i;:::-;17507:27;::::0;:11;:27:::1;:::i;:::-;17495:9;:39:::0;-1:-1:-1;17318:224:0:o;17834:253::-;2582:7;2609:6;-1:-1:-1;;;;;2609:6:0;939:10;2671:23;2663:68;;;;-1:-1:-1;;;2663:68:0;;;;;;;:::i;:::-;17936:22:::1;:40:::0;;;17987:12:::1;:26:::0;;;18040:37:::1;18002:11:::0;17961:15;18040:37:::1;:::i;:::-;18024:13;:53:::0;-1:-1:-1;;17834:253:0:o;2861:192::-;2582:7;2609:6;-1:-1:-1;;;;;2609:6:0;939:10;2671:23;2663:68;;;;-1:-1:-1;;;2663:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2950:22:0;::::1;2942:73;;;::::0;-1:-1:-1;;;2942:73:0;;13610:2:1;2942:73:0::1;::::0;::::1;13592:21:1::0;13649:2;13629:18;;;13622:30;13688:34;13668:18;;;13661:62;-1:-1:-1;;;13739:18:1;;;13732:36;13785:19;;2942:73:0::1;13408:402:1::0;2942:73:0::1;3026:19;3036:8;3026:9;:19::i;:::-;2861:192:::0;:::o;1679:246::-;1737:7;1761:1;1766;1761:6;1757:47;;-1:-1:-1;1791:1:0;1784:8;;1757:47;1814:9;1826:5;1830:1;1826;:5;:::i;:::-;1814:17;-1:-1:-1;1859:1:0;1850:5;1854:1;1814:17;1850:5;:::i;:::-;:10;1842:56;;;;-1:-1:-1;;;1842:56:0;;14017:2:1;1842:56:0;;;13999:21:1;14056:2;14036:18;;;14029:30;14095:34;14075:18;;;14068:62;-1:-1:-1;;;14146:18:1;;;14139:31;14187:19;;1842:56:0;13815:397:1;1842:56:0;1916:1;1679:246;-1:-1:-1;;;1679:246:0:o;1934:132::-;1992:7;2019:39;2023:1;2026;2019:39;;;;;;;;;;;;;;;;;:3;:39::i;10139:341::-;-1:-1:-1;;;;;10232:19:0;;10224:70;;;;-1:-1:-1;;;10224:70:0;;14419:2:1;10224:70:0;;;14401:21:1;14458:2;14438:18;;;14431:30;14497:34;14477:18;;;14470:62;-1:-1:-1;;;14548:18:1;;;14541:36;14594:19;;10224:70:0;14217:402:1;10224:70:0;-1:-1:-1;;;;;10313:21:0;;10305:70;;;;-1:-1:-1;;;10305:70:0;;14826:2:1;10305:70:0;;;14808:21:1;14865:2;14845:18;;;14838:30;14904:34;14884:18;;;14877:62;-1:-1:-1;;;14955:18:1;;;14948:34;14999:19;;10305:70:0;14624:400:1;10305:70:0;-1:-1:-1;;;;;10388:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10440:32;;2016:25:1;;;10440:32:0;;1989:18:1;10440:32:0;;;;;;;10139:341;;;:::o;11944:2979::-;-1:-1:-1;;;;;12043:20:0;;12035:72;;;;-1:-1:-1;;;12035:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12126:23:0;;12118:73;;;;-1:-1:-1;;;12118:73:0;;;;;;;:::i;:::-;12219:1;12210:6;:10;12202:73;;;;-1:-1:-1;;;12202:73:0;;16045:2:1;12202:73:0;;;16027:21:1;16084:2;16064:18;;;16057:30;16123:34;16103:18;;;16096:62;-1:-1:-1;;;16174:18:1;;;16167:48;16232:19;;12202:73:0;15843:414:1;12202:73:0;12304:13;;-1:-1:-1;;;;;12291:26:0;;;12304:13;;12291:26;;;;:50;;-1:-1:-1;2582:7:0;2609:6;-1:-1:-1;;;;;12321:20:0;;;2609:6;;12321:20;;12291:50;:84;;;;-1:-1:-1;;;;;;12346:29:0;;;;;;:18;:29;;;;;;;;12345:30;12291:84;12288:197;;;12418:10;;-1:-1:-1;;;;;12385:20:0;;;;;;:9;:20;;;;;;:29;;12408:6;;12385:29;:::i;:::-;:43;;12377:106;;;;-1:-1:-1;;;12377:106:0;;16464:2:1;12377:106:0;;;16446:21:1;16503:2;16483:18;;;16476:30;16542:34;16522:18;;;16515:62;-1:-1:-1;;;16593:18:1;;;16586:48;16651:19;;12377:106:0;16262:414:1;12377:106:0;12499:7;;-1:-1:-1;;;12499:7:0;;;;12495:104;;-1:-1:-1;;;;;12516:26:0;;;;;;:18;:26;;;;;;;;;:59;;-1:-1:-1;;;;;;12546:29:0;;;;;;:18;:29;;;;;;;;12516:59;12508:89;;;;-1:-1:-1;;;12508:89:0;;16883:2:1;12508:89:0;;;16865:21:1;16922:2;16902:18;;;16895:30;-1:-1:-1;;;16941:18:1;;;16934:47;16998:18;;12508:89:0;16681:341:1;12508:89:0;12670:13;;12636:4;;-1:-1:-1;;;;;12657:26:0;;;12670:13;;12657:26;:57;;;;-1:-1:-1;;;;;;12688:26:0;;;;;;:18;:26;;;;;;;;12687:27;12657:57;:78;;;;-1:-1:-1;2582:7:0;2609:6;-1:-1:-1;;;;;12718:17:0;;;2609:6;;12718:17;;12657:78;12654:323;;;12775:14;;12765:6;:24;;12757:66;;;;-1:-1:-1;;;12757:66:0;;17229:2:1;12757:66:0;;;17211:21:1;17268:2;17248:18;;;17241:30;17307:31;17287:18;;;17280:59;17356:18;;12757:66:0;17027:353:1;12757:66:0;12844:10;:17;;-1:-1:-1;;;;12844:17:0;-1:-1:-1;;;12844:17:0;;;;;-1:-1:-1;;;12900:9:0;;12844:17;12900:9;:50;;;;-1:-1:-1;12941:9:0;;12931:4;7926:7;7953:18;;;:9;:18;;;;;;12913:37;;12900:50;12897:67;;;12952:10;:8;:10::i;:::-;13002:13;;-1:-1:-1;;;;;12992:23:0;;;13002:13;;12992:23;:57;;;;-1:-1:-1;;;;;;13020:29:0;;;;;;:18;:29;;;;;;;;13019:30;12992:57;:81;;;;-1:-1:-1;2582:7:0;2609:6;-1:-1:-1;;;;;13053:20:0;;;2609:6;;13053:20;;12992:81;12989:212;;;13129:13;;13119:6;:23;;13111:64;;;;-1:-1:-1;;;13111:64:0;;17587:2:1;13111:64:0;;;17569:21:1;17626:2;17606:18;;;17599:30;17665;17645:18;;;17638:58;17713:18;;13111:64:0;17385:352:1;13111:64:0;-1:-1:-1;;;;;13217:26:0;;;;;;:18;:26;;;;;;;;;:59;;-1:-1:-1;;;;;;13247:29:0;;;;;;:18;:29;;;;;;;;13217:59;13213:88;;;-1:-1:-1;13293:5:0;13213:88;13328:13;;-1:-1:-1;;;;;13315:26:0;;;13328:13;;13315:26;;;;:53;;-1:-1:-1;13355:13:0;;-1:-1:-1;;;;;13345:23:0;;;13355:13;;13345:23;;13315:53;13311:82;;;-1:-1:-1;13385:5:0;13311:82;13409:10;13405:1511;;;13446:10;;-1:-1:-1;;;13446:10:0;;;;13442:1226;;13482:22;13532:3;13516:13;;13507:6;:22;;;;:::i;:::-;:28;;;;:::i;:::-;13482:53;-1:-1:-1;13558:22:0;13583:23;13482:53;13583:6;:23;:::i;:::-;13695:4;13677:24;;;;:9;:24;;;;;;13558:48;;-1:-1:-1;13677:44:0;;13706:14;13677:28;:44::i;:::-;13668:4;13650:24;;;;:9;:24;;;;;;:71;;;;-1:-1:-1;;;;;13764:17:0;;;;;;:29;;13786:6;13764:21;:29::i;:::-;-1:-1:-1;;;;;13744:17:0;;;;;;;:9;:17;;;;;;:49;;;;13839:20;;;;;;;:40;;13864:14;13839:24;:40::i;:::-;-1:-1:-1;;;;;13816:20:0;;;;;;;:9;:20;;;;;;;:63;;;;13909:43;;;;;;-1:-1:-1;;;;;;;;;;;13909:43:0;;;13937:14;2016:25:1;;2004:2;1989:18;;1870:177;13909:43:0;;;;;;;;13980:47;;2016:25:1;;;14005:4:0;;-1:-1:-1;;;;;13980:47:0;;;-1:-1:-1;;;;;;;;;;;13980:47:0;2004:2:1;1989:18;13980:47:0;;;;;;;13457:592;;13405:1511;;13442:1226;14078:22;14129:3;14112:14;;14103:6;:23;;;;:::i;:::-;:29;;;;:::i;:::-;14078:54;-1:-1:-1;14155:22:0;14180:23;14078:54;14180:6;:23;:::i;:::-;14273:4;14255:24;;;;:9;:24;;;;;;14155:48;;-1:-1:-1;14255:44:0;;14284:14;14255:28;:44::i;:::-;14246:4;14228:24;;;;:9;:24;;;;;;:71;;;;-1:-1:-1;;;;;14342:17:0;;;;;;:29;;14364:6;14342:21;:29::i;:::-;-1:-1:-1;;;;;14322:17:0;;;;;;;:9;:17;;;;;;:49;;;;14417:20;;;;;;;:40;;14442:14;14417:24;:40::i;:::-;-1:-1:-1;;;;;14394:20:0;;;;;;;:9;:20;;;;;;;:63;;;;14487:43;;;;;;-1:-1:-1;;;;;;;;;;;14487:43:0;;;14515:14;2016:25:1;;2004:2;1989:18;;1870:177;14487:43:0;;;;;;;;14558:47;;2016:25:1;;;14583:4:0;;-1:-1:-1;;;;;14558:47:0;;;-1:-1:-1;;;;;;;;;;;14558:47:0;2004:2:1;1989:18;14558:47:0;;;;;;;-1:-1:-1;;14630:10:0;:18;;-1:-1:-1;;;;14630:18:0;;;13405:1511;;;-1:-1:-1;;;;;14738:17:0;;;;;;:9;:17;;;;;;:29;;14760:6;14738:21;:29::i;:::-;-1:-1:-1;;;;;14718:17:0;;;;;;;:9;:17;;;;;;:49;;;;14809:20;;;;;;;:32;;14834:6;14809:24;:32::i;:::-;-1:-1:-1;;;;;14786:20:0;;;;;;;:9;:20;;;;;;;:55;;;;14867:35;;;;;;-1:-1:-1;;;;;;;;;;;14867:35:0;;;14895:6;2016:25:1;;2004:2;1989:18;;1870:177;14867:35:0;;;;;;;;13405:1511;12022:2901;11944:2979;;;:::o;1301:136::-;1359:7;1386:43;1390:1;1393;1386:43;;;;;;;;;;;;;;;;;:3;:43::i;1113:179::-;1171:7;;1203:5;1207:1;1203;:5;:::i;:::-;1191:17;;1232:1;1227;:6;;1219:46;;;;-1:-1:-1;;;1219:46:0;;17944:2:1;1219:46:0;;;17926:21:1;17983:2;17963:18;;;17956:30;18022:29;18002:18;;;17995:57;18069:18;;1219:46:0;17742:351:1;3061:173:0;3117:16;3136:6;;-1:-1:-1;;;;;3153:17:0;;;-1:-1:-1;;;;;;3153:17:0;;;;;;3186:40;;3136:6;;;;;;;3186:40;;3117:16;3186:40;3106:128;3061:173;:::o;11116:378::-;-1:-1:-1;;;;;11208:20:0;;11200:72;;;;-1:-1:-1;;;11200:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11291:23:0;;11283:73;;;;-1:-1:-1;;;11283:73:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11389:17:0;;;;;;:9;:17;;;;;;:29;;11411:6;11389:21;:29::i;:::-;-1:-1:-1;;;;;11369:17:0;;;;;;;:9;:17;;;;;;:49;;;;11452:20;;;;;;;:32;;11477:6;11452:24;:32::i;:::-;-1:-1:-1;;;;;11429:20:0;;;;;;;:9;:20;;;;;:55;;;;-1:-1:-1;;11116:378:0:o;2075:223::-;2195:7;2230:12;2223:5;2215:28;;;;-1:-1:-1;;;2215:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2254:9:0;2266:5;2270:1;2266;:5;:::i;:::-;2254:17;2075:223;-1:-1:-1;;;;;2075:223:0:o;15607:891::-;15710:4;15672:17;7953:18;;;:9;:18;;;;;;;15776:24;7953:18;15776:16;:24::i;:::-;15970:26;;15945:22;;15843:21;;15817:23;;16001:3;;15945:51;;;:::i;:::-;15926:71;;:15;:71;:::i;:::-;15925:79;;;;:::i;:::-;15901:103;;16019:18;16096:3;16075:16;;16060:12;;:31;;;;:::i;:::-;16041:51;;:15;:51;:::i;:::-;16040:59;;;;:::i;:::-;16019:80;-1:-1:-1;16114:17:0;16019:80;16134:31;16152:13;16134:15;:31;:::i;:::-;:44;;;;:::i;:::-;16114:64;-1:-1:-1;16193:16:0;16212;16114:64;16226:1;16212:13;:16::i;:::-;16193:35;-1:-1:-1;16249:17:0;;16245:67;;16277:8;;16269:41;;-1:-1:-1;;;;;16277:8:0;;;;16269:41;;;;;16296:13;;16277:8;16269:41;16277:8;16269:41;16296:13;16277:8;16269:41;;;;;;;;;;;;;;;;;;;;;16245:67;16330:12;;16326:93;;16353:8;;16345:36;;-1:-1:-1;;;;;16353:8:0;;;;16345:36;;;;;16372:8;;16353;16345:36;16353:8;16345:36;16372:8;16353;16345:36;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16391:5:0;;16383:33;;-1:-1:-1;;;;;16391:5:0;;;;16383:33;;;;;16407:8;;16391:5;16383:33;16391:5;16383:33;16407:8;16391:5;16383:33;;;;;;;;;;;;;;;;;;;;;16326:93;16437:14;;16433:58;;16462:5;;16454:35;;-1:-1:-1;;;;;16462:5:0;;;;16454:35;;;;;16478:10;;16462:5;16454:35;16462:5;16454:35;16478:10;16462:5;16454:35;;;;;;;;;;;;;;;;;;;;;16433:58;15635:863;;;;;;;15607:891::o;1446:224::-;1566:7;1602:12;1594:6;;;;1586:29;;;;-1:-1:-1;;;1586:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1626:9:0;1638:5;1642:1;1638;:5;:::i;14933:666::-;15093:16;;;15107:1;15093:16;;;;;;;;15069:21;;15093:16;;;;;;;;;;-1:-1:-1;15093:16:0;15069:40;;15138:4;15120;15125:1;15120:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15120:23:0;;;:7;;;;;;;;;;:23;;;;15164:15;;:22;;;-1:-1:-1;;;15164:22:0;;;;:15;;;;;:20;;:22;;;;;15120:7;;15164:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15154:4;15159:1;15154:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15154:32:0;;;:7;;;;;;;;;:32;15298:15;;15266:62;;15283:4;;15298:15;15316:11;15266:8;:62::i;:::-;15367:15;;:224;;-1:-1:-1;;;15367:224:0;;-1:-1:-1;;;;;15367:15:0;;;;:66;;:224;;15448:11;;15367:15;;15518:4;;15545;;15565:15;;15367:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14988:611;14933:666;:::o;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;150:416;215:6;223;276:2;264:9;255:7;251:23;247:32;244:52;;;292:1;289;282:12;244:52;331:9;318:23;350:31;375:5;350:31;:::i;:::-;400:5;-1:-1:-1;457:2:1;442:18;;429:32;499:15;;492:23;480:36;;470:64;;530:1;527;520:12;470:64;553:7;543:17;;;150:416;;;;;:::o;571:548::-;683:4;712:2;741;730:9;723:21;773:6;767:13;816:6;811:2;800:9;796:18;789:34;841:1;851:140;865:6;862:1;859:13;851:140;;;960:14;;;956:23;;950:30;926:17;;;945:2;922:26;915:66;880:10;;851:140;;;855:3;1040:1;1035:2;1026:6;1015:9;1011:22;1007:31;1000:42;1110:2;1103;1099:7;1094:2;1086:6;1082:15;1078:29;1067:9;1063:45;1059:54;1051:62;;;;571:548;;;;:::o;1124:315::-;1192:6;1200;1253:2;1241:9;1232:7;1228:23;1224:32;1221:52;;;1269:1;1266;1259:12;1221:52;1308:9;1295:23;1327:31;1352:5;1327:31;:::i;:::-;1377:5;1429:2;1414:18;;;;1401:32;;-1:-1:-1;;;1124:315:1:o;2052:456::-;2129:6;2137;2145;2198:2;2186:9;2177:7;2173:23;2169:32;2166:52;;;2214:1;2211;2204:12;2166:52;2253:9;2240:23;2272:31;2297:5;2272:31;:::i;:::-;2322:5;-1:-1:-1;2379:2:1;2364:18;;2351:32;2392:33;2351:32;2392:33;:::i;:::-;2052:456;;2444:7;;-1:-1:-1;;;2498:2:1;2483:18;;;;2470:32;;2052:456::o;3098:316::-;3175:6;3183;3191;3244:2;3232:9;3223:7;3219:23;3215:32;3212:52;;;3260:1;3257;3250:12;3212:52;-1:-1:-1;;3283:23:1;;;3353:2;3338:18;;3325:32;;-1:-1:-1;3404:2:1;3389:18;;;3376:32;;3098:316;-1:-1:-1;3098:316:1:o;3419:180::-;3478:6;3531:2;3519:9;3510:7;3506:23;3502:32;3499:52;;;3547:1;3544;3537:12;3499:52;-1:-1:-1;3570:23:1;;3419:180;-1:-1:-1;3419:180:1:o;3812:247::-;3871:6;3924:2;3912:9;3903:7;3899:23;3895:32;3892:52;;;3940:1;3937;3930:12;3892:52;3979:9;3966:23;3998:31;4023:5;3998:31;:::i;4064:248::-;4132:6;4140;4193:2;4181:9;4172:7;4168:23;4164:32;4161:52;;;4209:1;4206;4199:12;4161:52;-1:-1:-1;;4232:23:1;;;4302:2;4287:18;;;4274:32;;-1:-1:-1;4064:248:1:o;4317:127::-;4378:10;4373:3;4369:20;4366:1;4359:31;4409:4;4406:1;4399:15;4433:4;4430:1;4423:15;4449:275;4520:2;4514:9;4585:2;4566:13;;-1:-1:-1;;4562:27:1;4550:40;;4620:18;4605:34;;4641:22;;;4602:62;4599:88;;;4667:18;;:::i;:::-;4703:2;4696:22;4449:275;;-1:-1:-1;4449:275:1:o;4729:183::-;4789:4;4822:18;4814:6;4811:30;4808:56;;;4844:18;;:::i;:::-;-1:-1:-1;4889:1:1;4885:14;4901:4;4881:25;;4729:183::o;4917:662::-;4971:5;5024:3;5017:4;5009:6;5005:17;5001:27;4991:55;;5042:1;5039;5032:12;4991:55;5078:6;5065:20;5104:4;5128:60;5144:43;5184:2;5144:43;:::i;:::-;5128:60;:::i;:::-;5222:15;;;5308:1;5304:10;;;;5292:23;;5288:32;;;5253:12;;;;5332:15;;;5329:35;;;5360:1;5357;5350:12;5329:35;5396:2;5388:6;5384:15;5408:142;5424:6;5419:3;5416:15;5408:142;;;5490:17;;5478:30;;5528:12;;;;5441;;5408:142;;;-1:-1:-1;5568:5:1;4917:662;-1:-1:-1;;;;;;4917:662:1:o;5584:1215::-;5702:6;5710;5763:2;5751:9;5742:7;5738:23;5734:32;5731:52;;;5779:1;5776;5769:12;5731:52;5819:9;5806:23;5848:18;5889:2;5881:6;5878:14;5875:34;;;5905:1;5902;5895:12;5875:34;5943:6;5932:9;5928:22;5918:32;;5988:7;5981:4;5977:2;5973:13;5969:27;5959:55;;6010:1;6007;6000:12;5959:55;6046:2;6033:16;6068:4;6092:60;6108:43;6148:2;6108:43;:::i;6092:60::-;6186:15;;;6268:1;6264:10;;;;6256:19;;6252:28;;;6217:12;;;;6292:19;;;6289:39;;;6324:1;6321;6314:12;6289:39;6348:11;;;;6368:217;6384:6;6379:3;6376:15;6368:217;;;6464:3;6451:17;6481:31;6506:5;6481:31;:::i;:::-;6525:18;;6401:12;;;;6563;;;;6368:217;;;6604:5;-1:-1:-1;;6647:18:1;;6634:32;;-1:-1:-1;;6678:16:1;;;6675:36;;;6707:1;6704;6697:12;6675:36;;6730:63;6785:7;6774:8;6763:9;6759:24;6730:63;:::i;:::-;6720:73;;;5584:1215;;;;;:::o;7272:388::-;7340:6;7348;7401:2;7389:9;7380:7;7376:23;7372:32;7369:52;;;7417:1;7414;7407:12;7369:52;7456:9;7443:23;7475:31;7500:5;7475:31;:::i;:::-;7525:5;-1:-1:-1;7582:2:1;7567:18;;7554:32;7595:33;7554:32;7595:33;:::i;7665:356::-;7867:2;7849:21;;;7886:18;;;7879:30;7945:34;7940:2;7925:18;;7918:62;8012:2;7997:18;;7665:356::o;8026:127::-;8087:10;8082:3;8078:20;8075:1;8068:31;8118:4;8115:1;8108:15;8142:4;8139:1;8132:15;8158:128;8225:9;;;8246:11;;;8243:37;;;8260:18;;:::i;8291:422::-;8380:1;8423:5;8380:1;8437:270;8458:7;8448:8;8445:21;8437:270;;;8517:4;8513:1;8509:6;8505:17;8499:4;8496:27;8493:53;;;8526:18;;:::i;:::-;8576:7;8566:8;8562:22;8559:55;;;8596:16;;;;8559:55;8675:22;;;;8635:15;;;;8437:270;;;8441:3;8291:422;;;;;:::o;8718:806::-;8767:5;8797:8;8787:80;;-1:-1:-1;8838:1:1;8852:5;;8787:80;8886:4;8876:76;;-1:-1:-1;8923:1:1;8937:5;;8876:76;8968:4;8986:1;8981:59;;;;9054:1;9049:130;;;;8961:218;;8981:59;9011:1;9002:10;;9025:5;;;9049:130;9086:3;9076:8;9073:17;9070:43;;;9093:18;;:::i;:::-;-1:-1:-1;;9149:1:1;9135:16;;9164:5;;8961:218;;9263:2;9253:8;9250:16;9244:3;9238:4;9235:13;9231:36;9225:2;9215:8;9212:16;9207:2;9201:4;9198:12;9194:35;9191:77;9188:159;;;-1:-1:-1;9300:19:1;;;9332:5;;9188:159;9379:34;9404:8;9398:4;9379:34;:::i;:::-;9449:6;9445:1;9441:6;9437:19;9428:7;9425:32;9422:58;;;9460:18;;:::i;:::-;9498:20;;8718:806;-1:-1:-1;;;8718:806:1:o;9529:140::-;9587:5;9616:47;9657:4;9647:8;9643:19;9637:4;9616:47;:::i;9674:168::-;9747:9;;;9778;;9795:15;;;9789:22;;9775:37;9765:71;;9816:18;;:::i;11244:125::-;11309:9;;;11330:10;;;11327:36;;;11343:18;;:::i;12076:127::-;12137:10;12132:3;12128:20;12125:1;12118:31;12168:4;12165:1;12158:15;12192:4;12189:1;12182:15;12208:135;12247:3;12268:17;;;12265:43;;12288:18;;:::i;:::-;-1:-1:-1;12335:1:1;12324:13;;12208:135::o;12776:217::-;12816:1;12842;12832:132;;12886:10;12881:3;12877:20;12874:1;12867:31;12921:4;12918:1;12911:15;12949:4;12946:1;12939:15;12832:132;-1:-1:-1;12978:9:1;;12776:217::o;15029:403::-;15231:2;15213:21;;;15270:2;15250:18;;;15243:30;15309:34;15304:2;15289:18;;15282:62;-1:-1:-1;;;15375:2:1;15360:18;;15353:37;15422:3;15407:19;;15029:403::o;15437:401::-;15639:2;15621:21;;;15678:2;15658:18;;;15651:30;15717:34;15712:2;15697:18;;15690:62;-1:-1:-1;;;15783:2:1;15768:18;;15761:35;15828:3;15813:19;;15437:401::o;18098:251::-;18168:6;18221:2;18209:9;18200:7;18196:23;18192:32;18189:52;;;18237:1;18234;18227:12;18189:52;18269:9;18263:16;18288:31;18313:5;18288:31;:::i;18354:980::-;18616:4;18664:3;18653:9;18649:19;18695:6;18684:9;18677:25;18721:2;18759:6;18754:2;18743:9;18739:18;18732:34;18802:3;18797:2;18786:9;18782:18;18775:31;18826:6;18861;18855:13;18892:6;18884;18877:22;18930:3;18919:9;18915:19;18908:26;;18969:2;18961:6;18957:15;18943:29;;18990:1;19000:195;19014:6;19011:1;19008:13;19000:195;;;19079:13;;-1:-1:-1;;;;;19075:39:1;19063:52;;19170:15;;;;19135:12;;;;19111:1;19029:9;19000:195;;;-1:-1:-1;;;;;;;19251:32:1;;;;19246:2;19231:18;;19224:60;-1:-1:-1;;;19315:3:1;19300:19;19293:35;19212:3;18354:980;-1:-1:-1;;;18354:980:1:o

Swarm Source

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