ETH Price: $1,849.85 (-0.93%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve138981422021-12-29 4:51:021518 days ago1640753462IN
0xEfd0BC9D...e501d03E8
0 ETH0.0036901379.18243313
Approve134737802021-10-23 12:34:381585 days ago1634992478IN
0xEfd0BC9D...e501d03E8
0 ETH0.0022513248.30856958
Approve133906392021-10-10 11:32:081598 days ago1633865528IN
0xEfd0BC9D...e501d03E8
0 ETH0.0029686263.70024629
Approve133747022021-10-07 23:23:481601 days ago1633649028IN
0xEfd0BC9D...e501d03E8
0 ETH0.00476674102.28403348
Approve133746912021-10-07 23:21:591601 days ago1633648919IN
0xEfd0BC9D...e501d03E8
0 ETH0.00552449118.54368055
Approve133746672021-10-07 23:16:181601 days ago1633648578IN
0xEfd0BC9D...e501d03E8
0 ETH0.00651129139.71845598
Approve133745152021-10-07 22:41:171601 days ago1633646477IN
0xEfd0BC9D...e501d03E8
0 ETH0.00600564128.86810231
Approve133732782021-10-07 18:03:041601 days ago1633629784IN
0xEfd0BC9D...e501d03E8
0 ETH0.00816116175.12103919
Approve133665182021-10-06 16:33:441602 days ago1633538024IN
0xEfd0BC9D...e501d03E8
0 ETH0.00575317123.45071082
Approve133555702021-10-04 23:31:541604 days ago1633390314IN
0xEfd0BC9D...e501d03E8
0 ETH0.0045624397.9
Approve133503802021-10-04 4:01:341604 days ago1633320094IN
0xEfd0BC9D...e501d03E8
0 ETH0.0042755591.74412322
Approve133502122021-10-04 3:22:201604 days ago1633317740IN
0xEfd0BC9D...e501d03E8
0 ETH0.004086187.67910846
Approve133489632021-10-03 22:37:491605 days ago1633300669IN
0xEfd0BC9D...e501d03E8
0 ETH0.0016526561.89017333
Approve133489602021-10-03 22:37:181605 days ago1633300638IN
0xEfd0BC9D...e501d03E8
0 ETH0.0030216864.83885435
Approve133483312021-10-03 20:14:281605 days ago1633292068IN
0xEfd0BC9D...e501d03E8
0 ETH0.0039900385.61753664
Transfer133482742021-10-03 20:00:391605 days ago1633291239IN
0xEfd0BC9D...e501d03E8
0 ETH0.0023740579.74385931
Approve133463992021-10-03 13:08:201605 days ago1633266500IN
0xEfd0BC9D...e501d03E8
0 ETH0.0022300547.85216393
Transfer133451932021-10-03 8:45:181605 days ago1633250718IN
0xEfd0BC9D...e501d03E8
0 ETH0.0015142250.80112793
Transfer133451772021-10-03 8:39:341605 days ago1633250374IN
0xEfd0BC9D...e501d03E8
0 ETH0.0012755342.81047518
Transfer133451262021-10-03 8:28:231605 days ago1633249703IN
0xEfd0BC9D...e501d03E8
0 ETH0.0014736949.48120229
Transfer133451212021-10-03 8:26:451605 days ago1633249605IN
0xEfd0BC9D...e501d03E8
0 ETH0.0100293647.58984235
Approve133445492021-10-03 6:11:061605 days ago1633241466IN
0xEfd0BC9D...e501d03E8
0 ETH0.0019301341.41644896
Transfer133444562021-10-03 5:50:221605 days ago1633240222IN
0xEfd0BC9D...e501d03E8
0 ETH0.001457649
Approve133441762021-10-03 4:43:091605 days ago1633236189IN
0xEfd0BC9D...e501d03E8
0 ETH0.0018861540.47292287
Approve133426292021-10-02 22:41:551606 days ago1633214515IN
0xEfd0BC9D...e501d03E8
0 ETH0.002254348.37242282
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-134738002021-10-23 12:38:401585 days ago1634992720
0xEfd0BC9D...e501d03E8
0.0010199 ETH
-134738002021-10-23 12:38:401585 days ago1634992720
0xEfd0BC9D...e501d03E8
0.0010199 ETH
-134411982021-10-18 10:11:361590 days ago1634551896
0xEfd0BC9D...e501d03E8
0.00423316 ETH
-134411982021-10-18 10:11:361590 days ago1634551896
0xEfd0BC9D...e501d03E8
0.00423316 ETH
-134285502021-10-16 10:42:561592 days ago1634380976
0xEfd0BC9D...e501d03E8
0.00106734 ETH
-134285502021-10-16 10:42:561592 days ago1634380976
0xEfd0BC9D...e501d03E8
0.00106734 ETH
-134072272021-10-13 1:43:391595 days ago1634089419
0xEfd0BC9D...e501d03E8
0.00145695 ETH
-134072272021-10-13 1:43:391595 days ago1634089419
0xEfd0BC9D...e501d03E8
0.00145695 ETH
-134068732021-10-13 0:29:481596 days ago1634084988
0xEfd0BC9D...e501d03E8
0.00739858 ETH
-134068732021-10-13 0:29:481596 days ago1634084988
0xEfd0BC9D...e501d03E8
0.00739858 ETH
-133747222021-10-07 23:28:121601 days ago1633649292
0xEfd0BC9D...e501d03E8
0.00736866 ETH
-133747222021-10-07 23:28:121601 days ago1633649292
0xEfd0BC9D...e501d03E8
0.00736866 ETH
-133747092021-10-07 23:25:121601 days ago1633649112
0xEfd0BC9D...e501d03E8
0.00855891 ETH
-133747092021-10-07 23:25:121601 days ago1633649112
0xEfd0BC9D...e501d03E8
0.00855891 ETH
-133746792021-10-07 23:19:001601 days ago1633648740
0xEfd0BC9D...e501d03E8
0.00495887 ETH
-133746792021-10-07 23:19:001601 days ago1633648740
0xEfd0BC9D...e501d03E8
0.00495887 ETH
-133746322021-10-07 23:07:261601 days ago1633648046
0xEfd0BC9D...e501d03E8
0.01260513 ETH
-133746322021-10-07 23:07:261601 days ago1633648046
0xEfd0BC9D...e501d03E8
0.01260513 ETH
-133746282021-10-07 23:05:531601 days ago1633647953
0xEfd0BC9D...e501d03E8
0.00699696 ETH
-133746282021-10-07 23:05:531601 days ago1633647953
0xEfd0BC9D...e501d03E8
0.00699696 ETH
-133745972021-10-07 22:59:361601 days ago1633647576
0xEfd0BC9D...e501d03E8
0.00699696 ETH
-133745972021-10-07 22:59:361601 days ago1633647576
0xEfd0BC9D...e501d03E8
0.00699696 ETH
-133745972021-10-07 22:59:361601 days ago1633647576
0xEfd0BC9D...e501d03E8
0.00699696 ETH
-133745972021-10-07 22:59:361601 days ago1633647576
0xEfd0BC9D...e501d03E8
0.00699696 ETH
-133745952021-10-07 22:58:171601 days ago1633647497
0xEfd0BC9D...e501d03E8
0.00819145 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
YAGAMI

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-10-01
*/

/**
  * Yagami Inu 
  * 2% reflection fee,2% marketing fee
  * Use a minimum of 4% slippage when trading.
  * Website: https://www.yagamicoin.com
  * Telegram: https://t.me/yagamicoin
  * Twitter: https://twitter.com/yagamicoin
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.6.12;

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

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

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

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () internal {
        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);
    }

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract YAGAMI is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcluded;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    address[] private _excluded;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 100000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    string private constant _name = "Yagami Inu";
    string private constant _symbol = 'YAGAMI';
    uint8 private constant _decimals = 9;
    uint256 private _taxFee = 2;
    uint256 private _teamFee = 2;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;
    address payable private _FeeAddress;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (address payable FeeAddress) public {
        _FeeAddress = FeeAddress;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[FeeAddress] = 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 view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _tOwned[account];
        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 setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    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(_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _teamFee = _previousteamFee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        if (from != owner() && to != owner()) {
            if (cooldownEnabled) {
                if (from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router)) {
                    require(_msgSender() == address(uniswapV2Router) || _msgSender() == uniswapV2Pair,"ERR: Uniswap only");
                }
            }
            require(amount <= _maxTxAmount);
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        bool takeFee = true;

        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }
		
        _tokenTransfer(from,to,amount,takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _FeeAddress.transfer(amount);
    }
    
    function manualswap() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
        
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = 1000000000000 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _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 _transferToExcluded(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);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);    
        _takeTeam(tTeam);           
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);   
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _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);
        if(_isExcluded[address(this)])
            _tOwned[address(this)] = _tOwned[address(this)].add(tTeam);
    }

    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, _taxFee, _teamFee);
        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 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).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;      
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
        
    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() {
        require(maxTxPercent > 0, "Amount must be greater than 0");
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2);
        emit MaxTxAmountUpdated(_maxTxAmount);
    }

    function withdrawToken (address tokenAddress) public {
    IERC20 token = IERC20(tokenAddress);
    uint256 balance = token.balanceOf(address(this));
    token.transfer(msg.sender, balance);
    }

}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address payable","name":"FeeAddress","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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405269152d02c7e14af6800000600019816200001a57fe5b0660001903600a556002600c556002600d55600c54600e55600d54600f556000601260156101000a81548160ff0219169083151502179055506000601260166101000a81548160ff0219169083151502179055506000601260176101000a81548160ff02191690831515021790555069152d02c7e14af6800000601355348015620000a457600080fd5b506040516200430c3803806200430c83398181016040526020811015620000ca57600080fd5b81019080805190602001909291905050506000620000ed620003be60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5460026000620001e3620003be60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016005600062000237620003c660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000348620003be60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69152d02c7e14af68000006040518082815260200191505060405180910390a350620003ef565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b613f0d80620003ff6000396000f3fe6080604052600436106101185760003560e01c8063715018a6116100a0578063b515566a11610064578063b515566a146105c3578063c3c8cd8014610688578063c9567bf91461069f578063d543dbeb146106b6578063dd62ed3e146106f15761011f565b8063715018a61461041957806389476069146104305780638da5cb5b1461048157806395d89b41146104c2578063a9059cbb146105525761011f565b8063273123b7116100e7578063273123b7146102e1578063313ce567146103325780635932ead1146103605780636fc3eaec1461039d57806370a08231146103b45761011f565b806306fdde0314610124578063095ea7b3146101b457806318160ddd1461022557806323b872dd146102505761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610776565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017957808201518184015260208101905061015e565b50505050905090810190601f1680156101a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c057600080fd5b5061020d600480360360408110156101d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107b3565b60405180821515815260200191505060405180910390f35b34801561023157600080fd5b5061023a6107d1565b6040518082815260200191505060405180910390f35b34801561025c57600080fd5b506102c96004803603606081101561027357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107e3565b60405180821515815260200191505060405180910390f35b3480156102ed57600080fd5b506103306004803603602081101561030457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108bc565b005b34801561033e57600080fd5b506103476109df565b604051808260ff16815260200191505060405180910390f35b34801561036c57600080fd5b5061039b6004803603602081101561038357600080fd5b810190808035151590602001909291905050506109e8565b005b3480156103a957600080fd5b506103b2610acd565b005b3480156103c057600080fd5b50610403600480360360208110156103d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b3f565b6040518082815260200191505060405180910390f35b34801561042557600080fd5b5061042e610c2a565b005b34801561043c57600080fd5b5061047f6004803603602081101561045357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610db0565b005b34801561048d57600080fd5b50610496610f0d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104ce57600080fd5b506104d7610f36565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105175780820151818401526020810190506104fc565b50505050905090810190601f1680156105445780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561055e57600080fd5b506105ab6004803603604081101561057557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f73565b60405180821515815260200191505060405180910390f35b3480156105cf57600080fd5b50610686600480360360208110156105e657600080fd5b810190808035906020019064010000000081111561060357600080fd5b82018360208201111561061557600080fd5b8035906020019184602083028401116401000000008311171561063757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610f91565b005b34801561069457600080fd5b5061069d6110e1565b005b3480156106ab57600080fd5b506106b461115b565b005b3480156106c257600080fd5b506106ef600480360360208110156106d957600080fd5b81019080803590602001909291905050506117da565b005b3480156106fd57600080fd5b506107606004803603604081101561071457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061198a565b6040518082815260200191505060405180910390f35b60606040518060400160405280600a81526020017f596167616d6920496e7500000000000000000000000000000000000000000000815250905090565b60006107c76107c0611a11565b8484611a19565b6001905092915050565b600069152d02c7e14af6800000905090565b60006107f0848484611c10565b6108b1846107fc611a11565b6108ac85604051806060016040528060288152602001613e3e60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610862611a11565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243b9092919063ffffffff16565b611a19565b600190509392505050565b6108c4611a11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610984576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6109f0611a11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80601260176101000a81548160ff02191690831515021790555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b0e611a11565b73ffffffffffffffffffffffffffffffffffffffff1614610b2e57600080fd5b6000479050610b3c816124fb565b50565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610bda57600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610c25565b610c22600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612567565b90505b919050565b610c32611a11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cf2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610e1e57600080fd5b505afa158015610e32573d6000803e3d6000fd5b505050506040513d6020811015610e4857600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b505050506040513d6020811015610ef657600080fd5b810190808051906020019092919050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f594147414d490000000000000000000000000000000000000000000000000000815250905090565b6000610f87610f80611a11565b8484611c10565b6001905092915050565b610f99611a11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611059576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b81518110156110dd5760016007600084848151811061107757fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808060010191505061105c565b5050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611122611a11565b73ffffffffffffffffffffffffffffffffffffffff161461114257600080fd5b600061114d30610b3f565b9050611158816125eb565b50565b611163611a11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611223576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b601260149054906101000a900460ff16156112a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f74726164696e6720697320616c7265616479206f70656e00000000000000000081525060200191505060405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061133730601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669152d02c7e14af6800000611a19565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561137d57600080fd5b505afa158015611391573d6000803e3d6000fd5b505050506040513d60208110156113a757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561141a57600080fd5b505afa15801561142e573d6000803e3d6000fd5b505050506040513d602081101561144457600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156114be57600080fd5b505af11580156114d2573d6000803e3d6000fd5b505050506040513d60208110156114e857600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061158230610b3f565b60008061158d610f0d565b426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561161257600080fd5b505af1158015611626573d6000803e3d6000fd5b50505050506040513d606081101561163d57600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050506001601260166101000a81548160ff0219169083151502179055506001601260176101000a81548160ff021916908315150217905550683635c9adc5dea000006013819055506001601260146101000a81548160ff021916908315150217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561179b57600080fd5b505af11580156117af573d6000803e3d6000fd5b505050506040513d60208110156117c557600080fd5b81019080805190602001909291905050505050565b6117e2611a11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008111611918576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416d6f756e74206d7573742062652067726561746572207468616e203000000081525060200191505060405180910390fd5b611948606461193a8369152d02c7e14af68000006128d590919063ffffffff16565b61295b90919063ffffffff16565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6013546040518082815260200191505060405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613eb46024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613dfb6022913960400191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613e8f6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613dae6023913960400191505060405180910390fd5b60008111611d75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613e666029913960400191505060405180910390fd5b611d7d610f0d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611deb5750611dbb610f0d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561237857601260179054906101000a900460ff1615612051573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e6d57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611ec75750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f215750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561205057601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611f67611a11565b73ffffffffffffffffffffffffffffffffffffffff161480611fdd5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611fc5611a11565b73ffffffffffffffffffffffffffffffffffffffff16145b61204f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4552523a20556e6973776170206f6e6c7900000000000000000000000000000081525060200191505060405180910390fd5b5b5b60135481111561206057600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121045750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61210d57600080fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121b85750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561220e5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122265750601260179054906101000a900460ff165b156122be5742600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061227657600080fd5b601e4201600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60006122c930610b3f565b9050601260159054906101000a900460ff161580156123365750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561234e5750601260169054906101000a900460ff165b156123765761235c816125eb565b6000479050600081111561237457612373476124fb565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061241f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561242957600090505b612435848484846129a5565b50505050565b60008383111582906124e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156124ad578082015181840152602081019050612492565b50505050905090810190601f1680156124da5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612563573d6000803e3d6000fd5b5050565b6000600a548211156125c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613dd1602a913960400191505060405180910390fd5b60006125ce612bfc565b90506125e3818461295b90919063ffffffff16565b915050919050565b6001601260156101000a81548160ff0219169083151502179055506060600267ffffffffffffffff8111801561262057600080fd5b5060405190808252806020026020018201604052801561264f5781602001602082028036833780820191505090505b509050308160008151811061266057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561270257600080fd5b505afa158015612716573d6000803e3d6000fd5b505050506040513d602081101561272c57600080fd5b81019080805190602001909291905050508160018151811061274a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506127b130601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a19565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561287557808201518184015260208101905061285a565b505050509050019650505050505050600060405180830381600087803b15801561289e57600080fd5b505af11580156128b2573d6000803e3d6000fd5b50505050506000601260156101000a81548160ff02191690831515021790555050565b6000808314156128e85760009050612955565b60008284029050828482816128f957fe5b0414612950576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613e1d6021913960400191505060405180910390fd5b809150505b92915050565b600061299d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c27565b905092915050565b806129b3576129b2612ced565b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612a565750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612a6b57612a66848484612d30565b612be8565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612b0e5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612b2357612b1e848484612f90565b612be7565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612bc55750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612bda57612bd58484846131f0565b612be6565b612be58484846134e5565b5b5b5b80612bf657612bf56136b0565b5b50505050565b6000806000612c096136c4565b91509150612c20818361295b90919063ffffffff16565b9250505090565b60008083118290612cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c98578082015181840152602081019050612c7d565b50505050905090810190601f168015612cc55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612cdf57fe5b049050809150509392505050565b6000600c54148015612d0157506000600d54145b15612d0b57612d2e565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612d4287613975565b955095509550955095509550612da087600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139dd90919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e3586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139dd90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612eca85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f1681613aaf565b612f208483613c54565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600080600080600080612fa287613975565b95509550955095509550955061300086600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139dd90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061309583600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061312a85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061317681613aaf565b6131808483613c54565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b60008060008060008061320287613975565b95509550955095509550955061326087600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139dd90919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132f586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139dd90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061338a83600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061341f85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061346b81613aaf565b6134758483613c54565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b6000806000806000806134f787613975565b95509550955095509550955061355586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139dd90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506135ea85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061363681613aaf565b6136408483613c54565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b6000806000600a549050600069152d02c7e14af6800000905060005b600980549050811015613928578260026000600984815481106136ff57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806137e6575081600360006009848154811061377e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561380557600a5469152d02c7e14af680000094509450505050613971565b61388e600260006009848154811061381957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846139dd90919063ffffffff16565b925061391960036000600984815481106138a457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836139dd90919063ffffffff16565b915080806001019150506136e0565b5061394869152d02c7e14af6800000600a5461295b90919063ffffffff16565b82101561396857600a5469152d02c7e14af6800000935093505050613971565b81819350935050505b9091565b60008060008060008060008060006139928a600c54600d54613c8e565b92509250925060006139a2612bfc565b905060008060006139b58e878787613d24565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000613a1f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061243b565b905092915050565b600080828401905083811015613aa5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000613ab9612bfc565b90506000613ad082846128d590919063ffffffff16565b9050613b2481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613c4f57613c0b83600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b613c6982600a546139dd90919063ffffffff16565b600a81905550613c8481600b54613a2790919063ffffffff16565b600b819055505050565b600080600080613cba6064613cac888a6128d590919063ffffffff16565b61295b90919063ffffffff16565b90506000613ce46064613cd6888b6128d590919063ffffffff16565b61295b90919063ffffffff16565b90506000613d0d82613cff858c6139dd90919063ffffffff16565b6139dd90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080613d3d85896128d590919063ffffffff16565b90506000613d5486896128d590919063ffffffff16565b90506000613d6b87896128d590919063ffffffff16565b90506000613d9482613d8685876139dd90919063ffffffff16565b6139dd90919063ffffffff16565b905083818496509650965050505050945094509491505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212205f2b1bb2fa12f7f3b64d4bf5cc66edba05515e399d38c187cf821e9f7e09bc3a64736f6c634300060c0033000000000000000000000000d741109c29c00e9121d1d644a9f7155a11fc20d5

Deployed Bytecode

0x6080604052600436106101185760003560e01c8063715018a6116100a0578063b515566a11610064578063b515566a146105c3578063c3c8cd8014610688578063c9567bf91461069f578063d543dbeb146106b6578063dd62ed3e146106f15761011f565b8063715018a61461041957806389476069146104305780638da5cb5b1461048157806395d89b41146104c2578063a9059cbb146105525761011f565b8063273123b7116100e7578063273123b7146102e1578063313ce567146103325780635932ead1146103605780636fc3eaec1461039d57806370a08231146103b45761011f565b806306fdde0314610124578063095ea7b3146101b457806318160ddd1461022557806323b872dd146102505761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610776565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017957808201518184015260208101905061015e565b50505050905090810190601f1680156101a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c057600080fd5b5061020d600480360360408110156101d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107b3565b60405180821515815260200191505060405180910390f35b34801561023157600080fd5b5061023a6107d1565b6040518082815260200191505060405180910390f35b34801561025c57600080fd5b506102c96004803603606081101561027357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107e3565b60405180821515815260200191505060405180910390f35b3480156102ed57600080fd5b506103306004803603602081101561030457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108bc565b005b34801561033e57600080fd5b506103476109df565b604051808260ff16815260200191505060405180910390f35b34801561036c57600080fd5b5061039b6004803603602081101561038357600080fd5b810190808035151590602001909291905050506109e8565b005b3480156103a957600080fd5b506103b2610acd565b005b3480156103c057600080fd5b50610403600480360360208110156103d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b3f565b6040518082815260200191505060405180910390f35b34801561042557600080fd5b5061042e610c2a565b005b34801561043c57600080fd5b5061047f6004803603602081101561045357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610db0565b005b34801561048d57600080fd5b50610496610f0d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104ce57600080fd5b506104d7610f36565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105175780820151818401526020810190506104fc565b50505050905090810190601f1680156105445780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561055e57600080fd5b506105ab6004803603604081101561057557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f73565b60405180821515815260200191505060405180910390f35b3480156105cf57600080fd5b50610686600480360360208110156105e657600080fd5b810190808035906020019064010000000081111561060357600080fd5b82018360208201111561061557600080fd5b8035906020019184602083028401116401000000008311171561063757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610f91565b005b34801561069457600080fd5b5061069d6110e1565b005b3480156106ab57600080fd5b506106b461115b565b005b3480156106c257600080fd5b506106ef600480360360208110156106d957600080fd5b81019080803590602001909291905050506117da565b005b3480156106fd57600080fd5b506107606004803603604081101561071457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061198a565b6040518082815260200191505060405180910390f35b60606040518060400160405280600a81526020017f596167616d6920496e7500000000000000000000000000000000000000000000815250905090565b60006107c76107c0611a11565b8484611a19565b6001905092915050565b600069152d02c7e14af6800000905090565b60006107f0848484611c10565b6108b1846107fc611a11565b6108ac85604051806060016040528060288152602001613e3e60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610862611a11565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243b9092919063ffffffff16565b611a19565b600190509392505050565b6108c4611a11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610984576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6109f0611a11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80601260176101000a81548160ff02191690831515021790555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b0e611a11565b73ffffffffffffffffffffffffffffffffffffffff1614610b2e57600080fd5b6000479050610b3c816124fb565b50565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610bda57600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610c25565b610c22600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612567565b90505b919050565b610c32611a11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cf2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610e1e57600080fd5b505afa158015610e32573d6000803e3d6000fd5b505050506040513d6020811015610e4857600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b505050506040513d6020811015610ef657600080fd5b810190808051906020019092919050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f594147414d490000000000000000000000000000000000000000000000000000815250905090565b6000610f87610f80611a11565b8484611c10565b6001905092915050565b610f99611a11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611059576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b81518110156110dd5760016007600084848151811061107757fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808060010191505061105c565b5050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611122611a11565b73ffffffffffffffffffffffffffffffffffffffff161461114257600080fd5b600061114d30610b3f565b9050611158816125eb565b50565b611163611a11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611223576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b601260149054906101000a900460ff16156112a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f74726164696e6720697320616c7265616479206f70656e00000000000000000081525060200191505060405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061133730601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669152d02c7e14af6800000611a19565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561137d57600080fd5b505afa158015611391573d6000803e3d6000fd5b505050506040513d60208110156113a757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561141a57600080fd5b505afa15801561142e573d6000803e3d6000fd5b505050506040513d602081101561144457600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156114be57600080fd5b505af11580156114d2573d6000803e3d6000fd5b505050506040513d60208110156114e857600080fd5b8101908080519060200190929190505050601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061158230610b3f565b60008061158d610f0d565b426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561161257600080fd5b505af1158015611626573d6000803e3d6000fd5b50505050506040513d606081101561163d57600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050506001601260166101000a81548160ff0219169083151502179055506001601260176101000a81548160ff021916908315150217905550683635c9adc5dea000006013819055506001601260146101000a81548160ff021916908315150217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561179b57600080fd5b505af11580156117af573d6000803e3d6000fd5b505050506040513d60208110156117c557600080fd5b81019080805190602001909291905050505050565b6117e2611a11565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008111611918576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416d6f756e74206d7573742062652067726561746572207468616e203000000081525060200191505060405180910390fd5b611948606461193a8369152d02c7e14af68000006128d590919063ffffffff16565b61295b90919063ffffffff16565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6013546040518082815260200191505060405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613eb46024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613dfb6022913960400191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613e8f6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613dae6023913960400191505060405180910390fd5b60008111611d75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613e666029913960400191505060405180910390fd5b611d7d610f0d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611deb5750611dbb610f0d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561237857601260179054906101000a900460ff1615612051573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e6d57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611ec75750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f215750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561205057601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611f67611a11565b73ffffffffffffffffffffffffffffffffffffffff161480611fdd5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611fc5611a11565b73ffffffffffffffffffffffffffffffffffffffff16145b61204f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4552523a20556e6973776170206f6e6c7900000000000000000000000000000081525060200191505060405180910390fd5b5b5b60135481111561206057600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121045750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61210d57600080fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121b85750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561220e5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122265750601260179054906101000a900460ff165b156122be5742600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061227657600080fd5b601e4201600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60006122c930610b3f565b9050601260159054906101000a900460ff161580156123365750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561234e5750601260169054906101000a900460ff165b156123765761235c816125eb565b6000479050600081111561237457612373476124fb565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061241f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561242957600090505b612435848484846129a5565b50505050565b60008383111582906124e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156124ad578082015181840152602081019050612492565b50505050905090810190601f1680156124da5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612563573d6000803e3d6000fd5b5050565b6000600a548211156125c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613dd1602a913960400191505060405180910390fd5b60006125ce612bfc565b90506125e3818461295b90919063ffffffff16565b915050919050565b6001601260156101000a81548160ff0219169083151502179055506060600267ffffffffffffffff8111801561262057600080fd5b5060405190808252806020026020018201604052801561264f5781602001602082028036833780820191505090505b509050308160008151811061266057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561270257600080fd5b505afa158015612716573d6000803e3d6000fd5b505050506040513d602081101561272c57600080fd5b81019080805190602001909291905050508160018151811061274a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506127b130601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a19565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561287557808201518184015260208101905061285a565b505050509050019650505050505050600060405180830381600087803b15801561289e57600080fd5b505af11580156128b2573d6000803e3d6000fd5b50505050506000601260156101000a81548160ff02191690831515021790555050565b6000808314156128e85760009050612955565b60008284029050828482816128f957fe5b0414612950576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613e1d6021913960400191505060405180910390fd5b809150505b92915050565b600061299d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c27565b905092915050565b806129b3576129b2612ced565b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612a565750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612a6b57612a66848484612d30565b612be8565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612b0e5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612b2357612b1e848484612f90565b612be7565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612bc55750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612bda57612bd58484846131f0565b612be6565b612be58484846134e5565b5b5b5b80612bf657612bf56136b0565b5b50505050565b6000806000612c096136c4565b91509150612c20818361295b90919063ffffffff16565b9250505090565b60008083118290612cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c98578082015181840152602081019050612c7d565b50505050905090810190601f168015612cc55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612cdf57fe5b049050809150509392505050565b6000600c54148015612d0157506000600d54145b15612d0b57612d2e565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612d4287613975565b955095509550955095509550612da087600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139dd90919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e3586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139dd90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612eca85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f1681613aaf565b612f208483613c54565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600080600080600080612fa287613975565b95509550955095509550955061300086600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139dd90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061309583600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061312a85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061317681613aaf565b6131808483613c54565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b60008060008060008061320287613975565b95509550955095509550955061326087600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139dd90919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132f586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139dd90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061338a83600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061341f85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061346b81613aaf565b6134758483613c54565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b6000806000806000806134f787613975565b95509550955095509550955061355586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139dd90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506135ea85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061363681613aaf565b6136408483613c54565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b6000806000600a549050600069152d02c7e14af6800000905060005b600980549050811015613928578260026000600984815481106136ff57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806137e6575081600360006009848154811061377e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561380557600a5469152d02c7e14af680000094509450505050613971565b61388e600260006009848154811061381957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846139dd90919063ffffffff16565b925061391960036000600984815481106138a457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836139dd90919063ffffffff16565b915080806001019150506136e0565b5061394869152d02c7e14af6800000600a5461295b90919063ffffffff16565b82101561396857600a5469152d02c7e14af6800000935093505050613971565b81819350935050505b9091565b60008060008060008060008060006139928a600c54600d54613c8e565b92509250925060006139a2612bfc565b905060008060006139b58e878787613d24565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000613a1f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061243b565b905092915050565b600080828401905083811015613aa5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000613ab9612bfc565b90506000613ad082846128d590919063ffffffff16565b9050613b2481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613c4f57613c0b83600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2790919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b613c6982600a546139dd90919063ffffffff16565b600a81905550613c8481600b54613a2790919063ffffffff16565b600b819055505050565b600080600080613cba6064613cac888a6128d590919063ffffffff16565b61295b90919063ffffffff16565b90506000613ce46064613cd6888b6128d590919063ffffffff16565b61295b90919063ffffffff16565b90506000613d0d82613cff858c6139dd90919063ffffffff16565b6139dd90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080613d3d85896128d590919063ffffffff16565b90506000613d5486896128d590919063ffffffff16565b90506000613d6b87896128d590919063ffffffff16565b90506000613d9482613d8685876139dd90919063ffffffff16565b6139dd90919063ffffffff16565b905083818496509650965050505050945094509491505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212205f2b1bb2fa12f7f3b64d4bf5cc66edba05515e399d38c187cf821e9f7e09bc3a64736f6c634300060c0033

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

000000000000000000000000d741109c29c00e9121d1d644a9f7155a11fc20d5

-----Decoded View---------------
Arg [0] : FeeAddress (address): 0xd741109C29c00E9121d1D644A9F7155a11fc20d5

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d741109c29c00e9121d1d644a9f7155a11fc20d5


Deployed Bytecode Sourcemap

6523:14071:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8378:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9290:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8655:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9459:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14525:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8564:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9780:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13313:190;;;;;;;;;;;;;:::i;:::-;;8758:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5602:148;;;;;;;;;;;;;:::i;:::-;;20389:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5388:79;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8469:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8964:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14349:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13110:191;;;;;;;;;;;;;:::i;:::-;;13519:818;;;;;;;;;;;;;:::i;:::-;;20126:255;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9139:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8378:83;8415:13;8448:5;;;;;;;;;;;;;;;;;8441:12;;8378:83;:::o;9290:161::-;9365:4;9382:39;9391:12;:10;:12::i;:::-;9405:7;9414:6;9382:8;:39::i;:::-;9439:4;9432:11;;9290:161;;;;:::o;8655:95::-;8708:7;7140:23;8728:14;;8655:95;:::o;9459:313::-;9557:4;9574:36;9584:6;9592:9;9603:6;9574:9;:36::i;:::-;9621:121;9630:6;9638:12;:10;:12::i;:::-;9652:89;9690:6;9652:89;;;;;;;;;;;;;;;;;:11;:19;9664:6;9652:19;;;;;;;;;;;;;;;:33;9672:12;:10;:12::i;:::-;9652:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;9621:8;:121::i;:::-;9760:4;9753:11;;9459:313;;;;;:::o;14525:88::-;5525:12;:10;:12::i;:::-;5515:22;;:6;;;;;;;;;;:22;;;5507:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14600:5:::1;14585:4;:12;14590:6;14585:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;14525:88:::0;:::o;8564:83::-;8605:5;7394:1;8623:16;;8564:83;:::o;9780:103::-;5525:12;:10;:12::i;:::-;5515:22;;:6;;;;;;;;;;:22;;;5507:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9870:5:::1;9852:15;;:23;;;;;;;;;;;;;;;;;;9780:103:::0;:::o;13313:190::-;13379:11;;;;;;;;;;;13363:27;;:12;:10;:12::i;:::-;:27;;;13355:36;;;;;;13402:26;13431:21;13402:50;;13463:32;13476:18;13463:12;:32::i;:::-;13313:190;:::o;8758:198::-;8824:7;8848:11;:20;8860:7;8848:20;;;;;;;;;;;;;;;;;;;;;;;;;8844:49;;;8877:7;:16;8885:7;8877:16;;;;;;;;;;;;;;;;8870:23;;;;8844:49;8911:37;8931:7;:16;8939:7;8931:16;;;;;;;;;;;;;;;;8911:19;:37::i;:::-;8904:44;;8758:198;;;;:::o;5602:148::-;5525:12;:10;:12::i;:::-;5515:22;;:6;;;;;;;;;;:22;;;5507:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5709:1:::1;5672:40;;5693:6;::::0;::::1;;;;;;;;5672:40;;;;;;;;;;;;5740:1;5723:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5602:148::o:0;20389:200::-;20449:12;20471;20449:35;;20491:15;20509:5;:15;;;20533:4;20509:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20491:48;;20546:5;:14;;;20561:10;20573:7;20546:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20389:200;;;:::o;5388:79::-;5426:7;5453:6;;;;;;;;;;;5446:13;;5388:79;:::o;8469:87::-;8508:13;8541:7;;;;;;;;;;;;;;;;;8534:14;;8469:87;:::o;8964:167::-;9042:4;9059:42;9069:12;:10;:12::i;:::-;9083:9;9094:6;9059:9;:42::i;:::-;9119:4;9112:11;;8964:167;;;;:::o;14349:164::-;5525:12;:10;:12::i;:::-;5515:22;;:6;;;;;;;;;;:22;;;5507:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14423:6:::1;14418:88;14439:5;:12;14435:1;:16;14418:88;;;14490:4;14473;:14;14478:5;14484:1;14478:8;;;;;;;;;;;;;;14473:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;14453:3;;;;;;;14418:88;;;;14349:164:::0;:::o;13110:191::-;13176:11;;;;;;;;;;;13160:27;;:12;:10;:12::i;:::-;:27;;;13152:36;;;;;;13199:23;13225:24;13243:4;13225:9;:24::i;:::-;13199:50;;13260:33;13277:15;13260:16;:33::i;:::-;13110:191;:::o;13519:818::-;5525:12;:10;:12::i;:::-;5515:22;;:6;;;;;;;;;;:22;;;5507:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13583:11:::1;;;;;;;;;;;13582:12;13574:47;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;13632:35;13689:42;13632:100;;13761:16;13743:15;;:34;;;;;;;;;;;;;;;;;;13788:58;13805:4;13820:15;;;;;;;;;;;7140:23;13788:8;:58::i;:::-;13891:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;13873:56;;;13938:4;13945:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;13873:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;13857:13;;:112;;;;;;;;;;;;;;;;;;13980:15;;;;;;;;;;;:31;;;14019:21;14050:4;14056:24;14074:4;14056:9;:24::i;:::-;14081:1;14083::::0;14085:7:::1;:5;:7::i;:::-;14093:15;13980:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14134:4;14120:11;;:18;;;;;;;;;;;;;;;;;;14167:4;14149:15;;:22;;;;;;;;;;;;;;;;;;14197:21;14182:12;:36;;;;14243:4;14229:11;;:18;;;;;;;;;;;;;;;;;;14265:13;;;;;;;;;;;14258:29;;;14296:15;;;;;;;;;;;14314:14;14258:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;5585:1;13519:818::o:0;20126:255::-;5525:12;:10;:12::i;:::-;5515:22;;:6;;;;;;;;;;:22;;;5507:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20228:1:::1;20213:12;:16;20205:58;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;20289:36;20319:5;20289:25;20301:12;7140:23;20289:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;20274:12;:51;;;;20341:32;20360:12;;20341:32;;;;;;;;;;;;;;;;;;20126:255:::0;:::o;9139:143::-;9220:7;9247:11;:18;9259:5;9247:18;;;;;;;;;;;;;;;:27;9266:7;9247:27;;;;;;;;;;;;;;;;9240:34;;9139:143;;;;:::o;342:106::-;395:15;430:10;423:17;;342:106;:::o;10498:335::-;10608:1;10591:19;;:5;:19;;;;10583:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10689:1;10670:21;;:7;:21;;;;10662:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10771:6;10741:11;:18;10753:5;10741:18;;;;;;;;;;;;;;;:27;10760:7;10741:27;;;;;;;;;;;;;;;:36;;;;10809:7;10793:32;;10802:5;10793:32;;;10818:6;10793:32;;;;;;;;;;;;;;;;;;10498:335;;;:::o;10841:1657::-;10945:1;10929:18;;:4;:18;;;;10921:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11022:1;11008:16;;:2;:16;;;;11000:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11092:1;11083:6;:10;11075:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11172:7;:5;:7::i;:::-;11164:15;;:4;:15;;;;:32;;;;;11189:7;:5;:7::i;:::-;11183:13;;:2;:13;;;;11164:32;11160:1140;;;11217:15;;;;;;;;;;;11213:320;;;11273:4;11257:21;;:4;:21;;;;:44;;;;;11296:4;11282:19;;:2;:19;;;;11257:44;:80;;;;;11321:15;;;;;;;;;;;11305:32;;:4;:32;;;;11257:80;:114;;;;;11355:15;;;;;;;;;;;11341:30;;:2;:30;;;;11257:114;11253:265;;;11428:15;;;;;;;;;;;11404:40;;:12;:10;:12::i;:::-;:40;;;:73;;;;11464:13;;;;;;;;;;;11448:29;;:12;:10;:12::i;:::-;:29;;;11404:73;11396:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11253:265;11213:320;11565:12;;11555:6;:22;;11547:31;;;;;;11602:4;:10;11607:4;11602:10;;;;;;;;;;;;;;;;;;;;;;;;;11601:11;:24;;;;;11617:4;:8;11622:2;11617:8;;;;;;;;;;;;;;;;;;;;;;;;;11616:9;11601:24;11593:33;;;;;;11653:13;;;;;;;;;;;11645:21;;:4;:21;;;:55;;;;;11684:15;;;;;;;;;;;11670:30;;:2;:30;;;;11645:55;:83;;;;;11706:18;:22;11725:2;11706:22;;;;;;;;;;;;;;;;;;;;;;;;;11704:24;11645:83;:102;;;;;11732:15;;;;;;;;;;;11645:102;11641:246;;;11791:15;11776:8;:12;11785:2;11776:12;;;;;;;;;;;;;;;;:30;11768:39;;;;;;11860:10;11841:15;:30;11826:8;:12;11835:2;11826:12;;;;;;;;;;;;;;;:45;;;;11641:246;11901:28;11932:24;11950:4;11932:9;:24::i;:::-;11901:55;;11976:6;;;;;;;;;;;11975:7;:32;;;;;11994:13;;;;;;;;;;;11986:21;;:4;:21;;;;11975:32;:47;;;;;12011:11;;;;;;;;;;;11975:47;11971:318;;;12043:38;12060:20;12043:16;:38::i;:::-;12100:26;12129:21;12100:50;;12193:1;12172:18;:22;12169:105;;;12219:35;12232:21;12219:12;:35::i;:::-;12169:105;11971:318;;11160:1140;;12310:12;12325:4;12310:19;;12345:18;:24;12364:4;12345:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;12373:18;:22;12392:2;12373:22;;;;;;;;;;;;;;;;;;;;;;;;;12345:50;12342:96;;;12421:5;12411:15;;12342:96;12452:38;12467:4;12472:2;12475:6;12482:7;12452:14;:38::i;:::-;10841:1657;;;;:::o;1609:190::-;1695:7;1728:1;1723;:6;;1731:12;1715:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1755:9;1771:1;1767;:5;1755:17;;1790:1;1783:8;;;1609:190;;;;;:::o;13005:93::-;13062:11;;;;;;;;;;;:20;;:28;13083:6;13062:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13005:93;:::o;9891:254::-;9958:7;9997;;9986;:18;;9978:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10062:19;10085:10;:8;:10::i;:::-;10062:33;;10113:24;10125:11;10113:7;:11;;:24;;;;:::i;:::-;10106:31;;;9891:254;;;:::o;12506:483::-;7979:4;7970:6;;:13;;;;;;;;;;;;;;;;;;12584:21:::1;12622:1;12608:16;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12584:40;;12653:4;12635;12640:1;12635:7;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;12679:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;12669:4;12674:1;12669:7;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;12712:62;12729:4;12744:15;;;;;;;;;;;12762:11;12712:8;:62::i;:::-;12785:15;;;;;;;;;;;:66;;;12866:11;12892:1;12908:4;12935;12955:15;12785:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7994:1;8015:5:::0;8006:6;;:14;;;;;;;;;;;;;;;;;;12506:483;:::o;1807:246::-;1865:7;1894:1;1889;:6;1885:47;;;1919:1;1912:8;;;;1885:47;1942:9;1958:1;1954;:5;1942:17;;1987:1;1982;1978;:5;;;;;;:10;1970:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2044:1;2037:8;;;1807:246;;;;;:::o;2061:132::-;2119:7;2146:39;2150:1;2153;2146:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2139:46;;2061:132;;;;:::o;14629:685::-;14741:7;14737:40;;14763:14;:12;:14::i;:::-;14737:40;14792:11;:19;14804:6;14792:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;14816:11;:22;14828:9;14816:22;;;;;;;;;;;;;;;;;;;;;;;;;14815:23;14792:46;14788:467;;;14855:48;14877:6;14885:9;14896:6;14855:21;:48::i;:::-;14788:467;;;14926:11;:19;14938:6;14926:19;;;;;;;;;;;;;;;;;;;;;;;;;14925:20;:46;;;;;14949:11;:22;14961:9;14949:22;;;;;;;;;;;;;;;;;;;;;;;;;14925:46;14921:334;;;14988:46;15008:6;15016:9;15027:6;14988:19;:46::i;:::-;14921:334;;;15056:11;:19;15068:6;15056:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;15079:11;:22;15091:9;15079:22;;;;;;;;;;;;;;;;;;;;;;;;;15056:45;15052:203;;;15118:48;15140:6;15148:9;15159:6;15118:21;:48::i;:::-;15052:203;;;15199:44;15217:6;15225:9;15236:6;15199:17;:44::i;:::-;15052:203;14921:334;14788:467;15269:7;15265:41;;15291:15;:13;:15::i;:::-;15265:41;14629:685;;;;:::o;19378:163::-;19419:7;19440:15;19457;19476:19;:17;:19::i;:::-;19439:56;;;;19513:20;19525:7;19513;:11;;:20;;;;:::i;:::-;19506:27;;;;19378:163;:::o;2201:189::-;2287:7;2319:1;2315;:5;2322:12;2307:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2346:9;2362:1;2358;:5;;;;;;2346:17;;2381:1;2374:8;;;2201:189;;;;;:::o;10153:210::-;10210:1;10199:7;;:12;:29;;;;;10227:1;10215:8;;:13;10199:29;10196:41;;;10230:7;;10196:41;10265:7;;10247:15;:25;;;;10302:8;;10283:16;:27;;;;10331:1;10321:7;:11;;;;10354:1;10343:8;:12;;;;10153:210;:::o;16402:552::-;16505:15;16522:23;16547:12;16561:23;16586:12;16600:13;16617:19;16628:7;16617:10;:19::i;:::-;16504:132;;;;;;;;;;;;16665:28;16685:7;16665;:15;16673:6;16665:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;16647:7;:15;16655:6;16647:15;;;;;;;;;;;;;;;:46;;;;16722:28;16742:7;16722;:15;16730:6;16722:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;16704:7;:15;16712:6;16704:15;;;;;;;;;;;;;;;:46;;;;16782:39;16805:15;16782:7;:18;16790:9;16782:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;16761:7;:18;16769:9;16761:18;;;;;;;;;;;;;;;:60;;;;16833:16;16843:5;16833:9;:16::i;:::-;16863:23;16875:4;16881;16863:11;:23::i;:::-;16919:9;16902:44;;16911:6;16902:44;;;16930:15;16902:44;;;;;;;;;;;;;;;;;;16402:552;;;;;;;;;:::o;15819:575::-;15920:15;15937:23;15962:12;15976:23;16001:12;16015:13;16032:19;16043:7;16032:10;:19::i;:::-;15919:132;;;;;;;;;;;;16080:28;16100:7;16080;:15;16088:6;16080:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;16062:7;:15;16070:6;16062:15;;;;;;;;;;;;;;;:46;;;;16140:39;16163:15;16140:7;:18;16148:9;16140:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;16119:7;:18;16127:9;16119:18;;;;;;;;;;;;;;;:60;;;;16211:39;16234:15;16211:7;:18;16219:9;16211:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;16190:7;:18;16198:9;16190:18;;;;;;;;;;;;;;;:60;;;;16265:16;16275:5;16265:9;:16::i;:::-;16303:23;16315:4;16321;16303:11;:23::i;:::-;16359:9;16342:44;;16351:6;16342:44;;;16370:15;16342:44;;;;;;;;;;;;;;;;;;15819:575;;;;;;;;;:::o;16962:631::-;17065:15;17082:23;17107:12;17121:23;17146:12;17160:13;17177:19;17188:7;17177:10;:19::i;:::-;17064:132;;;;;;;;;;;;17225:28;17245:7;17225;:15;17233:6;17225:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;17207:7;:15;17215:6;17207:15;;;;;;;;;;;;;;;:46;;;;17282:28;17302:7;17282;:15;17290:6;17282:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;17264:7;:15;17272:6;17264:15;;;;;;;;;;;;;;;:46;;;;17342:39;17365:15;17342:7;:18;17350:9;17342:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;17321:7;:18;17329:9;17321:18;;;;;;;;;;;;;;;:60;;;;17413:39;17436:15;17413:7;:18;17421:9;17413:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;17392:7;:18;17400:9;17392:18;;;;;;;;;;;;;;;:60;;;;17466:16;17476:5;17466:9;:16::i;:::-;17502:23;17514:4;17520;17502:11;:23::i;:::-;17558:9;17541:44;;17550:6;17541:44;;;17569:15;17541:44;;;;;;;;;;;;;;;;;;16962:631;;;;;;;;;:::o;15322:489::-;15421:15;15438:23;15463:12;15477:23;15502:12;15516:13;15533:19;15544:7;15533:10;:19::i;:::-;15420:132;;;;;;;;;;;;15581:28;15601:7;15581;:15;15589:6;15581:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15563:7;:15;15571:6;15563:15;;;;;;;;;;;;;;;:46;;;;15641:39;15664:15;15641:7;:18;15649:9;15641:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;15620:7;:18;15628:9;15620:18;;;;;;;;;;;;;;;:60;;;;15692:16;15702:5;15692:9;:16::i;:::-;15720:23;15732:4;15738;15720:11;:23::i;:::-;15776:9;15759:44;;15768:6;15759:44;;;15787:15;15759:44;;;;;;;;;;;;;;;;;;15322:489;;;;;;;;;:::o;10375:115::-;10429:15;;10419:7;:25;;;;10466:16;;10455:8;:27;;;;10375:115::o;19549:561::-;19599:7;19608;19628:15;19646:7;;19628:25;;19664:15;7140:23;19664:25;;19711:9;19706:289;19730:9;:16;;;;19726:1;:20;19706:289;;;19796:7;19772;:21;19780:9;19790:1;19780:12;;;;;;;;;;;;;;;;;;;;;;;;;19772:21;;;;;;;;;;;;;;;;:31;:66;;;;19831:7;19807;:21;19815:9;19825:1;19815:12;;;;;;;;;;;;;;;;;;;;;;;;;19807:21;;;;;;;;;;;;;;;;:31;19772:66;19768:97;;;19848:7;;7140:23;19840:25;;;;;;;;;19768:97;19890:34;19902:7;:21;19910:9;19920:1;19910:12;;;;;;;;;;;;;;;;;;;;;;;;;19902:21;;;;;;;;;;;;;;;;19890:7;:11;;:34;;;;:::i;:::-;19880:44;;19949:34;19961:7;:21;19969:9;19979:1;19969:12;;;;;;;;;;;;;;;;;;;;;;;;;19961:21;;;;;;;;;;;;;;;;19949:7;:11;;:34;;;;:::i;:::-;19939:44;;19748:3;;;;;;;19706:289;;;;20019:20;7140:23;20019:7;;:11;;:20;;;;:::i;:::-;20009:7;:30;20005:61;;;20049:7;;7140:23;20041:25;;;;;;;;20005:61;20085:7;20094;20077:25;;;;;;19549:561;;;:::o;18126:468::-;18185:7;18194;18203;18212;18221;18230;18251:23;18276:12;18290:13;18307:39;18319:7;18328;;18337:8;;18307:11;:39::i;:::-;18250:96;;;;;;18357:19;18380:10;:8;:10::i;:::-;18357:33;;18402:15;18419:23;18444:12;18460:46;18472:7;18481:4;18487:5;18494:11;18460;:46::i;:::-;18401:105;;;;;;18525:7;18534:15;18551:4;18557:15;18574:4;18580:5;18517:69;;;;;;;;;;;;;;;;;;;18126:468;;;;;;;:::o;1465:136::-;1523:7;1550:43;1554:1;1557;1550:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1543:50;;1465:136;;;;:::o;1278:179::-;1336:7;1356:9;1372:1;1368;:5;1356:17;;1397:1;1392;:6;;1384:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1448:1;1441:8;;;1278:179;;;;:::o;17601:325::-;17654:19;17677:10;:8;:10::i;:::-;17654:33;;17698:13;17714:22;17724:11;17714:5;:9;;:22;;;;:::i;:::-;17698:38;;17772:33;17799:5;17772:7;:22;17788:4;17772:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;17747:7;:22;17763:4;17747:22;;;;;;;;;;;;;;;:58;;;;17819:11;:26;17839:4;17819:26;;;;;;;;;;;;;;;;;;;;;;;;;17816:102;;;17885:33;17912:5;17885:7;:22;17901:4;17885:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;17860:7;:22;17876:4;17860:22;;;;;;;;;;;;;;;:58;;;;17816:102;17601:325;;;:::o;17934:147::-;18012:17;18024:4;18012:7;;:11;;:17;;;;:::i;:::-;18002:7;:27;;;;18053:20;18068:4;18053:10;;:14;;:20;;;;:::i;:::-;18040:10;:33;;;;17934:147;;:::o;18602:351::-;18695:7;18704;18713;18733:12;18748:28;18772:3;18748:19;18760:6;18748:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;18733:43;;18787:13;18803:29;18828:3;18803:20;18815:7;18803;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;18787:45;;18843:23;18869:28;18891:5;18869:17;18881:4;18869:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;18843:54;;18916:15;18933:4;18939:5;18908:37;;;;;;;;;18602:351;;;;;;;:::o;18961:409::-;19071:7;19080;19089;19109:15;19127:24;19139:11;19127:7;:11;;:24;;;;:::i;:::-;19109:42;;19162:12;19177:21;19186:11;19177:4;:8;;:21;;;;:::i;:::-;19162:36;;19209:13;19225:22;19235:11;19225:5;:9;;:22;;;;:::i;:::-;19209:38;;19258:23;19284:28;19306:5;19284:17;19296:4;19284:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;19258:54;;19331:7;19340:15;19357:4;19323:39;;;;;;;;;;18961:409;;;;;;;;:::o

Swarm Source

ipfs://5f2b1bb2fa12f7f3b64d4bf5cc66edba05515e399d38c187cf821e9f7e09bc3a

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.