ETH Price: $3,273.75 (-0.39%)

Contract

0xb2a7d7Dd614EFF360B745e732124f11697b6922d
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve202999222024-07-13 20:18:47181 days ago1720901927IN
0xb2a7d7Dd...697b6922d
0 ETH0.000093012.0125276
Approve144775342022-03-28 23:05:381019 days ago1648508738IN
0xb2a7d7Dd...697b6922d
0 ETH0.0037945581.46657332
Approve144774942022-03-28 22:57:091019 days ago1648508229IN
0xb2a7d7Dd...697b6922d
0 ETH0.0021337845.81108807
Set Fee144774642022-03-28 22:51:171019 days ago1648507877IN
0xb2a7d7Dd...697b6922d
0 ETH0.0023323367.39088687
Approve144774532022-03-28 22:48:531019 days ago1648507733IN
0xb2a7d7Dd...697b6922d
0 ETH0.0034021173.04123091
Approve144774112022-03-28 22:38:061019 days ago1648507086IN
0xb2a7d7Dd...697b6922d
0 ETH0.0029704763.77422316
Approve144773952022-03-28 22:34:041019 days ago1648506844IN
0xb2a7d7Dd...697b6922d
0 ETH0.0019444641.74645051
Approve144773802022-03-28 22:30:351019 days ago1648506635IN
0xb2a7d7Dd...697b6922d
0 ETH0.0020051643.04961329
Approve144773722022-03-28 22:29:061019 days ago1648506546IN
0xb2a7d7Dd...697b6922d
0 ETH0.0022410348.11368985
Approve144773372022-03-28 22:21:551019 days ago1648506115IN
0xb2a7d7Dd...697b6922d
0 ETH0.0030386565.23805259
Set Trading144773332022-03-28 22:21:141019 days ago1648506074IN
0xb2a7d7Dd...697b6922d
0 ETH0.0020429165.90253854
Set Trading144773252022-03-28 22:17:351019 days ago1648505855IN
0xb2a7d7Dd...697b6922d
0 ETH0.0022343943.89859511
Approve144772832022-03-28 22:10:111019 days ago1648505411IN
0xb2a7d7Dd...697b6922d
0 ETH0.002699357.95246654
Set Marketing Ad...144772062022-03-28 21:53:521019 days ago1648504432IN
0xb2a7d7Dd...697b6922d
0 ETH0.0016578163.28032507
Set Fee144772042022-03-28 21:53:021019 days ago1648504382IN
0xb2a7d7Dd...697b6922d
0 ETH0.0022522652.03329127

Latest 5 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
144773462022-03-28 22:23:331019 days ago1648506213
0xb2a7d7Dd...697b6922d
0.19225553 ETH
144773462022-03-28 22:23:331019 days ago1648506213
0xb2a7d7Dd...697b6922d
1.01870149 ETH
144773462022-03-28 22:23:331019 days ago1648506213
0xb2a7d7Dd...697b6922d
1.01870149 ETH
144773462022-03-28 22:23:331019 days ago1648506213
0xb2a7d7Dd...697b6922d
0.03297566 ETH
144773462022-03-28 22:23:331019 days ago1648506213
0xb2a7d7Dd...697b6922d
0.03297566 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BALLZ

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 20000 runs

Other Settings:
default evmVersion
File 1 of 1 : BALLZ.sol
//SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.4;
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
 
interface IERC20 {
    function totalSupply() external view returns (uint256);
 
    function balanceOf(address account) external view returns (uint256);
 
    function transfer(address recipient, uint256 amount) external returns (bool);
 
    function allowance(address owner, address spender) external view returns (uint256);
 
    function approve(address spender, uint256 amount) external returns (bool);
 
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
 
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}
 
contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
 
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
 
    function owner() public view returns (address) {
        return _owner;
    }
 
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
 
}
 
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
 
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
 
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
 
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
 
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
 
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
 
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
 
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
 
    function factory() external pure returns (address);
 
    function WETH() external pure returns (address);
 
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}
 
