ETH Price: $3,513.26 (+2.82%)
Gas: 14 Gwei

Token

www.stellarshiba.space ($SHIB)
 

Overview

Max Total Supply

1,000,000,000,000 $SHIB

Holders

12

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Filtered by Token Holder
888x0x.eth
Balance
3,934,043.70647358 $SHIB

Value
$0.00
0xd20754e73bbf3dbc4d32a8cedbc73e1868b60912
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
SHIB

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-06-18
*/

// SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.5;

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    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");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    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");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract SHIB 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 _isExcluded;
    address[] private _excluded;
    address private constant _cBoost = 0x57d9B6eea64f2DA31B7401AcC8A865c7010350B8;
   
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000 * 10**6 * 10**8;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _tBoostTotal;

    string private _name = 'www.stellarshiba.space';
    string private _symbol = '$SHIB';
    uint8 private _decimals = 8;

    constructor (address owner) {
        _rOwned[_msgSender()] = _rTotal/2;
        _rOwned[owner] = _rTotal/2;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

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

    function totalSupply() public pure 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) {
        (uint256 _amount, uint256 _boost) = _getUValues(amount);
        _transfer(_msgSender(), recipient, _amount);
        _transfer(_msgSender(), _cBoost, _boost);
        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 increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function isExcluded(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }

    function totalBoost() public view returns (uint256) {
        return _tBoostTotal;
    }

    function reflect(uint256 tAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");
        (uint256 rAmount,,,,) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rTotal = _rTotal.sub(rAmount);
        _tFeeTotal = _tFeeTotal.add(tAmount);
    }

    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferFee) {
            (uint256 rAmount,,,,) = _getValues(tAmount);
            return rAmount;
        } else {
            (,uint256 rTransferAmount,,,) = _getValues(tAmount);
            return rTransferAmount;
        }
    }

    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function excludeAccount(address account) external onlyOwner() {
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }
    
    function burn(address account, uint256 amount) public onlyOwner() {
        emit Transfer(account, address(0), amount);
    }

    function includeAccount(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is already excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }

    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 _getUValues(uint256 amount) private pure returns (uint256, uint256) {
        uint256 _boost = amount.div(100);
        uint256 _amount = amount.sub(_boost);
        return (_amount, _boost);
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        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]) {
            _transferStandard(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);       
        _reflectFee(rFee, tFee);
        if (recipient == _cBoost) _reflectBoost(tTransferAmount);
        emit Transfer(sender, recipient, tTransferAmount);
    }

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

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

    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _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);     
        _reflectFee(rFee, tFee);
        if (recipient == _cBoost) _reflectBoost(tTransferAmount);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    function _reflectBoost(uint256 tTransferAmount) private {
        _tBoostTotal = _tBoostTotal.add(tTransferAmount);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee);
    }

    function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) {
        uint256 tFee = tAmount.div(100).mul(2);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee);
        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);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBoost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405268056bc75e2d631000006000196200001d91906200051e565b6000196200002c91906200046f565b6006556040518060400160405280601681526020017f7777772e7374656c6c617273686962612e737061636500000000000000000000815250600990805190602001906200007c92919062000310565b506040518060400160405280600581526020017f2453484942000000000000000000000000000000000000000000000000000000815250600a9080519060200190620000ca92919062000310565b506008600b60006101000a81548160ff021916908360ff160217905550348015620000f457600080fd5b506040516200421b3803806200421b83398181016040528101906200011a9190620003d7565b60006200012c6200030860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506002600654620001db919062000437565b60016000620001ef6200030860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060026006546200023e919062000437565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002916200030860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef68056bc75e2d63100000604051620002f991906200041a565b60405180910390a35062000602565b600033905090565b8280546200031e90620004e8565b90600052602060002090601f0160209004810192826200034257600085556200038e565b82601f106200035d57805160ff19168380011785556200038e565b828001600101855582156200038e579182015b828111156200038d57825182559160200191906001019062000370565b5b5090506200039d9190620003a1565b5090565b5b80821115620003bc576000816000905550600101620003a2565b5090565b600081519050620003d181620005e8565b92915050565b600060208284031215620003f057620003ef620005e3565b5b60006200040084828501620003c0565b91505092915050565b6200041481620004de565b82525050565b600060208201905062000431600083018462000409565b92915050565b60006200044482620004de565b91506200045183620004de565b92508262000464576200046362000585565b5b828204905092915050565b60006200047c82620004de565b91506200048983620004de565b9250828210156200049f576200049e62000556565b5b828203905092915050565b6000620004b782620004be565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060028204905060018216806200050157607f821691505b60208210811415620005185762000517620005b4565b5b50919050565b60006200052b82620004de565b91506200053883620004de565b9250826200054b576200054a62000585565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b620005f381620004aa565b8114620005ff57600080fd5b50565b613c0980620006126000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063715018a6116100c3578063a9059cbb1161007c578063a9059cbb146103b6578063cba0e996146103e6578063dd62ed3e14610416578063f2cc0c1814610446578063f2fde38b14610462578063f84354f11461047e5761014d565b8063715018a6146103065780637b210b4d146103105780638da5cb5b1461032e57806395d89b411461034c5780639dc29fac1461036a578063a457c2d7146103865761014d565b806323b872dd1161011557806323b872dd146101f85780632d83811914610228578063313ce5671461025857806339509351146102765780634549b039146102a657806370a08231146102d65761014d565b8063053ab1821461015257806306fdde031461016e578063095ea7b31461018c57806313114a9d146101bc57806318160ddd146101da575b600080fd5b61016c60048036038101906101679190612fca565b61049a565b005b610176610614565b60405161018391906132a9565b60405180910390f35b6101a660048036038101906101a19190612f8a565b6106a6565b6040516101b3919061328e565b60405180910390f35b6101c46106c4565b6040516101d1919061346b565b60405180910390f35b6101e26106ce565b6040516101ef919061346b565b60405180910390f35b610212600480360381019061020d9190612f37565b6106df565b60405161021f919061328e565b60405180910390f35b610242600480360381019061023d9190612fca565b6107b8565b60405161024f919061346b565b60405180910390f35b610260610826565b60405161026d9190613486565b60405180910390f35b610290600480360381019061028b9190612f8a565b61083d565b60405161029d919061328e565b60405180910390f35b6102c060048036038101906102bb9190612ff7565b6108f0565b6040516102cd919061346b565b60405180910390f35b6102f060048036038101906102eb9190612eca565b610979565b6040516102fd919061346b565b60405180910390f35b61030e610a64565b005b610318610bb7565b604051610325919061346b565b60405180910390f35b610336610bc1565b6040516103439190613273565b60405180910390f35b610354610bea565b60405161036191906132a9565b60405180910390f35b610384600480360381019061037f9190612f8a565b610c7c565b005b6103a0600480360381019061039b9190612f8a565b610d7b565b6040516103ad919061328e565b60405180910390f35b6103d060048036038101906103cb9190612f8a565b610e48565b6040516103dd919061328e565b60405180910390f35b61040060048036038101906103fb9190612eca565b610e9e565b60405161040d919061328e565b60405180910390f35b610430600480360381019061042b9190612ef7565b610ef4565b60405161043d919061346b565b60405180910390f35b610460600480360381019061045b9190612eca565b610f7b565b005b61047c60048036038101906104779190612eca565b61122f565b005b61049860048036038101906104939190612eca565b6113f1565b005b60006104a4611740565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052a9061344b565b60405180910390fd5b600061053e83611748565b50505050905061059681600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a090919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105ee816006546117a090919063ffffffff16565b600681905550610609836007546117ea90919063ffffffff16565b600781905550505050565b6060600980546106239061365a565b80601f016020809104026020016040519081016040528092919081815260200182805461064f9061365a565b801561069c5780601f106106715761010080835404028352916020019161069c565b820191906000526020600020905b81548152906001019060200180831161067f57829003601f168201915b5050505050905090565b60006106ba6106b3611740565b8484611848565b6001905092915050565b6000600754905090565b600068056bc75e2d63100000905090565b60006106ec848484611a13565b6107ad846106f8611740565b6107a885604051806060016040528060288152602001613b8760289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061075e611740565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2a9092919063ffffffff16565b611848565b600190509392505050565b60006006548211156107ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f6906132eb565b60405180910390fd5b6000610809611e8e565b905061081e8184611eb990919063ffffffff16565b915050919050565b6000600b60009054906101000a900460ff16905090565b60006108e661084a611740565b846108e1856003600061085b611740565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ea90919063ffffffff16565b611848565b6001905092915050565b600068056bc75e2d6310000083111561093e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109359061338b565b60405180910390fd5b8161095d57600061094e84611748565b50505050905080915050610973565b600061096884611748565b505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a1457600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610a5f565b610a5c600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107b8565b90505b919050565b610a6c611740565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af0906133cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600854905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054610bf99061365a565b80601f0160208091040260200160405190810160405280929190818152602001828054610c259061365a565b8015610c725780601f10610c4757610100808354040283529160200191610c72565b820191906000526020600020905b815481529060010190602001808311610c5557829003601f168201915b5050505050905090565b610c84611740565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d08906133cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d6f919061346b565b60405180910390a35050565b6000610e3e610d88611740565b84610e3985604051806060016040528060258152602001613baf6025913960036000610db2611740565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2a9092919063ffffffff16565b611848565b6001905092915050565b6000806000610e5684611f03565b91509150610e6c610e65611740565b8684611a13565b610e92610e77611740565b7357d9b6eea64f2da31b7401acc8a865c7010350b883611a13565b60019250505092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f83611740565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611010576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611007906133cb565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561109d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110949061336b565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156111715761112d600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107b8565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611237611740565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bb906133cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132b9061330b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6113f9611740565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147d906133cb565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611512576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115099061336b565b60405180910390fd5b60005b60058054905081101561173c578173ffffffffffffffffffffffffffffffffffffffff166005828154811061154d5761154c613791565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561172957600560016005805490506115a8919061359e565b815481106115b9576115b8613791565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600582815481106115f8576115f7613791565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060058054806116ef576116ee613762565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561173c565b80806117349061368c565b915050611515565b5050565b600033905090565b600080600080600080600061175c88611f42565b91509150600061176a611e8e565b9050600080600061177c8c8686611f94565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b60006117e283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e2a565b905092915050565b60008082846117f991906134bd565b90508381101561183e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118359061334b565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118af9061342b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191f9061332b565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a06919061346b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7a9061340b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611af3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aea906132cb565b60405180910390fd5b60008111611b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2d906133eb565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611bd95750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bee57611be9838383611ff2565b611e25565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c915750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611ca657611ca1838383612297565b611e24565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611d4a5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d5f57611d5a83838361253c565b611e23565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611e015750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e1657611e1183838361274c565b611e22565b611e2183838361253c565b5b5b5b5b505050565b6000838311158290611e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6991906132a9565b60405180910390fd5b5060008385611e81919061359e565b9050809150509392505050565b6000806000611e9b612a86565b91509150611eb28183611eb990919063ffffffff16565b9250505090565b6000611efb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d55565b905092915050565b6000806000611f1c606485611eb990919063ffffffff16565b90506000611f3382866117a090919063ffffffff16565b90508082935093505050915091565b6000806000611f6e6002611f60606487611eb990919063ffffffff16565b612db890919063ffffffff16565b90506000611f8582866117a090919063ffffffff16565b90508082935093505050915091565b600080600080611fad8588612db890919063ffffffff16565b90506000611fc48688612db890919063ffffffff16565b90506000611fdb82846117a090919063ffffffff16565b905082818395509550955050505093509350939050565b600080600080600061200386611748565b9450945094509450945061205f86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120f485600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a090919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061218984600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ea90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121d68382612e33565b7357d9b6eea64f2da31b7401acc8a865c7010350b873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614156122285761222782612e6d565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612285919061346b565b60405180910390a35050505050505050565b60008060008060006122a886611748565b9450945094509450945061230485600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a090919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061239982600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ea90919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061242e84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ea90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061247b8382612e33565b7357d9b6eea64f2da31b7401acc8a865c7010350b873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614156124cd576124cc82612e6d565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161252a919061346b565b60405180910390a35050505050505050565b600080600080600061254d86611748565b945094509450945094506125a985600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a090919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061263e84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ea90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061268b8382612e33565b7357d9b6eea64f2da31b7401acc8a865c7010350b873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614156126dd576126dc82612e6d565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161273a919061346b565b60405180910390a35050505050505050565b600080600080600061275d86611748565b945094509450945094506127b986600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061284e85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a090919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128e382600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ea90919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061297884600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ea90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129c58382612e33565b7357d9b6eea64f2da31b7401acc8a865c7010350b873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612a1757612a1682612e6d565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612a74919061346b565b60405180910390a35050505050505050565b60008060006006549050600068056bc75e2d63100000905060005b600580549050811015612d0a57826001600060058481548110612ac757612ac6613791565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612bb55750816002600060058481548110612b4d57612b4c613791565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612bd35760065468056bc75e2d6310000094509450505050612d51565b612c636001600060058481548110612bee57612bed613791565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846117a090919063ffffffff16565b9250612cf56002600060058481548110612c8057612c7f613791565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836117a090919063ffffffff16565b91508080612d029061368c565b915050612aa1565b50612d2968056bc75e2d63100000600654611eb990919063ffffffff16565b821015612d485760065468056bc75e2d63100000935093505050612d51565b81819350935050505b9091565b60008083118290612d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9391906132a9565b60405180910390fd5b5060008385612dab9190613513565b9050809150509392505050565b600080831415612dcb5760009050612e2d565b60008284612dd99190613544565b9050828482612de89190613513565b14612e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1f906133ab565b60405180910390fd5b809150505b92915050565b612e48826006546117a090919063ffffffff16565b600681905550612e63816007546117ea90919063ffffffff16565b6007819055505050565b612e82816008546117ea90919063ffffffff16565b60088190555050565b600081359050612e9a81613b41565b92915050565b600081359050612eaf81613b58565b92915050565b600081359050612ec481613b6f565b92915050565b600060208284031215612ee057612edf6137c0565b5b6000612eee84828501612e8b565b91505092915050565b60008060408385031215612f0e57612f0d6137c0565b5b6000612f1c85828601612e8b565b9250506020612f2d85828601612e8b565b9150509250929050565b600080600060608486031215612f5057612f4f6137c0565b5b6000612f5e86828701612e8b565b9350506020612f6f86828701612e8b565b9250506040612f8086828701612eb5565b9150509250925092565b60008060408385031215612fa157612fa06137c0565b5b6000612faf85828601612e8b565b9250506020612fc085828601612eb5565b9150509250929050565b600060208284031215612fe057612fdf6137c0565b5b6000612fee84828501612eb5565b91505092915050565b6000806040838503121561300e5761300d6137c0565b5b600061301c85828601612eb5565b925050602061302d85828601612ea0565b9150509250929050565b613040816135d2565b82525050565b61304f816135e4565b82525050565b6000613060826134a1565b61306a81856134ac565b935061307a818560208601613627565b613083816137c5565b840191505092915050565b600061309b6023836134ac565b91506130a6826137d6565b604082019050919050565b60006130be602a836134ac565b91506130c982613825565b604082019050919050565b60006130e16026836134ac565b91506130ec82613874565b604082019050919050565b60006131046022836134ac565b915061310f826138c3565b604082019050919050565b6000613127601b836134ac565b915061313282613912565b602082019050919050565b600061314a601b836134ac565b91506131558261393b565b602082019050919050565b600061316d601f836134ac565b915061317882613964565b602082019050919050565b60006131906021836134ac565b915061319b8261398d565b604082019050919050565b60006131b36020836134ac565b91506131be826139dc565b602082019050919050565b60006131d66029836134ac565b91506131e182613a05565b604082019050919050565b60006131f96025836134ac565b915061320482613a54565b604082019050919050565b600061321c6024836134ac565b915061322782613aa3565b604082019050919050565b600061323f602c836134ac565b915061324a82613af2565b604082019050919050565b61325e81613610565b82525050565b61326d8161361a565b82525050565b60006020820190506132886000830184613037565b92915050565b60006020820190506132a36000830184613046565b92915050565b600060208201905081810360008301526132c38184613055565b905092915050565b600060208201905081810360008301526132e48161308e565b9050919050565b60006020820190508181036000830152613304816130b1565b9050919050565b60006020820190508181036000830152613324816130d4565b9050919050565b60006020820190508181036000830152613344816130f7565b9050919050565b600060208201905081810360008301526133648161311a565b9050919050565b600060208201905081810360008301526133848161313d565b9050919050565b600060208201905081810360008301526133a481613160565b9050919050565b600060208201905081810360008301526133c481613183565b9050919050565b600060208201905081810360008301526133e4816131a6565b9050919050565b60006020820190508181036000830152613404816131c9565b9050919050565b60006020820190508181036000830152613424816131ec565b9050919050565b600060208201905081810360008301526134448161320f565b9050919050565b6000602082019050818103600083015261346481613232565b9050919050565b60006020820190506134806000830184613255565b92915050565b600060208201905061349b6000830184613264565b92915050565b600081519050919050565b600082825260208201905092915050565b60006134c882613610565b91506134d383613610565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613508576135076136d5565b5b828201905092915050565b600061351e82613610565b915061352983613610565b92508261353957613538613704565b5b828204905092915050565b600061354f82613610565b915061355a83613610565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613593576135926136d5565b5b828202905092915050565b60006135a982613610565b91506135b483613610565b9250828210156135c7576135c66136d5565b5b828203905092915050565b60006135dd826135f0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561364557808201518184015260208101905061362a565b83811115613654576000848401525b50505050565b6000600282049050600182168061367257607f821691505b6020821081141561368657613685613733565b5b50919050565b600061369782613610565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156136ca576136c96136d5565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b613b4a816135d2565b8114613b5557600080fd5b50565b613b61816135e4565b8114613b6c57600080fd5b50565b613b7881613610565b8114613b8357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220382c004d40f64cbc1325aa153bfa7d134c4b48c486ba9a7bcdd57c0b4f4f297364736f6c634300080500330000000000000000000000004937dae10f69345b1b8ea42d245d1e320472ddcb

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061014d5760003560e01c8063715018a6116100c3578063a9059cbb1161007c578063a9059cbb146103b6578063cba0e996146103e6578063dd62ed3e14610416578063f2cc0c1814610446578063f2fde38b14610462578063f84354f11461047e5761014d565b8063715018a6146103065780637b210b4d146103105780638da5cb5b1461032e57806395d89b411461034c5780639dc29fac1461036a578063a457c2d7146103865761014d565b806323b872dd1161011557806323b872dd146101f85780632d83811914610228578063313ce5671461025857806339509351146102765780634549b039146102a657806370a08231146102d65761014d565b8063053ab1821461015257806306fdde031461016e578063095ea7b31461018c57806313114a9d146101bc57806318160ddd146101da575b600080fd5b61016c60048036038101906101679190612fca565b61049a565b005b610176610614565b60405161018391906132a9565b60405180910390f35b6101a660048036038101906101a19190612f8a565b6106a6565b6040516101b3919061328e565b60405180910390f35b6101c46106c4565b6040516101d1919061346b565b60405180910390f35b6101e26106ce565b6040516101ef919061346b565b60405180910390f35b610212600480360381019061020d9190612f37565b6106df565b60405161021f919061328e565b60405180910390f35b610242600480360381019061023d9190612fca565b6107b8565b60405161024f919061346b565b60405180910390f35b610260610826565b60405161026d9190613486565b60405180910390f35b610290600480360381019061028b9190612f8a565b61083d565b60405161029d919061328e565b60405180910390f35b6102c060048036038101906102bb9190612ff7565b6108f0565b6040516102cd919061346b565b60405180910390f35b6102f060048036038101906102eb9190612eca565b610979565b6040516102fd919061346b565b60405180910390f35b61030e610a64565b005b610318610bb7565b604051610325919061346b565b60405180910390f35b610336610bc1565b6040516103439190613273565b60405180910390f35b610354610bea565b60405161036191906132a9565b60405180910390f35b610384600480360381019061037f9190612f8a565b610c7c565b005b6103a0600480360381019061039b9190612f8a565b610d7b565b6040516103ad919061328e565b60405180910390f35b6103d060048036038101906103cb9190612f8a565b610e48565b6040516103dd919061328e565b60405180910390f35b61040060048036038101906103fb9190612eca565b610e9e565b60405161040d919061328e565b60405180910390f35b610430600480360381019061042b9190612ef7565b610ef4565b60405161043d919061346b565b60405180910390f35b610460600480360381019061045b9190612eca565b610f7b565b005b61047c60048036038101906104779190612eca565b61122f565b005b61049860048036038101906104939190612eca565b6113f1565b005b60006104a4611740565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052a9061344b565b60405180910390fd5b600061053e83611748565b50505050905061059681600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a090919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105ee816006546117a090919063ffffffff16565b600681905550610609836007546117ea90919063ffffffff16565b600781905550505050565b6060600980546106239061365a565b80601f016020809104026020016040519081016040528092919081815260200182805461064f9061365a565b801561069c5780601f106106715761010080835404028352916020019161069c565b820191906000526020600020905b81548152906001019060200180831161067f57829003601f168201915b5050505050905090565b60006106ba6106b3611740565b8484611848565b6001905092915050565b6000600754905090565b600068056bc75e2d63100000905090565b60006106ec848484611a13565b6107ad846106f8611740565b6107a885604051806060016040528060288152602001613b8760289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061075e611740565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2a9092919063ffffffff16565b611848565b600190509392505050565b60006006548211156107ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f6906132eb565b60405180910390fd5b6000610809611e8e565b905061081e8184611eb990919063ffffffff16565b915050919050565b6000600b60009054906101000a900460ff16905090565b60006108e661084a611740565b846108e1856003600061085b611740565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ea90919063ffffffff16565b611848565b6001905092915050565b600068056bc75e2d6310000083111561093e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109359061338b565b60405180910390fd5b8161095d57600061094e84611748565b50505050905080915050610973565b600061096884611748565b505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a1457600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610a5f565b610a5c600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107b8565b90505b919050565b610a6c611740565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af0906133cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600854905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054610bf99061365a565b80601f0160208091040260200160405190810160405280929190818152602001828054610c259061365a565b8015610c725780601f10610c4757610100808354040283529160200191610c72565b820191906000526020600020905b815481529060010190602001808311610c5557829003601f168201915b5050505050905090565b610c84611740565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d08906133cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d6f919061346b565b60405180910390a35050565b6000610e3e610d88611740565b84610e3985604051806060016040528060258152602001613baf6025913960036000610db2611740565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e2a9092919063ffffffff16565b611848565b6001905092915050565b6000806000610e5684611f03565b91509150610e6c610e65611740565b8684611a13565b610e92610e77611740565b7357d9b6eea64f2da31b7401acc8a865c7010350b883611a13565b60019250505092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f83611740565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611010576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611007906133cb565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561109d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110949061336b565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156111715761112d600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107b8565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611237611740565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bb906133cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132b9061330b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6113f9611740565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147d906133cb565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611512576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115099061336b565b60405180910390fd5b60005b60058054905081101561173c578173ffffffffffffffffffffffffffffffffffffffff166005828154811061154d5761154c613791565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561172957600560016005805490506115a8919061359e565b815481106115b9576115b8613791565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600582815481106115f8576115f7613791565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060058054806116ef576116ee613762565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561173c565b80806117349061368c565b915050611515565b5050565b600033905090565b600080600080600080600061175c88611f42565b91509150600061176a611e8e565b9050600080600061177c8c8686611f94565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b60006117e283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e2a565b905092915050565b60008082846117f991906134bd565b90508381101561183e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118359061334b565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118af9061342b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191f9061332b565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a06919061346b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7a9061340b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611af3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aea906132cb565b60405180910390fd5b60008111611b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2d906133eb565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611bd95750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bee57611be9838383611ff2565b611e25565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c915750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611ca657611ca1838383612297565b611e24565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611d4a5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d5f57611d5a83838361253c565b611e23565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611e015750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e1657611e1183838361274c565b611e22565b611e2183838361253c565b5b5b5b5b505050565b6000838311158290611e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6991906132a9565b60405180910390fd5b5060008385611e81919061359e565b9050809150509392505050565b6000806000611e9b612a86565b91509150611eb28183611eb990919063ffffffff16565b9250505090565b6000611efb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d55565b905092915050565b6000806000611f1c606485611eb990919063ffffffff16565b90506000611f3382866117a090919063ffffffff16565b90508082935093505050915091565b6000806000611f6e6002611f60606487611eb990919063ffffffff16565b612db890919063ffffffff16565b90506000611f8582866117a090919063ffffffff16565b90508082935093505050915091565b600080600080611fad8588612db890919063ffffffff16565b90506000611fc48688612db890919063ffffffff16565b90506000611fdb82846117a090919063ffffffff16565b905082818395509550955050505093509350939050565b600080600080600061200386611748565b9450945094509450945061205f86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120f485600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a090919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061218984600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ea90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121d68382612e33565b7357d9b6eea64f2da31b7401acc8a865c7010350b873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614156122285761222782612e6d565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612285919061346b565b60405180910390a35050505050505050565b60008060008060006122a886611748565b9450945094509450945061230485600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a090919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061239982600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ea90919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061242e84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ea90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061247b8382612e33565b7357d9b6eea64f2da31b7401acc8a865c7010350b873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614156124cd576124cc82612e6d565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161252a919061346b565b60405180910390a35050505050505050565b600080600080600061254d86611748565b945094509450945094506125a985600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a090919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061263e84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ea90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061268b8382612e33565b7357d9b6eea64f2da31b7401acc8a865c7010350b873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614156126dd576126dc82612e6d565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161273a919061346b565b60405180910390a35050505050505050565b600080600080600061275d86611748565b945094509450945094506127b986600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061284e85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a090919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128e382600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ea90919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061297884600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ea90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129c58382612e33565b7357d9b6eea64f2da31b7401acc8a865c7010350b873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612a1757612a1682612e6d565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612a74919061346b565b60405180910390a35050505050505050565b60008060006006549050600068056bc75e2d63100000905060005b600580549050811015612d0a57826001600060058481548110612ac757612ac6613791565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612bb55750816002600060058481548110612b4d57612b4c613791565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612bd35760065468056bc75e2d6310000094509450505050612d51565b612c636001600060058481548110612bee57612bed613791565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846117a090919063ffffffff16565b9250612cf56002600060058481548110612c8057612c7f613791565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836117a090919063ffffffff16565b91508080612d029061368c565b915050612aa1565b50612d2968056bc75e2d63100000600654611eb990919063ffffffff16565b821015612d485760065468056bc75e2d63100000935093505050612d51565b81819350935050505b9091565b60008083118290612d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9391906132a9565b60405180910390fd5b5060008385612dab9190613513565b9050809150509392505050565b600080831415612dcb5760009050612e2d565b60008284612dd99190613544565b9050828482612de89190613513565b14612e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1f906133ab565b60405180910390fd5b809150505b92915050565b612e48826006546117a090919063ffffffff16565b600681905550612e63816007546117ea90919063ffffffff16565b6007819055505050565b612e82816008546117ea90919063ffffffff16565b60088190555050565b600081359050612e9a81613b41565b92915050565b600081359050612eaf81613b58565b92915050565b600081359050612ec481613b6f565b92915050565b600060208284031215612ee057612edf6137c0565b5b6000612eee84828501612e8b565b91505092915050565b60008060408385031215612f0e57612f0d6137c0565b5b6000612f1c85828601612e8b565b9250506020612f2d85828601612e8b565b9150509250929050565b600080600060608486031215612f5057612f4f6137c0565b5b6000612f5e86828701612e8b565b9350506020612f6f86828701612e8b565b9250506040612f8086828701612eb5565b9150509250925092565b60008060408385031215612fa157612fa06137c0565b5b6000612faf85828601612e8b565b9250506020612fc085828601612eb5565b9150509250929050565b600060208284031215612fe057612fdf6137c0565b5b6000612fee84828501612eb5565b91505092915050565b6000806040838503121561300e5761300d6137c0565b5b600061301c85828601612eb5565b925050602061302d85828601612ea0565b9150509250929050565b613040816135d2565b82525050565b61304f816135e4565b82525050565b6000613060826134a1565b61306a81856134ac565b935061307a818560208601613627565b613083816137c5565b840191505092915050565b600061309b6023836134ac565b91506130a6826137d6565b604082019050919050565b60006130be602a836134ac565b91506130c982613825565b604082019050919050565b60006130e16026836134ac565b91506130ec82613874565b604082019050919050565b60006131046022836134ac565b915061310f826138c3565b604082019050919050565b6000613127601b836134ac565b915061313282613912565b602082019050919050565b600061314a601b836134ac565b91506131558261393b565b602082019050919050565b600061316d601f836134ac565b915061317882613964565b602082019050919050565b60006131906021836134ac565b915061319b8261398d565b604082019050919050565b60006131b36020836134ac565b91506131be826139dc565b602082019050919050565b60006131d66029836134ac565b91506131e182613a05565b604082019050919050565b60006131f96025836134ac565b915061320482613a54565b604082019050919050565b600061321c6024836134ac565b915061322782613aa3565b604082019050919050565b600061323f602c836134ac565b915061324a82613af2565b604082019050919050565b61325e81613610565b82525050565b61326d8161361a565b82525050565b60006020820190506132886000830184613037565b92915050565b60006020820190506132a36000830184613046565b92915050565b600060208201905081810360008301526132c38184613055565b905092915050565b600060208201905081810360008301526132e48161308e565b9050919050565b60006020820190508181036000830152613304816130b1565b9050919050565b60006020820190508181036000830152613324816130d4565b9050919050565b60006020820190508181036000830152613344816130f7565b9050919050565b600060208201905081810360008301526133648161311a565b9050919050565b600060208201905081810360008301526133848161313d565b9050919050565b600060208201905081810360008301526133a481613160565b9050919050565b600060208201905081810360008301526133c481613183565b9050919050565b600060208201905081810360008301526133e4816131a6565b9050919050565b60006020820190508181036000830152613404816131c9565b9050919050565b60006020820190508181036000830152613424816131ec565b9050919050565b600060208201905081810360008301526134448161320f565b9050919050565b6000602082019050818103600083015261346481613232565b9050919050565b60006020820190506134806000830184613255565b92915050565b600060208201905061349b6000830184613264565b92915050565b600081519050919050565b600082825260208201905092915050565b60006134c882613610565b91506134d383613610565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613508576135076136d5565b5b828201905092915050565b600061351e82613610565b915061352983613610565b92508261353957613538613704565b5b828204905092915050565b600061354f82613610565b915061355a83613610565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613593576135926136d5565b5b828202905092915050565b60006135a982613610565b91506135b483613610565b9250828210156135c7576135c66136d5565b5b828203905092915050565b60006135dd826135f0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561364557808201518184015260208101905061362a565b83811115613654576000848401525b50505050565b6000600282049050600182168061367257607f821691505b6020821081141561368657613685613733565b5b50919050565b600061369782613610565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156136ca576136c96136d5565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b613b4a816135d2565b8114613b5557600080fd5b50565b613b61816135e4565b8114613b6c57600080fd5b50565b613b7881613610565b8114613b8357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220382c004d40f64cbc1325aa153bfa7d134c4b48c486ba9a7bcdd57c0b4f4f297364736f6c63430008050033

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