contract BALLZ is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = "Ballerz Inu";//
    string private constant _symbol = "BALLZ";//
    uint8 private constant _decimals = 9;
 
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 public launchBlock;
 
    //Buy Fee
    uint256 private _redisFeeOnBuy = 0;//
    uint256 private _taxFeeOnBuy = 8;//
    uint256 private _liqFeeOnBuy = 2;
 
    //Sell Fee
    uint256 private _redisFeeOnSell = 0;//
    uint256 private _taxFeeOnSell = 9;//
    uint256 private _liqFeeOnSell = 4;
 
    //Original Fee
    uint256 private _redisFee = _redisFeeOnBuy;
    uint256 private _taxFee = _taxFeeOnBuy;
    uint256 private _liqFee = _liqFeeOnBuy;
 
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
    uint256 private _previousliqFee = _liqFee;

    //marketing + liquidity
    uint256 private _taxLiqFees;
    uint256 private _previoustaxLiqFees;
 
    mapping(address => bool) public bots;
    mapping(address => uint256) private cooldown;

    address payable private _marketingAddress = payable( 0x2E19AF74532aD3Be73ae410a8d8ea2C0FD2fbD9f);
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
 
    uint256 public _maxTxAmount = 1000000000 * 10**9; //
    uint256 public _maxWalletSize = 1000000000 * 10**9; //
    uint256 public _swapTokensAtAmount = 5000000 * 10**9; //
 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    event SwapAndLiquify(
      uint256 tokensSwapped,
      uint256 ethReceived,
      uint256 tokensIntoLiquidity
    );
 
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor(address tokenOwner) {
 
        _rOwned[_msgSender()] = _rTotal;

        _taxLiqFees = _taxFee + _liqFee;
 
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());        
 
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingAddress] = true;

        transferOwnership(tokenOwner);
        _transfer(msg.sender, tokenOwner, balanceOf(address(msg.sender)));
 
        bots[address(0x66f049111958809841Bbe4b81c034Da2D953AA0c)] = true;
        bots[address(0x000000005736775Feb0C8568e7DEe77222a26880)] = true;
        bots[address(0x34822A742BDE3beF13acabF14244869841f06A73)] = true;
        bots[address(0x69611A66d0CF67e5Ddd1957e6499b5C5A3E44845)] = true;
        bots[address(0x69611A66d0CF67e5Ddd1957e6499b5C5A3E44845)] = true;
        bots[address(0x8484eFcBDa76955463aa12e1d504D7C6C89321F8)] = true;
        bots[address(0xe5265ce4D0a3B191431e1bac056d72b2b9F0Fe44)] = true;
        bots[address(0x33F9Da98C57674B5FC5AE7349E3C732Cf2E6Ce5C)] = true;
        bots[address(0xc59a8E2d2c476BA9122aa4eC19B4c5E2BBAbbC28)] = true;
        bots[address(0x21053Ff2D9Fc37D4DB8687d48bD0b57581c1333D)] = true;
        bots[address(0x4dd6A0D3191A41522B84BC6b65d17f6f5e6a4192)] = true;
 
 
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
 
    function name() public pure returns (string memory) {
        return _name;
    }
 
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
 
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
 
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function showBuyReflectionFee() external view returns (uint256) {
        return _redisFeeOnBuy;
    }

    function showBuyMarketingFee() external view returns (uint256) {
        return _taxFeeOnBuy;
    }

    function showBuyLiquidityFee() external view returns (uint256) {
        return _liqFeeOnBuy;
    }

    function showSellReflectionFee() external view returns (uint256) {
        return _redisFeeOnSell;
    }

    function showSellMarketingFee() external view returns (uint256) {
        return _taxFeeOnSell;
    }

    function showSellLiquidityFee() external view returns (uint256) {
        return _liqFeeOnSell;
    }

    function maxTransaction() external view returns (uint256) {
        return _maxTxAmount;
    }

    function maxWallet() external view returns (uint256) {
        return _maxWalletSize;
    }
 
    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }
 
    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
 
    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }
 
    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }
 
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }
 
    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
 
    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0 && _liqFee == 0 && _taxLiqFees == 0) return;
 
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
        _previousliqFee = _liqFee;
        _previoustaxLiqFees = _taxLiqFees;
 
        _redisFee = 0;
        _taxFee = 0;
        _liqFee = 0;
        _taxLiqFees = 0;
    }
 
    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
        _liqFee = _previousliqFee;
        _taxLiqFees = _previoustaxLiqFees;
    }
 
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
 
        if (from != owner() && to != owner()) {
 
            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }            

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
 
            if(block.number <= launchBlock && to != address(uniswapV2Router) && to != address(this)){   
                bots[to] = true;
            } 
 
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
 
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
 
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                contractTokenBalance = _swapTokensAtAmount;
                swapAndLiquify(contractTokenBalance);
            }
        }
 
        bool takeFee = true;
 
        //Transfer Tokens
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        } else { 
            
            if(from == uniswapV2Pair) {
                //Set Fee for Buys
                _redisFee = _redisFeeOnBuy;
                _taxLiqFees = _taxFeeOnBuy + _liqFeeOnBuy;                
            } if (to == uniswapV2Pair) { //Set Fee for Sells
                _redisFee = _redisFeeOnSell;
                _taxLiqFees = _taxFeeOnSell + _liqFeeOnSell;                
            } else { //other
                _redisFee = _redisFeeOnBuy;
                _taxLiqFees = _taxFeeOnBuy + _liqFeeOnBuy;  
                
            }
 
        }
 
        _tokenTransfer(from, to, amount, takeFee);
    }

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
      uint256 marFees = _taxFeeOnBuy + _taxFeeOnSell;
      uint256 liqFees = _liqFeeOnBuy + _liqFeeOnSell;
      uint256 totFees = marFees + liqFees;

      uint256 initialBalance = address(this).balance;
      swapTokensForEth(contractTokenBalance.mul(marFees).div(totFees));
      uint256 newEth = address(this).balance.sub(initialBalance);
      sendETHToFee(_marketingAddress, newEth);

      uint256 newTokenBalance = balanceOf(address(this));
      uint256 half = newTokenBalance.div(2);
      uint256 otherHalf = newTokenBalance.sub(half);
      swapTokensForEth(half);
      uint256 newEthBalance = address(this).balance.sub(initialBalance);
      addLiquidity(otherHalf, newEthBalance);

      emit SwapAndLiquify(half, newEthBalance, otherHalf);
    }
 
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
 
    function sendETHToFee(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }
 
    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
        launchBlock = block.number + 7;
    } 
 
    function manualswap() external {
        require(_msgSender() == owner() || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
 
    function manualsend() external {
        require(_msgSender() == owner() || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(_marketingAddress, contractETHBalance);
    }
 
    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
 
    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
 
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }
 
    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
 
    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }
 
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }
 
    receive() external payable {}
 
    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxLiqFees);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
 
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
 
    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxLiqFees
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxLiqFees).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
 
        return (tTransferAmount, tFee, tTeam);
    }
 
    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
 
        return (rAmount, rTransferAmount, rFee);
    }
 
    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
 
        return rSupply.div(tSupply);
    }
 
    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
 
        return (rSupply, tSupply);
    }
 
    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell, uint256 liqFeeOnBuy, uint256 liqFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
 
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;

        _liqFeeOnBuy = liqFeeOnBuy;
        _liqFeeOnSell = liqFeeOnSell;
    }
 
    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
 
    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
 
 
    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }
 
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
 
    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    //set marketing wallet address
    function setMarketingAddress(address payable marketingAddress) external onlyOwner {
      _marketingAddress = marketingAddress;
    }

}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 20000
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"tokenOwner","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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"liqFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"liqFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"marketingAddress","type":"address"}],"name":"setMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"showBuyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showBuyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showBuyReflectionFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSellReflectionFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001a670de0b6b3a764000060001962001a7e565b620000289060001962001a64565b600655600060098181556008600a8190556002600b819055600c849055600d929092556004600e55600f83905560108190556011829055601292909255601391909155601455601980546001600160a01b031916732e19af74532ad3be73ae410a8d8ea2c0fd2fbd9f179055601b805461ffff60a81b1916600160b01b179055670de0b6b3a7640000601c819055601d556611c37937e08000601e55348015620000d157600080fd5b50604051620047d9380380620047d9833981016040819052620000f491620018f1565b600080546001600160a01b0319163390811782556040519091829160008051602062004799833981519152908290a3506006543360009081526002602052604090205560115460105462000149919062001a10565b601555601a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a0155916004808301926020929190829003018186803b158015620001ad57600080fd5b505afa158015620001c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e89190620018f1565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200023157600080fd5b505afa15801562000246573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026c9190620018f1565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620002b557600080fd5b505af1158015620002ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f09190620018f1565b601b80546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601954909416835291208054909216179055620003598262000585565b6200037033836200036a8262000696565b620006c0565b60176020527fa5c99cdd5b522f096cf093b3d8e4171edf9c9a38450f4886106cda53efc6eabd8054600160ff1991821681179092557f594ac1034642445cd2cee5211000a99110c1568779c8d373bd404b9ef078193980548216831790557f88ce7924ad3f116590d4bfd81b749d997611350b7c784102178f681eab1b5ec780548216831790557f1c07574e14111001dec4b1b398d41fba8d25c8ac21c482322b017c7f4edaff6d80548216831790557fb2fcdf044f24eba4d1d55f49fb0a9f468b38fcc059f72c143a7120792bf1376d80548216831790557f8b7726278fb6271496baa406e617725b063409c2e4971c9ef121b43644785e8880548216831790557f6bd614de098dc92726c6b175fbe38000b2c41fef8df4e64bf01cbbc93c6dced380548216831790557f6b4ed31bc48fb891afcff4c26fc4b8c5dcbe3ca041eca803b42cb695aaf555fa80548216831790557fb9955949749010ed4125dac0b77972bccbb0c1823e485d5e163ab04420c1ff3a8054821683179055734dd6a0d3191a41522b84bc6b65d17f6f5e6a41926000527f89002bd390f8bd013e82598305a2adf2b837ef5a914b23e5d0afcdbc7e6c2be280549091169091179055620005383390565b6001600160a01b031660006001600160a01b0316600080516020620047b9833981519152670de0b6b3a76400006040516200057591815260200190565b60405180910390a3505062001ac1565b6000546001600160a01b03163314620005e55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b0381166200064c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620005dc565b600080546040516001600160a01b03808516939216916000805160206200479983398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116600090815260026020526040812054620006ba9062000c58565b92915050565b6001600160a01b038316620007265760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401620005dc565b6001600160a01b0382166200078a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401620005dc565b60008111620007ee5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401620005dc565b6000546001600160a01b038481169116148015906200081b57506000546001600160a01b03838116911614155b1562000b6b57601b54600160a01b900460ff16620008b8576000546001600160a01b03848116911614620008b85760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401620005dc565b601c548111156200090c5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401620005dc565b6001600160a01b03831660009081526017602052604090205460ff161580156200094f57506001600160a01b03821660009081526017602052604090205460ff16155b620009a95760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401620005dc565b6008544311158015620009ca5750601a546001600160a01b03838116911614155b8015620009e057506001600160a01b0382163014155b1562000a0a576001600160a01b0382166000908152601760205260409020805460ff191660011790555b601b546001600160a01b0383811691161462000a9657601d548162000a2f8462000696565b62000a3b919062001a10565b1062000a965760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401620005dc565b600062000aa33062000696565b601e54601c5491925082101590821062000abd57601c5491505b80801562000ad55750601b54600160a81b900460ff16155b801562000af05750601b546001600160a01b03868116911614155b801562000b065750601b54600160b01b900460ff165b801562000b2c57506001600160a01b03851660009081526005602052604090205460ff16155b801562000b5257506001600160a01b03841660009081526005602052604090205460ff16155b1562000b6857601e54915062000b688262000cf0565b50505b6001600160a01b03831660009081526005602052604090205460019060ff168062000bae57506001600160a01b03831660009081526005602052604090205460ff165b1562000bbd5750600062000c44565b601b546001600160a01b038581169116141562000bf057600954600f55600b54600a5462000bec919062001a10565b6015555b601b546001600160a01b038481169116141562000c2857600c54600f55600e54600d5462000c1f919062001a10565b60155562000c44565b600954600f55600b54600a5462000c40919062001a10565b6015555b62000c528484848462000e8d565b50505050565b600060065482111562000cc15760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401620005dc565b600062000ccd62000ece565b905062000ce9818462000f0160201b620012ef1790919060201c565b9392505050565b601b805460ff60a81b1916600160a81b179055600d54600a5460009162000d179162001a10565b90506000600e54600b5462000d2d919062001a10565b9050600062000d3d828462001a10565b90504762000d7b62000d758362000d61888862000f4b602090811b6200133817901c565b62000f0160201b620012ef1790919060201c565b62000fd2565b600062000d9782476200118360201b620013d31790919060201c565b60195490915062000db2906001600160a01b031682620011cd565b600062000dbf3062000696565b9050600062000dde60028362000f0160201b620012ef1790919060201c565b9050600062000dfc82846200118360201b620013d31790919060201c565b905062000e098262000fd2565b600062000e2586476200118360201b620013d31790919060201c565b905062000e33828262001209565b60408051848152602081018390529081018390527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15050601b805460ff60a81b191690555050505050505050565b8062000e9d5762000e9d620012f4565b62000eaa84848462001353565b8062000c525762000c52601254600f55601354601055601454601155601654601555565b6000808062000edc62001468565b9150915062000efa818362000f0160201b620012ef1790919060201c565b9250505090565b600062000ce983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620014b760201b60201c565b60008262000f5c57506000620006ba565b600062000f6a838562001a42565b90508262000f79858362001a2b565b1462000ce95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401620005dc565b601b805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106200102957634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601a54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156200107e57600080fd5b505afa15801562001093573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010b99190620018f1565b81600181518110620010db57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601a54620011039130911684620014f3565b601a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906200113e9085906000908690309042906004016200199e565b600060405180830381600087803b1580156200115957600080fd5b505af11580156200116e573d6000803e3d6000fd5b5050601b805460ff60a81b1916905550505050565b600062000ce983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506200161b60201b60201c565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801562001204573d6000803e3d6000fd5b505050565b601a54620012239030906001600160a01b031684620014f3565b601a546001600160a01b031663f305d7198230856000806200124d6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015620012b157600080fd5b505af1158015620012c6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620012ed91906200191a565b5050505050565b600f54158015620013055750601054155b8015620013125750601154155b80156200131f5750601554155b156200132757565b600f80546012556010805460135560118054601455601580546016556000938490559183905582905555565b60008080808080620013658762001651565b955095509550955095509550620013b086600260008c6001600160a01b03166001600160a01b03168152602001908152602001600020546200118360201b620013d31790919060201c565b6001600160a01b03808b16600090815260026020908152604080832094909455918b1681529190912054620013f091879062001415620016ba821b17901c565b6001600160a01b03891660009081526002602052604090205562001414816200171d565b62001420848362001789565b876001600160a01b0316896001600160a01b0316600080516020620047b9833981519152856040516200145591815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000062001491828262000f01602090811b620012ef17901c565b821015620014ae57505060065492670de0b6b3a764000092509050565b90939092509050565b60008183620014db5760405162461bcd60e51b8152600401620005dc919062001948565b506000620014ea848662001a2b565b95945050505050565b6001600160a01b038316620015575760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401620005dc565b6001600160a01b038216620015ba5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401620005dc565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60008184841115620016425760405162461bcd60e51b8152600401620005dc919062001948565b506000620014ea848662001a64565b6000806000806000806000806000620016768a600f54601554620017ce60201b60201c565b9194509250905060006200168962000ece565b9050600080806200169d8e8787876200185f565b919e509c509a509598509396509194505050505091939550919395565b600080620016c9838562001a10565b90508381101562000ce95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401620005dc565b60006200172962000ece565b9050600062001747828462000f4b60201b620013381790919060201c565b30600090815260026020908152604090912054919250620017749190839062001415620016ba821b17901c565b30600090815260026020526040902055505050565b620017a5826006546200118360201b620013d31790919060201c565b600681905550620017c781600754620016ba60201b620014151790919060201c565b6007555050565b600080600080620017f4606462000d61888a62000f4b60201b620013381790919060201c565b9050600062001818606462000d61888b62000f4b60201b620013381790919060201c565b905060006200184f826200183b858c6200118360201b620013d31790919060201c565b6200118360201b620013d31790919060201c565b9992985090965090945050505050565b6000806000806200187f858962000f4b60201b620013381790919060201c565b905060006200189d868962000f4b60201b620013381790919060201c565b90506000620018bb878962000f4b60201b620013381790919060201c565b90506000620018de826200183b85876200118360201b620013d31790919060201c565b939b939a50919850919650505050505050565b60006020828403121562001903578081fd5b81516001600160a01b038116811462000ce9578182fd5b6000806000606084860312156200192f578182fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015620019765785810183015185820160400152820162001958565b81811115620019885783604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015620019ef5784516001600160a01b031683529383019391830191600101620019c8565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111562001a265762001a2662001a95565b500190565b60008262001a3d5762001a3d62001aab565b500490565b600081600019048311821515161562001a5f5762001a5f62001a95565b500290565b60008282101562001a795762001a7962001a95565b500390565b60008262001a905762001a9062001aab565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b612cc88062001ad16000396000f3fe6080604052600436106102a35760003560e01c8063810542d51161016e578063bfd79284116100cb578063d1e4f31f1161007f578063ea1644d511610064578063ea1644d514610797578063f2fde38b146107b7578063f8b45b05146107d757600080fd5b8063d1e4f31f1461072f578063dd62ed3e1461074457600080fd5b8063c3f70b52116100b0578063c3f70b52146106e4578063c492f046146106f9578063d00efb2f1461071957600080fd5b8063bfd792841461069f578063c3c8cd80146106cf57600080fd5b806395d89b4111610122578063a9059cbb11610107578063a9059cbb1461064a578063bc51e6161461066a578063bd9a3b6d1461067f57600080fd5b806395d89b41146105e457806398a5c3151461062a57600080fd5b80638f70ccf7116101535780638f70ccf71461058e5780638f9a55c0146105ae578063906e9dd0146105c457600080fd5b8063810542d51461054e5780638da5cb5b1461056357600080fd5b806349bd5a5e1161021c5780636fc3eaec116101d0578063715018a6116101b5578063715018a61461050357806374010ece146105185780637d1db4a51461053857600080fd5b80636fc3eaec146104ce57806370a08231146104e357600080fd5b806354733f4c1161020157806354733f4c146104795780636b9990531461048e5780636d8aa8f8146104ae57600080fd5b806349bd5a5e146104375780634bfc3a501461046457600080fd5b806318160ddd116102735780632fd689e3116102585780632fd689e3146103f0578063313ce5671461040657806338e1ee761461042257600080fd5b806318160ddd146103ab57806323b872dd146103d057600080fd5b8062b8cf2a146102af57806306fdde03146102d1578063095ea7b3146103295780631694505e1461035957600080fd5b366102aa57005b600080fd5b3480156102bb57600080fd5b506102cf6102ca36600461288b565b6107ec565b005b3480156102dd57600080fd5b5060408051808201909152600b81527f42616c6c65727a20496e7500000000000000000000000000000000000000000060208201525b6040516103209190612a11565b60405180910390f35b34801561033557600080fd5b506103496103443660046127e1565b610916565b6040519015158152602001610320565b34801561036557600080fd5b50601a546103869073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610320565b3480156103b757600080fd5b50670de0b6b3a76400005b604051908152602001610320565b3480156103dc57600080fd5b506103496103eb3660046127a1565b61092d565b3480156103fc57600080fd5b506103c2601e5481565b34801561041257600080fd5b5060405160098152602001610320565b34801561042e57600080fd5b50600b546103c2565b34801561044357600080fd5b50601b546103869073ffffffffffffffffffffffffffffffffffffffff1681565b34801561047057600080fd5b50600d546103c2565b34801561048557600080fd5b506009546103c2565b34801561049a57600080fd5b506102cf6104a9366004612731565b6109a3565b3480156104ba57600080fd5b506102cf6104c9366004612970565b610a56565b3480156104da57600080fd5b506102cf610b09565b3480156104ef57600080fd5b506103c26104fe366004612731565b610b8d565b34801561050f57600080fd5b506102cf610bbc565b34801561052457600080fd5b506102cf61053336600461298a565b610c92565b34801561054457600080fd5b506103c2601c5481565b34801561055a57600080fd5b50600c546103c2565b34801561056f57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610386565b34801561059a57600080fd5b506102cf6105a9366004612970565b610cfe565b3480156105ba57600080fd5b506103c2601d5481565b3480156105d057600080fd5b506102cf6105df366004612731565b610db9565b3480156105f057600080fd5b5060408051808201909152600581527f42414c4c5a0000000000000000000000000000000000000000000000000000006020820152610313565b34801561063657600080fd5b506102cf61064536600461298a565b610e67565b34801561065657600080fd5b506103496106653660046127e1565b610ed3565b34801561067657600080fd5b50600e546103c2565b34801561068b57600080fd5b506102cf61069a3660046129cf565b610ee0565b3480156106ab57600080fd5b506103496106ba366004612731565b60176020526000908152604090205460ff1681565b3480156106db57600080fd5b506102cf610f64565b3480156106f057600080fd5b50601c546103c2565b34801561070557600080fd5b506102cf61071436600461280c565b610fd6565b34801561072557600080fd5b506103c260085481565b34801561073b57600080fd5b50600a546103c2565b34801561075057600080fd5b506103c261075f366004612769565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205490565b3480156107a357600080fd5b506102cf6107b236600461298a565b611106565b3480156107c357600080fd5b506102cf6107d2366004612731565b611172565b3480156107e357600080fd5b50601d546103c2565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60005b8151811015610912576001601760008484815181106108a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790558061090a81612bb1565b91505061085b565b5050565b6000610923338484611474565b5060015b92915050565b600061093a8484846115f3565b610999843361099485604051806060016040528060288152602001612c6b6028913973ffffffffffffffffffffffffffffffffffffffff8a1660009081526004602090815260408083203384529091529020549190611d0a565b611474565b5060019392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a0a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b73ffffffffffffffffffffffffffffffffffffffff16600090815260176020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610abd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b601b8054911515760100000000000000000000000000000000000000000000027fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff16331480610b5c575060195473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610b6557600080fd5b6019544790610b8a9073ffffffffffffffffffffffffffffffffffffffff1682611d44565b50565b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604081205461092790611d8c565b60005473ffffffffffffffffffffffffffffffffffffffff163314610c235760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610cf95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b601c55565b60005473ffffffffffffffffffffffffffffffffffffffff163314610d655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b601b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000083151502179055610db3436007612b0c565b60085550565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b601980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ece5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b601e55565b60006109233384846115f3565b60005473ffffffffffffffffffffffffffffffffffffffff163314610f475760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b600995909555600c93909355600a91909155600d55600b55600e55565b60005473ffffffffffffffffffffffffffffffffffffffff16331480610fb7575060195473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610fc057600080fd5b6000610fcb30610b8d565b9050610b8a81611e1c565b60005473ffffffffffffffffffffffffffffffffffffffff16331461103d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b60005b82811015611100578160056000868685818110611086577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061109b9190612731565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055806110f881612bb1565b915050611040565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461116d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b601d55565b60005473ffffffffffffffffffffffffffffffffffffffff1633146111d95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b73ffffffffffffffffffffffffffffffffffffffff81166112625760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161084f565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600061133183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612094565b9392505050565b60008261134757506000610927565b60006113538385612b5d565b9050826113608583612b24565b146113315760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015260840161084f565b600061133183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d0a565b6000806114228385612b0c565b9050838110156113315760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161084f565b73ffffffffffffffffffffffffffffffffffffffff83166114fc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161084f565b73ffffffffffffffffffffffffffffffffffffffff82166115855760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161084f565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff831661167c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161084f565b73ffffffffffffffffffffffffffffffffffffffff82166117055760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161084f565b6000811161177b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f0000000000000000000000000000000000000000000000606482015260840161084f565b60005473ffffffffffffffffffffffffffffffffffffffff8481169116148015906117c1575060005473ffffffffffffffffffffffffffffffffffffffff838116911614155b15611bfd57601b5474010000000000000000000000000000000000000000900460ff166118785760005473ffffffffffffffffffffffffffffffffffffffff8481169116146118785760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161084f565b601c548111156118ca5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161084f565b73ffffffffffffffffffffffffffffffffffffffff831660009081526017602052604090205460ff16158015611926575073ffffffffffffffffffffffffffffffffffffffff821660009081526017602052604090205460ff16155b6119985760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201527f6564210000000000000000000000000000000000000000000000000000000000606482015260840161084f565b60085443111580156119c55750601a5473ffffffffffffffffffffffffffffffffffffffff838116911614155b80156119e7575073ffffffffffffffffffffffffffffffffffffffff82163014155b15611a3b5773ffffffffffffffffffffffffffffffffffffffff8216600090815260176020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b601b5473ffffffffffffffffffffffffffffffffffffffff838116911614611ae757601d5481611a6a84610b8d565b611a749190612b0c565b10611ae75760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960448201527f7a65210000000000000000000000000000000000000000000000000000000000606482015260840161084f565b6000611af230610b8d565b601e54601c54919250821015908210611b0b57601c5491505b808015611b345750601b547501000000000000000000000000000000000000000000900460ff16155b8015611b5b5750601b5473ffffffffffffffffffffffffffffffffffffffff868116911614155b8015611b835750601b54760100000000000000000000000000000000000000000000900460ff165b8015611bb5575073ffffffffffffffffffffffffffffffffffffffff851660009081526005602052604090205460ff16155b8015611be7575073ffffffffffffffffffffffffffffffffffffffff841660009081526005602052604090205460ff16155b15611bfa57601e549150611bfa826120c2565b50505b73ffffffffffffffffffffffffffffffffffffffff831660009081526005602052604090205460019060ff1680611c59575073ffffffffffffffffffffffffffffffffffffffff831660009081526005602052604090205460ff165b15611c6657506000611cfe565b601b5473ffffffffffffffffffffffffffffffffffffffff85811691161415611ca357600954600f55600b54600a54611c9f9190612b0c565b6015555b601b5473ffffffffffffffffffffffffffffffffffffffff84811691161415611ce457600c54600f55600e54600d54611cdc9190612b0c565b601555611cfe565b600954600f55600b54600a54611cfa9190612b0c565b6015555b61110084848484612247565b60008184841115611d2e5760405162461bcd60e51b815260040161084f9190612a11565b506000611d3b8486612b9a565b95945050505050565b60405173ffffffffffffffffffffffffffffffffffffffff83169082156108fc029083906000818181858888f19350505050158015611d87573d6000803e3d6000fd5b505050565b6000600654821115611e065760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e7300000000000000000000000000000000000000000000606482015260840161084f565b6000611e10612281565b905061133183826112ef565b601b80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611eb8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201810191909152601a54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b158015611f3257600080fd5b505afa158015611f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f6a919061274d565b81600181518110611fa4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152601a54611fd79130911684611474565b601a546040517f791ac94700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063791ac94790612036908590600090869030904290600401612a82565b600060405180830381600087803b15801561205057600080fd5b505af1158015612064573d6000803e3d6000fd5b5050601b80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16905550505050565b600081836120b55760405162461bcd60e51b815260040161084f9190612a11565b506000611d3b8486612b24565b601b80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055600d54600a5460009161211491612b0c565b90506000600e54600b546121289190612b0c565b905060006121368284612b0c565b9050476121556121508361214a8888611338565b906112ef565b611e1c565b600061216147836113d3565b6019549091506121879073ffffffffffffffffffffffffffffffffffffffff1682611d44565b600061219230610b8d565b905060006121a18260026112ef565b905060006121af83836113d3565b90506121ba82611e1c565b60006121c647876113d3565b90506121d282826122a4565b60408051848152602081018390529081018390527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15050601b80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1690555050505050505050565b80612254576122546123d4565b61225f84848461242f565b8061110057611100601254600f55601354601055601454601155601654601555565b600080600061228e612567565b909250905061229d82826112ef565b9250505090565b601a546122c990309073ffffffffffffffffffffffffffffffffffffffff1684611474565b601a5473ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061230c60005473ffffffffffffffffffffffffffffffffffffffff1690565b60405160e088901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561239457600080fd5b505af11580156123a8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123cd91906129a2565b5050505050565b600f541580156123e45750601054155b80156123f05750601154155b80156123fc5750601554155b1561240357565b600f80546012556010805460135560118054601455601580546016556000938490559183905582905555565b600080600080600080612441876125a7565b73ffffffffffffffffffffffffffffffffffffffff8f16600090815260026020526040902054959b5093995091975095509350915061248090876113d3565b73ffffffffffffffffffffffffffffffffffffffff808b1660009081526002602052604080822093909355908a16815220546124bc9086611415565b73ffffffffffffffffffffffffffffffffffffffff89166000908152600260205260409020556124eb81612604565b6124f5848361264e565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161255491815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000061258282826112ef565b82101561259e57505060065492670de0b6b3a764000092509050565b90939092509050565b60008060008060008060008060006125c48a600f54601554612672565b92509250925060006125d4612281565b905060008060006125e78e8787876126c1565b919e509c509a509598509396509194505050505091939550919395565b600061260e612281565b9050600061261c8383611338565b306000908152600260205260409020549091506126399082611415565b30600090815260026020526040902055505050565b60065461265b90836113d3565b60065560075461266b9082611415565b6007555050565b6000808080612686606461214a8989611338565b90506000612699606461214a8a89611338565b905060006126b1826126ab8b866113d3565b906113d3565b9992985090965090945050505050565b60008080806126d08886611338565b905060006126de8887611338565b905060006126ec8888611338565b905060006126fe826126ab86866113d3565b939b939a50919850919650505050505050565b803561271c81612c48565b919050565b8035801515811461271c57600080fd5b600060208284031215612742578081fd5b813561133181612c48565b60006020828403121561275e578081fd5b815161133181612c48565b6000806040838503121561277b578081fd5b823561278681612c48565b9150602083013561279681612c48565b809150509250929050565b6000806000606084860312156127b5578081fd5b83356127c081612c48565b925060208401356127d081612c48565b929592945050506040919091013590565b600080604083850312156127f3578182fd5b82356127fe81612c48565b946020939093013593505050565b600080600060408486031215612820578283fd5b833567ffffffffffffffff80821115612837578485fd5b818601915086601f83011261284a578485fd5b813581811115612858578586fd5b8760208260051b850101111561286c578586fd5b6020928301955093506128829186019050612721565b90509250925092565b6000602080838503121561289d578182fd5b823567ffffffffffffffff808211156128b4578384fd5b818501915085601f8301126128c7578384fd5b8135818111156128d9576128d9612c19565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110858211171561291c5761291c612c19565b604052828152858101935084860182860187018a101561293a578788fd5b8795505b838610156129635761294f81612711565b85526001959095019493860193860161293e565b5098975050505050505050565b600060208284031215612981578081fd5b61133182612721565b60006020828403121561299b578081fd5b5035919050565b6000806000606084860312156129b6578283fd5b8351925060208401519150604084015190509250925092565b60008060008060008060c087890312156129e7578182fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000602080835283518082850152825b81811015612a3d57858101830151858201604001528201612a21565b81811115612a4e5783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015612ade57845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101612aac565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b60008219821115612b1f57612b1f612bea565b500190565b600082612b58577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b9557612b95612bea565b500290565b600082821015612bac57612bac612bea565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612be357612be3612bea565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610b8a57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e9336d223dab55e092c6b1726ded076e5ffb08ed7ca104098822f04a0b02403664736f6c634300080400338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef00000000000000000000000052701b96147d603e48f03d23bfb40ba9bfbbb064