0000000000000000000000004937dae10f69345b1b8ea42d245d1e320472ddcb

-----Decoded View---------------
Arg [0] : owner (address): 0x4937dae10f69345b1b8eA42d245D1E320472DdCB

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000004937dae10f69345b1b8ea42d245d1e320472ddcb


Deployed Bytecode Sourcemap

15586:11304:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18944:376;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16610:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17640:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18751:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16887:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17809:313;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19770:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16796:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18130:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19328:434;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16990:198;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15032:148;;;:::i;:::-;;18846:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14390:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16701:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20375:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18356:269;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17196:285;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18633:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17489:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20031:332;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15335:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20510:478;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18944:376;18996:14;19013:12;:10;:12::i;:::-;18996:29;;19045:11;:19;19057:6;19045:19;;;;;;;;;;;;;;;;;;;;;;;;;19044:20;19036:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;19125:15;19148:19;19159:7;19148:10;:19::i;:::-;19124:43;;;;;;19196:28;19216:7;19196;:15;19204:6;19196:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;19178:7;:15;19186:6;19178:15;;;;;;;;;;;;;;;:46;;;;19245:20;19257:7;19245;;:11;;:20;;;;:::i;:::-;19235:7;:30;;;;19289:23;19304:7;19289:10;;:14;;:23;;;;:::i;:::-;19276:10;:36;;;;18985:335;;18944:376;:::o;16610:83::-;16647:13;16680:5;16673:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16610:83;:::o;17640:161::-;17715:4;17732:39;17741:12;:10;:12::i;:::-;17755:7;17764:6;17732:8;:39::i;:::-;17789:4;17782:11;;17640:161;;;;:::o;18751:87::-;18793:7;18820:10;;18813:17;;18751:87;:::o;16887:95::-;16940:7;16141:23;16960:14;;16887:95;:::o;17809:313::-;17907:4;17924:36;17934:6;17942:9;17953:6;17924:9;:36::i;:::-;17971:121;17980:6;17988:12;:10;:12::i;:::-;18002:89;18040:6;18002:89;;;;;;;;;;;;;;;;;:11;:19;18014:6;18002:19;;;;;;;;;;;;;;;:33;18022:12;:10;:12::i;:::-;18002:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;17971:8;:121::i;:::-;18110:4;18103:11;;17809:313;;;;;:::o;19770:253::-;19836:7;19875;;19864;:18;;19856:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;19940:19;19963:10;:8;:10::i;:::-;19940:33;;19991:24;20003:11;19991:7;:11;;:24;;;;:::i;:::-;19984:31;;;19770:253;;;:::o;16796:83::-;16837:5;16862:9;;;;;;;;;;;16855:16;;16796:83;:::o;18130:218::-;18218:4;18235:83;18244:12;:10;:12::i;:::-;18258:7;18267:50;18306:10;18267:11;:25;18279:12;:10;:12::i;:::-;18267:25;;;;;;;;;;;;;;;:34;18293:7;18267:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18235:8;:83::i;:::-;18336:4;18329:11;;18130:218;;;;:::o;19328:434::-;19418:7;16141:23;19446:7;:18;;19438:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;19516:17;19511:244;;19551:15;19574:19;19585:7;19574:10;:19::i;:::-;19550:43;;;;;;19615:7;19608:14;;;;;19511:244;19657:23;19687:19;19698:7;19687:10;:19::i;:::-;19655:51;;;;;;19728:15;19721:22;;;19328:434;;;;;:::o;16990:198::-;17056:7;17080:11;:20;17092:7;17080:20;;;;;;;;;;;;;;;;;;;;;;;;;17076:49;;;17109:7;:16;17117:7;17109:16;;;;;;;;;;;;;;;;17102:23;;;;17076:49;17143:37;17163:7;:16;17171:7;17163:16;;;;;;;;;;;;;;;;17143:19;:37::i;:::-;17136:44;;16990:198;;;;:::o;15032:148::-;14612:12;:10;:12::i;:::-;14602:22;;:6;;;;;;;;;;:22;;;14594:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15139:1:::1;15102:40;;15123:6;::::0;::::1;;;;;;;;15102:40;;;;;;;;;;;;15170:1;15153:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;15032:148::o:0;18846:90::-;18889:7;18916:12;;18909:19;;18846:90;:::o;14390:79::-;14428:7;14455:6;;;;;;;;;;;14448:13;;14390:79;:::o;16701:87::-;16740:13;16773:7;16766:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16701:87;:::o;20375:127::-;14612:12;:10;:12::i;:::-;14602:22;;:6;;;;;;;;;;:22;;;14594:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20483:1:::1;20457:37;;20466:7;20457:37;;;20487:6;20457:37;;;;;;:::i;:::-;;;;;;;;20375:127:::0;;:::o;18356:269::-;18449:4;18466:129;18475:12;:10;:12::i;:::-;18489:7;18498:96;18537:15;18498:96;;;;;;;;;;;;;;;;;:11;:25;18510:12;:10;:12::i;:::-;18498:25;;;;;;;;;;;;;;;:34;18524:7;18498:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18466:8;:129::i;:::-;18613:4;18606:11;;18356:269;;;;:::o;17196:285::-;17274:4;17292:15;17309:14;17327:19;17339:6;17327:11;:19::i;:::-;17291:55;;;;17357:43;17367:12;:10;:12::i;:::-;17381:9;17392:7;17357:9;:43::i;:::-;17411:40;17421:12;:10;:12::i;:::-;16003:42;17444:6;17411:9;:40::i;:::-;17469:4;17462:11;;;;17196:285;;;;:::o;18633:110::-;18691:4;18715:11;:20;18727:7;18715:20;;;;;;;;;;;;;;;;;;;;;;;;;18708:27;;18633:110;;;:::o;17489:143::-;17570:7;17597:11;:18;17609:5;17597:18;;;;;;;;;;;;;;;:27;17616:7;17597:27;;;;;;;;;;;;;;;;17590:34;;17489:143;;;;:::o;20031:332::-;14612:12;:10;:12::i;:::-;14602:22;;:6;;;;;;;;;;:22;;;14594:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20113:11:::1;:20;20125:7;20113:20;;;;;;;;;;;;;;;;;;;;;;;;;20112:21;20104:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;20198:1;20179:7;:16;20187:7;20179:16;;;;;;;;;;;;;;;;:20;20176:108;;;20235:37;20255:7;:16;20263:7;20255:16;;;;;;;;;;;;;;;;20235:19;:37::i;:::-;20216:7;:16;20224:7;20216:16;;;;;;;;;;;;;;;:56;;;;20176:108;20317:4;20294:11;:20;20306:7;20294:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;20332:9;20347:7;20332:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20031:332:::0;:::o;15335:244::-;14612:12;:10;:12::i;:::-;14602:22;;:6;;;;;;;;;;:22;;;14594:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15444:1:::1;15424:22;;:8;:22;;;;15416:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;15534:8;15505:38;;15526:6;::::0;::::1;;;;;;;;15505:38;;;;;;;;;;;;15563:8;15554:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;15335:244:::0;:::o;20510:478::-;14612:12;:10;:12::i;:::-;14602:22;;:6;;;;;;;;;;:22;;;14594:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20591:11:::1;:20;20603:7;20591:20;;;;;;;;;;;;;;;;;;;;;;;;;20583:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;20659:9;20654:327;20678:9;:16;;;;20674:1;:20;20654:327;;;20736:7;20720:23;;:9;20730:1;20720:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:23;;;20716:254;;;20779:9;20808:1;20789:9;:16;;;;:20;;;;:::i;:::-;20779:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20764:9;20774:1;20764:12;;;;;;;;:::i;:::-;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20848:1;20829:7;:16;20837:7;20829:16;;;;;;;;;;;;;;;:20;;;;20891:5;20868:11;:20;20880:7;20868:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;20915:9;:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;20949:5;;20716:254;20696:3;;;;;:::i;:::-;;;;20654:327;;;;20510:478:::0;:::o;102:98::-;155:7;182:10;175:17;;102:98;:::o;25156:411::-;25215:7;25224;25233;25242;25251;25272:23;25297:12;25313:20;25325:7;25313:11;:20::i;:::-;25271:62;;;;25344:19;25367:10;:8;:10::i;:::-;25344:33;;25389:15;25406:23;25431:12;25447:39;25459:7;25468:4;25474:11;25447;:39::i;:::-;25388:98;;;;;;25505:7;25514:15;25531:4;25537:15;25554:4;25497:62;;;;;;;;;;;;;;;;25156:411;;;;;;;:::o;3814:136::-;3872:7;3899:43;3903:1;3906;3899:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3892:50;;3814:136;;;;:::o;3350:181::-;3408:7;3428:9;3444:1;3440;:5;;;;:::i;:::-;3428:17;;3469:1;3464;:6;;3456:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3522:1;3515:8;;;3350:181;;;;:::o;20996:337::-;21106:1;21089:19;;:5;:19;;;;21081:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21187:1;21168:21;;:7;:21;;;;21160:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21271:6;21241:11;:18;21253:5;21241:18;;;;;;;;;;;;;;;:27;21260:7;21241:27;;;;;;;;;;;;;;;:36;;;;21309:7;21293:32;;21302:5;21293:32;;;21318:6;21293:32;;;;;;:::i;:::-;;;;;;;;20996:337;;;:::o;21559:931::-;21674:1;21656:20;;:6;:20;;;;21648:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;21758:1;21737:23;;:9;:23;;;;21729:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;21828:1;21819:6;:10;21811:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;21890:11;:19;21902:6;21890:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;21914:11;:22;21926:9;21914:22;;;;;;;;;;;;;;;;;;;;;;;;;21913:23;21890:46;21886:597;;;21953:48;21975:6;21983:9;21994:6;21953:21;:48::i;:::-;21886:597;;;22024:11;:19;22036:6;22024:19;;;;;;;;;;;;;;;;;;;;;;;;;22023:20;:46;;;;;22047:11;:22;22059:9;22047:22;;;;;;;;;;;;;;;;;;;;;;;;;22023:46;22019:464;;;22086:46;22106:6;22114:9;22125:6;22086:19;:46::i;:::-;22019:464;;;22155:11;:19;22167:6;22155:19;;;;;;;;;;;;;;;;;;;;;;;;;22154:20;:47;;;;;22179:11;:22;22191:9;22179:22;;;;;;;;;;;;;;;;;;;;;;;;;22178:23;22154:47;22150:333;;;22218:44;22236:6;22244:9;22255:6;22218:17;:44::i;:::-;22150:333;;;22284:11;:19;22296:6;22284:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;22307:11;:22;22319:9;22307:22;;;;;;;;;;;;;;;;;;;;;;;;;22284:45;22280:203;;;22346:48;22368:6;22376:9;22387:6;22346:21;:48::i;:::-;22280:203;;;22427:44;22445:6;22453:9;22464:6;22427:17;:44::i;:::-;22280:203;22150:333;22019:464;21886:597;21559:931;;;:::o;4253:192::-;4339:7;4372:1;4367;:6;;4375:12;4359:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4399:9;4415:1;4411;:5;;;;:::i;:::-;4399:17;;4436:1;4429:8;;;4253:192;;;;;:::o;26155:163::-;26196:7;26217:15;26234;26253:19;:17;:19::i;:::-;26216:56;;;;26290:20;26302:7;26290;:11;;:20;;;;:::i;:::-;26283:27;;;;26155:163;:::o;5651:132::-;5709:7;5736:39;5740:1;5743;5736:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;5729:46;;5651:132;;;;:::o;21341:210::-;21400:7;21409;21429:14;21446:15;21457:3;21446:6;:10;;:15;;;;:::i;:::-;21429:32;;21472:15;21490:18;21501:6;21490;:10;;:18;;;;:::i;:::-;21472:36;;21527:7;21536:6;21519:24;;;;;;21341:210;;;:::o;25575:230::-;25635:7;25644;25664:12;25679:23;25700:1;25679:16;25691:3;25679:7;:11;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;25664:38;;25713:23;25739:17;25751:4;25739:7;:11;;:17;;;;:::i;:::-;25713:43;;25775:15;25792:4;25767:30;;;;;;25575:230;;;:::o;25813:334::-;25908:7;25917;25926;25946:15;25964:24;25976:11;25964:7;:11;;:24;;;;:::i;:::-;25946:42;;25999:12;26014:21;26023:11;26014:4;:8;;:21;;;;:::i;:::-;25999:36;;26046:23;26072:17;26084:4;26072:7;:11;;:17;;;;:::i;:::-;26046:43;;26108:7;26117:15;26134:4;26100:39;;;;;;;;;25813:334;;;;;;;:::o;23629:576::-;23732:15;23749:23;23774:12;23788:23;23813:12;23829:19;23840:7;23829:10;:19::i;:::-;23731:117;;;;;;;;;;23877:28;23897:7;23877;:15;23885:6;23877:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23859:7;:15;23867:6;23859:15;;;;;;;;;;;;;;;:46;;;;23934:28;23954:7;23934;:15;23942:6;23934:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23916:7;:15;23924:6;23916:15;;;;;;;;;;;;;;;:46;;;;23994:39;24017:15;23994:7;:18;24002:9;23994:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23973:7;:18;23981:9;23973:18;;;;;;;;;;;;;;;:60;;;;24047:23;24059:4;24065;24047:11;:23::i;:::-;16003:42;24085:20;;:9;:20;;;24081:56;;;24107:30;24121:15;24107:13;:30::i;:::-;24081:56;24170:9;24153:44;;24162:6;24153:44;;;24181:15;24153:44;;;;;;:::i;:::-;;;;;;;;23720:485;;;;;23629:576;;;:::o;23025:596::-;23126:15;23143:23;23168:12;23182:23;23207:12;23223:19;23234:7;23223:10;:19::i;:::-;23125:117;;;;;;;;;;23271:28;23291:7;23271;:15;23279:6;23271:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;23253:7;:15;23261:6;23253:15;;;;;;;;;;;;;;;:46;;;;23331:39;23354:15;23331:7;:18;23339:9;23331:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23310:7;:18;23318:9;23310:18;;;;;;;;;;;;;;;:60;;;;23402:39;23425:15;23402:7;:18;23410:9;23402:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;23381:7;:18;23389:9;23381:18;;;;;;;;;;;;;;;:60;;;;23463:23;23475:4;23481;23463:11;:23::i;:::-;16003:42;23501:20;;:9;:20;;;23497:56;;;23523:30;23537:15;23523:13;:30::i;:::-;23497:56;23586:9;23569:44;;23578:6;23569:44;;;23597:15;23569:44;;;;;;:::i;:::-;;;;;;;;23114:507;;;;;23025:596;;;:::o;22498:519::-;22597:15;22614:23;22639:12;22653:23;22678:12;22694:19;22705:7;22694:10;:19::i;:::-;22596:117;;;;;;;;;;22742:28;22762:7;22742;:15;22750:6;22742:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;22724:7;:15;22732:6;22724:15;;;;;;;;;;;;;;;:46;;;;22802:39;22825:15;22802:7;:18;22810:9;22802:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;22781:7;:18;22789:9;22781:18;;;;;;;;;;;;;;;:60;;;;22859:23;22871:4;22877;22859:11;:23::i;:::-;16003:42;22897:20;;:9;:20;;;22893:56;;;22919:30;22933:15;22919:13;:30::i;:::-;22893:56;22982:9;22965:44;;22974:6;22965:44;;;22993:15;22965:44;;;;;;:::i;:::-;;;;;;;;22585:432;;;;;22498:519;;;:::o;24213:649::-;24316:15;24333:23;24358:12;24372:23;24397:12;24413:19;24424:7;24413:10;:19::i;:::-;24315:117;;;;;;;;;;24461:28;24481:7;24461;:15;24469:6;24461:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24443:7;:15;24451:6;24443:15;;;;;;;;;;;;;;;:46;;;;24518:28;24538:7;24518;:15;24526:6;24518:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24500:7;:15;24508:6;24500:15;;;;;;;;;;;;;;;:46;;;;24578:39;24601:15;24578:7;:18;24586:9;24578:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24557:7;:18;24565:9;24557:18;;;;;;;;;;;;;;;:60;;;;24649:39;24672:15;24649:7;:18;24657:9;24649:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24628:7;:18;24636:9;24628:18;;;;;;;;;;;;;;;:60;;;;24704:23;24716:4;24722;24704:11;:23::i;:::-;16003:42;24742:20;;:9;:20;;;24738:56;;;24764:30;24778:15;24764:13;:30::i;:::-;24738:56;24827:9;24810:44;;24819:6;24810:44;;;24838:15;24810:44;;;;;;:::i;:::-;;;;;;;;24304:558;;;;;24213:649;;;:::o;26326:561::-;26376:7;26385;26405:15;26423:7;;26405:25;;26441:15;16141:23;26441:25;;26488:9;26483:289;26507:9;:16;;;;26503:1;:20;26483:289;;;26573:7;26549;:21;26557:9;26567:1;26557:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26549:21;;;;;;;;;;;;;;;;:31;:66;;;;26608:7;26584;:21;26592:9;26602:1;26592:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26584:21;;;;;;;;;;;;;;;;:31;26549:66;26545:97;;;26625:7;;16141:23;26617:25;;;;;;;;;26545:97;26667:34;26679:7;:21;26687:9;26697:1;26687:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26679:21;;;;;;;;;;;;;;;;26667:7;:11;;:34;;;;:::i;:::-;26657:44;;26726:34;26738:7;:21;26746:9;26756:1;26746:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26738:21;;;;;;;;;;;;;;;;26726:7;:11;;:34;;;;:::i;:::-;26716:44;;26525:3;;;;;:::i;:::-;;;;26483:289;;;;26796:20;16141:23;26796:7;;:11;;:20;;;;:::i;:::-;26786:7;:30;26782:61;;;26826:7;;16141:23;26818:25;;;;;;;;26782:61;26862:7;26871;26854:25;;;;;;26326:561;;;:::o;6279:278::-;6365:7;6397:1;6393;:5;6400:12;6385:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;6424:9;6440:1;6436;:5;;;;:::i;:::-;6424:17;;6548:1;6541:8;;;6279:278;;;;;:::o;4704:471::-;4762:7;5012:1;5007;:6;5003:47;;;5037:1;5030:8;;;;5003:47;5062:9;5078:1;5074;:5;;;;:::i;:::-;5062:17;;5107:1;5102;5098;:5;;;;:::i;:::-;:10;5090:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;5166:1;5159:8;;;4704:471;;;;;:::o;24870:147::-;24948:17;24960:4;24948:7;;:11;;:17;;;;:::i;:::-;24938:7;:27;;;;24989:20;25004:4;24989:10;;:14;;:20;;;;:::i;:::-;24976:10;:33;;;;24870:147;;:::o;25025:123::-;25107:33;25124:15;25107:12;;:16;;:33;;;;:::i;:::-;25092:12;:48;;;;25025:123;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;195:5;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:139::-;337:5;375:6;362:20;353:29;;391:33;418:5;391:33;:::i;:::-;343:87;;;;:::o;436:329::-;495:6;544:2;532:9;523:7;519:23;515:32;512:2;;;550:79;;:::i;:::-;512:2;670:1;695:53;740:7;731:6;720:9;716:22;695:53;:::i;:::-;685:63;;641:117;502:263;;;;:::o;771:474::-;839:6;847;896:2;884:9;875:7;871:23;867:32;864:2;;;902:79;;:::i;:::-;864:2;1022:1;1047:53;1092:7;1083:6;1072:9;1068:22;1047:53;:::i;:::-;1037:63;;993:117;1149:2;1175:53;1220:7;1211:6;1200:9;1196:22;1175:53;:::i;:::-;1165:63;;1120:118;854:391;;;;;:::o;1251:619::-;1328:6;1336;1344;1393:2;1381:9;1372:7;1368:23;1364:32;1361:2;;;1399:79;;:::i;:::-;1361:2;1519:1;1544:53;1589:7;1580:6;1569:9;1565:22;1544:53;:::i;:::-;1534:63;;1490:117;1646:2;1672:53;1717:7;1708:6;1697:9;1693:22;1672:53;:::i;:::-;1662:63;;1617:118;1774:2;1800:53;1845:7;1836:6;1825:9;1821:22;1800:53;:::i;:::-;1790:63;;1745:118;1351:519;;;;;:::o;1876:474::-;1944:6;1952;2001:2;1989:9;1980:7;1976:23;1972:32;1969:2;;;2007:79;;:::i;:::-;1969:2;2127:1;2152:53;2197:7;2188:6;2177:9;2173:22;2152:53;:::i;:::-;2142:63;;2098:117;2254:2;2280:53;2325:7;2316:6;2305:9;2301:22;2280:53;:::i;:::-;2270:63;;2225:118;1959:391;;;;;:::o;2356:329::-;2415:6;2464:2;2452:9;2443:7;2439:23;2435:32;2432:2;;;2470:79;;:::i;:::-;2432:2;2590:1;2615:53;2660:7;2651:6;2640:9;2636:22;2615:53;:::i;:::-;2605:63;;2561:117;2422:263;;;;:::o;2691:468::-;2756:6;2764;2813:2;2801:9;2792:7;2788:23;2784:32;2781:2;;;2819:79;;:::i;:::-;2781:2;2939:1;2964:53;3009:7;3000:6;2989:9;2985:22;2964:53;:::i;:::-;2954:63;;2910:117;3066:2;3092:50;3134:7;3125:6;3114:9;3110:22;3092:50;:::i;:::-;3082:60;;3037:115;2771:388;;;;;:::o;3165:118::-;3252:24;3270:5;3252:24;:::i;:::-;3247:3;3240:37;3230:53;;:::o;3289:109::-;3370:21;3385:5;3370:21;:::i;:::-;3365:3;3358:34;3348:50;;:::o;3404:364::-;3492:3;3520:39;3553:5;3520:39;:::i;:::-;3575:71;3639:6;3634:3;3575:71;:::i;:::-;3568:78;;3655:52;3700:6;3695:3;3688:4;3681:5;3677:16;3655:52;:::i;:::-;3732:29;3754:6;3732:29;:::i;:::-;3727:3;3723:39;3716:46;;3496:272;;;;;:::o;3774:366::-;3916:3;3937:67;4001:2;3996:3;3937:67;:::i;:::-;3930:74;;4013:93;4102:3;4013:93;:::i;:::-;4131:2;4126:3;4122:12;4115:19;;3920:220;;;:::o;4146:366::-;4288:3;4309:67;4373:2;4368:3;4309:67;:::i;:::-;4302:74;;4385:93;4474:3;4385:93;:::i;:::-;4503:2;4498:3;4494:12;4487:19;;4292:220;;;:::o;4518:366::-;4660:3;4681:67;4745:2;4740:3;4681:67;:::i;:::-;4674:74;;4757:93;4846:3;4757:93;:::i;:::-;4875:2;4870:3;4866:12;4859:19;;4664:220;;;:::o;4890:366::-;5032:3;5053:67;5117:2;5112:3;5053:67;:::i;:::-;5046:74;;5129:93;5218:3;5129:93;:::i;:::-;5247:2;5242:3;5238:12;5231:19;;5036:220;;;:::o;5262:366::-;5404:3;5425:67;5489:2;5484:3;5425:67;:::i;:::-;5418:74;;5501:93;5590:3;5501:93;:::i;:::-;5619:2;5614:3;5610:12;5603:19;;5408:220;;;:::o;5634:366::-;5776:3;5797:67;5861:2;5856:3;5797:67;:::i;:::-;5790:74;;5873:93;5962:3;5873:93;:::i;:::-;5991:2;5986:3;5982:12;5975:19;;5780:220;;;:::o;6006:366::-;6148:3;6169:67;6233:2;6228:3;6169:67;:::i;:::-;6162:74;;6245:93;6334:3;6245:93;:::i;:::-;6363:2;6358:3;6354:12;6347:19;;6152:220;;;:::o;6378:366::-;6520:3;6541:67;6605:2;6600:3;6541:67;:::i;:::-;6534:74;;6617:93;6706:3;6617:93;:::i;:::-;6735:2;6730:3;6726:12;6719:19;;6524:220;;;:::o;6750:366::-;6892:3;6913:67;6977:2;6972:3;6913:67;:::i;:::-;6906:74;;6989:93;7078:3;6989:93;:::i;:::-;7107:2;7102:3;7098:12;7091:19;;6896:220;;;:::o;7122:366::-;7264:3;7285:67;7349:2;7344:3;7285:67;:::i;:::-;7278:74;;7361:93;7450:3;7361:93;:::i;:::-;7479:2;7474:3;7470:12;7463:19;;7268:220;;;:::o;7494:366::-;7636:3;7657:67;7721:2;7716:3;7657:67;:::i;:::-;7650:74;;7733:93;7822:3;7733:93;:::i;:::-;7851:2;7846:3;7842:12;7835:19;;7640:220;;;:::o;7866:366::-;8008:3;8029:67;8093:2;8088:3;8029:67;:::i;:::-;8022:74;;8105:93;8194:3;8105:93;:::i;:::-;8223:2;8218:3;8214:12;8207:19;;8012:220;;;:::o;8238:366::-;8380:3;8401:67;8465:2;8460:3;8401:67;:::i;:::-;8394:74;;8477:93;8566:3;8477:93;:::i;:::-;8595:2;8590:3;8586:12;8579:19;;8384:220;;;:::o;8610:118::-;8697:24;8715:5;8697:24;:::i;:::-;8692:3;8685:37;8675:53;;:::o;8734:112::-;8817:22;8833:5;8817:22;:::i;:::-;8812:3;8805:35;8795:51;;:::o;8852:222::-;8945:4;8983:2;8972:9;8968:18;8960:26;;8996:71;9064:1;9053:9;9049:17;9040:6;8996:71;:::i;:::-;8950:124;;;;:::o;9080:210::-;9167:4;9205:2;9194:9;9190:18;9182:26;;9218:65;9280:1;9269:9;9265:17;9256:6;9218:65;:::i;:::-;9172:118;;;;:::o;9296:313::-;9409:4;9447:2;9436:9;9432:18;9424:26;;9496:9;9490:4;9486:20;9482:1;9471:9;9467:17;9460:47;9524:78;9597:4;9588:6;9524:78;:::i;:::-;9516:86;;9414:195;;;;:::o;9615:419::-;9781:4;9819:2;9808:9;9804:18;9796:26;;9868:9;9862:4;9858:20;9854:1;9843:9;9839:17;9832:47;9896:131;10022:4;9896:131;:::i;:::-;9888:139;;9786:248;;;:::o;10040:419::-;10206:4;10244:2;10233:9;10229:18;10221:26;;10293:9;10287:4;10283:20;10279:1;10268:9;10264:17;10257:47;10321:131;10447:4;10321:131;:::i;:::-;10313:139;;10211:248;;;:::o;10465:419::-;10631:4;10669:2;10658:9;10654:18;10646:26;;10718:9;10712:4;10708:20;10704:1;10693:9;10689:17;10682:47;10746:131;10872:4;10746:131;:::i;:::-;10738:139;;10636:248;;;:::o;10890:419::-;11056:4;11094:2;11083:9;11079:18;11071:26;;11143:9;11137:4;11133:20;11129:1;11118:9;11114:17;11107:47;11171:131;11297:4;11171:131;:::i;:::-;11163:139;;11061:248;;;:::o;11315:419::-;11481:4;11519:2;11508:9;11504:18;11496:26;;11568:9;11562:4;11558:20;11554:1;11543:9;11539:17;11532:47;11596:131;11722:4;11596:131;:::i;:::-;11588:139;;11486:248;;;:::o;11740:419::-;11906:4;11944:2;11933:9;11929:18;11921:26;;11993:9;11987:4;11983:20;11979:1;11968:9;11964:17;11957:47;12021:131;12147:4;12021:131;:::i;:::-;12013:139;;11911:248;;;:::o;12165:419::-;12331:4;12369:2;12358:9;12354:18;12346:26;;12418:9;12412:4;12408:20;12404:1;12393:9;12389:17;12382:47;12446:131;12572:4;12446:131;:::i;:::-;12438:139;;12336:248;;;:::o;12590:419::-;12756:4;12794:2;12783:9;12779:18;12771:26;;12843:9;12837:4;12833:20;12829:1;12818:9;12814:17;12807:47;12871:131;12997:4;12871:131;:::i;:::-;12863:139;;12761:248;;;:::o;13015:419::-;13181:4;13219:2;13208:9;13204:18;13196:26;;13268:9;13262:4;13258:20;13254:1;13243:9;13239:17;13232:47;13296:131;13422:4;13296:131;:::i;:::-;13288:139;;13186:248;;;:::o;13440:419::-;13606:4;13644:2;13633:9;13629:18;13621:26;;13693:9;13687:4;13683:20;13679:1;13668:9;13664:17;13657:47;13721:131;13847:4;13721:131;:::i;:::-;13713:139;;13611:248;;;:::o;13865:419::-;14031:4;14069:2;14058:9;14054:18;14046:26;;14118:9;14112:4;14108:20;14104:1;14093:9;14089:17;14082:47;14146:131;14272:4;14146:131;:::i;:::-;14138:139;;14036:248;;;:::o;14290:419::-;14456:4;14494:2;14483:9;14479:18;14471:26;;14543:9;14537:4;14533:20;14529:1;14518:9;14514:17;14507:47;14571:131;14697:4;14571:131;:::i;:::-;14563:139;;14461:248;;;:::o;14715:419::-;14881:4;14919:2;14908:9;14904:18;14896:26;;14968:9;14962:4;14958:20;14954:1;14943:9;14939:17;14932:47;14996:131;15122:4;14996:131;:::i;:::-;14988:139;;14886:248;;;:::o;15140:222::-;15233:4;15271:2;15260:9;15256:18;15248:26;;15284:71;15352:1;15341:9;15337:17;15328:6;15284:71;:::i;:::-;15238:124;;;;:::o;15368:214::-;15457:4;15495:2;15484:9;15480:18;15472:26;;15508:67;15572:1;15561:9;15557:17;15548:6;15508:67;:::i;:::-;15462:120;;;;:::o;15669:99::-;15721:6;15755:5;15749:12;15739:22;;15728:40;;;:::o;15774:169::-;15858:11;15892:6;15887:3;15880:19;15932:4;15927:3;15923:14;15908:29;;15870:73;;;;:::o;15949:305::-;15989:3;16008:20;16026:1;16008:20;:::i;:::-;16003:25;;16042:20;16060:1;16042:20;:::i;:::-;16037:25;;16196:1;16128:66;16124:74;16121:1;16118:81;16115:2;;;16202:18;;:::i;:::-;16115:2;16246:1;16243;16239:9;16232:16;;15993:261;;;;:::o;16260:185::-;16300:1;16317:20;16335:1;16317:20;:::i;:::-;16312:25;;16351:20;16369:1;16351:20;:::i;:::-;16346:25;;16390:1;16380:2;;16395:18;;:::i;:::-;16380:2;16437:1;16434;16430:9;16425:14;;16302:143;;;;:::o;16451:348::-;16491:7;16514:20;16532:1;16514:20;:::i;:::-;16509:25;;16548:20;16566:1;16548:20;:::i;:::-;16543:25;;16736:1;16668:66;16664:74;16661:1;16658:81;16653:1;16646:9;16639:17;16635:105;16632:2;;;16743:18;;:::i;:::-;16632:2;16791:1;16788;16784:9;16773:20;;16499:300;;;;:::o;16805:191::-;16845:4;16865:20;16883:1;16865:20;:::i;:::-;16860:25;;16899:20;16917:1;16899:20;:::i;:::-;16894:25;;16938:1;16935;16932:8;16929:2;;;16943:18;;:::i;:::-;16929:2;16988:1;16985;16981:9;16973:17;;16850:146;;;;:::o;17002:96::-;17039:7;17068:24;17086:5;17068:24;:::i;:::-;17057:35;;17047:51;;;:::o;17104:90::-;17138:7;17181:5;17174:13;17167:21;17156:32;;17146:48;;;:::o;17200:126::-;17237:7;17277:42;17270:5;17266:54;17255:65;;17245:81;;;:::o;17332:77::-;17369:7;17398:5;17387:16;;17377:32;;;:::o;17415:86::-;17450:7;17490:4;17483:5;17479:16;17468:27;;17458:43;;;:::o;17507:307::-;17575:1;17585:113;17599:6;17596:1;17593:13;17585:113;;;17684:1;17679:3;17675:11;17669:18;17665:1;17660:3;17656:11;17649:39;17621:2;17618:1;17614:10;17609:15;;17585:113;;;17716:6;17713:1;17710:13;17707:2;;;17796:1;17787:6;17782:3;17778:16;17771:27;17707:2;17556:258;;;;:::o;17820:320::-;17864:6;17901:1;17895:4;17891:12;17881:22;;17948:1;17942:4;17938:12;17969:18;17959:2;;18025:4;18017:6;18013:17;18003:27;;17959:2;18087;18079:6;18076:14;18056:18;18053:38;18050:2;;;18106:18;;:::i;:::-;18050:2;17871:269;;;;:::o;18146:233::-;18185:3;18208:24;18226:5;18208:24;:::i;:::-;18199:33;;18254:66;18247:5;18244:77;18241:2;;;18324:18;;:::i;:::-;18241:2;18371:1;18364:5;18360:13;18353:20;;18189:190;;;:::o;18385:180::-;18433:77;18430:1;18423:88;18530:4;18527:1;18520:15;18554:4;18551:1;18544:15;18571:180;18619:77;18616:1;18609:88;18716:4;18713:1;18706:15;18740:4;18737:1;18730:15;18757:180;18805:77;18802:1;18795:88;18902:4;18899:1;18892:15;18926:4;18923:1;18916:15;18943:180;18991:77;18988:1;18981:88;19088:4;19085:1;19078:15;19112:4;19109:1;19102:15;19129:180;19177:77;19174:1;19167:88;19274:4;19271:1;19264:15;19298:4;19295:1;19288:15;19438:117;19547:1;19544;19537:12;19561:102;19602:6;19653:2;19649:7;19644:2;19637:5;19633:14;19629:28;19619:38;;19609:54;;;:::o;19669:222::-;19809:34;19805:1;19797:6;19793:14;19786:58;19878:5;19873:2;19865:6;19861:15;19854:30;19775:116;:::o;19897:229::-;20037:34;20033:1;20025:6;20021:14;20014:58;20106:12;20101:2;20093:6;20089:15;20082:37;20003:123;:::o;20132:225::-;20272:34;20268:1;20260:6;20256:14;20249:58;20341:8;20336:2;20328:6;20324:15;20317:33;20238:119;:::o;20363:221::-;20503:34;20499:1;20491:6;20487:14;20480:58;20572:4;20567:2;20559:6;20555:15;20548:29;20469:115;:::o;20590:177::-;20730:29;20726:1;20718:6;20714:14;20707:53;20696:71;:::o;20773:177::-;20913:29;20909:1;20901:6;20897:14;20890:53;20879:71;:::o;20956:181::-;21096:33;21092:1;21084:6;21080:14;21073:57;21062:75;:::o;21143:220::-;21283:34;21279:1;21271:6;21267:14;21260:58;21352:3;21347:2;21339:6;21335:15;21328:28;21249:114;:::o;21369:182::-;21509:34;21505:1;21497:6;21493:14;21486:58;21475:76;:::o;21557:228::-;21697:34;21693:1;21685:6;21681:14;21674:58;21766:11;21761:2;21753:6;21749:15;21742:36;21663:122;:::o;21791:224::-;21931:34;21927:1;21919:6;21915:14;21908:58;22000:7;21995:2;21987:6;21983:15;21976:32;21897:118;:::o;22021:223::-;22161:34;22157:1;22149:6;22145:14;22138:58;22230:6;22225:2;22217:6;22213:15;22206:31;22127:117;:::o;22250:231::-;22390:34;22386:1;22378:6;22374:14;22367:58;22459:14;22454:2;22446:6;22442:15;22435:39;22356:125;:::o;22487:122::-;22560:24;22578:5;22560:24;:::i;:::-;22553:5;22550:35;22540:2;;22599:1;22596;22589:12;22540:2;22530:79;:::o;22615:116::-;22685:21;22700:5;22685:21;:::i;:::-;22678:5;22675:32;22665:2;;22721:1;22718;22711:12;22665:2;22655:76;:::o;22737:122::-;22810:24;22828:5;22810:24;:::i;:::-;22803:5;22800:35;22790:2;;22849:1;22846;22839:12;22790:2;22780:79;:::o

Swarm Source

ipfs://382c004d40f64cbc1325aa153bfa7d134c4b48c486ba9a7bcdd57c0b4f4f2973
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.