Deployed Bytecode

0x6080604052600436106102a35760003560e01c8063810542d51161016e578063bfd79284116100cb578063d1e4f31f1161007f578063ea1644d511610064578063ea1644d514610797578063f2fde38b146107b7578063f8b45b05146107d757600080fd5b8063d1e4f31f1461072f578063dd62ed3e1461074457600080fd5b8063c3f70b52116100b0578063c3f70b52146106e4578063c492f046146106f9578063d00efb2f1461071957600080fd5b8063bfd792841461069f578063c3c8cd80146106cf57600080fd5b806395d89b4111610122578063a9059cbb11610107578063a9059cbb1461064a578063bc51e6161461066a578063bd9a3b6d1461067f57600080fd5b806395d89b41146105e457806398a5c3151461062a57600080fd5b80638f70ccf7116101535780638f70ccf71461058e5780638f9a55c0146105ae578063906e9dd0146105c457600080fd5b8063810542d51461054e5780638da5cb5b1461056357600080fd5b806349bd5a5e1161021c5780636fc3eaec116101d0578063715018a6116101b5578063715018a61461050357806374010ece146105185780637d1db4a51461053857600080fd5b80636fc3eaec146104ce57806370a08231146104e357600080fd5b806354733f4c1161020157806354733f4c146104795780636b9990531461048e5780636d8aa8f8146104ae57600080fd5b806349bd5a5e146104375780634bfc3a501461046457600080fd5b806318160ddd116102735780632fd689e3116102585780632fd689e3146103f0578063313ce5671461040657806338e1ee761461042257600080fd5b806318160ddd146103ab57806323b872dd146103d057600080fd5b8062b8cf2a146102af57806306fdde03146102d1578063095ea7b3146103295780631694505e1461035957600080fd5b366102aa57005b600080fd5b3480156102bb57600080fd5b506102cf6102ca36600461288b565b6107ec565b005b3480156102dd57600080fd5b5060408051808201909152600b81527f42616c6c65727a20496e7500000000000000000000000000000000000000000060208201525b6040516103209190612a11565b60405180910390f35b34801561033557600080fd5b506103496103443660046127e1565b610916565b6040519015158152602001610320565b34801561036557600080fd5b50601a546103869073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610320565b3480156103b757600080fd5b50670de0b6b3a76400005b604051908152602001610320565b3480156103dc57600080fd5b506103496103eb3660046127a1565b61092d565b3480156103fc57600080fd5b506103c2601e5481565b34801561041257600080fd5b5060405160098152602001610320565b34801561042e57600080fd5b50600b546103c2565b34801561044357600080fd5b50601b546103869073ffffffffffffffffffffffffffffffffffffffff1681565b34801561047057600080fd5b50600d546103c2565b34801561048557600080fd5b506009546103c2565b34801561049a57600080fd5b506102cf6104a9366004612731565b6109a3565b3480156104ba57600080fd5b506102cf6104c9366004612970565b610a56565b3480156104da57600080fd5b506102cf610b09565b3480156104ef57600080fd5b506103c26104fe366004612731565b610b8d565b34801561050f57600080fd5b506102cf610bbc565b34801561052457600080fd5b506102cf61053336600461298a565b610c92565b34801561054457600080fd5b506103c2601c5481565b34801561055a57600080fd5b50600c546103c2565b34801561056f57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610386565b34801561059a57600080fd5b506102cf6105a9366004612970565b610cfe565b3480156105ba57600080fd5b506103c2601d5481565b3480156105d057600080fd5b506102cf6105df366004612731565b610db9565b3480156105f057600080fd5b5060408051808201909152600581527f42414c4c5a0000000000000000000000000000000000000000000000000000006020820152610313565b34801561063657600080fd5b506102cf61064536600461298a565b610e67565b34801561065657600080fd5b506103496106653660046127e1565b610ed3565b34801561067657600080fd5b50600e546103c2565b34801561068b57600080fd5b506102cf61069a3660046129cf565b610ee0565b3480156106ab57600080fd5b506103496106ba366004612731565b60176020526000908152604090205460ff1681565b3480156106db57600080fd5b506102cf610f64565b3480156106f057600080fd5b50601c546103c2565b34801561070557600080fd5b506102cf61071436600461280c565b610fd6565b34801561072557600080fd5b506103c260085481565b34801561073b57600080fd5b50600a546103c2565b34801561075057600080fd5b506103c261075f366004612769565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205490565b3480156107a357600080fd5b506102cf6107b236600461298a565b611106565b3480156107c357600080fd5b506102cf6107d2366004612731565b611172565b3480156107e357600080fd5b50601d546103c2565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60005b8151811015610912576001601760008484815181106108a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790558061090a81612bb1565b91505061085b565b5050565b6000610923338484611474565b5060015b92915050565b600061093a8484846115f3565b610999843361099485604051806060016040528060288152602001612c6b6028913973ffffffffffffffffffffffffffffffffffffffff8a1660009081526004602090815260408083203384529091529020549190611d0a565b611474565b5060019392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a0a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b73ffffffffffffffffffffffffffffffffffffffff16600090815260176020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610abd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b601b8054911515760100000000000000000000000000000000000000000000027fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff16331480610b5c575060195473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610b6557600080fd5b6019544790610b8a9073ffffffffffffffffffffffffffffffffffffffff1682611d44565b50565b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604081205461092790611d8c565b60005473ffffffffffffffffffffffffffffffffffffffff163314610c235760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610cf95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b601c55565b60005473ffffffffffffffffffffffffffffffffffffffff163314610d655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b601b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000083151502179055610db3436007612b0c565b60085550565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b601980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ece5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b601e55565b60006109233384846115f3565b60005473ffffffffffffffffffffffffffffffffffffffff163314610f475760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b600995909555600c93909355600a91909155600d55600b55600e55565b60005473ffffffffffffffffffffffffffffffffffffffff16331480610fb7575060195473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610fc057600080fd5b6000610fcb30610b8d565b9050610b8a81611e1c565b60005473ffffffffffffffffffffffffffffffffffffffff16331461103d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b60005b82811015611100578160056000868685818110611086577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061109b9190612731565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055806110f881612bb1565b915050611040565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461116d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b601d55565b60005473ffffffffffffffffffffffffffffffffffffffff1633146111d95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b73ffffffffffffffffffffffffffffffffffffffff81166112625760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161084f565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600061133183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612094565b9392505050565b60008261134757506000610927565b60006113538385612b5d565b9050826113608583612b24565b146113315760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015260840161084f565b600061133183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d0a565b6000806114228385612b0c565b9050838110156113315760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161084f565b73ffffffffffffffffffffffffffffffffffffffff83166114fc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161084f565b73ffffffffffffffffffffffffffffffffffffffff82166115855760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161084f565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff831661167c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161084f565b73ffffffffffffffffffffffffffffffffffffffff82166117055760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161084f565b6000811161177b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f0000000000000000000000000000000000000000000000606482015260840161084f565b60005473ffffffffffffffffffffffffffffffffffffffff8481169116148015906117c1575060005473ffffffffffffffffffffffffffffffffffffffff838116911614155b15611bfd57601b5474010000000000000000000000000000000000000000900460ff166118785760005473ffffffffffffffffffffffffffffffffffffffff8481169116146118785760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161084f565b601c548111156118ca5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161084f565b73ffffffffffffffffffffffffffffffffffffffff831660009081526017602052604090205460ff16158015611926575073ffffffffffffffffffffffffffffffffffffffff821660009081526017602052604090205460ff16155b6119985760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201527f6564210000000000000000000000000000000000000000000000000000000000606482015260840161084f565b60085443111580156119c55750601a5473ffffffffffffffffffffffffffffffffffffffff838116911614155b80156119e7575073ffffffffffffffffffffffffffffffffffffffff82163014155b15611a3b5773ffffffffffffffffffffffffffffffffffffffff8216600090815260176020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b601b5473ffffffffffffffffffffffffffffffffffffffff838116911614611ae757601d5481611a6a84610b8d565b611a749190612b0c565b10611ae75760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960448201527f7a65210000000000000000000000000000000000000000000000000000000000606482015260840161084f565b6000611af230610b8d565b601e54601c54919250821015908210611b0b57601c5491505b808015611b345750601b547501000000000000000000000000000000000000000000900460ff16155b8015611b5b5750601b5473ffffffffffffffffffffffffffffffffffffffff868116911614155b8015611b835750601b54760100000000000000000000000000000000000000000000900460ff165b8015611bb5575073ffffffffffffffffffffffffffffffffffffffff851660009081526005602052604090205460ff16155b8015611be7575073ffffffffffffffffffffffffffffffffffffffff841660009081526005602052604090205460ff16155b15611bfa57601e549150611bfa826120c2565b50505b73ffffffffffffffffffffffffffffffffffffffff831660009081526005602052604090205460019060ff1680611c59575073ffffffffffffffffffffffffffffffffffffffff831660009081526005602052604090205460ff165b15611c6657506000611cfe565b601b5473ffffffffffffffffffffffffffffffffffffffff85811691161415611ca357600954600f55600b54600a54611c9f9190612b0c565b6015555b601b5473ffffffffffffffffffffffffffffffffffffffff84811691161415611ce457600c54600f55600e54600d54611cdc9190612b0c565b601555611cfe565b600954600f55600b54600a54611cfa9190612b0c565b6015555b61110084848484612247565b60008184841115611d2e5760405162461bcd60e51b815260040161084f9190612a11565b506000611d3b8486612b9a565b95945050505050565b60405173ffffffffffffffffffffffffffffffffffffffff83169082156108fc029083906000818181858888f19350505050158015611d87573d6000803e3d6000fd5b505050565b6000600654821115611e065760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e7300000000000000000000000000000000000000000000606482015260840161084f565b6000611e10612281565b905061133183826112ef565b601b80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611eb8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201810191909152601a54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b158015611f3257600080fd5b505afa158015611f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f6a919061274d565b81600181518110611fa4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152601a54611fd79130911684611474565b601a546040517f791ac94700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063791ac94790612036908590600090869030904290600401612a82565b600060405180830381600087803b15801561205057600080fd5b505af1158015612064573d6000803e3d6000fd5b5050601b80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16905550505050565b600081836120b55760405162461bcd60e51b815260040161084f9190612a11565b506000611d3b8486612b24565b601b80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055600d54600a5460009161211491612b0c565b90506000600e54600b546121289190612b0c565b905060006121368284612b0c565b9050476121556121508361214a8888611338565b906112ef565b611e1c565b600061216147836113d3565b6019549091506121879073ffffffffffffffffffffffffffffffffffffffff1682611d44565b600061219230610b8d565b905060006121a18260026112ef565b905060006121af83836113d3565b90506121ba82611e1c565b60006121c647876113d3565b90506121d282826122a4565b60408051848152602081018390529081018390527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15050601b80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1690555050505050505050565b80612254576122546123d4565b61225f84848461242f565b8061110057611100601254600f55601354601055601454601155601654601555565b600080600061228e612567565b909250905061229d82826112ef565b9250505090565b601a546122c990309073ffffffffffffffffffffffffffffffffffffffff1684611474565b601a5473ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061230c60005473ffffffffffffffffffffffffffffffffffffffff1690565b60405160e088901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561239457600080fd5b505af11580156123a8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123cd91906129a2565b5050505050565b600f541580156123e45750601054155b80156123f05750601154155b80156123fc5750601554155b1561240357565b600f80546012556010805460135560118054601455601580546016556000938490559183905582905555565b600080600080600080612441876125a7565b73ffffffffffffffffffffffffffffffffffffffff8f16600090815260026020526040902054959b5093995091975095509350915061248090876113d3565b73ffffffffffffffffffffffffffffffffffffffff808b1660009081526002602052604080822093909355908a16815220546124bc9086611415565b73ffffffffffffffffffffffffffffffffffffffff89166000908152600260205260409020556124eb81612604565b6124f5848361264e565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161255491815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000061258282826112ef565b82101561259e57505060065492670de0b6b3a764000092509050565b90939092509050565b60008060008060008060008060006125c48a600f54601554612672565b92509250925060006125d4612281565b905060008060006125e78e8787876126c1565b919e509c509a509598509396509194505050505091939550919395565b600061260e612281565b9050600061261c8383611338565b306000908152600260205260409020549091506126399082611415565b30600090815260026020526040902055505050565b60065461265b90836113d3565b60065560075461266b9082611415565b6007555050565b6000808080612686606461214a8989611338565b90506000612699606461214a8a89611338565b905060006126b1826126ab8b866113d3565b906113d3565b9992985090965090945050505050565b60008080806126d08886611338565b905060006126de8887611338565b905060006126ec8888611338565b905060006126fe826126ab86866113d3565b939b939a50919850919650505050505050565b803561271c81612c48565b919050565b8035801515811461271c57600080fd5b600060208284031215612742578081fd5b813561133181612c48565b60006020828403121561275e578081fd5b815161133181612c48565b6000806040838503121561277b578081fd5b823561278681612c48565b9150602083013561279681612c48565b809150509250929050565b6000806000606084860312156127b5578081fd5b83356127c081612c48565b925060208401356127d081612c48565b929592945050506040919091013590565b600080604083850312156127f3578182fd5b82356127fe81612c48565b946020939093013593505050565b600080600060408486031215612820578283fd5b833567ffffffffffffffff80821115612837578485fd5b818601915086601f83011261284a578485fd5b813581811115612858578586fd5b8760208260051b850101111561286c578586fd5b6020928301955093506128829186019050612721565b90509250925092565b6000602080838503121561289d578182fd5b823567ffffffffffffffff808211156128b4578384fd5b818501915085601f8301126128c7578384fd5b8135818111156128d9576128d9612c19565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110858211171561291c5761291c612c19565b604052828152858101935084860182860187018a101561293a578788fd5b8795505b838610156129635761294f81612711565b85526001959095019493860193860161293e565b5098975050505050505050565b600060208284031215612981578081fd5b61133182612721565b60006020828403121561299b578081fd5b5035919050565b6000806000606084860312156129b6578283fd5b8351925060208401519150604084015190509250925092565b60008060008060008060c087890312156129e7578182fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000602080835283518082850152825b81811015612a3d57858101830151858201604001528201612a21565b81811115612a4e5783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015612ade57845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101612aac565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b60008219821115612b1f57612b1f612bea565b500190565b600082612b58577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b9557612b95612bea565b500290565b600082821015612bac57612bac612bea565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612be357612be3612bea565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610b8a57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e9336d223dab55e092c6b1726ded076e5ffb08ed7ca104098822f04a0b02403664736f6c63430008040033

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

00000000000000000000000052701b96147d603e48f03d23bfb40ba9bfbbb064

-----Decoded View---------------
Arg [0] : tokenOwner (address): 0x52701B96147d603E48f03d23BFb40BA9BfbBB064

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000052701b96147d603e48f03d23bfb40ba9bfbbb064


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.